diff options
author | Nikhil Badola <nikhil.badola@freescale.com> | 2015-03-26 03:44:00 (GMT) |
---|---|---|
committer | Honghua Yin <Hong-Hua.Yin@freescale.com> | 2015-03-30 01:46:51 (GMT) |
commit | ae91f5e5859b48f4b2a568b96ecd111003d6bca3 (patch) | |
tree | c9c5ef74c53d735ef03b017affb02e936dcbad69 /drivers/usb/dwc3/core.h | |
parent | 4a8d624bde57986a84c07ce930a5a6a453ef9ff5 (diff) | |
download | linux-fsl-qoriq-ae91f5e5859b48f4b2a568b96ecd111003d6bca3.tar.xz |
drivers:usb:dwc3 : Implement workaround for Erratum A009116
Write fladj register adjusts (micro)frame length to appropriate
value thus avoiding USB 2.0 devices to time-out over a longer run
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Change-Id: I26df8b7d134d08171a096dba7871f7334be02315
Reviewed-on: http://git.am.freescale.net:8181/33664
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
Diffstat (limited to 'drivers/usb/dwc3/core.h')
-rw-r--r-- | drivers/usb/dwc3/core.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index 546e67a..2d2ceae 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -118,6 +118,7 @@ #define DWC3_GEVNTCOUNT(n) (0xc40c + (n * 0x10)) #define DWC3_GHWPARAMS8 0xc600 +#define DWC3_GFLADJ 0xc630 /* Device Registers */ #define DWC3_DCFG 0xc700 @@ -191,6 +192,11 @@ #define DWC3_GHWPARAMS4_HIBER_SCRATCHBUFS(n) (((n) & (0x0f << 13)) >> 13) #define DWC3_MAX_HIBER_SCRATCHBUFS 15 +/* Global Frame Length Adjustment Register */ +#define GFLADJ_30MHZ_REG_SEL (1 << 7) +#define GFLADJ_30MHZ(n) ((n) & 0x3f) +#define GFLADJ_30MHZ_DEFAULT 0x20 + /* Device Configuration Register */ #define DWC3_DCFG_DEVADDR(addr) ((addr) << 3) #define DWC3_DCFG_DEVADDR_MASK DWC3_DCFG_DEVADDR(0x7f) @@ -704,6 +710,7 @@ struct dwc3 { unsigned setup_packet_pending:1; unsigned delayed_status:1; unsigned needs_fifo_resize:1; + unsigned configure_gfladj:1; unsigned resize_fifos:1; unsigned pullups_connected:1; |