Create tas2781.yaml for tas2781 driver. Signed-off-by: Shenghao Ding <13916275206@xxxxxxx> --- Changes in v3: - Add allOf with ref to saound-dai-common - remove audio-slots, put all the i2c address into <reg> - Add more description on broadcast-addr item Changes to be committed: new file: Documentation/devicetree/bindings/sound/ti,tas2781.yaml --- .../devicetree/bindings/sound/ti,tas2781.yaml | 83 +++++++++++++++++++ 1 file changed, 83 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..c4928e88f1c5 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml @@ -0,0 +1,83 @@ +# 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. + +allOf: + - $ref: dai-common.yaml# + +properties: + 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