Re: [PATCH v2 2/5] ASoC: dt-bindings: Add tas2781 amplifier

From: Krzysztof Kozlowski
Date: Wed May 10 2023 - 03:04:35 EST


On 08/05/2023 07:45, Shenghao Ding wrote:
> Create tas2781.yaml for tas2781 driver.
>
> Signed-off-by: Shenghao Ding <13916275206@xxxxxxx>
>
> ---
> Changes in v7:

Your subject says it is v2 and previously it was v6. Make it consistent.

> - Submit together with tas2781 codec driver code

Fix your patchset threading. I don't think it's possible to apply your one.

> - Add more detail description for ti,audio-slots
> - Keep consistent for "I2C"
> - remove reset-gpios description
> - For reg, express as constraints instead
> - remove unnecessary '|'
> Changes to be committed:
> new file: Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> ---
> .../devicetree/bindings/sound/ti,tas2781.yaml | 90 +++++++++++++++++++
> 1 file changed, 90 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/ti,tas2781.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> new file mode 100644
> index 000000000000..96c2584855d4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (C) 2022 - 2023 Texas Instruments Incorporated
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/ti,tas2781.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments TAS2781 SmartAMP
> +
> +maintainers:
> + - Shenghao Ding <shenghao-ding@xxxxxx>
> +
> +description:
> + The TAS2781 is a mono, digital input Class-D audio amplifier
> + optimized for efficiently driving high peak power into small
> + loudspeakers. Integrated an on-chip DSP supports Texas Instruments
> + Smart Amp speaker protection algorithm. The integrated speaker
> + voltage and current sense provides for real time
> + monitoring of loudspeaker behavior.
> +

you miss allOf with ref to saound-dai-common.

> +properties:
> + compatible:
> + enum:
> + - ti,tas2781
> +
> + reg:
> + description: I2C address of the primary device.
> + items:
> + minimum: 0x38
> + maximum: 0x3f
> +
> + reset-gpios:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + ti,audio-slots:
> + description:
> + Multiple tas2781s aggregate as one Audio Amp to support
> + multiple audio slots
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + maxItems: 4

You said you can have here two addresses. You don't allow it, test it.

Missing minItems, but...

> + items:
> + minimum: 0x38
> + maximum: 0x3f

... So these are fixed? No need to encode them in such case...

and anyway actually I agree with Rob here - these addresses should be
put in reg.

> + description:
> + I2C address of the device for different audio slots,
> + useless in mono case.
> +
> + ti,broadcast-addr:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Generic I2C address for all the tas2781 devices in
> + purpose of I2C broadcast during the multi-device
> + writes, useless in mono case.

Probably you can figure it out from previous addresses and there is no
need for this property.

> +
> + '#sound-dai-cells':
> + const: 1
> +
> +required:
> + - compatible
> + - reg
> +


Best regards,
Krzysztof