From: Kevin Lu <luminlong@139.com>
To: lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org
Cc: alsa-devel@alsa-project.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, shenghao-ding@ti.com,
kevin-lu@ti.com, navada@ti.com, peeyush@ti.com,
Kevin Lu <luminlong@139.com>
Subject: [PATCH v1] Asoc: dt_bindings: Add tas2781 yaml
Date: Sun, 15 Jan 2023 20:16:29 +0800 [thread overview]
Message-ID: <20230115121629.2420-1-luminlong@139.com> (raw)
Complete the DTS for tas2781
Signed-off-by: Kevin Lu <luminlong@139.com>
---
.../devicetree/bindings/sound/ti,tas2781.yaml | 122 ++++++++++++++++++
1 file changed, 122 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 0000000..7d73f46
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
@@ -0,0 +1,122 @@
+# 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/ti,tas2781.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TAS2781 Smart PA
+
+maintainers:
+ - Shenghao Ding <shenghao-ding@ti.com>
+ - Kevin Lu <kevin-lu@ti.com>
+
+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
+
+ reg:
+ maxItems: 1
+ description: |
+ I2C address of the device can be in range from 0x38 to 0x40.
+
+ ti,audio-slots:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 4
+ description: |
+ This item is used to store the i2c address of the device
+ for deifferent audio slots. It is not required for Mono case.
+
+ ti,global-addr:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ This item is used to store the generic i2c address of
+ all the tas2781 devices for I2C broadcast during the multi-device
+ writes, useless in mono case.
+
+ ti,reset-gpios:
+ minItems: 1
+ maxItems: 4
+ description: GPIO specifier for the reset pin.
+
+ ti,irq-gpio:
+ maxItems: 1
+ description: GPIO used to interrupts the device.
+
+ '#sound-dai-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ /* example with mono support */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mono: codec@38 {
+ compatible = "ti,tas2781";
+ reg = <0x38>;
+ #sound-dai-cells = <1>;
+ ti,reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+ ti,irq-gpio = <&gpio1 15 0>;
+ };
+ };
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ /* Stereo without irq-gpio and global-addr */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ stereo: codec@38 {
+ compatible = "ti,tas2781";
+ reg = <0x38>;
+ #sound-dai-cells = <1>;
+ ti,audio-slots = < 0x38 /* left-channel */
+ 0x39 /* right-channel */
+ >;
+ ti,reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH
+ &gpio1 11 GPIO_ACTIVE_HIGH
+ >;
+ };
+ };
+ - |
+ #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>;
+ ti,audio-slots = < 0x38 /* topleft-channel */
+ 0x39 /* topright-channel */
+ 0x3a /* bottomleft-channel */
+ 0x3b /* bottomright-channel */
+ >;
+ ti,global-addr = <0x40>;
+ ti,reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH
+ &gpio1 11 GPIO_ACTIVE_HIGH
+ &gpio1 12 GPIO_ACTIVE_HIGH
+ &gpio1 13 GPIO_ACTIVE_HIGH
+ >;
+ ti,irq-gpio = <&gpio1 15 0>;
+ };
+ };
+...
--
2.34.1
next reply other threads:[~2023-01-15 12:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-15 12:16 Kevin Lu [this message]
2023-01-15 14:24 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230115121629.2420-1-luminlong@139.com \
--to=luminlong@139.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kevin-lu@ti.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=navada@ti.com \
--cc=peeyush@ti.com \
--cc=robh+dt@kernel.org \
--cc=shenghao-ding@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®