diff options
author | Ramon Fried <ramon.fried@gmail.com> | 2018-09-21 13:35:52 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-09-30 13:00:36 -0400 |
commit | 816495299d1de613feea906389bf88c0faf29ebe (patch) | |
tree | 40fdff47ea24f734ad7b116aa9ba2e9b04ed6838 | |
parent | 0683b27ae30fb00a6c613aec40a78935545c600b (diff) | |
download | u-boot-816495299d1de613feea906389bf88c0faf29ebe.tar.gz u-boot-816495299d1de613feea906389bf88c0faf29ebe.tar.xz u-boot-816495299d1de613feea906389bf88c0faf29ebe.zip |
usb:ci_udc: Introduce init_after_reset phy function
MSM variant of Chipidea must reinitalize the phy
after controller reset.
Introduce ci_init_after_reset() weak function that
can be used to achieve the above init.
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
-rw-r--r-- | drivers/usb/gadget/ci_udc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c index 2b9dbf06b9..8d23fab3b7 100644 --- a/drivers/usb/gadget/ci_udc.c +++ b/drivers/usb/gadget/ci_udc.c @@ -104,6 +104,10 @@ static struct usb_ep_ops ci_ep_ops = { .free_request = ci_ep_free_request, }; +__weak void ci_init_after_reset(struct ehci_ctrl *ctrl) +{ +} + /* Init values for USB endpoints. */ static const struct usb_ep ci_ep_init[5] = { [0] = { /* EP 0 */ @@ -887,6 +891,8 @@ static int ci_pullup(struct usb_gadget *gadget, int is_on) writel(USBCMD_ITC(MICRO_8FRAME) | USBCMD_RST, &udc->usbcmd); udelay(200); + ci_init_after_reset(controller.ctrl); + writel((unsigned long)controller.epts, &udc->epinitaddr); /* select DEVICE mode */ |