| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/sound/qcom,wcd939x.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Qualcomm WCD9380/WCD9385 Audio Codec |
| |
| maintainers: |
| - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
| |
| description: | |
| Qualcomm WCD9390/WCD9395 Codec is a standalone Hi-Fi audio codec IC. |
| It has RX and TX Soundwire devices. |
| The WCD9390/WCD9395 IC has a functionally separate USB-C Mux subsystem |
| accessible over an I2C interface. |
| The Audio Headphone and Microphone data path between the Codec and the USB-C Mux |
| subsystems are external to the IC, thus requiring DT port-endpoint graph description |
| to handle USB-C altmode & orientation switching for Audio Accessory Mode. |
| |
| allOf: |
| - $ref: dai-common.yaml# |
| - $ref: qcom,wcd93xx-common.yaml# |
| |
| properties: |
| compatible: |
| oneOf: |
| - const: qcom,wcd9390-codec |
| - items: |
| - const: qcom,wcd9395-codec |
| - const: qcom,wcd9390-codec |
| |
| mode-switch: |
| description: Flag the port as possible handler of altmode switching |
| type: boolean |
| |
| orientation-switch: |
| description: Flag the port as possible handler of orientation switching |
| type: boolean |
| |
| port: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: |
| A port node to link the WCD939x Codec node to USB MUX subsystems for the |
| purpose of handling altmode muxing and orientation switching to detect and |
| enable Audio Accessory Mode. |
| |
| required: |
| - compatible |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| codec { |
| compatible = "qcom,wcd9390-codec"; |
| reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; |
| #sound-dai-cells = <1>; |
| qcom,tx-device = <&wcd939x_tx>; |
| qcom,rx-device = <&wcd939x_rx>; |
| qcom,micbias1-microvolt = <1800000>; |
| qcom,micbias2-microvolt = <1800000>; |
| qcom,micbias3-microvolt = <1800000>; |
| qcom,micbias4-microvolt = <1800000>; |
| qcom,hphl-jack-type-normally-closed; |
| qcom,ground-jack-type-normally-closed; |
| qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; |
| qcom,mbhc-headphone-vthreshold-microvolt = <50000>; |
| }; |
| |
| /* ... */ |
| |
| soundwire@3210000 { |
| #address-cells = <2>; |
| #size-cells = <0>; |
| reg = <0x03210000 0x2000>; |
| wcd939x_rx: codec@0,4 { |
| compatible = "sdw20217010e00"; |
| reg = <0 4>; |
| qcom,rx-port-mapping = <1 2 3 4 5 6>; |
| }; |
| }; |
| |
| soundwire@3230000 { |
| #address-cells = <2>; |
| #size-cells = <0>; |
| reg = <0x03230000 0x2000>; |
| wcd938x_tx: codec@0,3 { |
| compatible = "sdw20217010e00"; |
| reg = <0 3>; |
| qcom,tx-port-mapping = <2 3 4 5>; |
| }; |
| }; |
| |
| ... |