How to initialize and use SS1 port of USB3.0 controller(XUSB)

Hi All,

We have our custom design based on TK1.
In that we design to USB3.0 interface . 1st USB device connect at SS0 and 2nd connect at SS1 port.

In DTS file i have added following node and after that SS0 port works fine.

    /* USB 3.0 */
    xusb@70090000 {
            status = "okay";
            nvidia,gpio_ss1_sata = <0>;
            nvidia,portmap = <(XUSB_MUX_USB2_P2 | XUSB_MUX_SS_P0)>;
            nvidia,ss_portmap = <XUSB_PADCTL_SS_PORTMAP(P2, DISABLE)>;
            nvidia,lane_owner = <0>; /* USB3_SS port0 */
            nvidia,ulpicap = <0>;
            usb_vbus2-supply = <&vdd_usb3_vbus>;
    };

            vdd_usb3_vbus: regulator@7 {
                    compatible = "regulator-fixed";
                    reg = <7>;
                    regulator-name = "+USB3.0_VCC";
                    regulator-min-microvolt = <5000000>;
                    regulator-max-microvolt = <5000000>;
                    nvidia,vbus-gpio = <&gpio TEGRA_GPIO(FF, 1) GPIO_ACTIVE_HIGH>;
                    enable-active-high;
                    gpio-open-drain;
                    vin-supply = <&vdd_5v0_sys>;
            };

For other USB3 port connected at SS1 port , we have following pin configuration.

GPIO_PFF2
USB_VBUS_EN1
USB1_DN
USB1_DP
PEX_USB3_RX1N
PEX_USB3_RX1P
PEX_USB3_TX1N
PEX_USB3_TX1P

How to initialize this port? what is the address for this USB port?

Hi,
The patch is invalid
[s]Please check if below patch to arch/arm/boot/dts/tegra124-jetson_tk1-pm375-000-c00-00.dts helps:

@@ -111,9 +111,9 @@
 		/* nvidia,uses_external_pmic;
 		nvidia,gpio_controls_muxed_ss_lanes; */
 		nvidia,gpio_ss1_sata = <0>;
-		nvidia,portmap = <0x701>; /* SSP0, USB2P0, USBP1, USBP2 */
-		nvidia,ss_portmap = <0x72>; /* SSP0 on USB2P2 */
-		nvidia,lane_owner = <4>; /* USB3P0 USB3P1 */
+		nvidia,portmap = <0x703>; /* SSP0, USB2P0, USBP1, USBP2 */
+		nvidia,ss_portmap = <0x12>; /* SSP0 on USB2P2 */
+		nvidia,lane_owner = <6>; /* USB3P0 USB3P1 */
 		nvidia,ulpicap = <0>; /* No ulpi support. can we remove */
 		status = "okay";
 	};

[/s]
Please also consider using Jetson Nano.

Hi ALL,

With above configuration , USB3 port is not working.
what is mean of “nvidia,lane_owner = <6>; /* USB3P0 USB3P1 */”? why it is set as “6”?

Regards,
Rahul Shah

Hi ALL,

With above configuration , USB3 port is not working.
what is mean of “nvidia,lane_owner = <6>; /* USB3P0 USB3P1 */”? why it is set as “6”?

can we set both usb port SS0 and SS1 lanes using single property (i.e "nvidia,lane_owner = <6>; ").

The pins we are used is as below:
PEX_USB3_RX1N
PEX_USB3_RX1P
PEX_USB3_TX1N
PEX_USB3_TX1P

so any special handling required related to PEX?

Regards,
Rahul Shah

Hello,

Any update on this topic?

Regards,
Rahul Shah

Hi,
My apology to give an invalid patch. Actually, we do not support USB lane mapping on TK1. There is no public document for users to customize USB ports. We still suggest you consider Jetson Nano.

Hello,

We are not customizing.Only we are trying to use SS1 port.
We want 2 USB3 port, out of which one is SS0 and it works fine.But for 2nd one we use SS1 port and pins for that port are as described below:
The pins we are used is as below:
PEX_USB3_RX1N
PEX_USB3_RX1P
PEX_USB3_TX1N
PEX_USB3_TX1P

Same configuration is used in Meerkat-evaluation board.

But after all the configuration SS1 port not working.Am i miss something to init?

Regards,
Rahul Shah

Hi ALL,

Any update ?

i have found one link as below: i have apply steps pasted by ‘edli1983’ @ #2
https://devtalk.nvidia.com/default/topic/899009/jetson-tk1/software-configuration-for-tegra-k1-with-additional-usb3-0-port/post/5343885/#5343885

But still not working with that solution.

Can anyone guide me on this topic?

Regards,
Rahul Shah

Hi,
We don’t have public document/guidance of enabling SS1 on TK1. Other users can share you experience