[PATCH v2 10/11] dt-bindings: sound: qcom: add Tambora WCD9378 SDCA codec

From: Srinivas Kandagatla

Date: Mon Sep 07 2026 - 04:55:22 EST


Describe the WCD9378 SoundWire peripheral which is SDCA compatible
soundwire device. It provides SDCA SimpleJack for headphone playback
headset mic capture and MBHC jack detection.

The same silicon is integrated in two ways and enumerates with the
same SoundWire class ID:

mobile mode: two slaves (tx, rx) on separate SoundWire masters.

SDCA / compute mode: one aggregated slave on a multi-lane
master.

Note: both of them have different bus toplogies 1 device vs 2 devices.

Currently only compute mode is supported by this bindings, mobile mode
will extend this binding as required.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
---
.../bindings/sound/qcom,wcd9378-sdw.yaml | 91 +++++++++++++++++++
1 file changed, 91 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd9378-sdw.yaml

diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd9378-sdw.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd9378-sdw.yaml
new file mode 100644
index 000000000000..9a6c309018ed
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/qcom,wcd9378-sdw.yaml
@@ -0,0 +1,91 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/qcom,wcd9378-sdw.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm WCD9378 (Tambora) SoundWire codec
+
+maintainers:
+ - Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
+
+description:
+ Qualcomm WCD9378 (Tambora) SoundWire codec in SDCA compute mode.
+
+properties:
+ compatible:
+ items:
+ - const: qcom,wcd9378c
+ - const: sdw20217011000
+
+ reg:
+ maxItems: 1
+
+ qcom,port-mapping:
+ description: |
+ Each entry maps a slave data port to a master data port.
+ Entries are in order starting from slave port 1; slave port 0
+ is reserved and not represented. Compute mode uses 8 entries
+ covering DP1..DP8.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 8
+ maxItems: 8
+
+ reset-gpios:
+ description: GPIO used to release the codec from reset.
+ maxItems: 1
+
+ vdd-buck-supply:
+ description: 1.8 V analog buck supply.
+
+ vdd-rxtx-supply:
+ description: 1.8 V RX/TX supply.
+
+ vdd-io-supply:
+ description: Digital I/O supply.
+
+ vdd-mic-bias-supply:
+ description: Mic bias supply.
+
+ '#sound-dai-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - qcom,port-mapping
+ - reset-gpios
+ - vdd-buck-supply
+ - vdd-rxtx-supply
+ - vdd-io-supply
+ - vdd-mic-bias-supply
+ - '#sound-dai-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ soundwire@7630000 {
+ reg = <0x07630000 0x10000>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ wcd9378c_sdw: audio-codec@0,3 {
+ compatible = "qcom,wcd9378c", "sdw20217011000";
+ reg = <0 3>;
+
+ qcom,port-mapping = <2 2 3 4 5 6 7 8>;
+
+ reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
+
+ vdd-buck-supply = <&vreg_l15b_1p8>;
+ vdd-rxtx-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l18b_1p2>;
+ vdd-mic-bias-supply = <&vreg_bob1>;
+
+ #sound-dai-cells = <1>;
+ };
+ };
+...
--
2.53.0