In kernel_source/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3489-0888-a00-00-base.dts ======xhci controller ================= #if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2 xhci@3530000 { phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>, <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>, <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>, <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>; phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0"; status = "okay"; }; #else xhci@3530000 { status = "disabled"; phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>, <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>, <&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>; phy-names = "utmi-0", "utmi-1", "utmi-2"; nvidia,boost_cpu_freq = <800>; }; #endif ============usb Nodes================ #if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2 xusb_padctl@3520000 { status = "okay"; pinctrl-0 = <&vbus_en0_default_state>; pinctrl-1 = <&vbus_en1_default_state>; pinctrl-2 = <&vbus_en0_sfio_tristate_state>; pinctrl-3 = <&vbus_en1_sfio_tristate_state>; pinctrl-4 = <&vbus_en0_sfio_passthrough_state>; pinctrl-5 = <&vbus_en1_sfio_passthrough_state>; pinctrl-names = "vbus_en0_default", "vbus_en1_default", "vbus_en0_sfio_tristate", "vbus_en1_sfio_tristate", "vbus_en0_sfio_passthrough", "vbus_en1_sfio_passthrough"; pads { usb2 { lanes { usb2-0 { nvidia,function = "xusb"; status = "okay"; }; usb2-1 { nvidia,function = "xusb"; status = "okay"; }; usb2-2 { nvidia,function = "xusb"; status = "okay"; }; }; }; usb3 { lanes { usb3-0 { nvidia,function = "xusb"; status = "okay"; }; usb3-1 { nvidia,function = "xusb"; status = "okay"; }; usb3-2 { nvidia,function = "xusb"; status = "okay"; }; ports { usb2-0 { status = "okay"; mode = "otg"; vbus-supply = <&vdd_usb0_5v>; nvidia,oc-pin = <0>; }; usb2-1 { status = "okay"; mode = "host"; vbus-supply = <&vdd_usb1_5v>; nvidia,oc-pin = <1>; }; usb2-2 { status = "okay"; mode = "host"; vbus-supply = <&vdd_usb2_5v>; }; usb3-0 { nvidia,usb2-companion = <1>; status = "okay"; }; }; ===============pinctrl======================== pinctrl@3520000 { status = "okay"; pinctrl-0 = <&tegra_xusb_padctl_pinmux_default>; pinctrl-1 = <&vbus_en0_sfio_tristate_state>; pinctrl-2 = <&vbus_en1_sfio_tristate_state>; pinctrl-3 = <&vbus_en0_sfio_passthrough_state>; pinctrl-4 = <&vbus_en1_sfio_passthrough_state>; pinctrl-5 = <&vbus_en0_default_state>; pinctrl-6 = <&vbus_en1_default_state>; pinctrl-names = "default", "vbus_en0_sfio_tristate", "vbus_en1_sfio_tristate", "vbus_en0_sfio_passthrough", "vbus_en1_sfio_passthrough", "vbus_en0_default", "vbus_en1_default"; tegra_xusb_padctl_pinmux_default: pinmux { /* Quill does not support usb3-micro AB */ usb2-micro-AB { nvidia,lanes = "otg-0"; nvidia,function = "xusb"; nvidia,port-cap = ; nvidia,oc-pin = <0>; }; usb2-std-A-port2 { nvidia,lanes = "otg-1"; nvidia,function = "xusb"; nvidia,port-cap = ; nvidia,oc-pin = <1>; }; usb3-std-A-port2 { nvidia,lanes = "usb3-0"; nvidia,port-cap = ; nvidia,oc-pin = <1>; }; e3325-usb3-std-A-HS { nvidia,lanes = "otg-2"; nvidia,function = "xusb"; nvidia,port-cap = ; status = "okay"; }; e3325-usb3-std-A-SS { nvidia,lanes = "usb3-0"; nvidia,port-cap = ; status = "okay"; }; }; };