[U-Boot] [PATCH] usb:ci_udc: Remove ULPI setting for i.MX OTG controller

All the i.MX6, i.MX23 and i.MX28 OTG controllers only support UTMI interface. Set to ULPI is not correct, even the controller will reject this setting in PORTSC register.
Signed-off-by: Ye.Li B37916@freescale.com --- drivers/usb/gadget/ci_udc.c | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-)
diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c index 1ba5054..cb35982 100644 --- a/drivers/usb/gadget/ci_udc.c +++ b/drivers/usb/gadget/ci_udc.c @@ -1018,18 +1018,6 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) return ret;
ret = ci_udc_probe(); -#if defined(CONFIG_USB_EHCI_MX6) || defined(CONFIG_USB_EHCI_MXS) - /* - * FIXME: usb_lowlevel_init()->ehci_hcd_init() should be doing all - * HW-specific initialization, e.g. ULPI-vs-UTMI PHY selection - */ - if (!ret) { - struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; - - /* select ULPI phy */ - writel(PTS(PTS_ENABLE) | PFSC, &udc->portsc); - } -#endif
ret = driver->bind(&controller.gadget); if (ret) {

On Thursday, November 05, 2015 at 04:17:38 AM, Ye.Li wrote:
All the i.MX6, i.MX23 and i.MX28 OTG controllers only support UTMI interface. Set to ULPI is not correct, even the controller will reject this setting in PORTSC register.
Signed-off-by: Ye.Li B37916@freescale.com
drivers/usb/gadget/ci_udc.c | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-)
diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c index 1ba5054..cb35982 100644 --- a/drivers/usb/gadget/ci_udc.c +++ b/drivers/usb/gadget/ci_udc.c @@ -1018,18 +1018,6 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) return ret;
ret = ci_udc_probe();
You're now dropping the error handling for this function, that's really not good, so I cannot accept the patch. But the current error handling looks totally broken. So the solution I would propose here is to fix the error handling for ci_udc_probe() here instead of outright removing the code. What do you think ?
-#if defined(CONFIG_USB_EHCI_MX6) || defined(CONFIG_USB_EHCI_MXS)
- /*
* FIXME: usb_lowlevel_init()->ehci_hcd_init() should be doing all
* HW-specific initialization, e.g. ULPI-vs-UTMI PHY selection
*/
- if (!ret) {
struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor;
/* select ULPI phy */
writel(PTS(PTS_ENABLE) | PFSC, &udc->portsc);
- }
-#endif
ret = driver->bind(&controller.gadget); if (ret) {
Best regards, Marek Vasut

On 11/5/2015 1:10 PM, Marek Vasut wrote:
On Thursday, November 05, 2015 at 04:17:38 AM, Ye.Li wrote:
All the i.MX6, i.MX23 and i.MX28 OTG controllers only support UTMI interface. Set to ULPI is not correct, even the controller will reject this setting in PORTSC register.
Signed-off-by: Ye.Li B37916@freescale.com
drivers/usb/gadget/ci_udc.c | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-)
diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c index 1ba5054..cb35982 100644 --- a/drivers/usb/gadget/ci_udc.c +++ b/drivers/usb/gadget/ci_udc.c @@ -1018,18 +1018,6 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) return ret;
ret = ci_udc_probe();
You're now dropping the error handling for this function, that's really not good, so I cannot accept the patch. But the current error handling looks totally broken. So the solution I would propose here is to fix the error handling for ci_udc_probe() here instead of outright removing the code. What do you think ?
I will add a error handling in v2 patch. Thanks.
-#if defined(CONFIG_USB_EHCI_MX6) || defined(CONFIG_USB_EHCI_MXS)
- /*
* FIXME: usb_lowlevel_init()->ehci_hcd_init() should be doing all
* HW-specific initialization, e.g. ULPI-vs-UTMI PHY selection
*/
- if (!ret) {
struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor;
/* select ULPI phy */
writel(PTS(PTS_ENABLE) | PFSC, &udc->portsc);
- }
-#endif
ret = driver->bind(&controller.gadget); if (ret) {
Best regards, Marek Vasut
Best regards, Ye Li
participants (3)
-
Li Ye-B37916
-
Marek Vasut
-
Ye.Li