/* Notes: configure USB clock*/ static int usbotg_init_ext(struct platform_device *pdev) { struct clk *usb_clk; u32 ret; /* at mx6q: this clock is AHB clock for usb core */ usb_clk = clk_get(NULL, "usboh3_clk"); clk_enable(usb_clk); usb_oh3_clk = usb_clk; usb_clk = clk_get(NULL, "usb_phy1_clk"); clk_enable(usb_clk); usb_phy1_clk = usb_clk; ret = usbotg_init(pdev); if (ret) { printk(KERN_ERR "otg init fails......\n"); return ret; } if (!otg_used) { usbotg_internal_phy_clock_gate(true); usb_phy_enable(pdev->dev.platform_data); /*after the phy reset,can not read the readingvalue for id/vbus at * the register of otgsc ,cannot read at once ,need delay 3 ms */ mdelay(3); } otg_used++; return ret; }
static int usbotg_init_ext(struct platform_device *pdev) { struct clk *usb_clk; usb_clk = clk_get(NULL, "usb_clk0"); clk_enable(usb_clk); clk_put(usb_clk); return usbotg_init(pdev); }
/* Notes: configure USB clock*/ static int usbotg_init_ext(struct platform_device *pdev) { struct clk *usb_clk; /* the usb_ahb_clk will be enabled in usb_otg_init */ usb_ahb_clk = clk_get(NULL, "usb_ahb_clk"); usb_clk = clk_get(NULL, "usboh3_clk"); clk_enable(usb_clk); usb_oh3_clk = usb_clk; usb_clk = clk_get(NULL, "usb_phy1_clk"); clk_enable(usb_clk); usb_phy1_clk = usb_clk; return usbotg_init(pdev); }
/* Notes: configure USB clock*/ static int usbotg_init_ext(struct platform_device *pdev) { struct clk *usb_clk; usb_clk = clk_get(NULL, "usboh3_clk"); clk_enable(usb_clk); clk_put(usb_clk); usb_clk = clk_get(NULL, "usb_phy_clk"); clk_enable(usb_clk); clk_put(usb_clk); /*derive clock from oscillator */ usb_clk = clk_get(NULL, "usb_utmi_clk"); clk_disable(usb_clk); clk_put(usb_clk); return usbotg_init(pdev); }
/* Notes: configure USB clock*/ static int usbotg_init_ext(struct platform_device *pdev) { struct clk *usb_clk, *usboh2_clk; int ret; usboh2_clk = clk_get(NULL, "usboh2_clk"); clk_enable(usboh2_clk); usb_clk = clk_get(NULL, "usb_phy_clk"); clk_enable(usb_clk); clk_put(usb_clk); ret = usbotg_init(pdev); /* this clock is no use after set portsc PTS bit */ clk_disable(usboh2_clk); clk_put(usboh2_clk); return ret; }