On Fri, Feb 03, 2023 at 12:01:15PM +0800, Shenghao Ding wrote: > Create tas2781.yaml for tas2781 driver. > > Signed-off-by: Shenghao Ding <13916275206@xxxxxxx> > > --- > Changes in v5: > - Drop the full stop in the Subject. > - Drop the reset-gpios reference to gpio.txt. > - Add Changelog. > Changes to be committed: > new file: Documentation/devicetree/bindings/sound/ti,tas2781.yaml > --- > .../devicetree/bindings/sound/ti,tas2781.yaml | 87 +++++++++++++++++++ > 1 file changed, 87 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..8af44792a904 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml > @@ -0,0 +1,87 @@ > +# 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> > + - Kevin Lu <kevin-lu@xxxxxx> > + > +description: | Don't need '|' unless you need line endings preserved. Wrap lines at 80 chars. > + 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 > + > + reg: > + maxItems: 1 > + description: | > + I2C address of the device can be in range from 0x38 to 0x40. Express as constraints instead: items: minimum: 0x38 maximum: 0x40 Or was this the range of the slot addresses? > + > + reset-gpios: > + maxItems: 1 > + description: | > + A GPIO line handling reset of the chip. As the line is active high, > + it should be marked GPIO_ACTIVE_HIGH. The description doesn't add anything. Drop. > + > + interrupts: > + maxItems: 1 > + > + ti,audio-slots: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 4 > + description: | > + I2c address of the device for different audio slots, I2C > + useless in mono case. > + > + ti,broadcast-addr: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: | > + Generic i2c address for all the tas2781 devices in I2C Be consistent. > + purpose of I2C broadcast during the multi-device > + writes, useless in mono case. > + > + '#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>; > + #sound-dai-cells = <1>; > + reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH >; > + interrupt-parent = <&gpio1>; > + interrupts = <15>; > + ti,audio-slots = < 0x38 /* topleft-channel */ > + 0x39 /* topright-channel */ > + 0x3a /* bottomleft-channel */ > + 0x3b /* bottomright-channel */ Do these vary? Or the slot addresses are fixed and which slots are used varies? > + >; > + ti,broadcast-addr = <0x40>; I tend to think the I2C addresses should all be in 'reg'. > + }; > + }; > +... > -- > 2.34.1 > >