How to enable the USB 3.0 functionality on lane 3 of J784S4 evm?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
How to enable the USB 3.0 functionality on lane 3 of J784S4 evm?
On TDA4VH We have two lane connected to the TYPEC.
But in the dtsi we are only configuring the lane 3 for USB3.0 Support.
To enable the USB3.0 lane functionality on lane 2 , you need to do the below changes.
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts index 492975144..94e6f7702 100644 --- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts +++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts @@ -711,13 +711,12 @@ serdes0_pcie_link: phy@0 { cdns,phy-type = <PHY_TYPE_PCIE>; resets = <&serdes_wiz0 1>, <&serdes_wiz0 2>; }; - - serdes0_usb_link: phy@3 { - reg = <3>; - cdns,num-lanes = <1>; + serdes0_usb_link: phy@2 { + reg = <2>; + cdns,num-lanes = <2>; #phy-cells = <0>; cdns,phy-type = <PHY_TYPE_USB3>; - resets = <&serdes_wiz0 4>; + resets = <&serdes_wiz0 3 >,<&serdes_wiz0 4>; }; }; @@ -780,7 +779,7 @@ &main_navss_intr { &serdes_ln_ctrl { idle-states = <J784S4_SERDES0_LANE0_PCIE1_LANE0>, <J784S4_SERDES0_LANE1_PCIE1_LANE1>, - <J784S4_SERDES0_LANE2_IP3_UNUSED>, <J784S4_SERDES0_LANE3_USB>, + <J784S4_SERDES0_LANE2_USB_SWAP>, <J784S4_SERDES0_LANE3_USB>, <J784S4_SERDES1_LANE0_PCIE0_LANE0>, <J784S4_SERDES1_LANE1_PCIE0_LANE1>, <J784S4_SERDES1_LANE2_PCIE0_LANE2>, <J784S4_SERDES1_LANE3_PCIE0_LANE3>, <J784S4_SERDES2_LANE2_QSGMII_LANE1>, <J784S4_SERDES2_LANE3_QSGMII_LANE2>; @@ -1229,11 +1228,6 @@ &main_mcan16 { phys = <&transceiver3>; }; -&serdes_wiz0 { - typec-dir-gpios = <&wkup_gpio0 28 GPIO_ACTIVE_HIGH>; - typec-dir-debounce-ms = <700>; /* TUSB321, tCCB_DEFAULT 133 ms */ -}; - &usb_serdes_mux { idle-states = <0>; /* USB0 to SERDES lane 3 */ };
diff --git a/include/dt-bindings/mux/ti-serdes.h b/include/dt-bindings/mux/ti-serdes.h index 91ea9633c..5a6ac4587 100644 --- a/include/dt-bindings/mux/ti-serdes.h +++ b/include/dt-bindings/mux/ti-serdes.h @@ -131,7 +131,7 @@ #define J784S4_SERDES0_LANE2_PCIE3_LANE0 0x0 #define J784S4_SERDES0_LANE2_PCIE1_LANE2 0x1 -#define J784S4_SERDES0_LANE2_IP3_UNUSED 0x2 +#define J784S4_SERDES0_LANE2_USB_SWAP 0x2 #define J784S4_SERDES0_LANE2_IP4_UNUSED 0x3 #define J784S4_SERDES0_LANE3_PCIE3_LANE1 0x0
Save the above change do
cd <linux-sdk>
make linux-dtbs
cp board-support/<linux-*>/arch/arm64/boot/dts/ti/k3-j784s4-evm.dtb /media/<xyz>/rootfs/boot
NOTE:After doing above changes USB will work in 2.0 mode only if you are using lane 3
Regards
Diwakar