Answer· embeded
-----Original Message----- From: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org Sent: Wednesday, May 10, 2023 3:04 PM To: Shenghao Ding 13916275206@139.com; broonie@kernel.org; devicetree@vger.kernel.org; krzysztof.kozlowski+dt@linaro.org; robh+dt@kernel.org; lgirdwood@gmail.com; perex@perex.cz; pierre-louis.bossart@linux.intel.com Cc: Lu, Kevin kevin-lu@ti.com; Ding, Shenghao shenghao-ding@ti.com; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; Xu, Baojun x1077012@ti.com; Gupta, Peeyush peeyush@ti.com; Navada Kanyana, Mukund navada@ti.com; gentuser@gmail.com; Ryan_Chu@wistron.com; Sam_Wu@wistron.com Subject: [EXTERNAL] Re: [PATCH v2 2/5] ASoC: dt-bindings: Add tas2781 amplifier
On 08/05/2023 07:45, Shenghao Ding wrote:
Create tas2781.yaml for tas2781 driver.
Signed-off-by: Shenghao Ding 13916275206@139.com
Changes in v7:
Your subject says it is v2 and previously it was v6. Make it consistent. [Ding] v2 is the version no for all of the pathes, in each patch there is separated version, v7 is the version number for yaml
- 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@ti.com
+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. [Ding] Add it in next patch
+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. [DING] if all the put in reg, the i2c_probe will be called several time. The code don not want to register several codecs, but one codec including several tas2781s.
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. [Ding] this address is the common address for all the tas2781, it can be used for dsp firmware downloading to all the tas2781s in parallel, which can save more downloading time
- '#sound-dai-cells':
- const: 1
+required:
- compatible
- reg
Best regards, Krzysztof