我在设备树中disabled usb3.0的节点。
xusb_padctl: xusb_padctl@3520000 {
status = "okay";
pads {
usb2 {
lanes {
usb2-0 {
nvidia,function = "xusb";
status = "okay";
};
usb2-1 {
nvidia,function = "xusb";
status = "okay";
};
usb2-2 {
nvidia,function = "xusb";
status = "okay";
};
};
};
};
ports {
usb2-0 {/* Goes to recovery port */
mode = "host";
status = "okay";
vbus-supply = <&p3768_vdd_5v_sys>;
};
usb2-1 {/* Goes to hub */
mode = "host";
vbus-supply = <&p3768_vdd_av10_hub>;
status = "okay";
};
usb2-2 {/* Goes to M2.E */
mode = "host";
vbus-supply = <&p3768_vdd_5v_sys>;
status = "okay";
};
};
};
tegra_xudc: xudc@3550000 {
status = "okay";
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>;
phy-names = "usb2-0", "usb3-1";
nvidia,xusb-padctl = <&xusb_padctl>;
};
tegra_xhci: xhci@3610000 {
status = "okay";
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}>;
phy-names = "usb2-0", "usb2-1", "usb2-2";
nvidia,xusb-padctl = <&xusb_padctl>;
};
硬件连接如下:
启动系统:
root@iking:/home/iking# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 10000M
|__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M
我确定修改的设备树生效了。有时启动usb3.0 设备能被识别,有时不能被识别。按道理是不应该被识别的。
内核log如附件:
kernel3.log (57.5 KB)