]> git.itanic.dy.fi Git - linux-stable/commit
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)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:16:43 +0000 (18:16 -0400)
commit80c703ac5b4b587371cd4db4a215526dca8e0817
tree52689d03c5a362ce7e6c29410682f4c430864c74
parent870fe1630676f4d22c9efde1b79426fe509044d7
arm64: dts: mediatek: mt8186: Add missing xhci clock to usb controllers

[ Upstream commit 1af98c3e53da5a8f627855cecd68b017e753ffd3 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/boot/dts/mediatek/mt8186.dtsi