arm64: dts: mediatek: mt8186: Add missing xhci clock to usb controllers
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Tue, 13 Feb 2024 15:02:38 +0000 (10:02 -0500)
committerAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Wed, 14 Feb 2024 09:04:12 +0000 (10:04 +0100)
commit1af98c3e53da5a8f627855cecd68b017e753ffd3
tree516c8b3429db2f2fc095a88804d3f4466334f078
parenta00d4a98af44e025891e97c490b2545368a25e08
arm64: dts: mediatek: mt8186: Add missing xhci clock to usb controllers

The mtu3 usb controllers don't list the xhci clock, though they require
it, and thus rely on the bootloader leaving it on in order to work.

When booting with the upstream arm64 defconfig, the usb controllers will
defer probe until modules have loaded since they have an indirect
dependency on CONFIG_MTK_CMDQ, which is configured as a module. However
at the point where modules are loaded, unused clocks are also disabled,
causing the usb controllers to probe without the xhci clock enabled and
fail to probe:

mtu3 11201000.usb: clks of sts1 are not stable!
mtu3 11201000.usb: device enable failed -110
mtu3 11201000.usb: mtu3 hw init failed:-110
mtu3 11201000.usb: failed to initialize gadget
mtu3: probe of 11201000.usb failed with error -110

(and same for the one at 11281000)

Add the missing clock for the usb controllers so that they can
successfully probe without relying on the bootloader state.

Fixes: f6c3e61c5486 ("arm64: dts: mediatek: mt8186: Add MTU3 nodes")
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20240213-mt8186-ssusb-domain-clk-fix-v2-2-1f981d35f3fd@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
arch/arm64/boot/dts/mediatek/mt8186.dtsi