1 # SPDX-License-Identifier: GPL-2.0-only 1 # SPDX-License-Identifier: GPL-2.0-only 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/connector/u 4 $id: http://devicetree.org/schemas/connector/usb-connector.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: USB Connector 7 title: USB Connector 8 8 9 maintainers: 9 maintainers: 10 - Rob Herring <robh@kernel.org> 10 - Rob Herring <robh@kernel.org> 11 11 12 description: 12 description: 13 A USB connector node represents a physical U 13 A USB connector node represents a physical USB connector. It should be a child 14 of a USB interface controller or a separate 14 of a USB interface controller or a separate node when it is attached to both 15 MUX and USB interface controller. 15 MUX and USB interface controller. 16 16 17 properties: 17 properties: 18 compatible: 18 compatible: 19 oneOf: 19 oneOf: 20 - enum: 20 - enum: 21 - usb-a-connector 21 - usb-a-connector 22 - usb-b-connector 22 - usb-b-connector 23 - usb-c-connector 23 - usb-c-connector 24 24 25 - items: 25 - items: 26 - const: gpio-usb-b-connector 26 - const: gpio-usb-b-connector 27 - const: usb-b-connector 27 - const: usb-b-connector 28 28 29 - items: 29 - items: 30 - const: samsung,usb-connector-11pin 30 - const: samsung,usb-connector-11pin 31 - const: usb-b-connector 31 - const: usb-b-connector 32 32 33 reg: 33 reg: 34 maxItems: 1 34 maxItems: 1 35 35 36 label: 36 label: 37 description: Symbolic name for the connect 37 description: Symbolic name for the connector. 38 38 39 type: 39 type: 40 description: Size of the connector, should 40 description: Size of the connector, should be specified in case of 41 non-fullsize 'usb-a-connector' or 'usb-b 41 non-fullsize 'usb-a-connector' or 'usb-b-connector' compatible 42 connectors. 42 connectors. 43 $ref: /schemas/types.yaml#/definitions/str 43 $ref: /schemas/types.yaml#/definitions/string 44 44 45 enum: 45 enum: 46 - mini 46 - mini 47 - micro 47 - micro 48 48 49 self-powered: 49 self-powered: 50 description: Set this property if the USB 50 description: Set this property if the USB device has its own power source. 51 type: boolean 51 type: boolean 52 52 53 # The following are optional properties for 53 # The following are optional properties for "usb-b-connector". 54 id-gpios: 54 id-gpios: 55 description: An input gpio for USB ID pin. 55 description: An input gpio for USB ID pin. 56 maxItems: 1 56 maxItems: 1 57 57 58 vbus-gpios: 58 vbus-gpios: 59 description: An input gpio for USB VBus pi 59 description: An input gpio for USB VBus pin, used to detect presence of 60 VBUS 5V. 60 VBUS 5V. 61 maxItems: 1 61 maxItems: 1 62 62 63 vbus-supply: 63 vbus-supply: 64 description: A phandle to the regulator fo 64 description: A phandle to the regulator for USB VBUS if needed when host 65 mode or dual role mode is supported. 65 mode or dual role mode is supported. 66 Particularly, if use an output GPIO to c 66 Particularly, if use an output GPIO to control a VBUS regulator, should 67 model it as a regulator. See bindings/re 67 model it as a regulator. See bindings/regulator/fixed-regulator.yaml 68 68 69 power-role: 69 power-role: 70 description: Determines the power role tha 70 description: Determines the power role that the Type C connector will 71 support. "dual" refers to Dual Role Port 71 support. "dual" refers to Dual Role Port (DRP). 72 $ref: /schemas/types.yaml#/definitions/str 72 $ref: /schemas/types.yaml#/definitions/string 73 73 74 enum: 74 enum: 75 - source 75 - source 76 - sink 76 - sink 77 - dual 77 - dual 78 78 79 try-power-role: 79 try-power-role: 80 description: Preferred power role. 80 description: Preferred power role. 81 $ref: /schemas/types.yaml#/definitions/str 81 $ref: /schemas/types.yaml#/definitions/string 82 82 83 enum: 83 enum: 84 - source 84 - source 85 - sink 85 - sink 86 - dual 86 - dual 87 87 88 data-role: 88 data-role: 89 description: Data role if Type C connector 89 description: Data role if Type C connector supports USB data. "dual" refers 90 Dual Role Device (DRD). 90 Dual Role Device (DRD). 91 $ref: /schemas/types.yaml#/definitions/str 91 $ref: /schemas/types.yaml#/definitions/string 92 92 93 enum: 93 enum: 94 - host 94 - host 95 - device 95 - device 96 - dual 96 - dual 97 97 98 typec-power-opmode: 98 typec-power-opmode: 99 description: Determines the power operatio 99 description: Determines the power operation mode that the Type C connector 100 will support and will advertise through 100 will support and will advertise through CC pins when it has no power 101 delivery support. 101 delivery support. 102 - "default" corresponds to default USB v 102 - "default" corresponds to default USB voltage and current defined by the 103 USB 2.0 and USB 3.2 specifications, 5V 103 USB 2.0 and USB 3.2 specifications, 5V 500mA for USB 2.0 ports and 104 5V 900mA or 1500mA for USB 3.2 ports i 104 5V 900mA or 1500mA for USB 3.2 ports in single-lane or dual-lane 105 operation respectively. 105 operation respectively. 106 - "1.5A" and "3.0A", 5V 1.5A and 5V 3.0A 106 - "1.5A" and "3.0A", 5V 1.5A and 5V 3.0A respectively, as defined in USB 107 Type-C Cable and Connector specificati 107 Type-C Cable and Connector specification, when Power Delivery is not 108 supported. 108 supported. 109 $ref: /schemas/types.yaml#/definitions/str 109 $ref: /schemas/types.yaml#/definitions/string 110 enum: 110 enum: 111 - default 111 - default 112 - 1.5A 112 - 1.5A 113 - 3.0A 113 - 3.0A 114 114 115 pd-disable: 115 pd-disable: 116 description: Set this property if the Type 116 description: Set this property if the Type-C connector has no power delivery support. 117 type: boolean 117 type: boolean 118 118 119 # The following are optional properties for 119 # The following are optional properties for "usb-c-connector" with power 120 # delivery support. 120 # delivery support. 121 sink-vdos: 121 sink-vdos: 122 description: An array of u32 with each ent 122 description: An array of u32 with each entry, a Vendor Defined Message Object (VDO), 123 providing additional information corresp 123 providing additional information corresponding to the product, the detailed bit 124 definitions and the order of each VDO ca 124 definitions and the order of each VDO can be found in 125 "USB Power Delivery Specification Revisi 125 "USB Power Delivery Specification Revision 3.0, Version 2.0 + ECNs 2020-12-10" 126 chapter 6.4.4.3.1 Discover Identity. Use 126 chapter 6.4.4.3.1 Discover Identity. User can specify the VDO array via 127 VDO_IDH/_CERT/_PRODUCT/_UFP/_DFP/_PCABLE 127 VDO_IDH/_CERT/_PRODUCT/_UFP/_DFP/_PCABLE/_ACABLE(1/2)/_VPD() defined in 128 dt-bindings/usb/pd.h. 128 dt-bindings/usb/pd.h. 129 minItems: 3 129 minItems: 3 130 maxItems: 6 130 maxItems: 6 131 $ref: /schemas/types.yaml#/definitions/uin 131 $ref: /schemas/types.yaml#/definitions/uint32-array 132 132 133 sink-vdos-v1: 133 sink-vdos-v1: 134 description: An array of u32 with each ent 134 description: An array of u32 with each entry, a Vendor Defined Message Object (VDO), 135 providing additional information corresp 135 providing additional information corresponding to the product, the detailed bit 136 definitions and the order of each VDO ca 136 definitions and the order of each VDO can be found in 137 "USB Power Delivery Specification Revisi 137 "USB Power Delivery Specification Revision 2.0, Version 1.3" chapter 6.4.4.3.1 Discover 138 Identity. User can specify the VDO array 138 Identity. User can specify the VDO array via VDO_IDH/_CERT/_PRODUCT/_CABLE/_AMA defined in 139 dt-bindings/usb/pd.h. 139 dt-bindings/usb/pd.h. 140 minItems: 3 140 minItems: 3 141 maxItems: 6 141 maxItems: 6 142 $ref: /schemas/types.yaml#/definitions/uin 142 $ref: /schemas/types.yaml#/definitions/uint32-array 143 143 144 accessory-mode-audio: 144 accessory-mode-audio: 145 type: boolean 145 type: boolean 146 description: Whether the device supports A 146 description: Whether the device supports Audio Adapter Accessory Mode. This 147 is only necessary if there are no other 147 is only necessary if there are no other means to discover supported 148 alternative modes (e.g. through the UCSI 148 alternative modes (e.g. through the UCSI firmware interface). 149 149 150 accessory-mode-debug: 150 accessory-mode-debug: 151 type: boolean 151 type: boolean 152 description: Whether the device supports D 152 description: Whether the device supports Debug Accessory Mode. This 153 is only necessary if there are no other 153 is only necessary if there are no other means to discover supported 154 alternative modes (e.g. through the UCSI 154 alternative modes (e.g. through the UCSI firmware interface). 155 155 156 altmodes: 156 altmodes: 157 type: object 157 type: object 158 description: List of Alternative Modes sup 158 description: List of Alternative Modes supported by the schematics on the 159 particular device. This is only necessar 159 particular device. This is only necessary if there are no other means to 160 discover supported alternative modes (e. 160 discover supported alternative modes (e.g. through the UCSI firmware 161 interface). 161 interface). 162 162 163 additionalProperties: false 163 additionalProperties: false 164 164 165 patternProperties: 165 patternProperties: 166 "^(displayport)$": 166 "^(displayport)$": 167 type: object 167 type: object 168 description: 168 description: 169 A single USB-C Alternative Mode as s 169 A single USB-C Alternative Mode as supported by the USB-C connector logic. 170 170 171 additionalProperties: false 171 additionalProperties: false 172 172 173 properties: 173 properties: 174 svid: 174 svid: 175 $ref: /schemas/types.yaml#/definit 175 $ref: /schemas/types.yaml#/definitions/uint16 176 description: Unique value assigned 176 description: Unique value assigned by USB-IF to the Vendor / AltMode. 177 enum: [ 0xff01 ] 177 enum: [ 0xff01 ] 178 vdo: 178 vdo: 179 $ref: /schemas/types.yaml#/definit 179 $ref: /schemas/types.yaml#/definitions/uint32 180 description: VDO returned by Disco 180 description: VDO returned by Discover Modes USB PD command. 181 181 182 port: 182 port: 183 $ref: /schemas/graph.yaml#/properties/port 183 $ref: /schemas/graph.yaml#/properties/port 184 description: OF graph bindings modeling a 184 description: OF graph bindings modeling a data bus to the connector, e.g. 185 there is a single High Speed (HS) port p 185 there is a single High Speed (HS) port present in this connector. If there 186 is more than one bus (several port, with 186 is more than one bus (several port, with 'reg' property), they can be grouped 187 under 'ports'. 187 under 'ports'. 188 188 189 ports: 189 ports: 190 $ref: /schemas/graph.yaml#/properties/port 190 $ref: /schemas/graph.yaml#/properties/ports 191 description: OF graph bindings modeling an 191 description: OF graph bindings modeling any data bus to the connector 192 unless the bus is between parent node an 192 unless the bus is between parent node and the connector. Since a single 193 connector can have multiple data buses e 193 connector can have multiple data buses every bus has an assigned OF graph 194 port number as described below. 194 port number as described below. 195 195 196 properties: 196 properties: 197 port@0: 197 port@0: 198 $ref: /schemas/graph.yaml#/properties/ 198 $ref: /schemas/graph.yaml#/properties/port 199 description: High Speed (HS), present 199 description: High Speed (HS), present in all connectors. 200 200 201 port@1: 201 port@1: 202 $ref: /schemas/graph.yaml#/properties/ 202 $ref: /schemas/graph.yaml#/properties/port 203 description: Super Speed (SS), present 203 description: Super Speed (SS), present in SS capable connectors. 204 204 205 port@2: 205 port@2: 206 $ref: /schemas/graph.yaml#/properties/ 206 $ref: /schemas/graph.yaml#/properties/port 207 description: Sideband Use (SBU), prese 207 description: Sideband Use (SBU), present in USB-C. This describes the 208 alternate mode connection of which S 208 alternate mode connection of which SBU is a part. 209 209 210 required: 210 required: 211 - port@0 211 - port@0 212 212 213 new-source-frs-typec-current: 213 new-source-frs-typec-current: 214 description: Initial current capability of 214 description: Initial current capability of the new source when vSafe5V 215 is applied during PD3.0 Fast Role Swap. 215 is applied during PD3.0 Fast Role Swap. "Table 6-14 Fixed Supply PDO - Sink" 216 of "USB Power Delivery Specification Rev 216 of "USB Power Delivery Specification Revision 3.0, Version 1.2" provides the 217 different power levels and "6.4.1.3.1.6 217 different power levels and "6.4.1.3.1.6 Fast Role Swap USB Type-C Current" 218 provides a detailed description of the f 218 provides a detailed description of the field. The sink PDO from current source 219 reflects the current source's(i.e. trans 219 reflects the current source's(i.e. transmitter of the FRS signal) power 220 requirement during fr swap. The current 220 requirement during fr swap. The current sink (i.e. receiver of the FRS signal), 221 a.k.a new source, should check if it wil 221 a.k.a new source, should check if it will be able to satisfy the current source's, 222 new sink's, requirement during frswap be 222 new sink's, requirement during frswap before enabling the frs signal reception. 223 This property refers to maximum current 223 This property refers to maximum current capability that the current sink can 224 satisfy. During FRS, VBUS voltage is at 224 satisfy. During FRS, VBUS voltage is at 5V, as the partners are in implicit 225 contract, hence, the power level is only 225 contract, hence, the power level is only a function of the current capability. 226 "1" refers to default USB power level as 226 "1" refers to default USB power level as described by "Table 6-14 Fixed Supply PDO - Sink". 227 "2" refers to 1.5A@5V. 227 "2" refers to 1.5A@5V. 228 "3" refers to 3.0A@5V. 228 "3" refers to 3.0A@5V. 229 $ref: /schemas/types.yaml#/definitions/uin 229 $ref: /schemas/types.yaml#/definitions/uint32 230 enum: [1, 2, 3] 230 enum: [1, 2, 3] 231 231 232 slow-charger-loop: 232 slow-charger-loop: 233 description: Allows PMIC charger loops whi 233 description: Allows PMIC charger loops which are slow(i.e. cannot meet the 15ms deadline) to 234 still comply to pSnkStby i.e Maximum pow 234 still comply to pSnkStby i.e Maximum power that can be consumed by sink while in Sink Standby 235 state as defined in 7.4.2 Sink Electrica 235 state as defined in 7.4.2 Sink Electrical Parameters of USB Power Delivery Specification 236 Revision 3.0, Version 1.2. When the prop 236 Revision 3.0, Version 1.2. When the property is set, the port requests pSnkStby(2.5W - 237 5V@500mA) upon entering SNK_DISCOVERY(in 237 5V@500mA) upon entering SNK_DISCOVERY(instead of 3A or the 1.5A, Rp current advertised, during 238 SNK_DISCOVERY) and the actual current li 238 SNK_DISCOVERY) and the actual current limit after reception of PS_Ready for PD link or during 239 SNK_READY for non-pd link. 239 SNK_READY for non-pd link. 240 type: boolean 240 type: boolean 241 241 242 capabilities: 242 capabilities: 243 description: A child node to contain all t 243 description: A child node to contain all the selectable USB Power Delivery capabilities. 244 type: object 244 type: object 245 245 246 patternProperties: 246 patternProperties: 247 "^caps-[0-9]+$": 247 "^caps-[0-9]+$": 248 description: Child nodes under "capabi 248 description: Child nodes under "capabilities" node. Each node contains a selectable USB 249 Power Delivery capability. 249 Power Delivery capability. 250 type: object 250 type: object 251 $ref: "#/$defs/capabilities" 251 $ref: "#/$defs/capabilities" 252 unevaluatedProperties: false 252 unevaluatedProperties: false 253 253 254 additionalProperties: false 254 additionalProperties: false 255 255 256 dependencies: 256 dependencies: 257 sink-vdos-v1: [ sink-vdos ] 257 sink-vdos-v1: [ sink-vdos ] 258 sink-vdos: [ sink-vdos-v1 ] 258 sink-vdos: [ sink-vdos-v1 ] 259 259 260 required: 260 required: 261 - compatible 261 - compatible 262 262 263 $defs: 263 $defs: 264 capabilities: 264 capabilities: 265 type: object 265 type: object 266 266 267 properties: 267 properties: 268 source-pdos: 268 source-pdos: 269 description: An array of u32 with each 269 description: An array of u32 with each entry providing supported power 270 source data object(PDO), the detaile 270 source data object(PDO), the detailed bit definitions of PDO can be found 271 in "Universal Serial Bus Power Deliv 271 in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2 272 Source_Capabilities Message, the ord 272 Source_Capabilities Message, the order of each entry(PDO) should follow 273 the PD spec chapter 6.4.1. Required 273 the PD spec chapter 6.4.1. Required for power source and power dual role. 274 User can specify the source PDO arra 274 User can specify the source PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() 275 defined in dt-bindings/usb/pd.h. 275 defined in dt-bindings/usb/pd.h. 276 minItems: 1 276 minItems: 1 277 maxItems: 7 277 maxItems: 7 278 $ref: /schemas/types.yaml#/definitions 278 $ref: /schemas/types.yaml#/definitions/uint32-array 279 279 280 sink-pdos: 280 sink-pdos: 281 description: An array of u32 with each 281 description: An array of u32 with each entry providing supported power sink 282 data object(PDO), the detailed bit d 282 data object(PDO), the detailed bit definitions of PDO can be found in 283 "Universal Serial Bus Power Delivery 283 "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3 284 Sink Capabilities Message, the order 284 Sink Capabilities Message, the order of each entry(PDO) should follow the 285 PD spec chapter 6.4.1. Required for 285 PD spec chapter 6.4.1. Required for power sink and power dual role. User 286 can specify the sink PDO array via P 286 can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined 287 in dt-bindings/usb/pd.h. 287 in dt-bindings/usb/pd.h. 288 minItems: 1 288 minItems: 1 289 maxItems: 7 289 maxItems: 7 290 $ref: /schemas/types.yaml#/definitions 290 $ref: /schemas/types.yaml#/definitions/uint32-array 291 291 292 op-sink-microwatt: 292 op-sink-microwatt: 293 description: Sink required operating p 293 description: Sink required operating power in microwatt, if source can't 294 offer the power, Capability Mismatch 294 offer the power, Capability Mismatch is set. Required for power sink and 295 power dual role. 295 power dual role. 296 296 297 allOf: 297 allOf: 298 - $ref: "#/$defs/capabilities" 298 - $ref: "#/$defs/capabilities" 299 - if: 299 - if: 300 properties: 300 properties: 301 compatible: 301 compatible: 302 contains: 302 contains: 303 const: gpio-usb-b-connector 303 const: gpio-usb-b-connector 304 then: 304 then: 305 anyOf: 305 anyOf: 306 - required: 306 - required: 307 - vbus-gpios 307 - vbus-gpios 308 - required: 308 - required: 309 - id-gpios 309 - id-gpios 310 310 311 - if: 311 - if: 312 properties: 312 properties: 313 compatible: 313 compatible: 314 contains: 314 contains: 315 const: samsung,usb-connector-11pin 315 const: samsung,usb-connector-11pin 316 then: 316 then: 317 properties: 317 properties: 318 type: 318 type: 319 const: micro 319 const: micro 320 320 321 anyOf: 321 anyOf: 322 - not: 322 - not: 323 required: 323 required: 324 - typec-power-opmode 324 - typec-power-opmode 325 - new-source-frs-typec-current 325 - new-source-frs-typec-current 326 326 327 unevaluatedProperties: false 327 unevaluatedProperties: false 328 328 329 examples: 329 examples: 330 # Micro-USB connector with HS lines routed v 330 # Micro-USB connector with HS lines routed via controller (MUIC). 331 - | 331 - | 332 muic-max77843 { 332 muic-max77843 { 333 usb_con1: connector { 333 usb_con1: connector { 334 compatible = "usb-b-connector"; 334 compatible = "usb-b-connector"; 335 label = "micro-USB"; 335 label = "micro-USB"; 336 type = "micro"; 336 type = "micro"; 337 }; 337 }; 338 }; 338 }; 339 339 340 # USB-C connector attached to CC controller 340 # USB-C connector attached to CC controller (s2mm005), HS lines routed 341 # to companion PMIC (max77865), SS lines to 341 # to companion PMIC (max77865), SS lines to USB3 PHY and SBU to DisplayPort. 342 # DisplayPort video lines are routed to the 342 # DisplayPort video lines are routed to the connector via SS mux in USB3 PHY. 343 - | 343 - | 344 ccic: s2mm005 { 344 ccic: s2mm005 { 345 usb_con2: connector { 345 usb_con2: connector { 346 compatible = "usb-c-connector"; 346 compatible = "usb-c-connector"; 347 label = "USB-C"; 347 label = "USB-C"; 348 348 349 altmodes { 349 altmodes { 350 displayport { 350 displayport { 351 svid = /bits/ 16 <0xff01>; 351 svid = /bits/ 16 <0xff01>; 352 vdo = <0x00001c46>; 352 vdo = <0x00001c46>; 353 }; 353 }; 354 }; 354 }; 355 355 356 ports { 356 ports { 357 #address-cells = <1>; 357 #address-cells = <1>; 358 #size-cells = <0>; 358 #size-cells = <0>; 359 359 360 port@0 { 360 port@0 { 361 reg = <0>; 361 reg = <0>; 362 usb_con_hs: endpoint { 362 usb_con_hs: endpoint { 363 remote-endpoint = <&ma 363 remote-endpoint = <&max77865_usbc_hs>; 364 }; 364 }; 365 }; 365 }; 366 port@1 { 366 port@1 { 367 reg = <1>; 367 reg = <1>; 368 usb_con_ss: endpoint { 368 usb_con_ss: endpoint { 369 remote-endpoint = <&us 369 remote-endpoint = <&usbdrd_phy_ss>; 370 }; 370 }; 371 }; 371 }; 372 port@2 { 372 port@2 { 373 reg = <2>; 373 reg = <2>; 374 usb_con_sbu: endpoint { 374 usb_con_sbu: endpoint { 375 remote-endpoint = <&dp 375 remote-endpoint = <&dp_aux>; 376 }; 376 }; 377 }; 377 }; 378 }; 378 }; 379 }; 379 }; 380 }; 380 }; 381 381 382 # USB-C connector attached to a typec port c 382 # USB-C connector attached to a typec port controller(ptn5110), which has 383 # power delivery support and enables drp. 383 # power delivery support and enables drp. 384 - | 384 - | 385 #include <dt-bindings/usb/pd.h> 385 #include <dt-bindings/usb/pd.h> 386 typec: ptn5110 { 386 typec: ptn5110 { 387 usb_con3: connector { 387 usb_con3: connector { 388 compatible = "usb-c-connector"; 388 compatible = "usb-c-connector"; 389 label = "USB-C"; 389 label = "USB-C"; 390 power-role = "dual"; 390 power-role = "dual"; 391 try-power-role = "sink"; 391 try-power-role = "sink"; 392 source-pdos = <PDO_FIXED(5000, 200 392 source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>; 393 sink-pdos = <PDO_FIXED(5000, 2000, 393 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM) 394 PDO_VAR(5000, 12000, 394 PDO_VAR(5000, 12000, 2000)>; 395 op-sink-microwatt = <10000000>; 395 op-sink-microwatt = <10000000>; 396 }; 396 }; 397 }; 397 }; 398 398 399 # USB-C connector attached to SoC with a sin 399 # USB-C connector attached to SoC with a single High-Speed controller 400 - | 400 - | 401 connector { 401 connector { 402 compatible = "usb-c-connector"; 402 compatible = "usb-c-connector"; 403 label = "USB-C"; 403 label = "USB-C"; 404 404 405 port { 405 port { 406 high_speed_ep: endpoint { 406 high_speed_ep: endpoint { 407 remote-endpoint = <&usb_hs_ep> 407 remote-endpoint = <&usb_hs_ep>; 408 }; 408 }; 409 }; 409 }; 410 }; 410 }; 411 411 412 # USB-C connector attached to SoC and USB3 t 412 # USB-C connector attached to SoC and USB3 typec port controller(hd3ss3220) 413 # with SS 2:1 MUX. HS lines routed to SoC, S 413 # with SS 2:1 MUX. HS lines routed to SoC, SS lines routed to the MUX and 414 # the output of MUX is connected to the SoC. 414 # the output of MUX is connected to the SoC. 415 - | 415 - | 416 connector { 416 connector { 417 compatible = "usb-c-connector"; 417 compatible = "usb-c-connector"; 418 label = "USB-C"; 418 label = "USB-C"; 419 data-role = "dual"; 419 data-role = "dual"; 420 420 421 ports { 421 ports { 422 #address-cells = <1>; 422 #address-cells = <1>; 423 #size-cells = <0>; 423 #size-cells = <0>; 424 port@0 { 424 port@0 { 425 reg = <0>; 425 reg = <0>; 426 hs_ep: endpoint { 426 hs_ep: endpoint { 427 remote-endpoint = <&usb3_h 427 remote-endpoint = <&usb3_hs_ep>; 428 }; 428 }; 429 }; 429 }; 430 port@1 { 430 port@1 { 431 reg = <1>; 431 reg = <1>; 432 ss_ep: endpoint { 432 ss_ep: endpoint { 433 remote-endpoint = <&hd3ss3 433 remote-endpoint = <&hd3ss3220_in_ep>; 434 }; 434 }; 435 }; 435 }; 436 }; 436 }; 437 }; 437 }; 438 438 439 # USB connector with GPIO control lines 439 # USB connector with GPIO control lines 440 - | 440 - | 441 #include <dt-bindings/gpio/gpio.h> 441 #include <dt-bindings/gpio/gpio.h> 442 442 443 usb { 443 usb { 444 connector { 444 connector { 445 compatible = "gpio-usb-b-connector 445 compatible = "gpio-usb-b-connector", "usb-b-connector"; 446 type = "micro"; 446 type = "micro"; 447 id-gpios = <&pio 12 GPIO_ACTIVE_HI 447 id-gpios = <&pio 12 GPIO_ACTIVE_HIGH>; 448 vbus-supply = <&usb_p0_vbus>; 448 vbus-supply = <&usb_p0_vbus>; 449 }; 449 }; 450 }; 450 }; 451 451 452 # Micro-USB connector with HS lines routed v 452 # Micro-USB connector with HS lines routed via controller (MUIC) and MHL 453 # lines connected to HDMI-MHL bridge (sii862 453 # lines connected to HDMI-MHL bridge (sii8620) on Samsung Exynos5433-based 454 # mobile phone 454 # mobile phone 455 - | 455 - | 456 muic-max77843 { 456 muic-max77843 { 457 usb_con4: connector { 457 usb_con4: connector { 458 compatible = "samsung,usb-connecto 458 compatible = "samsung,usb-connector-11pin", "usb-b-connector"; 459 label = "micro-USB"; 459 label = "micro-USB"; 460 type = "micro"; 460 type = "micro"; 461 461 462 ports { 462 ports { 463 #address-cells = <1>; 463 #address-cells = <1>; 464 #size-cells = <0>; 464 #size-cells = <0>; 465 465 466 port@0 { 466 port@0 { 467 reg = <0>; 467 reg = <0>; 468 muic_to_usb: endpoint { 468 muic_to_usb: endpoint { 469 remote-endpoint = <&us 469 remote-endpoint = <&usb_to_muic>; 470 }; 470 }; 471 }; 471 }; 472 port@3 { 472 port@3 { 473 reg = <3>; 473 reg = <3>; 474 usb_con_mhl: endpoint { 474 usb_con_mhl: endpoint { 475 remote-endpoint = <&si 475 remote-endpoint = <&sii8620_mhl>; 476 }; 476 }; 477 }; 477 }; 478 }; 478 }; 479 }; 479 }; 480 }; 480 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.