Difference between revisions of "DESK-MX8M-L/Peripherals/USB-C"

From DAVE Developer's Wiki
Jump to: navigation, search
(Device tree configuration)
Line 52: Line 52:
 
<pre>
 
<pre>
 
&iomuxc {
 
&iomuxc {
...
+
pinctrl_ptn5150: ptn5150grp {
...
 
pinctrl_typec: typec1grp {
 
fsl,pins = <
 
MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13 0x1c4
 
>;
 
};
 
 
 
pinctrl_typec_mux: typec1muxgrp {
 
 
fsl,pins = <
 
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x16
+
MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x156
 +
MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x16
 
>;
 
>;
 
};
 
};
Line 73: Line 66:
 
...
 
...
 
...
 
...
ptn36043 {
 
compatible = "nxp,ptn36043";
 
pinctrl-names = "default";
 
pinctrl-0 = <&pinctrl_typec_mux>;
 
switch-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
 
orientation-switch;
 
/* this must be left disabled to avoid conflicts with ptn36043_gpio
 
* see usb_dwc3_0 for more details */
 
status = "disabled";
 
 
port {
 
usb3_data_ss: endpoint {
 
remote-endpoint = <&typec_con_ss>;
 
};
 
};
 
};
 
...
 
...
 
ptn5110: tcpc@50 {
 
compatible = "nxp,ptn5110";
 
pinctrl-names = "default";
 
pinctrl-0 = <&pinctrl_typec>;
 
reg = <0x50>;
 
interrupt-parent = <&gpio1>;
 
interrupts = <13 8>;
 
 
/* disable this node to prevent blackout on boot
 
*/
 
status = "disabled";
 
 
port {
 
typec_dr_sw: endpoint {
 
remote-endpoint = <&usb3_drd_sw>;
 
};
 
};
 
 
usb_con: connector {
 
compatible = "usb-c-connector";
 
label = "USB-C";
 
power-role = "dual";
 
data-role = "dual";
 
try-power-role = "sink";
 
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
 
sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
 
    PDO_VAR(5000, 12000, 3000)>;
 
op-sink-microwatt = <15000000>;
 
self-powered;
 
 
ports {
 
#address-cells = <1>;
 
#size-cells = <0>;
 
 
port@1 {
 
reg = <1>;
 
typec_con_ss: endpoint {
 
remote-endpoint = <&usb3_data_ss>;
 
};
 
};
 
};
 
};
 
};
 
  
 
extcon_usbotg2: typec@3d {
 
extcon_usbotg2: typec@3d {
Line 148: Line 80:
  
 
</pre>
 
</pre>
 
  
  

Revision as of 15:11, 16 February 2023


History
Version Issue Date Notes
1.0.0 Feb 2023 DESK-MX8M-L-2.0.0 release


Peripheral USB-C[edit | edit source]

SBC ORCA[edit | edit source]

In SBC Orca two USB-C ports were mounted, that is:

  • USB-C 1
  • USB-C 2

USB-C 1[edit | edit source]

The USB-C 1 port is used to power-supply the board and for the transfer of data by Downstream-Facing Port (DFP) mode.

In U-Boot you can use this port only to power-supply the board and not for data transfer.

In Linux you can use this port for data transfer.

For more information, refer to the example in USB1 OTG.

The connector that is inserted in this port works in both verses.

USB-C 2[edit | edit source]

The USB-C 2 port is used for data transfer.

In U-Boot you can use this port to transmit data with an external device and to use the UUU functionality of NXP.

In Linux you can use the dual-role data mode (DRD).

For more information, refer to the example in USB2 OTG.

The connector that is inserted in this port works in both verses.

Device tree configuration[edit | edit source]

From imx8mp-mito8mplus.dtsi:

&iomuxc {
	pinctrl_ptn5150: ptn5150grp {
		fsl,pins = <
			MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00	0x156
			MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x16
		>;
	};
...
...

From imx8mp-mito8mplus-cb1001.dts:

...
...

	extcon_usbotg2: typec@3d {
		compatible = "nxp,ptn5150";
		reg = <0x3d>;
		int-gpios = <&gpio1 00 GPIO_ACTIVE_LOW>;
		vbus-gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_ptn5150>;
		status = "okay";
	};
...
...