usb: host: dwc2: force reset assert
Assert reset before deassert in dwc2_reset; this patch solve issues when the DWC2 registers are already initialized with value incompatible with host mode. Force a hardware reset of the IP reset all the DWC2 registers at default value, the host driver start with a clean state (Core Soft reset doen in dwc_otg_core_reset is not enought to reset all register). The error can occurs in U-Boot when DWC2 device gadget driver force device mode (called by ums or dfu command, before to execute the usb start command). Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
This commit is contained in:
parent
0bc632c9b1
commit
6600438166
@ -1151,6 +1151,8 @@ static int dwc2_reset(struct udevice *dev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* force reset to clear all IP register */
|
||||
reset_assert_bulk(&priv->resets);
|
||||
ret = reset_deassert_bulk(&priv->resets);
|
||||
if (ret) {
|
||||
reset_release_bulk(&priv->resets);
|
||||
|
Loading…
Reference in New Issue
Block a user