1 # SPDX-License-Identifier: GPL-2.0-only
4 $id: http://devicetree.org/schemas/connector/usb-connector.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Rob Herring <robh@kernel.org>
13 A USB connector node represents a physical USB connector. It should be a child
14 of a USB interface controller or a separate node when it is attached to both
15 MUX and USB interface controller.
26 - const: gpio-usb-b-connector
27 - const: usb-b-connector
30 - const: samsung,usb-connector-11pin
31 - const: usb-b-connector
37 description: Symbolic name for the connector.
40 description: Size of the connector, should be specified in case of
41 non-fullsize 'usb-a-connector' or 'usb-b-connector' compatible
43 $ref: /schemas/types.yaml#/definitions/string
50 description: Set this property if the USB device has its own power source.
53 # The following are optional properties for "usb-b-connector".
55 description: An input gpio for USB ID pin.
59 description: An input gpio for USB VBus pin, used to detect presence of
64 description: A phandle to the regulator for USB VBUS if needed when host
65 mode or dual role mode is supported.
66 Particularly, if use an output GPIO to control a VBUS regulator, should
67 model it as a regulator. See bindings/regulator/fixed-regulator.yaml
69 # The following are optional properties for "usb-c-connector".
71 description: Determines the power role that the Type C connector will
72 support. "dual" refers to Dual Role Port (DRP).
73 $ref: /schemas/types.yaml#/definitions/string
81 description: Preferred power role.
82 $ref: /schemas/types.yaml#/definitions/string
90 description: Data role if Type C connector supports USB data. "dual" refers
91 Dual Role Device (DRD).
92 $ref: /schemas/types.yaml#/definitions/string
100 description: Determines the power operation mode that the Type C connector
101 will support and will advertise through CC pins when it has no power
103 - "default" corresponds to default USB voltage and current defined by the
104 USB 2.0 and USB 3.2 specifications, 5V 500mA for USB 2.0 ports and
105 5V 900mA or 1500mA for USB 3.2 ports in single-lane or dual-lane
106 operation respectively.
107 - "1.5A" and "3.0A", 5V 1.5A and 5V 3.0A respectively, as defined in USB
108 Type-C Cable and Connector specification, when Power Delivery is not
110 $ref: /schemas/types.yaml#/definitions/string
117 description: Set this property if the Type-C connector has no power delivery support.
120 # The following are optional properties for "usb-c-connector" with power
123 description: An array of u32 with each entry providing supported power
124 source data object(PDO), the detailed bit definitions of PDO can be found
125 in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2
126 Source_Capabilities Message, the order of each entry(PDO) should follow
127 the PD spec chapter 6.4.1. Required for power source and power dual role.
128 User can specify the source PDO array via PDO_FIXED/BATT/VAR/PPS_APDO()
129 defined in dt-bindings/usb/pd.h.
132 $ref: /schemas/types.yaml#/definitions/uint32-array
135 description: An array of u32 with each entry providing supported power sink
136 data object(PDO), the detailed bit definitions of PDO can be found in
137 "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
138 Sink Capabilities Message, the order of each entry(PDO) should follow the
139 PD spec chapter 6.4.1. Required for power sink and power dual role. User
140 can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined
141 in dt-bindings/usb/pd.h.
144 $ref: /schemas/types.yaml#/definitions/uint32-array
147 description: An array of u32 with each entry, a Vendor Defined Message Object (VDO),
148 providing additional information corresponding to the product, the detailed bit
149 definitions and the order of each VDO can be found in
150 "USB Power Delivery Specification Revision 3.0, Version 2.0 + ECNs 2020-12-10"
151 chapter 6.4.4.3.1 Discover Identity. User can specify the VDO array via
152 VDO_IDH/_CERT/_PRODUCT/_UFP/_DFP/_PCABLE/_ACABLE(1/2)/_VPD() defined in
153 dt-bindings/usb/pd.h.
156 $ref: /schemas/types.yaml#/definitions/uint32-array
159 description: An array of u32 with each entry, a Vendor Defined Message Object (VDO),
160 providing additional information corresponding to the product, the detailed bit
161 definitions and the order of each VDO can be found in
162 "USB Power Delivery Specification Revision 2.0, Version 1.3" chapter 6.4.4.3.1 Discover
163 Identity. User can specify the VDO array via VDO_IDH/_CERT/_PRODUCT/_CABLE/_AMA defined in
164 dt-bindings/usb/pd.h.
167 $ref: /schemas/types.yaml#/definitions/uint32-array
170 description: Sink required operating power in microwatt, if source can't
171 offer the power, Capability Mismatch is set. Required for power sink and
175 $ref: /schemas/graph.yaml#/properties/port
176 description: OF graph bindings modeling a data bus to the connector, e.g.
177 there is a single High Speed (HS) port present in this connector. If there
178 is more than one bus (several port, with 'reg' property), they can be grouped
182 $ref: /schemas/graph.yaml#/properties/ports
183 description: OF graph bindings modeling any data bus to the connector
184 unless the bus is between parent node and the connector. Since a single
185 connector can have multiple data buses every bus has an assigned OF graph
186 port number as described below.
190 $ref: /schemas/graph.yaml#/properties/port
191 description: High Speed (HS), present in all connectors.
194 $ref: /schemas/graph.yaml#/properties/port
195 description: Super Speed (SS), present in SS capable connectors.
198 $ref: /schemas/graph.yaml#/properties/port
199 description: Sideband Use (SBU), present in USB-C. This describes the
200 alternate mode connection of which SBU is a part.
205 new-source-frs-typec-current:
206 description: Initial current capability of the new source when vSafe5V
207 is applied during PD3.0 Fast Role Swap. "Table 6-14 Fixed Supply PDO - Sink"
208 of "USB Power Delivery Specification Revision 3.0, Version 1.2" provides the
209 different power levels and "6.4.1.3.1.6 Fast Role Swap USB Type-C Current"
210 provides a detailed description of the field. The sink PDO from current source
211 reflects the current source's(i.e. transmitter of the FRS signal) power
212 requirement during fr swap. The current sink (i.e. receiver of the FRS signal),
213 a.k.a new source, should check if it will be able to satisfy the current source's,
214 new sink's, requirement during frswap before enabling the frs signal reception.
215 This property refers to maximum current capability that the current sink can
216 satisfy. During FRS, VBUS voltage is at 5V, as the partners are in implicit
217 contract, hence, the power level is only a function of the current capability.
218 "1" refers to default USB power level as described by "Table 6-14 Fixed Supply PDO - Sink".
219 "2" refers to 1.5A@5V.
220 "3" refers to 3.0A@5V.
221 $ref: /schemas/types.yaml#/definitions/uint32
225 description: Allows PMIC charger loops which are slow(i.e. cannot meet the 15ms deadline) to
226 still comply to pSnkStby i.e Maximum power that can be consumed by sink while in Sink Standby
227 state as defined in 7.4.2 Sink Electrical Parameters of USB Power Delivery Specification
228 Revision 3.0, Version 1.2. When the property is set, the port requests pSnkStby(2.5W -
229 5V@500mA) upon entering SNK_DISCOVERY(instead of 3A or the 1.5A, Rp current advertised, during
230 SNK_DISCOVERY) and the actual current limit after reception of PS_Ready for PD link or during
231 SNK_READY for non-pd link.
235 sink-vdos-v1: [ sink-vdos ]
236 sink-vdos: [ sink-vdos-v1 ]
246 const: gpio-usb-b-connector
258 const: samsung,usb-connector-11pin
268 - new-source-frs-typec-current
270 additionalProperties: false
273 # Micro-USB connector with HS lines routed via controller (MUIC).
276 usb_con1: connector {
277 compatible = "usb-b-connector";
283 # USB-C connector attached to CC controller (s2mm005), HS lines routed
284 # to companion PMIC (max77865), SS lines to USB3 PHY and SBU to DisplayPort.
285 # DisplayPort video lines are routed to the connector via SS mux in USB3 PHY.
288 usb_con2: connector {
289 compatible = "usb-c-connector";
293 #address-cells = <1>;
298 usb_con_hs: endpoint {
299 remote-endpoint = <&max77865_usbc_hs>;
304 usb_con_ss: endpoint {
305 remote-endpoint = <&usbdrd_phy_ss>;
310 usb_con_sbu: endpoint {
311 remote-endpoint = <&dp_aux>;
318 # USB-C connector attached to a typec port controller(ptn5110), which has
319 # power delivery support and enables drp.
321 #include <dt-bindings/usb/pd.h>
323 usb_con3: connector {
324 compatible = "usb-c-connector";
327 try-power-role = "sink";
328 source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
329 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
330 PDO_VAR(5000, 12000, 2000)>;
331 op-sink-microwatt = <10000000>;
335 # USB-C connector attached to SoC with a single High-Speed controller
338 compatible = "usb-c-connector";
342 high_speed_ep: endpoint {
343 remote-endpoint = <&usb_hs_ep>;
348 # USB-C connector attached to SoC and USB3 typec port controller(hd3ss3220)
349 # with SS 2:1 MUX. HS lines routed to SoC, SS lines routed to the MUX and
350 # the output of MUX is connected to the SoC.
353 compatible = "usb-c-connector";
358 #address-cells = <1>;
363 remote-endpoint = <&usb3_hs_ep>;
369 remote-endpoint = <&hd3ss3220_in_ep>;
375 # USB connector with GPIO control lines
377 #include <dt-bindings/gpio/gpio.h>
381 compatible = "gpio-usb-b-connector", "usb-b-connector";
383 id-gpios = <&pio 12 GPIO_ACTIVE_HIGH>;
384 vbus-supply = <&usb_p0_vbus>;
388 # Micro-USB connector with HS lines routed via controller (MUIC) and MHL
389 # lines connected to HDMI-MHL bridge (sii8620) on Samsung Exynos5433-based
393 usb_con4: connector {
394 compatible = "samsung,usb-connector-11pin", "usb-b-connector";
399 #address-cells = <1>;
404 muic_to_usb: endpoint {
405 remote-endpoint = <&usb_to_muic>;
410 usb_con_mhl: endpoint {
411 remote-endpoint = <&sii8620_mhl>;