diff options
-rw-r--r-- | drivers/usb/dwc3/core.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index cfb074548124..d35f90527c38 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c | |||
@@ -229,6 +229,21 @@ static void dwc3_event_buffers_cleanup(struct dwc3 *dwc) | |||
229 | } | 229 | } |
230 | } | 230 | } |
231 | 231 | ||
232 | static void __devinit dwc3_cache_hwparams(struct dwc3 *dwc) | ||
233 | { | ||
234 | struct dwc3_hwparams *parms = &dwc->hwparams; | ||
235 | |||
236 | parms->hwparams0 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS0); | ||
237 | parms->hwparams1 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS1); | ||
238 | parms->hwparams2 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS2); | ||
239 | parms->hwparams3 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS3); | ||
240 | parms->hwparams4 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS4); | ||
241 | parms->hwparams5 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS5); | ||
242 | parms->hwparams6 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS6); | ||
243 | parms->hwparams7 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS7); | ||
244 | parms->hwparams8 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS8); | ||
245 | } | ||
246 | |||
232 | /** | 247 | /** |
233 | * dwc3_core_init - Low-level initialization of DWC3 Core | 248 | * dwc3_core_init - Low-level initialization of DWC3 Core |
234 | * @dwc: Pointer to our controller context structure | 249 | * @dwc: Pointer to our controller context structure |
@@ -283,6 +298,8 @@ static int __devinit dwc3_core_init(struct dwc3 *dwc) | |||
283 | goto err1; | 298 | goto err1; |
284 | } | 299 | } |
285 | 300 | ||
301 | dwc3_cache_hwparams(dwc); | ||
302 | |||
286 | return 0; | 303 | return 0; |
287 | 304 | ||
288 | err1: | 305 | err1: |