From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramon Fried Date: Fri, 21 Sep 2018 13:35:52 +0300 Subject: [U-Boot] [PATCH v2 10/14] usb:ci_udc: Introduce init_after_reset phy function In-Reply-To: <20180921103555.16240-1-ramon.fried@gmail.com> References: <20180921103555.16240-1-ramon.fried@gmail.com> Message-ID: <20180921103555.16240-11-ramon.fried@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- Changes in v2: None drivers/usb/gadget/ci_udc.c | 6 ++++++ 1 file changed, 6 insertions(+) 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 */ -- 2.18.0