phy: lpc18xx-usb-otg: fix clock order in phy init
authorJoachim Eastwood <manabian@gmail.com>
Sat, 8 Aug 2015 22:02:41 +0000 (00:02 +0200)
committerKishon Vijay Abraham I <kishon@ti.com>
Mon, 10 Aug 2015 14:41:58 +0000 (20:11 +0530)
Changing the frequency of the USB clock must be done before the
PLL is powered on (prepared). This matters when the USB clock
is not setup by either boot ROM or boot loader. Reorder the
function calls to adhere to the order noted in the user manual.

Signed-off-by: Joachim Eastwood <manabian@gmail.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-lpc18xx-usb-otg.c

index 3aa8e4de1b032375be08bc3a900bcd73c8ca6ef9..3b7a71eb5b7e03bc8ba0de65867dd788be957876 100644 (file)
@@ -33,12 +33,12 @@ static int lpc18xx_usb_otg_phy_init(struct phy *phy)
        struct lpc18xx_usb_otg_phy *lpc = phy_get_drvdata(phy);
        int ret;
 
-       ret = clk_prepare(lpc->clk);
+       /* The PHY must be clocked at 480 MHz */
+       ret = clk_set_rate(lpc->clk, 480000000);
        if (ret)
                return ret;
 
-       /* The PHY must be clocked at 480 MHz */
-       return clk_set_rate(lpc->clk, 480000000);
+       return clk_prepare(lpc->clk);
 }
 
 static int lpc18xx_usb_otg_phy_exit(struct phy *phy)