120 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
USB Connector
 | 
						|
=============
 | 
						|
 | 
						|
USB connector node represents physical USB connector. It should be
 | 
						|
a child of USB interface controller.
 | 
						|
 | 
						|
Required properties:
 | 
						|
- compatible: describes type of the connector, must be one of:
 | 
						|
    "usb-a-connector",
 | 
						|
    "usb-b-connector",
 | 
						|
    "usb-c-connector".
 | 
						|
 | 
						|
Optional properties:
 | 
						|
- label: symbolic name for the connector,
 | 
						|
- type: size of the connector, should be specified in case of USB-A, USB-B
 | 
						|
  non-fullsize connectors: "mini", "micro".
 | 
						|
 | 
						|
Optional properties for usb-c-connector:
 | 
						|
- power-role: should be one of "source", "sink" or "dual"(DRP) if typec
 | 
						|
  connector has power support.
 | 
						|
- try-power-role: preferred power role if "dual"(DRP) can support Try.SNK
 | 
						|
  or Try.SRC, should be "sink" for Try.SNK or "source" for Try.SRC.
 | 
						|
- data-role: should be one of "host", "device", "dual"(DRD) if typec
 | 
						|
  connector supports USB data.
 | 
						|
 | 
						|
Required properties for usb-c-connector with power delivery support:
 | 
						|
- source-pdos: An array of u32 with each entry providing supported power
 | 
						|
  source data object(PDO), the detailed bit definitions of PDO can be found
 | 
						|
  in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2
 | 
						|
  Source_Capabilities Message, the order of each entry(PDO) should follow
 | 
						|
  the PD spec chapter 6.4.1. Required for power source and power dual role.
 | 
						|
  User can specify the source PDO array via PDO_FIXED/BATT/VAR() defined in
 | 
						|
  dt-bindings/usb/pd.h.
 | 
						|
- sink-pdos: An array of u32 with each entry providing supported power
 | 
						|
  sink data object(PDO), the detailed bit definitions of PDO can be found
 | 
						|
  in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
 | 
						|
  Sink Capabilities Message, the order of each entry(PDO) should follow
 | 
						|
  the PD spec chapter 6.4.1. Required for power sink and power dual role.
 | 
						|
  User can specify the sink PDO array via PDO_FIXED/BATT/VAR() defined in
 | 
						|
  dt-bindings/usb/pd.h.
 | 
						|
- op-sink-microwatt: Sink required operating power in microwatt, if source
 | 
						|
  can't offer the power, Capability Mismatch is set. Required for power
 | 
						|
  sink and power dual role.
 | 
						|
 | 
						|
Required nodes:
 | 
						|
- any data bus to the connector should be modeled using the OF graph bindings
 | 
						|
  specified in bindings/graph.txt, unless the bus is between parent node and
 | 
						|
  the connector. Since single connector can have multpile data buses every bus
 | 
						|
  has assigned OF graph port number as follows:
 | 
						|
    0: High Speed (HS), present in all connectors,
 | 
						|
    1: Super Speed (SS), present in SS capable connectors,
 | 
						|
    2: Sideband use (SBU), present in USB-C.
 | 
						|
 | 
						|
Examples
 | 
						|
--------
 | 
						|
 | 
						|
1. Micro-USB connector with HS lines routed via controller (MUIC):
 | 
						|
 | 
						|
muic-max77843@66 {
 | 
						|
	...
 | 
						|
	usb_con: connector {
 | 
						|
		compatible = "usb-b-connector";
 | 
						|
		label = "micro-USB";
 | 
						|
		type = "micro";
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
2. USB-C connector attached to CC controller (s2mm005), HS lines routed
 | 
						|
to companion PMIC (max77865), SS lines to USB3 PHY and SBU to DisplayPort.
 | 
						|
DisplayPort video lines are routed to the connector via SS mux in USB3 PHY.
 | 
						|
 | 
						|
ccic: s2mm005@33 {
 | 
						|
	...
 | 
						|
	usb_con: connector {
 | 
						|
		compatible = "usb-c-connector";
 | 
						|
		label = "USB-C";
 | 
						|
 | 
						|
		ports {
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			port@0 {
 | 
						|
				reg = <0>;
 | 
						|
				usb_con_hs: endpoint {
 | 
						|
					remote-endpoint = <&max77865_usbc_hs>;
 | 
						|
				};
 | 
						|
			};
 | 
						|
			port@1 {
 | 
						|
				reg = <1>;
 | 
						|
				usb_con_ss: endpoint {
 | 
						|
					remote-endpoint = <&usbdrd_phy_ss>;
 | 
						|
				};
 | 
						|
			};
 | 
						|
			port@2 {
 | 
						|
				reg = <2>;
 | 
						|
				usb_con_sbu: endpoint {
 | 
						|
					remote-endpoint = <&dp_aux>;
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
3. USB-C connector attached to a typec port controller(ptn5110), which has
 | 
						|
power delivery support and enables drp.
 | 
						|
 | 
						|
typec: ptn5110@50 {
 | 
						|
	...
 | 
						|
	usb_con: connector {
 | 
						|
		compatible = "usb-c-connector";
 | 
						|
		label = "USB-C";
 | 
						|
		power-role = "dual";
 | 
						|
		try-power-role = "sink";
 | 
						|
		source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
 | 
						|
		sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
 | 
						|
			     PDO_VAR(5000, 12000, 2000)>;
 | 
						|
		op-sink-microwatt = <10000000>;
 | 
						|
	};
 | 
						|
};
 |