On 20/12/2022 15:41, Kevin Lu wrote: > Add DTS discription for tas2781 driver code 1. Use subject prefixes matching the subsystem (git log --oneline -- ...). 2. Anyway that's not correct subject. Look at existing commits. 3. Run spell check. 4. Missing full stop. > > Signed-off-by: Kevin Lu <luminlong@xxxxxxx> > --- > .../devicetree/bindings/sound/tas2781.yaml | 90 +++++++++++++++++++ > 1 file changed, 90 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/tas2781.yaml Filename with vendor prefix, just like compatible. > > diff --git a/Documentation/devicetree/bindings/sound/tas2781.yaml b/Documentation/devicetree/bindings/sound/tas2781.yaml > new file mode 100644 > index 000000000..96fa45bf6 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/tas2781.yaml > @@ -0,0 +1,90 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2022 Texas Instruments Incorporated > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/sound/tas2781.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" Drop quotes from both. > + > +title: Texas Instruments TAS2781 Smart PA > + > +maintainers: > + - Shenghao Ding <shenghao-ding@xxxxxx> > + - Kevin Lu <kevin-lu@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. > + > +properties: > + compatible: > + enum: > + - ti,tas2781 > + - ti,audev That's not a correct (real) compatible. Drop. > + description: | > + ti,audev will disable the irq of tas2781. Drop description. Missing blank line. > + reg: > + maxItems: 1 > + description: | > + I2C address of the device can be between 0x38 to 0x40. > + > + reset-gpioN: Nope, use existing property. See gpio-consumer-common > + maxItems: 4 > + description: GPIO used to reset the device. This does not work like that. You did not even test it, right? > + > + ti,topleft-channel: > + maxItems: 1 > + description: I2C Address for each specific device. No clue what's this. You need to explain in details in description. > + > + ti,topright-channel: > + maxItems: 1 Ditto and in all other places. > + > + ti,bottomleft-channel: > + maxItems: 1 > + > + ti,bottomright-channel: > + maxItems: 1 > + > + ti,global-address: > + maxItems: 1 > + description: This item is not mandatory. if the device support gloabel mode, this item should be active. I have no clue what is gloabel mode but the field looks incorrect. Drop or properly describe. Also wrong line wrapping. > + > + ti,irq-gpio: > + maxItems: 1 > + description: GPIO used to interrupt the device. No. Use interrupts. > + > + '#sound-dai-cells': > + const: 1 > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + i2c0 { i2c > + #address-cells = <1>; > + #size-cells = <0>; > + codec: codec@38 { > + compatible = "ti,tas2781"; > + reg = <0x38>; > + #sound-dai-cells = <1>; > + ti,topleft-channel = <0x38>; > + ti,topright-channel = <0x39>; > + ti,bottomright-channel = <0x3a>; > + ti,bottomright-channel = <0x3b>; > + ti,global-address = <0x40>; > + ti,reset-gpio0 = <&gpio1 10 GPIO_ACTIVE_HIGH>; > + ti,reset-gpio1 = <&gpio1 11 GPIO_ACTIVE_HIGH>; > + ti,reset-gpio2 = <&gpio1 12 GPIO_ACTIVE_HIGH>; > + ti,reset-gpio3 = <&gpio1 13 GPIO_ACTIVE_HIGH>; Does not look like you tested the bindings. Please run `make dt_binding_check` (see Documentation/devicetree/bindings/writing-schema.rst for instructions). Best regards, Krzysztof