Commit 6d867ff5 authored by Ye Li's avatar Ye Li Committed by Jason Liu
Browse files

MLK-16198-3 usb: xhci-imx8: Add core reset function

Found a problem that after "usb stop" command, the next "usb start" can't enumerate
any devices. Need to put the xhci core to reset status in stop.
Signed-off-by: default avatarYe Li <>
Reviewed-by: default avatarPeng Fan <>
parent 767ffd28
......@@ -147,6 +147,13 @@ void imx8_xhci_init(void)
debug("check CNR has finished\n");
void imx8_xhci_reset(void)
/* Set CORE ctrl to default value, that all rst are hold */
writel(0xfc000001, USB3_CORE_CTRL1);
static int xhci_imx8_probe(struct udevice *dev)
......@@ -198,7 +205,11 @@ static int xhci_imx8_probe(struct udevice *dev)
static int xhci_imx8_remove(struct udevice *dev)
return xhci_deregister(dev);
int ret = xhci_deregister(dev);
if (!ret)
return ret;
static const struct udevice_id xhci_usb_ids[] = {
......@@ -250,5 +261,6 @@ int xhci_hcd_init(int index, struct xhci_hccr **ret_hccr,
void xhci_hcd_stop(int index)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment