Rockchip USB Device Not Detected: Host, OTG, VBUS and PHY Checklist
A USB port that shows nothing in lsusb usually has a role, power or PHY problem. Here is the order to check them on Rockchip SoCs.
Step 1: Watch the kernel while plugging in
sudo dmesg -w # then plug the device in
lsusb -t # which bus/port, which speed
No message at all on plug-in means the port has no power, the controller is not in host mode, or the PHY/controller is disabled.
Step 2: Controller role (dr_mode)
Rockchip USB 3 controllers are DWC3 cores. A port wired as a host but configured as peripheral or otg without role switching will never enumerate devices.
&usb_host0_xhci {
dr_mode = "host"; /* "otg" needs role switching (Type-C, ID pin) */
status = "okay";
};
Check the current role on the vendor kernel via the controller's debugfs or sysfs mode/role entries, or look for "dwc3 ... role switch" messages in dmesg.
Step 3: VBUS
- Measure 5 V on the connector. Host ports usually get VBUS from a GPIO-controlled regulator (e.g.
vcc5v0_host), so the enable GPIO and its polarity must be right. - The regulator must be referenced from the PHY (
phy-supply) or beregulator-always-on; otherwise it may never switch on. - Current limit: a bus-powered HDD or LTE modem may brown out on weak VBUS switches.
Step 4: PHY nodes
Enabling the controller isn't enough. Its PHY must be enabled too:
- USB 2.0:
u2phyNand the per-port node (u2phyN_host/u2phyN_otg). - USB 3 on RK3588:
usbdp_phyN(USB3 + DisplayPort combo) or a combo PHY (combphy2_psu) for the extra USB 3 host. - On RK3568/RK3566:
combphy0/1in USB 3 mode for the USB 3 ports.
Step 5: USB 3 port only runs at USB 2 speed
If lsusb -t shows 480M for a USB 3 device, the SuperSpeed part isn't working: the combo/USBDP PHY is disabled or in the wrong mode, the SS lanes are swapped or damaged, or on Type-C the orientation/mux handling isn't configured.
Step 6: Type-C specifics
Type-C ports with a CC controller (e.g. FUSB302) need the controller node, its interrupt GPIO, the usb-role-switch link and orientation switch connections in the device tree. Without them the port may work in one plug orientation only, or not at all.
Hai trovato un errore o vuoi aggiungere qualcosa? Suggerisci un miglioramento.