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@139.com
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@ti.com
- Kevin Lu kevin-lu@ti.com
+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