USB clocks were completely forgotten as driver would always return 0 even if 
clock ID was unknown.

This behaviour changed with "IPQ40xx: clk: dont always return 0" and this will 
now causes the USB-s to fail probing as clock enable will return -EINVAL.

So to fix that lets add all of the USB clocks to the driver.

Fixes: 430e1dcf ("IPQ40xx: Add USB nodes")

Signed-off-by: Robert Marko <robert.ma...@sartura.hr>
Cc: Luka Perkov <luka.per...@sartura.hr>
---
 arch/arm/mach-ipq40xx/clock-ipq4019.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/mach-ipq40xx/clock-ipq4019.c 
b/arch/arm/mach-ipq40xx/clock-ipq4019.c
index 7308563ad1..a3f872947d 100644
--- a/arch/arm/mach-ipq40xx/clock-ipq4019.c
+++ b/arch/arm/mach-ipq40xx/clock-ipq4019.c
@@ -55,6 +55,14 @@ static int msm_enable(struct clk *clk)
        case GCC_PRNG_AHB_CLK: /*PRNG*/
                /* This clock is already initialized by SBL1 */
                return 0;
+       case GCC_USB3_MASTER_CLK:
+       case GCC_USB3_SLEEP_CLK:
+       case GCC_USB3_MOCK_UTMI_CLK:
+       case GCC_USB2_MASTER_CLK:
+       case GCC_USB2_SLEEP_CLK:
+       case GCC_USB2_MOCK_UTMI_CLK:
+               /* These clocks is already initialized by SBL1 */
+               return 0;
        default:
                return -EINVAL;
        }
-- 
2.28.0

Reply via email to