static void usbh2_clock_gate(bool on) { pr_debug("%s: on is %d\n", __func__, on); if (on) { clk_enable(usb_oh3_clk); clk_enable(usb_phy3_clk); usbh2_internal_phy_clock_gate(true); } else { usbh2_internal_phy_clock_gate(false); clk_disable(usb_phy3_clk); clk_disable(usb_oh3_clk); } }
static void fsl_usb_host_uninit_ext(struct platform_device *pdev) { struct fsl_usb2_platform_data *pdata = pdev->dev.platform_data; fsl_usb_host_uninit(pdata); usbh2_internal_phy_clock_gate(false); clk_disable(usb_phy3_clk); clk_put(usb_phy3_clk); clk_disable(usb_oh3_clk); clk_put(usb_oh3_clk); }
static int fsl_usb_host_init_ext(struct platform_device *pdev) { int ret; struct clk *usb_clk; usb_clk = clk_get(NULL, "usboh3_clk"); clk_enable(usb_clk); usb_oh3_clk = usb_clk; usb_clk = clk_get(NULL, "usb_phy3_clk"); clk_enable(usb_clk); usb_phy3_clk = usb_clk; ret = fsl_usb_host_init(pdev); if (ret) { printk(KERN_ERR "host1 init fails......\n"); return ret; } usbh2_internal_phy_clock_gate(true); /* Host2 HSIC enable */ USB_UH2_HSIC_CTRL |= HSIC_EN; return 0; }