blob: 96346723f3e9c92c32325c7395eff49336cbcaf8 [file] [log] [blame]
Tom Rini93743d22024-04-01 09:08:13 -04001# 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
Tom Rini6bb92fc2024-05-20 09:54:58 -060038 mode-switch: true
39 orientation-switch: true
Tom Rini93743d22024-04-01 09:08:13 -040040
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
Tom Rini6bb92fc2024-05-20 09:54:58 -060061allOf:
62 - $ref: usb-switch.yaml#
63
Tom Rini93743d22024-04-01 09:08:13 -040064additionalProperties: false
65
66examples:
67 - |
68 i2c {
69 #address-cells = <1>;
70 #size-cells = <0>;
71
72 typec-mux@42 {
73 compatible = "qcom,wcd9390-usbss";
74 reg = <0x42>;
75
76 vdd-supply = <&vreg_bob>;
77
78 mode-switch;
79 orientation-switch;
80
81 ports {
82 #address-cells = <1>;
83 #size-cells = <0>;
84
85 port@0 {
86 reg = <0>;
87 wcd9390_usbss_sbu: endpoint {
88 remote-endpoint = <&typec_sbu>;
89 };
90 };
91 port@1 {
92 reg = <1>;
93 wcd9390_usbss_codec: endpoint {
94 remote-endpoint = <&wcd9390_codec_usbss>;
95 };
96 };
97 };
98 };
99 };
100...