usb: dwc2: Update Core Reset programming flow.
authorMinas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Thu, 21 May 2020 06:05:44 +0000 (10:05 +0400)
committerFelipe Balbi <balbi@kernel.org>
Mon, 25 May 2020 08:09:44 +0000 (11:09 +0300)
commit65dc2e725286106f99c6f6b78e3d9c52c15f3a9c
tree267a2f9b4db38c3354448e3ad17a5774896b188b
parent4cda340a455b425f7df9657aaaa78a75757d940d
usb: dwc2: Update Core Reset programming flow.

Starting from core version 4.20a Core Reset flow is changed.
Introduced new bit in GRSTCTL register - GRSTCTL_CSFTRST_DONE.
Core Reset new programming flow steps are follow:
1. Set GRSTCTL_CSFTRST bit.
2. Wait for bit GRSTCTL_CSFTRST_DONE is set.
3. Clear GRSTCTL_CSFTRST and GRSTCTL_CSFTRST_DONE bits.

Check core version functionality separated from dwc2_get_hwparams() to
new dwc2_check_core_version() function because Core Reset flow depend
on SNPSID.

Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc2/core.c
drivers/usb/dwc2/core.h
drivers/usb/dwc2/hw.h
drivers/usb/dwc2/params.c
drivers/usb/dwc2/platform.c