arm64: dts: rockchip: add clk-480m for ehci and ohci of rk3399
authorFrank Wang <frank.wang@rock-chips.com>
Wed, 27 Jul 2016 08:03:04 +0000 (16:03 +0800)
committerFrank Wang <frank.wang@rock-chips.com>
Wed, 27 Jul 2016 08:52:10 +0000 (16:52 +0800)
We found that the suspend process was blocked when it run into
ehci/ohci module due to clk-480m of usb2-phy was disabled.

The root cause is that usb2-phy suspended earlier than ehci/ohci
(usb2-phy will be auto suspended if no devices plug-in). and the
clk-480m provided by it was diabled if no module used. However,
some suspend process related ehci/ohci are base on this clock,
so we should refer it into ehci/ohci driver to prevent this case.

Change-Id: Ic5e70a4234382e5cd1e1690e5174891e89360741
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
arch/arm64/boot/dts/rockchip/rk3399.dtsi

index 6ce3dccc825f5d1273404c26d11679708759c506..d51384898111cfd1533547be0daa8fe28b1d5113 100644 (file)
                compatible = "generic-ehci";
                reg = <0x0 0xfe380000 0x0 0x20000>;
                interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
-               clock-names = "hclk_host0", "hclk_host0_arb";
+               clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
+                        <&cru SCLK_USBPHY0_480M_SRC>;
+               clock-names = "hclk_host0", "hclk_host0_arb", "usbphy0_480m";
                phys = <&u2phy0_host>;
                phy-names = "usb";
                status = "disabled";
                compatible = "generic-ohci";
                reg = <0x0 0xfe3a0000 0x0 0x20000>;
                interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
-               clock-names = "hclk_host0", "hclk_host0_arb";
+               clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
+                        <&cru SCLK_USBPHY0_480M_SRC>;
+               clock-names = "hclk_host0", "hclk_host0_arb", "usbphy0_480m";
+               phys = <&u2phy0_host>;
+               phy-names = "usb";
                status = "disabled";
        };
 
                compatible = "generic-ehci";
                reg = <0x0 0xfe3c0000 0x0 0x20000>;
                interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
-               clock-names = "hclk_host1", "hclk_host1_arb";
+               clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
+                        <&cru SCLK_USBPHY1_480M_SRC>;
+               clock-names = "hclk_host1", "hclk_host1_arb", "usbphy1_480m";
                phys = <&u2phy1_host>;
                phy-names = "usb";
                status = "disabled";
                compatible = "generic-ohci";
                reg = <0x0 0xfe3e0000 0x0 0x20000>;
                interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
-               clock-names = "hclk_host1", "hclk_host1_arb";
+               clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
+                        <&cru SCLK_USBPHY1_480M_SRC>;
+               clock-names = "hclk_host1", "hclk_host1_arb", "usbphy1_480m";
+               phys = <&u2phy1_host>;
+               phy-names = "usb";
                status = "disabled";
        };