2023-05-27 22:46:45

by Shenghao Ding

[permalink] [raw]
Subject: [PATCH v4 6/6] ASoC: dt-bindings: Add tas2781 amplifier

Create tas2781.yaml for tas2781 driver.

Signed-off-by: Shenghao Ding <[email protected]>

---
Changes in v4:
- remove '\t' in the file
Changes to be committed:
new file: Documentation/devicetree/bindings/sound/ti,tas2781.yaml
---
.../devicetree/bindings/sound/ti,tas2781.yaml | 88 +++++++++++++++++++
1 file changed, 88 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..b3dcd7b18f5d
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
@@ -0,0 +1,88 @@
+# 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 <[email protected]>
+
+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.
+
+allOf:
+ - $ref: dai-common.yaml#
+
+properties:
+ '#address-cells':
+ const: 1
+ '#size-cells':
+ const: 0
+
+ compatible:
+ enum:
+ - ti,tas2781
+
+ reg:
+ description:
+ I2C address, in multiple tas2781s case, all the i2c address
+ aggreate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ items:
+ minimum: 0x38
+ maximum: 0x3f
+
+ reset-gpios:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ 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 or remove this item to
+ disable broadcast mode.
+
+ '#sound-dai-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ /* example with quad support, such as tablet or pad device */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ quad: codec@38 {
+ compatible = "ti,tas2781";
+ reg = < 0x38 /* Audio slot 0 */
+ 0x3a /* Audio slot 1 */
+ 0x39 /* Audio slot 2 */
+ 0x3b /* Audio slot 3 */
+ >;
+ #sound-dai-cells = <1>;
+ reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH >;
+ interrupt-parent = <&gpio1>;
+ interrupts = <15>;
+ /* Generic I2C addr among all the tas2781s for i2c data broadcast */
+ ti,broadcast-addr = <0x40>;
+ };
+ };
+...
--
2.34.1




2023-05-30 14:47:54

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v4 6/6] ASoC: dt-bindings: Add tas2781 amplifier

On 28/05/2023 00:36, Shenghao Ding wrote:
> Create tas2781.yaml for tas2781 driver.
>
> Signed-off-by: Shenghao Ding <[email protected]>
>
> ---
> Changes in v4:
> - remove '\t' in the file

Keep the rest of the changelog.

> Changes to be committed:
> new file: Documentation/devicetree/bindings/sound/ti,tas2781.yaml

This is useless, drop.

Your mail threading is still broken. This breaks usage with b4, so I
cannot easily make diffs or apply it easily (e.g. via any message ID). I
already mentioned this and no improvements at v4.



> ---
> .../devicetree/bindings/sound/ti,tas2781.yaml | 88 +++++++++++++++++++
> 1 file changed, 88 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..b3dcd7b18f5d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> @@ -0,0 +1,88 @@
> +# 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 <[email protected]>
> +
> +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.
> +
> +allOf:
> + - $ref: dai-common.yaml#
> +
> +properties:
> + '#address-cells':
> + const: 1
> + '#size-cells':
> + const: 0

Put compatible first. What's more I don't understand why added it. Your
changelog does not explain it - you wrote there is only one change, fix
of tab.

> +
> + compatible:
> + enum:
> + - ti,tas2781
> +
> + reg:
> + description:
> + I2C address, in multiple tas2781s case, all the i2c address
> + aggreate as one Audio Device to support multiple audio slots.
> + maxItems: 4
> + items:
> + minimum: 0x38
> + maximum: 0x3f
> +
> + reset-gpios:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + 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 or remove this item to
> + disable broadcast mode.
> +
> + '#sound-dai-cells':
> + const: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + i2c {
> + /* example with quad support, such as tablet or pad device */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + quad: codec@38 {
> + compatible = "ti,tas2781";
> + reg = < 0x38 /* Audio slot 0 */
> + 0x3a /* Audio slot 1 */
> + 0x39 /* Audio slot 2 */
> + 0x3b /* Audio slot 3 */

These should be four items, right? <0x38>, <0x3a> etc. Drop spaces
around <>, that's not DTS syntax.


> + >;
> + #sound-dai-cells = <1>;
> + reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH >;

Drop redundant white space.



Best regards,
Krzysztof