[PATCH] phy: rockchip: inno-usb2: ensure PHY is running when clock is requested
Igor Paunovic
royalnet026 at gmail.com
Tue Sep 8 09:29:28 PDT 2026
Hi Sebastian,
Tested-by: Igor Paunovic <royalnet026 at gmail.com> # Orange Pi 5 Plus (RK3588)
Repeating the tag here so it is picked up with the patch: I tested this
in your rockchip-devel branch earlier today and reported the details in
[1], but that was in my own bug report thread rather than under the
patch. The code you posted is identical to what I tested, only the base
differs.
Briefly: 4 full s2idle cycles with all four USB 2.0 hosts bound, which
hung every time before and needed a cold reset. The OHCI whose 480 MHz
clock had it as its only user went from "enters ohci_platform_resume and
never returns" to returning 0 after ~20.7 ms, 8 out of 8 resume passes.
One data point for the reviewers here, since it concerns the guard at the
top of the new function:
if (rphy->phy_cfg->num_ports > 1)
return 0;
All four entries in rk3588_phy_cfgs[] have num_ports = 1 (0x0000 and
0x4000 as OTG, 0x8000 and 0xc000 as HOST), so the new code does run on
RK3588, including u2phy2 at 0x8000 whose controller is the one that hung
for me. The num_ports = 2 configs are the older SoCs, so the guard costs
RK3588 nothing.
[1] https://lore.kernel.org/all/20260908144245.10700-1-royalnet026@gmail.com/
Igor
More information about the linux-arm-kernel
mailing list