arm64: dts: rockchip: rk3588: Add aclk_usb for ehci and ohci controllers

Test on RK3588 EVB1 with dwc3_of_simple_driver_init in
initcall_blacklist like this:

bootargs = "earlycon=uart8250,mmio32,0xfeb50000 console=ttyFIQ0 irqchip.gicv3_pseudo_nmi=0 initcall_blacklist=dwc3_of_simple_driver_init";

Kernel halt in ehci_bus_resume when read the intr_enable
register of the ehci controller. It's because that the
ehci controllers depend on the aclk_usb which only be
managed by DWC3 controller driver right now.

The clock dependency when access ehci/ohci controller registers:
CPU -> hclk_vo1usbtop -> aclk_usb -> hclk_usb -> ehci/ohci

This patch adds the aclk_usb for all ehci and ohci controllers.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I66a622d7156d52451273423c4d6ca2cd965fe55a
This commit is contained in:
William Wu
2023-09-21 15:43:14 +08:00
committed by Wu Liang feng
parent ec3fad65f8
commit ed67590b8a

View File

@@ -2587,8 +2587,8 @@
compatible = "rockchip,rk3588-ehci", "generic-ehci";
reg = <0x0 0xfc800000 0x0 0x40000>;
interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&u2phy2>;
clock-names = "usbhost", "arbiter", "utmi";
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&u2phy2>, <&aclk_usb>;
clock-names = "usbhost", "arbiter", "utmi", "alk_usb";
companion = <&usb_host0_ohci>;
phys = <&u2phy2_host>;
phy-names = "usb2-phy";
@@ -2600,8 +2600,8 @@
compatible = "generic-ohci";
reg = <0x0 0xfc840000 0x0 0x40000>;
interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&u2phy2>;
clock-names = "usbhost", "arbiter", "utmi";
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&u2phy2>, <&aclk_usb>;
clock-names = "usbhost", "arbiter", "utmi", "alk_usb";
phys = <&u2phy2_host>;
phy-names = "usb2-phy";
power-domains = <&power RK3588_PD_USB>;
@@ -2612,8 +2612,8 @@
compatible = "rockchip,rk3588-ehci", "generic-ehci";
reg = <0x0 0xfc880000 0x0 0x40000>;
interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&u2phy3>;
clock-names = "usbhost", "arbiter", "utmi";
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&u2phy3>, <&aclk_usb>;
clock-names = "usbhost", "arbiter", "utmi", "alk_usb";
companion = <&usb_host1_ohci>;
phys = <&u2phy3_host>;
phy-names = "usb2-phy";
@@ -2625,8 +2625,8 @@
compatible = "generic-ohci";
reg = <0x0 0xfc8c0000 0x0 0x40000>;
interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&u2phy3>;
clock-names = "usbhost", "arbiter", "utmi";
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&u2phy3>, <&aclk_usb>;
clock-names = "usbhost", "arbiter", "utmi", "alk_usb";
phys = <&u2phy3_host>;
phy-names = "usb2-phy";
power-domains = <&power RK3588_PD_USB>;