struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)MXC_CCM_BASE;
 
+void set_usboh3_clk(void)
+{
+       unsigned int reg;
+
+       reg = readl(&mxc_ccm->cscmr1) &
+                ~MXC_CCM_CSCMR1_USBOH3_CLK_SEL_MASK;
+       reg |= 1 << MXC_CCM_CSCMR1_USBOH3_CLK_SEL_OFFSET;
+       writel(reg, &mxc_ccm->cscmr1);
+
+       reg = readl(&mxc_ccm->cscdr1);
+       reg &= ~MXC_CCM_CSCDR1_USBOH3_CLK_PODF_MASK;
+       reg &= ~MXC_CCM_CSCDR1_USBOH3_CLK_PRED_MASK;
+       reg |= 4 << MXC_CCM_CSCDR1_USBOH3_CLK_PRED_OFFSET;
+       reg |= 1 << MXC_CCM_CSCDR1_USBOH3_CLK_PODF_OFFSET;
+
+       writel(reg, &mxc_ccm->cscdr1);
+}
+
+void enable_usboh3_clk(unsigned char enable)
+{
+       unsigned int reg;
+
+       reg = readl(&mxc_ccm->CCGR2);
+       if (enable)
+               reg |= 1 << MXC_CCM_CCGR2_CG14_OFFSET;
+       else
+               reg &= ~(1 << MXC_CCM_CCGR2_CG14_OFFSET);
+       writel(reg, &mxc_ccm->CCGR2);
+}
+
+void set_usb_phy1_clk(void)
+{
+       unsigned int reg;
+
+       reg = readl(&mxc_ccm->cscmr1);
+       reg &= ~MXC_CCM_CSCMR1_USB_PHY_CLK_SEL;
+       writel(reg, &mxc_ccm->cscmr1);
+}
+
+void enable_usb_phy1_clk(unsigned char enable)
+{
+       unsigned int reg;
+
+       reg = readl(&mxc_ccm->CCGR4);
+       if (enable)
+               reg |= 1 << MXC_CCM_CCGR4_CG5_OFFSET;
+       else
+               reg &= ~(1 << MXC_CCM_CCGR4_CG5_OFFSET);
+       writel(reg, &mxc_ccm->CCGR4);
+}
+
+void set_usb_phy2_clk(void)
+{
+       unsigned int reg;
+
+       reg = readl(&mxc_ccm->cscmr1);
+       reg &= ~MXC_CCM_CSCMR1_USB_PHY_CLK_SEL;
+       writel(reg, &mxc_ccm->cscmr1);
+}
+
+void enable_usb_phy2_clk(unsigned char enable)
+{
+       unsigned int reg;
+
+       reg = readl(&mxc_ccm->CCGR4);
+       if (enable)
+               reg |= 1 << MXC_CCM_CCGR4_CG6_OFFSET;
+       else
+               reg &= ~(1 << MXC_CCM_CCGR4_CG6_OFFSET);
+       writel(reg, &mxc_ccm->CCGR4);
+}
+
 /*
  * Calculate the frequency of PLLn.
  */
 
 /* Define the bits in register CCGRx */
 #define MXC_CCM_CCGR_CG_MASK                           0x3
 
+#define MXC_CCM_CCGR4_CG5_OFFSET                       10
+#define MXC_CCM_CCGR4_CG6_OFFSET                       12
 #define MXC_CCM_CCGR5_CG5_OFFSET                       10
+#define MXC_CCM_CCGR2_CG14_OFFSET                      28
 
 /* Define the bits in register CLPCR */
 #define MXC_CCM_CLPCR_BYPASS_IPU_LPM_HS                 (0x1 << 18)