schematic diagram:
Pin configuration:

dts default config:
xusb_padctl@3520000 {
compatible = “nvidia,tegra234-xusb-padctl”;
reg = <0x0 0x3520000 0x0 0x20000 0x0 0x3540000 0x0 0x10000>;
reg-names = “padctl”, “ao”;
interrupts = <0x0 0xa7 0x4>;
resets = <0x2 0x72>;
reset-names = “padctl”;
status = “okay”;
vclamp-usb-supply = <0x4b>;
avdd-usb-supply = <0x2b5>;
phandle = <0x2b9>;
pads {
usb2 {
clocks = <0x2 0xa5>;
clock-names = "trk";
lanes {
usb2-0 {
status = "okay";
#phy-cells = <0x0>;
nvidia,function = "xusb";
phandle = <0x2ba>;
};
usb2-1 {
status = "okay";
#phy-cells = <0x0>;
nvidia,function = "xusb";
phandle = <0x2bd>;
};
usb2-2 {
status = "okay";
#phy-cells = <0x0>;
nvidia,function = "xusb";
phandle = <0x2be>;
};
usb2-3 {
status = "disabled";
#phy-cells = <0x0>;
};
};
};
usb3 {
lanes {
usb3-0 {
status = "okay";
#phy-cells = <0x0>;
nvidia,function = "xusb";
phandle = <0x2bf>;
};
usb3-1 {
status = "okay";
#phy-cells = <0x0>;
nvidia,function = "xusb";
phandle = <0x2bc>;
};
usb3-2 {
status = "disabled";
#phy-cells = <0x0>;
};
usb3-3 {
status = "disabled";
#phy-cells = <0x0>;
};
};
};
};
ports {
usb2-0 {
status = "okay";
mode = "otg";
vbus-supply = <0x2b6>;
usb-role-switch;
port {
endpoint {
remote-endpoint = <0x2b7>;
phandle = <0x69>;
};
};
};
usb2-1 {
status = "okay";
mode = "host";
vbus-supply = <0x2b8>;
};
usb2-2 {
status = "okay";
mode = "host";
vbus-supply = <0x2b6>;
};
usb2-3 {
status = "disabled";
};
usb3-0 {
status = "okay";
nvidia,usb2-companion = <0x1>;
};
usb3-1 {
status = "okay";
nvidia,usb2-companion = <0x0>;
};
usb3-2 {
status = "disabled";
};
usb3-3 {
status = "disabled";
};
};
prod-settings {
#prod-cells = <0x4>;
prod {
prod = <0x0 0x284 0x38 0x38 0x0 0x288 0x3fff000 0x51e000>;
};
};
};
xhci@3610000 {
compatible = "nvidia,tegra234-xhci", "nvidia,tegra234-xusb";
reg = <0x0 0x3610000 0x0 0x40000 0x0 0x3600000 0x0 0x10000 0x0 0x3650000 0x0 0x10000>;
reg-names = "base", "fpci", "bar2";
interrupts-extended = <0x1 0x0 0xa3 0x4 0x1 0x0 0xa4 0x4 0x1 0x0 0xa7 0x4 0xa 0x4c 0x4 0xa 0x4d 0x4 0xa 0x4e 0x4 0xa 0x4f 0x4 0xa 0x50 0x4 0xa 0x51 0x4 0xa 0x52 0x4>;
interrupt-names = "xhci", "mbox", "padctl", "wake0", "wake1", "wake2", "wake3", "wake4", "wake5", "wake6";
clocks = <0x2 0x10a 0x2 0x10b 0x2 0x10c 0x2 0x10d 0x2 0x10e 0x2 0x10f 0x2 0x110 0x2 0x111 0x2 0x113 0x2 0x115 0x2 0x67 0x2 0xe 0x2 0x64>;
clock-names = "xusb_hs_src", "xusb_host", "xusb_core_superspeed_clk", "xusb_falcon_src", "xusb_falcon_host_clk", "xusb_falcon_superspeed_clk", "xusb_fs_src", "xusb_fs_host_clk", "xusb_ss_src", "xusb_ss", "pll_u_480m", "clk_m", "pll_e";
power-domains = <0x2 0xc 0x2 0xa>;
power-domain-names = "xusb_host", "xusb_ss";
nvidia,xusb-padctl = <0x2b9>;
interconnects = <0x3 0x4a 0x3 0x4b>;
interconnect-names = "dma-mem", "dma-mem";
iommus = <0x56 0xe>;
dma-coherent;
status = "okay";
phys = <0x2ba 0x2bd 0x2be 0x2bf 0x2bc>;
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
phandle = <0x46a>;
};
xhci@3670000 {
compatible = "nvidia,tegra234-xhci-vf1";
reg = <0x0 0x3670000 0x0 0x40000>;
interrupts = <0x0 0x15 0x4>;
nvidia,xusb-padctl = <0x2b9>;
interconnects = <0x3 0x4a 0x3 0x4b>;
interconnect-names = "dma-mem", "dma-mem";
iommus = <0x56 0x1a>;
dma-coherent;
status = "disabled";
phandle = <0x46b>;
};
xhci@36c0000 {
compatible = "nvidia,tegra234-xhci-vf2";
reg = <0x0 0x36c0000 0x0 0x40000>;
interrupts = <0x0 0x16 0x4>;
nvidia,xusb-padctl = <0x2b9>;
interconnects = <0x3 0x4a 0x3 0x4b>;
interconnect-names = "dma-mem", "dma-mem";
iommus = <0x56 0x1b>;
dma-coherent;
status = "disabled";
phandle = <0x46c>;
};
tegra234-p3767-0000-p3768-0000-a0.txt (426.6 KB)
kernel log:
minicom.txt (142.5 KB)
- After inserting the SD card into the hardware, the SD card cannot be recognized correctly.
- The kernel keeps printing this: [ 60.498750] fusb301 1-0025: fusb301_work_handler: int_sts[0x00]
- Regarding the device tree:
xusb_padctl@XXXXX :
xhci@XXXXX : Is it only necessary to configure when serving as a host?
What is the relationship between the two above?
How should this be configured and what is the basis for configuration?
Can you answer it ASAP?