1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/qcom,wcd939x-usbss.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm WCD9380/WCD9385 USB SubSystem Altmode/Analog Audio Switch 8 9maintainers: 10 - Neil Armstrong <neil.armstrong@linaro.org> 11 12description: 13 Qualcomm WCD9390/WCD9395 is a standalone Hi-Fi audio codec IC with a 14 functionally separate USB SubSystem for Altmode/Analog Audio Switch 15 accessible over an I2C interface. 16 The Audio Headphone and Microphone data path between the Codec and the 17 USB-C Mux subsystems are external to the IC, thus requiring DT port-endpoint 18 graph description to handle USB-C altmode & orientation switching for Audio 19 Accessory Mode. 20 21properties: 22 compatible: 23 oneOf: 24 - const: qcom,wcd9390-usbss 25 - items: 26 - const: qcom,wcd9395-usbss 27 - const: qcom,wcd9390-usbss 28 29 reg: 30 maxItems: 1 31 32 reset-gpios: 33 maxItems: 1 34 35 vdd-supply: 36 description: USBSS VDD power supply 37 38 mode-switch: true 39 orientation-switch: true 40 41 ports: 42 $ref: /schemas/graph.yaml#/properties/ports 43 properties: 44 port@0: 45 $ref: /schemas/graph.yaml#/properties/port 46 description: 47 A port node to link the WCD939x USB SubSystem to a TypeC controller for the 48 purpose of handling altmode muxing and orientation switching. 49 50 port@1: 51 $ref: /schemas/graph.yaml#/properties/port 52 description: 53 A port node to link the WCD939x USB SubSystem to the Codec SubSystem for the 54 purpose of handling USB-C Audio Accessory Mode muxing and orientation switching. 55 56required: 57 - compatible 58 - reg 59 - ports 60 61allOf: 62 - $ref: usb-switch.yaml# 63 - $ref: usb-switch-ports.yaml# 64 65additionalProperties: false 66 67examples: 68 - | 69 i2c { 70 #address-cells = <1>; 71 #size-cells = <0>; 72 73 typec-mux@42 { 74 compatible = "qcom,wcd9390-usbss"; 75 reg = <0x42>; 76 77 vdd-supply = <&vreg_bob>; 78 79 mode-switch; 80 orientation-switch; 81 82 ports { 83 #address-cells = <1>; 84 #size-cells = <0>; 85 86 port@0 { 87 reg = <0>; 88 wcd9390_usbss_sbu: endpoint { 89 remote-endpoint = <&typec_sbu>; 90 }; 91 }; 92 port@1 { 93 reg = <1>; 94 wcd9390_usbss_codec: endpoint { 95 remote-endpoint = <&wcd9390_codec_usbss>; 96 }; 97 }; 98 }; 99 }; 100 }; 101... 102