1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/usb/qcom,pmic-typec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm PMIC based USB Type-C block
10 - Bryan O'Donoghue <bryan.odonoghue@linaro.org>
13 Qualcomm PMIC Type-C block
22 $ref: /schemas/connector/usb-connector.yaml#
23 unevaluatedProperties: false
26 description: Type-C port and pdphy SPMI register base offsets
31 - description: Type-C CC attach notification, VBUS error, tCCDebounce done
32 - description: Type-C VCONN powered
33 - description: Type-C CC state change
34 - description: Type-C VCONN over-current
35 - description: Type-C VBUS state change
36 - description: Type-C Attach/detach notification
37 - description: Type-C Legacy cable detect
38 - description: Type-C Try.Src Try.Snk state change
39 - description: Power Domain Signal TX - HardReset or CableReset signal TX
40 - description: Power Domain Signal RX - HardReset or CableReset signal RX
41 - description: Power Domain TX complete
42 - description: Power Domain RX complete
43 - description: Power Domain TX fail
44 - description: Power Domain TX message discard
45 - description: Power Domain RX message discard
46 - description: Power Domain Fast Role Swap event
50 - const: or-rid-detect-change
52 - const: cc-state-change
55 - const: attach-detach
56 - const: legacy-cable-detect
57 - const: try-snk-src-detect
62 - const: msg-tx-failed
63 - const: msg-tx-discarded
64 - const: msg-rx-discarded
68 description: VBUS power supply.
71 description: VDD regulator supply to the PDPHY.
74 $ref: /schemas/graph.yaml#/properties/port
76 Contains a port which produces data-role switching messages.
86 additionalProperties: false
90 #include <dt-bindings/interrupt-controller/arm-gic.h>
91 #include <dt-bindings/usb/pd.h>
97 pm8150b_typec: typec@1500 {
98 compatible = "qcom,pm8150b-typec";
102 interrupts = <0x2 0x15 0x00 IRQ_TYPE_EDGE_RISING>,
103 <0x2 0x15 0x01 IRQ_TYPE_EDGE_BOTH>,
104 <0x2 0x15 0x02 IRQ_TYPE_EDGE_RISING>,
105 <0x2 0x15 0x03 IRQ_TYPE_EDGE_BOTH>,
106 <0x2 0x15 0x04 IRQ_TYPE_EDGE_RISING>,
107 <0x2 0x15 0x05 IRQ_TYPE_EDGE_RISING>,
108 <0x2 0x15 0x06 IRQ_TYPE_EDGE_BOTH>,
109 <0x2 0x15 0x07 IRQ_TYPE_EDGE_RISING>,
110 <0x2 0x17 0x00 IRQ_TYPE_EDGE_RISING>,
111 <0x2 0x17 0x01 IRQ_TYPE_EDGE_RISING>,
112 <0x2 0x17 0x02 IRQ_TYPE_EDGE_RISING>,
113 <0x2 0x17 0x03 IRQ_TYPE_EDGE_RISING>,
114 <0x2 0x17 0x04 IRQ_TYPE_EDGE_RISING>,
115 <0x2 0x17 0x05 IRQ_TYPE_EDGE_RISING>,
116 <0x2 0x17 0x06 IRQ_TYPE_EDGE_RISING>,
117 <0x2 0x17 0x07 IRQ_TYPE_EDGE_RISING>;
119 interrupt-names = "or-rid-detect-change",
125 "legacy-cable-detect",
126 "try-snk-src-detect",
136 vdd-vbus-supply = <&pm8150b_vbus>;
137 vdd-pdphy-supply = <&vreg_l2a_3p1>;
140 compatible = "usb-c-connector";
142 power-role = "source";
146 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_DUAL_ROLE |
147 PDO_FIXED_USB_COMM | PDO_FIXED_DATA_SWAP)>;
150 #address-cells = <1>;
155 pmic_typec_mux_out: endpoint {
156 remote-endpoint = <&usb_phy_typec_mux_in>;
162 pmic_typec_role_switch_out: endpoint {
163 remote-endpoint = <&usb_role_switch_in>;
175 usb_role_switch_in: endpoint {
176 remote-endpoint = <&pmic_typec_role_switch_out>;
184 usb_phy_typec_mux_in: endpoint {
185 remote-endpoint = <&pmic_typec_mux_out>;