0455d35514a6c1f20eac24010e599e0030df9493
[openwrt/staging/chunkeey.git] / target / linux / lantiq / patches-3.18 / 0042-USB-DWC2-big-endian-support.patch
1 --- a/drivers/usb/dwc2/core.c
2 +++ b/drivers/usb/dwc2/core.c
3 @@ -67,10 +67,10 @@ static void dwc2_enable_common_interrupt
4 u32 intmsk;
5
6 /* Clear any pending OTG Interrupts */
7 - writel(0xffffffff, hsotg->regs + GOTGINT);
8 + dwc2_writel(0xffffffff, hsotg->regs + GOTGINT);
9
10 /* Clear any pending interrupts */
11 - writel(0xffffffff, hsotg->regs + GINTSTS);
12 + dwc2_writel(0xffffffff, hsotg->regs + GINTSTS);
13
14 /* Enable the interrupts in the GINTMSK */
15 intmsk = GINTSTS_MODEMIS | GINTSTS_OTGINT;
16 @@ -81,7 +81,7 @@ static void dwc2_enable_common_interrupt
17 intmsk |= GINTSTS_CONIDSTSCHNG | GINTSTS_WKUPINT | GINTSTS_USBSUSP |
18 GINTSTS_SESSREQINT;
19
20 - writel(intmsk, hsotg->regs + GINTMSK);
21 + dwc2_writel(intmsk, hsotg->regs + GINTMSK);
22 }
23
24 /*
25 @@ -104,10 +104,10 @@ static void dwc2_init_fs_ls_pclk_sel(str
26 }
27
28 dev_dbg(hsotg->dev, "Initializing HCFG.FSLSPClkSel to %08x\n", val);
29 - hcfg = readl(hsotg->regs + HCFG);
30 + hcfg = dwc2_readl(hsotg->regs + HCFG);
31 hcfg &= ~HCFG_FSLSPCLKSEL_MASK;
32 hcfg |= val << HCFG_FSLSPCLKSEL_SHIFT;
33 - writel(hcfg, hsotg->regs + HCFG);
34 + dwc2_writel(hcfg, hsotg->regs + HCFG);
35 }
36
37 /*
38 @@ -125,7 +125,7 @@ static int dwc2_core_reset(struct dwc2_h
39 /* Wait for AHB master IDLE state */
40 do {
41 usleep_range(20000, 40000);
42 - greset = readl(hsotg->regs + GRSTCTL);
43 + greset = dwc2_readl(hsotg->regs + GRSTCTL);
44 if (++count > 50) {
45 dev_warn(hsotg->dev,
46 "%s() HANG! AHB Idle GRSTCTL=%0x\n",
47 @@ -137,10 +137,10 @@ static int dwc2_core_reset(struct dwc2_h
48 /* Core Soft Reset */
49 count = 0;
50 greset |= GRSTCTL_CSFTRST;
51 - writel(greset, hsotg->regs + GRSTCTL);
52 + dwc2_writel(greset, hsotg->regs + GRSTCTL);
53 do {
54 usleep_range(20000, 40000);
55 - greset = readl(hsotg->regs + GRSTCTL);
56 + greset = dwc2_readl(hsotg->regs + GRSTCTL);
57 if (++count > 50) {
58 dev_warn(hsotg->dev,
59 "%s() HANG! Soft Reset GRSTCTL=%0x\n",
60 @@ -150,20 +150,20 @@ static int dwc2_core_reset(struct dwc2_h
61 } while (greset & GRSTCTL_CSFTRST);
62
63 if (hsotg->dr_mode == USB_DR_MODE_HOST) {
64 - gusbcfg = readl(hsotg->regs + GUSBCFG);
65 + gusbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
66 gusbcfg &= ~GUSBCFG_FORCEDEVMODE;
67 gusbcfg |= GUSBCFG_FORCEHOSTMODE;
68 - writel(gusbcfg, hsotg->regs + GUSBCFG);
69 + dwc2_writel(gusbcfg, hsotg->regs + GUSBCFG);
70 } else if (hsotg->dr_mode == USB_DR_MODE_PERIPHERAL) {
71 - gusbcfg = readl(hsotg->regs + GUSBCFG);
72 + gusbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
73 gusbcfg &= ~GUSBCFG_FORCEHOSTMODE;
74 gusbcfg |= GUSBCFG_FORCEDEVMODE;
75 - writel(gusbcfg, hsotg->regs + GUSBCFG);
76 + dwc2_writel(gusbcfg, hsotg->regs + GUSBCFG);
77 } else if (hsotg->dr_mode == USB_DR_MODE_OTG) {
78 - gusbcfg = readl(hsotg->regs + GUSBCFG);
79 + gusbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
80 gusbcfg &= ~GUSBCFG_FORCEHOSTMODE;
81 gusbcfg &= ~GUSBCFG_FORCEDEVMODE;
82 - writel(gusbcfg, hsotg->regs + GUSBCFG);
83 + dwc2_writel(gusbcfg, hsotg->regs + GUSBCFG);
84 }
85
86 /*
87 @@ -186,9 +186,9 @@ static int dwc2_fs_phy_init(struct dwc2_
88 */
89 if (select_phy) {
90 dev_dbg(hsotg->dev, "FS PHY selected\n");
91 - usbcfg = readl(hsotg->regs + GUSBCFG);
92 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
93 usbcfg |= GUSBCFG_PHYSEL;
94 - writel(usbcfg, hsotg->regs + GUSBCFG);
95 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
96
97 /* Reset after a PHY select */
98 retval = dwc2_core_reset(hsotg);
99 @@ -211,18 +211,18 @@ static int dwc2_fs_phy_init(struct dwc2_
100 dev_dbg(hsotg->dev, "FS PHY enabling I2C\n");
101
102 /* Program GUSBCFG.OtgUtmiFsSel to I2C */
103 - usbcfg = readl(hsotg->regs + GUSBCFG);
104 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
105 usbcfg |= GUSBCFG_OTG_UTMI_FS_SEL;
106 - writel(usbcfg, hsotg->regs + GUSBCFG);
107 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
108
109 /* Program GI2CCTL.I2CEn */
110 - i2cctl = readl(hsotg->regs + GI2CCTL);
111 + i2cctl = dwc2_readl(hsotg->regs + GI2CCTL);
112 i2cctl &= ~GI2CCTL_I2CDEVADDR_MASK;
113 i2cctl |= 1 << GI2CCTL_I2CDEVADDR_SHIFT;
114 i2cctl &= ~GI2CCTL_I2CEN;
115 - writel(i2cctl, hsotg->regs + GI2CCTL);
116 + dwc2_writel(i2cctl, hsotg->regs + GI2CCTL);
117 i2cctl |= GI2CCTL_I2CEN;
118 - writel(i2cctl, hsotg->regs + GI2CCTL);
119 + dwc2_writel(i2cctl, hsotg->regs + GI2CCTL);
120 }
121
122 return retval;
123 @@ -236,7 +236,7 @@ static int dwc2_hs_phy_init(struct dwc2_
124 if (!select_phy)
125 return 0;
126
127 - usbcfg = readl(hsotg->regs + GUSBCFG);
128 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
129
130 /*
131 * HS PHY parameters. These parameters are preserved during soft reset
132 @@ -264,7 +264,7 @@ static int dwc2_hs_phy_init(struct dwc2_
133 break;
134 }
135
136 - writel(usbcfg, hsotg->regs + GUSBCFG);
137 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
138
139 /* Reset after setting the PHY parameters */
140 retval = dwc2_core_reset(hsotg);
141 @@ -299,15 +299,15 @@ static int dwc2_phy_init(struct dwc2_hso
142 hsotg->hw_params.fs_phy_type == GHWCFG2_FS_PHY_TYPE_DEDICATED &&
143 hsotg->core_params->ulpi_fs_ls > 0) {
144 dev_dbg(hsotg->dev, "Setting ULPI FSLS\n");
145 - usbcfg = readl(hsotg->regs + GUSBCFG);
146 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
147 usbcfg |= GUSBCFG_ULPI_FS_LS;
148 usbcfg |= GUSBCFG_ULPI_CLK_SUSP_M;
149 - writel(usbcfg, hsotg->regs + GUSBCFG);
150 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
151 } else {
152 - usbcfg = readl(hsotg->regs + GUSBCFG);
153 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
154 usbcfg &= ~GUSBCFG_ULPI_FS_LS;
155 usbcfg &= ~GUSBCFG_ULPI_CLK_SUSP_M;
156 - writel(usbcfg, hsotg->regs + GUSBCFG);
157 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
158 }
159
160 return retval;
161 @@ -315,7 +315,7 @@ static int dwc2_phy_init(struct dwc2_hso
162
163 static int dwc2_gahbcfg_init(struct dwc2_hsotg *hsotg)
164 {
165 - u32 ahbcfg = readl(hsotg->regs + GAHBCFG);
166 + u32 ahbcfg = dwc2_readl(hsotg->regs + GAHBCFG);
167
168 switch (hsotg->hw_params.arch) {
169 case GHWCFG2_EXT_DMA_ARCH:
170 @@ -354,7 +354,7 @@ static int dwc2_gahbcfg_init(struct dwc2
171 if (hsotg->core_params->dma_enable > 0)
172 ahbcfg |= GAHBCFG_DMA_EN;
173
174 - writel(ahbcfg, hsotg->regs + GAHBCFG);
175 + dwc2_writel(ahbcfg, hsotg->regs + GAHBCFG);
176
177 return 0;
178 }
179 @@ -363,7 +363,7 @@ static void dwc2_gusbcfg_init(struct dwc
180 {
181 u32 usbcfg;
182
183 - usbcfg = readl(hsotg->regs + GUSBCFG);
184 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
185 usbcfg &= ~(GUSBCFG_HNPCAP | GUSBCFG_SRPCAP);
186
187 switch (hsotg->hw_params.op_mode) {
188 @@ -391,7 +391,7 @@ static void dwc2_gusbcfg_init(struct dwc
189 break;
190 }
191
192 - writel(usbcfg, hsotg->regs + GUSBCFG);
193 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
194 }
195
196 /**
197 @@ -409,7 +409,7 @@ int dwc2_core_init(struct dwc2_hsotg *hs
198
199 dev_dbg(hsotg->dev, "%s(%p)\n", __func__, hsotg);
200
201 - usbcfg = readl(hsotg->regs + GUSBCFG);
202 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
203
204 /* Set ULPI External VBUS bit if needed */
205 usbcfg &= ~GUSBCFG_ULPI_EXT_VBUS_DRV;
206 @@ -422,7 +422,7 @@ int dwc2_core_init(struct dwc2_hsotg *hs
207 if (hsotg->core_params->ts_dline > 0)
208 usbcfg |= GUSBCFG_TERMSELDLPULSE;
209
210 - writel(usbcfg, hsotg->regs + GUSBCFG);
211 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
212
213 /* Reset the Controller */
214 retval = dwc2_core_reset(hsotg);
215 @@ -448,11 +448,11 @@ int dwc2_core_init(struct dwc2_hsotg *hs
216 dwc2_gusbcfg_init(hsotg);
217
218 /* Program the GOTGCTL register */
219 - otgctl = readl(hsotg->regs + GOTGCTL);
220 + otgctl = dwc2_readl(hsotg->regs + GOTGCTL);
221 otgctl &= ~GOTGCTL_OTGVER;
222 if (hsotg->core_params->otg_ver > 0)
223 otgctl |= GOTGCTL_OTGVER;
224 - writel(otgctl, hsotg->regs + GOTGCTL);
225 + dwc2_writel(otgctl, hsotg->regs + GOTGCTL);
226 dev_dbg(hsotg->dev, "OTG VER PARAM: %d\n", hsotg->core_params->otg_ver);
227
228 /* Clear the SRP success bit for FS-I2c */
229 @@ -498,16 +498,16 @@ void dwc2_enable_host_interrupts(struct
230 dev_dbg(hsotg->dev, "%s()\n", __func__);
231
232 /* Disable all interrupts */
233 - writel(0, hsotg->regs + GINTMSK);
234 - writel(0, hsotg->regs + HAINTMSK);
235 + dwc2_writel(0, hsotg->regs + GINTMSK);
236 + dwc2_writel(0, hsotg->regs + HAINTMSK);
237
238 /* Enable the common interrupts */
239 dwc2_enable_common_interrupts(hsotg);
240
241 /* Enable host mode interrupts without disturbing common interrupts */
242 - intmsk = readl(hsotg->regs + GINTMSK);
243 + intmsk = dwc2_readl(hsotg->regs + GINTMSK);
244 intmsk |= GINTSTS_DISCONNINT | GINTSTS_PRTINT | GINTSTS_HCHINT;
245 - writel(intmsk, hsotg->regs + GINTMSK);
246 + dwc2_writel(intmsk, hsotg->regs + GINTMSK);
247 }
248
249 /**
250 @@ -517,12 +517,12 @@ void dwc2_enable_host_interrupts(struct
251 */
252 void dwc2_disable_host_interrupts(struct dwc2_hsotg *hsotg)
253 {
254 - u32 intmsk = readl(hsotg->regs + GINTMSK);
255 + u32 intmsk = dwc2_readl(hsotg->regs + GINTMSK);
256
257 /* Disable host mode interrupts without disturbing common interrupts */
258 intmsk &= ~(GINTSTS_SOF | GINTSTS_PRTINT | GINTSTS_HCHINT |
259 GINTSTS_PTXFEMP | GINTSTS_NPTXFEMP);
260 - writel(intmsk, hsotg->regs + GINTMSK);
261 + dwc2_writel(intmsk, hsotg->regs + GINTMSK);
262 }
263
264 /*
265 @@ -602,36 +602,36 @@ static void dwc2_config_fifos(struct dwc
266 dwc2_calculate_dynamic_fifo(hsotg);
267
268 /* Rx FIFO */
269 - grxfsiz = readl(hsotg->regs + GRXFSIZ);
270 + grxfsiz = dwc2_readl(hsotg->regs + GRXFSIZ);
271 dev_dbg(hsotg->dev, "initial grxfsiz=%08x\n", grxfsiz);
272 grxfsiz &= ~GRXFSIZ_DEPTH_MASK;
273 grxfsiz |= params->host_rx_fifo_size <<
274 GRXFSIZ_DEPTH_SHIFT & GRXFSIZ_DEPTH_MASK;
275 - writel(grxfsiz, hsotg->regs + GRXFSIZ);
276 - dev_dbg(hsotg->dev, "new grxfsiz=%08x\n", readl(hsotg->regs + GRXFSIZ));
277 + dwc2_writel(grxfsiz, hsotg->regs + GRXFSIZ);
278 + dev_dbg(hsotg->dev, "new grxfsiz=%08x\n", dwc2_readl(hsotg->regs + GRXFSIZ));
279
280 /* Non-periodic Tx FIFO */
281 dev_dbg(hsotg->dev, "initial gnptxfsiz=%08x\n",
282 - readl(hsotg->regs + GNPTXFSIZ));
283 + dwc2_readl(hsotg->regs + GNPTXFSIZ));
284 nptxfsiz = params->host_nperio_tx_fifo_size <<
285 FIFOSIZE_DEPTH_SHIFT & FIFOSIZE_DEPTH_MASK;
286 nptxfsiz |= params->host_rx_fifo_size <<
287 FIFOSIZE_STARTADDR_SHIFT & FIFOSIZE_STARTADDR_MASK;
288 - writel(nptxfsiz, hsotg->regs + GNPTXFSIZ);
289 + dwc2_writel(nptxfsiz, hsotg->regs + GNPTXFSIZ);
290 dev_dbg(hsotg->dev, "new gnptxfsiz=%08x\n",
291 - readl(hsotg->regs + GNPTXFSIZ));
292 + dwc2_readl(hsotg->regs + GNPTXFSIZ));
293
294 /* Periodic Tx FIFO */
295 dev_dbg(hsotg->dev, "initial hptxfsiz=%08x\n",
296 - readl(hsotg->regs + HPTXFSIZ));
297 + dwc2_readl(hsotg->regs + HPTXFSIZ));
298 hptxfsiz = params->host_perio_tx_fifo_size <<
299 FIFOSIZE_DEPTH_SHIFT & FIFOSIZE_DEPTH_MASK;
300 hptxfsiz |= (params->host_rx_fifo_size +
301 params->host_nperio_tx_fifo_size) <<
302 FIFOSIZE_STARTADDR_SHIFT & FIFOSIZE_STARTADDR_MASK;
303 - writel(hptxfsiz, hsotg->regs + HPTXFSIZ);
304 + dwc2_writel(hptxfsiz, hsotg->regs + HPTXFSIZ);
305 dev_dbg(hsotg->dev, "new hptxfsiz=%08x\n",
306 - readl(hsotg->regs + HPTXFSIZ));
307 + dwc2_readl(hsotg->regs + HPTXFSIZ));
308
309 if (hsotg->core_params->en_multiple_tx_fifo > 0 &&
310 hsotg->hw_params.snpsid <= DWC2_CORE_REV_2_94a) {
311 @@ -639,14 +639,14 @@ static void dwc2_config_fifos(struct dwc
312 * Global DFIFOCFG calculation for Host mode -
313 * include RxFIFO, NPTXFIFO and HPTXFIFO
314 */
315 - dfifocfg = readl(hsotg->regs + GDFIFOCFG);
316 + dfifocfg = dwc2_readl(hsotg->regs + GDFIFOCFG);
317 dfifocfg &= ~GDFIFOCFG_EPINFOBASE_MASK;
318 dfifocfg |= (params->host_rx_fifo_size +
319 params->host_nperio_tx_fifo_size +
320 params->host_perio_tx_fifo_size) <<
321 GDFIFOCFG_EPINFOBASE_SHIFT &
322 GDFIFOCFG_EPINFOBASE_MASK;
323 - writel(dfifocfg, hsotg->regs + GDFIFOCFG);
324 + dwc2_writel(dfifocfg, hsotg->regs + GDFIFOCFG);
325 }
326 }
327
328 @@ -667,14 +667,14 @@ void dwc2_core_host_init(struct dwc2_hso
329 dev_dbg(hsotg->dev, "%s(%p)\n", __func__, hsotg);
330
331 /* Restart the Phy Clock */
332 - writel(0, hsotg->regs + PCGCTL);
333 + dwc2_writel(0, hsotg->regs + PCGCTL);
334
335 /* Initialize Host Configuration Register */
336 dwc2_init_fs_ls_pclk_sel(hsotg);
337 if (hsotg->core_params->speed == DWC2_SPEED_PARAM_FULL) {
338 - hcfg = readl(hsotg->regs + HCFG);
339 + hcfg = dwc2_readl(hsotg->regs + HCFG);
340 hcfg |= HCFG_FSLSSUPP;
341 - writel(hcfg, hsotg->regs + HCFG);
342 + dwc2_writel(hcfg, hsotg->regs + HCFG);
343 }
344
345 /*
346 @@ -683,9 +683,9 @@ void dwc2_core_host_init(struct dwc2_hso
347 * and its value must not be changed during runtime.
348 */
349 if (hsotg->core_params->reload_ctl > 0) {
350 - hfir = readl(hsotg->regs + HFIR);
351 + hfir = dwc2_readl(hsotg->regs + HFIR);
352 hfir |= HFIR_RLDCTRL;
353 - writel(hfir, hsotg->regs + HFIR);
354 + dwc2_writel(hfir, hsotg->regs + HFIR);
355 }
356
357 if (hsotg->core_params->dma_desc_enable > 0) {
358 @@ -701,9 +701,9 @@ void dwc2_core_host_init(struct dwc2_hso
359 "falling back to buffer DMA mode.\n");
360 hsotg->core_params->dma_desc_enable = 0;
361 } else {
362 - hcfg = readl(hsotg->regs + HCFG);
363 + hcfg = dwc2_readl(hsotg->regs + HCFG);
364 hcfg |= HCFG_DESCDMA;
365 - writel(hcfg, hsotg->regs + HCFG);
366 + dwc2_writel(hcfg, hsotg->regs + HCFG);
367 }
368 }
369
370 @@ -712,18 +712,18 @@ void dwc2_core_host_init(struct dwc2_hso
371
372 /* TODO - check this */
373 /* Clear Host Set HNP Enable in the OTG Control Register */
374 - otgctl = readl(hsotg->regs + GOTGCTL);
375 + otgctl = dwc2_readl(hsotg->regs + GOTGCTL);
376 otgctl &= ~GOTGCTL_HSTSETHNPEN;
377 - writel(otgctl, hsotg->regs + GOTGCTL);
378 + dwc2_writel(otgctl, hsotg->regs + GOTGCTL);
379
380 /* Make sure the FIFOs are flushed */
381 dwc2_flush_tx_fifo(hsotg, 0x10 /* all TX FIFOs */);
382 dwc2_flush_rx_fifo(hsotg);
383
384 /* Clear Host Set HNP Enable in the OTG Control Register */
385 - otgctl = readl(hsotg->regs + GOTGCTL);
386 + otgctl = dwc2_readl(hsotg->regs + GOTGCTL);
387 otgctl &= ~GOTGCTL_HSTSETHNPEN;
388 - writel(otgctl, hsotg->regs + GOTGCTL);
389 + dwc2_writel(otgctl, hsotg->regs + GOTGCTL);
390
391 if (hsotg->core_params->dma_desc_enable <= 0) {
392 int num_channels, i;
393 @@ -732,25 +732,25 @@ void dwc2_core_host_init(struct dwc2_hso
394 /* Flush out any leftover queued requests */
395 num_channels = hsotg->core_params->host_channels;
396 for (i = 0; i < num_channels; i++) {
397 - hcchar = readl(hsotg->regs + HCCHAR(i));
398 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(i));
399 hcchar &= ~HCCHAR_CHENA;
400 hcchar |= HCCHAR_CHDIS;
401 hcchar &= ~HCCHAR_EPDIR;
402 - writel(hcchar, hsotg->regs + HCCHAR(i));
403 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(i));
404 }
405
406 /* Halt all channels to put them into a known state */
407 for (i = 0; i < num_channels; i++) {
408 int count = 0;
409
410 - hcchar = readl(hsotg->regs + HCCHAR(i));
411 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(i));
412 hcchar |= HCCHAR_CHENA | HCCHAR_CHDIS;
413 hcchar &= ~HCCHAR_EPDIR;
414 - writel(hcchar, hsotg->regs + HCCHAR(i));
415 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(i));
416 dev_dbg(hsotg->dev, "%s: Halt channel %d\n",
417 __func__, i);
418 do {
419 - hcchar = readl(hsotg->regs + HCCHAR(i));
420 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(i));
421 if (++count > 1000) {
422 dev_err(hsotg->dev,
423 "Unable to clear enable on channel %d\n",
424 @@ -771,7 +771,7 @@ void dwc2_core_host_init(struct dwc2_hso
425 !!(hprt0 & HPRT0_PWR));
426 if (!(hprt0 & HPRT0_PWR)) {
427 hprt0 |= HPRT0_PWR;
428 - writel(hprt0, hsotg->regs + HPRT0);
429 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
430 }
431 }
432
433 @@ -851,7 +851,7 @@ static void dwc2_hc_enable_slave_ints(st
434 break;
435 }
436
437 - writel(hcintmsk, hsotg->regs + HCINTMSK(chan->hc_num));
438 + dwc2_writel(hcintmsk, hsotg->regs + HCINTMSK(chan->hc_num));
439 if (dbg_hc(chan))
440 dev_vdbg(hsotg->dev, "set HCINTMSK to %08x\n", hcintmsk);
441 }
442 @@ -888,7 +888,7 @@ static void dwc2_hc_enable_dma_ints(stru
443 }
444 }
445
446 - writel(hcintmsk, hsotg->regs + HCINTMSK(chan->hc_num));
447 + dwc2_writel(hcintmsk, hsotg->regs + HCINTMSK(chan->hc_num));
448 if (dbg_hc(chan))
449 dev_vdbg(hsotg->dev, "set HCINTMSK to %08x\n", hcintmsk);
450 }
451 @@ -909,16 +909,16 @@ static void dwc2_hc_enable_ints(struct d
452 }
453
454 /* Enable the top level host channel interrupt */
455 - intmsk = readl(hsotg->regs + HAINTMSK);
456 + intmsk = dwc2_readl(hsotg->regs + HAINTMSK);
457 intmsk |= 1 << chan->hc_num;
458 - writel(intmsk, hsotg->regs + HAINTMSK);
459 + dwc2_writel(intmsk, hsotg->regs + HAINTMSK);
460 if (dbg_hc(chan))
461 dev_vdbg(hsotg->dev, "set HAINTMSK to %08x\n", intmsk);
462
463 /* Make sure host channel interrupts are enabled */
464 - intmsk = readl(hsotg->regs + GINTMSK);
465 + intmsk = dwc2_readl(hsotg->regs + GINTMSK);
466 intmsk |= GINTSTS_HCHINT;
467 - writel(intmsk, hsotg->regs + GINTMSK);
468 + dwc2_writel(intmsk, hsotg->regs + GINTMSK);
469 if (dbg_hc(chan))
470 dev_vdbg(hsotg->dev, "set GINTMSK to %08x\n", intmsk);
471 }
472 @@ -947,7 +947,7 @@ void dwc2_hc_init(struct dwc2_hsotg *hso
473 /* Clear old interrupt conditions for this host channel */
474 hcintmsk = 0xffffffff;
475 hcintmsk &= ~HCINTMSK_RESERVED14_31;
476 - writel(hcintmsk, hsotg->regs + HCINT(hc_num));
477 + dwc2_writel(hcintmsk, hsotg->regs + HCINT(hc_num));
478
479 /* Enable channel interrupts required for this transfer */
480 dwc2_hc_enable_ints(hsotg, chan);
481 @@ -964,7 +964,7 @@ void dwc2_hc_init(struct dwc2_hsotg *hso
482 hcchar |= HCCHAR_LSPDDEV;
483 hcchar |= chan->ep_type << HCCHAR_EPTYPE_SHIFT & HCCHAR_EPTYPE_MASK;
484 hcchar |= chan->max_packet << HCCHAR_MPS_SHIFT & HCCHAR_MPS_MASK;
485 - writel(hcchar, hsotg->regs + HCCHAR(hc_num));
486 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(hc_num));
487 if (dbg_hc(chan)) {
488 dev_vdbg(hsotg->dev, "set HCCHAR(%d) to %08x\n",
489 hc_num, hcchar);
490 @@ -1018,7 +1018,7 @@ void dwc2_hc_init(struct dwc2_hsotg *hso
491 }
492 }
493
494 - writel(hcsplt, hsotg->regs + HCSPLT(hc_num));
495 + dwc2_writel(hcsplt, hsotg->regs + HCSPLT(hc_num));
496 }
497
498 /**
499 @@ -1070,14 +1070,14 @@ void dwc2_hc_halt(struct dwc2_hsotg *hso
500 u32 hcintmsk = HCINTMSK_CHHLTD;
501
502 dev_vdbg(hsotg->dev, "dequeue/error\n");
503 - writel(hcintmsk, hsotg->regs + HCINTMSK(chan->hc_num));
504 + dwc2_writel(hcintmsk, hsotg->regs + HCINTMSK(chan->hc_num));
505
506 /*
507 * Make sure no other interrupts besides halt are currently
508 * pending. Handling another interrupt could cause a crash due
509 * to the QTD and QH state.
510 */
511 - writel(~hcintmsk, hsotg->regs + HCINT(chan->hc_num));
512 + dwc2_writel(~hcintmsk, hsotg->regs + HCINT(chan->hc_num));
513
514 /*
515 * Make sure the halt status is set to URB_DEQUEUE or AHB_ERR
516 @@ -1086,7 +1086,7 @@ void dwc2_hc_halt(struct dwc2_hsotg *hso
517 */
518 chan->halt_status = halt_status;
519
520 - hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num));
521 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chan->hc_num));
522 if (!(hcchar & HCCHAR_CHENA)) {
523 /*
524 * The channel is either already halted or it hasn't
525 @@ -1114,7 +1114,7 @@ void dwc2_hc_halt(struct dwc2_hsotg *hso
526 return;
527 }
528
529 - hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num));
530 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chan->hc_num));
531
532 /* No need to set the bit in DDMA for disabling the channel */
533 /* TODO check it everywhere channel is disabled */
534 @@ -1137,7 +1137,7 @@ void dwc2_hc_halt(struct dwc2_hsotg *hso
535 if (chan->ep_type == USB_ENDPOINT_XFER_CONTROL ||
536 chan->ep_type == USB_ENDPOINT_XFER_BULK) {
537 dev_vdbg(hsotg->dev, "control/bulk\n");
538 - nptxsts = readl(hsotg->regs + GNPTXSTS);
539 + nptxsts = dwc2_readl(hsotg->regs + GNPTXSTS);
540 if ((nptxsts & TXSTS_QSPCAVAIL_MASK) == 0) {
541 dev_vdbg(hsotg->dev, "Disabling channel\n");
542 hcchar &= ~HCCHAR_CHENA;
543 @@ -1145,7 +1145,7 @@ void dwc2_hc_halt(struct dwc2_hsotg *hso
544 } else {
545 if (dbg_perio())
546 dev_vdbg(hsotg->dev, "isoc/intr\n");
547 - hptxsts = readl(hsotg->regs + HPTXSTS);
548 + hptxsts = dwc2_readl(hsotg->regs + HPTXSTS);
549 if ((hptxsts & TXSTS_QSPCAVAIL_MASK) == 0 ||
550 hsotg->queuing_high_bandwidth) {
551 if (dbg_perio())
552 @@ -1158,7 +1158,7 @@ void dwc2_hc_halt(struct dwc2_hsotg *hso
553 dev_vdbg(hsotg->dev, "DMA enabled\n");
554 }
555
556 - writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
557 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
558 chan->halt_status = halt_status;
559
560 if (hcchar & HCCHAR_CHENA) {
561 @@ -1205,10 +1205,10 @@ void dwc2_hc_cleanup(struct dwc2_hsotg *
562 * Clear channel interrupt enables and any unhandled channel interrupt
563 * conditions
564 */
565 - writel(0, hsotg->regs + HCINTMSK(chan->hc_num));
566 + dwc2_writel(0, hsotg->regs + HCINTMSK(chan->hc_num));
567 hcintmsk = 0xffffffff;
568 hcintmsk &= ~HCINTMSK_RESERVED14_31;
569 - writel(hcintmsk, hsotg->regs + HCINT(chan->hc_num));
570 + dwc2_writel(hcintmsk, hsotg->regs + HCINT(chan->hc_num));
571 }
572
573 /**
574 @@ -1294,13 +1294,13 @@ static void dwc2_hc_write_packet(struct
575 if (((unsigned long)data_buf & 0x3) == 0) {
576 /* xfer_buf is DWORD aligned */
577 for (i = 0; i < dword_count; i++, data_buf++)
578 - writel(*data_buf, data_fifo);
579 + dwc2_writel(*data_buf, data_fifo);
580 } else {
581 /* xfer_buf is not DWORD aligned */
582 for (i = 0; i < dword_count; i++, data_buf++) {
583 u32 data = data_buf[0] | data_buf[1] << 8 |
584 data_buf[2] << 16 | data_buf[3] << 24;
585 - writel(data, data_fifo);
586 + dwc2_writel(data, data_fifo);
587 }
588 }
589
590 @@ -1453,7 +1453,7 @@ void dwc2_hc_start_transfer(struct dwc2_
591 hctsiz |= num_packets << TSIZ_PKTCNT_SHIFT & TSIZ_PKTCNT_MASK;
592 hctsiz |= chan->data_pid_start << TSIZ_SC_MC_PID_SHIFT &
593 TSIZ_SC_MC_PID_MASK;
594 - writel(hctsiz, hsotg->regs + HCTSIZ(chan->hc_num));
595 + dwc2_writel(hctsiz, hsotg->regs + HCTSIZ(chan->hc_num));
596 if (dbg_hc(chan)) {
597 dev_vdbg(hsotg->dev, "Wrote %08x to HCTSIZ(%d)\n",
598 hctsiz, chan->hc_num);
599 @@ -1481,7 +1481,7 @@ void dwc2_hc_start_transfer(struct dwc2_
600 } else {
601 dma_addr = chan->xfer_dma;
602 }
603 - writel((u32)dma_addr, hsotg->regs + HCDMA(chan->hc_num));
604 + dwc2_writel((u32)dma_addr, hsotg->regs + HCDMA(chan->hc_num));
605 if (dbg_hc(chan))
606 dev_vdbg(hsotg->dev, "Wrote %08lx to HCDMA(%d)\n",
607 (unsigned long)dma_addr, chan->hc_num);
608 @@ -1489,13 +1489,13 @@ void dwc2_hc_start_transfer(struct dwc2_
609
610 /* Start the split */
611 if (chan->do_split) {
612 - u32 hcsplt = readl(hsotg->regs + HCSPLT(chan->hc_num));
613 + u32 hcsplt = dwc2_readl(hsotg->regs + HCSPLT(chan->hc_num));
614
615 hcsplt |= HCSPLT_SPLTENA;
616 - writel(hcsplt, hsotg->regs + HCSPLT(chan->hc_num));
617 + dwc2_writel(hcsplt, hsotg->regs + HCSPLT(chan->hc_num));
618 }
619
620 - hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num));
621 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chan->hc_num));
622 hcchar &= ~HCCHAR_MULTICNT_MASK;
623 hcchar |= chan->multi_count << HCCHAR_MULTICNT_SHIFT &
624 HCCHAR_MULTICNT_MASK;
625 @@ -1515,7 +1515,7 @@ void dwc2_hc_start_transfer(struct dwc2_
626 (hcchar & HCCHAR_MULTICNT_MASK) >>
627 HCCHAR_MULTICNT_SHIFT);
628
629 - writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
630 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
631 if (dbg_hc(chan))
632 dev_vdbg(hsotg->dev, "Wrote %08x to HCCHAR(%d)\n", hcchar,
633 chan->hc_num);
634 @@ -1574,18 +1574,18 @@ void dwc2_hc_start_transfer_ddma(struct
635 dev_vdbg(hsotg->dev, " NTD: %d\n", chan->ntd - 1);
636 }
637
638 - writel(hctsiz, hsotg->regs + HCTSIZ(chan->hc_num));
639 + dwc2_writel(hctsiz, hsotg->regs + HCTSIZ(chan->hc_num));
640
641 hc_dma = (u32)chan->desc_list_addr & HCDMA_DMA_ADDR_MASK;
642
643 /* Always start from first descriptor */
644 hc_dma &= ~HCDMA_CTD_MASK;
645 - writel(hc_dma, hsotg->regs + HCDMA(chan->hc_num));
646 + dwc2_writel(hc_dma, hsotg->regs + HCDMA(chan->hc_num));
647 if (dbg_hc(chan))
648 dev_vdbg(hsotg->dev, "Wrote %08x to HCDMA(%d)\n",
649 hc_dma, chan->hc_num);
650
651 - hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num));
652 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chan->hc_num));
653 hcchar &= ~HCCHAR_MULTICNT_MASK;
654 hcchar |= chan->multi_count << HCCHAR_MULTICNT_SHIFT &
655 HCCHAR_MULTICNT_MASK;
656 @@ -1604,7 +1604,7 @@ void dwc2_hc_start_transfer_ddma(struct
657 (hcchar & HCCHAR_MULTICNT_MASK) >>
658 HCCHAR_MULTICNT_SHIFT);
659
660 - writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
661 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
662 if (dbg_hc(chan))
663 dev_vdbg(hsotg->dev, "Wrote %08x to HCCHAR(%d)\n", hcchar,
664 chan->hc_num);
665 @@ -1661,7 +1661,7 @@ int dwc2_hc_continue_transfer(struct dwc
666 * transfer completes, the extra requests for the channel will
667 * be flushed.
668 */
669 - u32 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num));
670 + u32 hcchar = dwc2_readl(hsotg->regs + HCCHAR(chan->hc_num));
671
672 dwc2_hc_set_even_odd_frame(hsotg, chan, &hcchar);
673 hcchar |= HCCHAR_CHENA;
674 @@ -1669,7 +1669,7 @@ int dwc2_hc_continue_transfer(struct dwc
675 if (dbg_hc(chan))
676 dev_vdbg(hsotg->dev, " IN xfer: hcchar = 0x%08x\n",
677 hcchar);
678 - writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
679 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
680 chan->requests++;
681 return 1;
682 }
683 @@ -1679,7 +1679,7 @@ int dwc2_hc_continue_transfer(struct dwc
684 if (chan->xfer_count < chan->xfer_len) {
685 if (chan->ep_type == USB_ENDPOINT_XFER_INT ||
686 chan->ep_type == USB_ENDPOINT_XFER_ISOC) {
687 - u32 hcchar = readl(hsotg->regs +
688 + u32 hcchar = dwc2_readl(hsotg->regs +
689 HCCHAR(chan->hc_num));
690
691 dwc2_hc_set_even_odd_frame(hsotg, chan,
692 @@ -1716,12 +1716,12 @@ void dwc2_hc_do_ping(struct dwc2_hsotg *
693
694 hctsiz = TSIZ_DOPNG;
695 hctsiz |= 1 << TSIZ_PKTCNT_SHIFT;
696 - writel(hctsiz, hsotg->regs + HCTSIZ(chan->hc_num));
697 + dwc2_writel(hctsiz, hsotg->regs + HCTSIZ(chan->hc_num));
698
699 - hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num));
700 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chan->hc_num));
701 hcchar |= HCCHAR_CHENA;
702 hcchar &= ~HCCHAR_CHDIS;
703 - writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
704 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num));
705 }
706
707 /**
708 @@ -1740,8 +1740,8 @@ u32 dwc2_calc_frame_interval(struct dwc2
709 u32 hprt0;
710 int clock = 60; /* default value */
711
712 - usbcfg = readl(hsotg->regs + GUSBCFG);
713 - hprt0 = readl(hsotg->regs + HPRT0);
714 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
715 + hprt0 = dwc2_readl(hsotg->regs + HPRT0);
716
717 if (!(usbcfg & GUSBCFG_PHYSEL) && (usbcfg & GUSBCFG_ULPI_UTMI_SEL) &&
718 !(usbcfg & GUSBCFG_PHYIF16))
719 @@ -1797,7 +1797,7 @@ void dwc2_read_packet(struct dwc2_hsotg
720 dev_vdbg(hsotg->dev, "%s(%p,%p,%d)\n", __func__, hsotg, dest, bytes);
721
722 for (i = 0; i < word_count; i++, data_buf++)
723 - *data_buf = readl(fifo);
724 + *data_buf = dwc2_readl(fifo);
725 }
726
727 /**
728 @@ -1817,56 +1817,56 @@ void dwc2_dump_host_registers(struct dwc
729 dev_dbg(hsotg->dev, "Host Global Registers\n");
730 addr = hsotg->regs + HCFG;
731 dev_dbg(hsotg->dev, "HCFG @0x%08lX : 0x%08X\n",
732 - (unsigned long)addr, readl(addr));
733 + (unsigned long)addr, dwc2_readl(addr));
734 addr = hsotg->regs + HFIR;
735 dev_dbg(hsotg->dev, "HFIR @0x%08lX : 0x%08X\n",
736 - (unsigned long)addr, readl(addr));
737 + (unsigned long)addr, dwc2_readl(addr));
738 addr = hsotg->regs + HFNUM;
739 dev_dbg(hsotg->dev, "HFNUM @0x%08lX : 0x%08X\n",
740 - (unsigned long)addr, readl(addr));
741 + (unsigned long)addr, dwc2_readl(addr));
742 addr = hsotg->regs + HPTXSTS;
743 dev_dbg(hsotg->dev, "HPTXSTS @0x%08lX : 0x%08X\n",
744 - (unsigned long)addr, readl(addr));
745 + (unsigned long)addr, dwc2_readl(addr));
746 addr = hsotg->regs + HAINT;
747 dev_dbg(hsotg->dev, "HAINT @0x%08lX : 0x%08X\n",
748 - (unsigned long)addr, readl(addr));
749 + (unsigned long)addr, dwc2_readl(addr));
750 addr = hsotg->regs + HAINTMSK;
751 dev_dbg(hsotg->dev, "HAINTMSK @0x%08lX : 0x%08X\n",
752 - (unsigned long)addr, readl(addr));
753 + (unsigned long)addr, dwc2_readl(addr));
754 if (hsotg->core_params->dma_desc_enable > 0) {
755 addr = hsotg->regs + HFLBADDR;
756 dev_dbg(hsotg->dev, "HFLBADDR @0x%08lX : 0x%08X\n",
757 - (unsigned long)addr, readl(addr));
758 + (unsigned long)addr, dwc2_readl(addr));
759 }
760
761 addr = hsotg->regs + HPRT0;
762 dev_dbg(hsotg->dev, "HPRT0 @0x%08lX : 0x%08X\n",
763 - (unsigned long)addr, readl(addr));
764 + (unsigned long)addr, dwc2_readl(addr));
765
766 for (i = 0; i < hsotg->core_params->host_channels; i++) {
767 dev_dbg(hsotg->dev, "Host Channel %d Specific Registers\n", i);
768 addr = hsotg->regs + HCCHAR(i);
769 dev_dbg(hsotg->dev, "HCCHAR @0x%08lX : 0x%08X\n",
770 - (unsigned long)addr, readl(addr));
771 + (unsigned long)addr, dwc2_readl(addr));
772 addr = hsotg->regs + HCSPLT(i);
773 dev_dbg(hsotg->dev, "HCSPLT @0x%08lX : 0x%08X\n",
774 - (unsigned long)addr, readl(addr));
775 + (unsigned long)addr, dwc2_readl(addr));
776 addr = hsotg->regs + HCINT(i);
777 dev_dbg(hsotg->dev, "HCINT @0x%08lX : 0x%08X\n",
778 - (unsigned long)addr, readl(addr));
779 + (unsigned long)addr, dwc2_readl(addr));
780 addr = hsotg->regs + HCINTMSK(i);
781 dev_dbg(hsotg->dev, "HCINTMSK @0x%08lX : 0x%08X\n",
782 - (unsigned long)addr, readl(addr));
783 + (unsigned long)addr, dwc2_readl(addr));
784 addr = hsotg->regs + HCTSIZ(i);
785 dev_dbg(hsotg->dev, "HCTSIZ @0x%08lX : 0x%08X\n",
786 - (unsigned long)addr, readl(addr));
787 + (unsigned long)addr, dwc2_readl(addr));
788 addr = hsotg->regs + HCDMA(i);
789 dev_dbg(hsotg->dev, "HCDMA @0x%08lX : 0x%08X\n",
790 - (unsigned long)addr, readl(addr));
791 + (unsigned long)addr, dwc2_readl(addr));
792 if (hsotg->core_params->dma_desc_enable > 0) {
793 addr = hsotg->regs + HCDMAB(i);
794 dev_dbg(hsotg->dev, "HCDMAB @0x%08lX : 0x%08X\n",
795 - (unsigned long)addr, readl(addr));
796 + (unsigned long)addr, dwc2_readl(addr));
797 }
798 }
799 #endif
800 @@ -1888,80 +1888,80 @@ void dwc2_dump_global_registers(struct d
801 dev_dbg(hsotg->dev, "Core Global Registers\n");
802 addr = hsotg->regs + GOTGCTL;
803 dev_dbg(hsotg->dev, "GOTGCTL @0x%08lX : 0x%08X\n",
804 - (unsigned long)addr, readl(addr));
805 + (unsigned long)addr, dwc2_readl(addr));
806 addr = hsotg->regs + GOTGINT;
807 dev_dbg(hsotg->dev, "GOTGINT @0x%08lX : 0x%08X\n",
808 - (unsigned long)addr, readl(addr));
809 + (unsigned long)addr, dwc2_readl(addr));
810 addr = hsotg->regs + GAHBCFG;
811 dev_dbg(hsotg->dev, "GAHBCFG @0x%08lX : 0x%08X\n",
812 - (unsigned long)addr, readl(addr));
813 + (unsigned long)addr, dwc2_readl(addr));
814 addr = hsotg->regs + GUSBCFG;
815 dev_dbg(hsotg->dev, "GUSBCFG @0x%08lX : 0x%08X\n",
816 - (unsigned long)addr, readl(addr));
817 + (unsigned long)addr, dwc2_readl(addr));
818 addr = hsotg->regs + GRSTCTL;
819 dev_dbg(hsotg->dev, "GRSTCTL @0x%08lX : 0x%08X\n",
820 - (unsigned long)addr, readl(addr));
821 + (unsigned long)addr, dwc2_readl(addr));
822 addr = hsotg->regs + GINTSTS;
823 dev_dbg(hsotg->dev, "GINTSTS @0x%08lX : 0x%08X\n",
824 - (unsigned long)addr, readl(addr));
825 + (unsigned long)addr, dwc2_readl(addr));
826 addr = hsotg->regs + GINTMSK;
827 dev_dbg(hsotg->dev, "GINTMSK @0x%08lX : 0x%08X\n",
828 - (unsigned long)addr, readl(addr));
829 + (unsigned long)addr, dwc2_readl(addr));
830 addr = hsotg->regs + GRXSTSR;
831 dev_dbg(hsotg->dev, "GRXSTSR @0x%08lX : 0x%08X\n",
832 - (unsigned long)addr, readl(addr));
833 + (unsigned long)addr, dwc2_readl(addr));
834 addr = hsotg->regs + GRXFSIZ;
835 dev_dbg(hsotg->dev, "GRXFSIZ @0x%08lX : 0x%08X\n",
836 - (unsigned long)addr, readl(addr));
837 + (unsigned long)addr, dwc2_readl(addr));
838 addr = hsotg->regs + GNPTXFSIZ;
839 dev_dbg(hsotg->dev, "GNPTXFSIZ @0x%08lX : 0x%08X\n",
840 - (unsigned long)addr, readl(addr));
841 + (unsigned long)addr, dwc2_readl(addr));
842 addr = hsotg->regs + GNPTXSTS;
843 dev_dbg(hsotg->dev, "GNPTXSTS @0x%08lX : 0x%08X\n",
844 - (unsigned long)addr, readl(addr));
845 + (unsigned long)addr, dwc2_readl(addr));
846 addr = hsotg->regs + GI2CCTL;
847 dev_dbg(hsotg->dev, "GI2CCTL @0x%08lX : 0x%08X\n",
848 - (unsigned long)addr, readl(addr));
849 + (unsigned long)addr, dwc2_readl(addr));
850 addr = hsotg->regs + GPVNDCTL;
851 dev_dbg(hsotg->dev, "GPVNDCTL @0x%08lX : 0x%08X\n",
852 - (unsigned long)addr, readl(addr));
853 + (unsigned long)addr, dwc2_readl(addr));
854 addr = hsotg->regs + GGPIO;
855 dev_dbg(hsotg->dev, "GGPIO @0x%08lX : 0x%08X\n",
856 - (unsigned long)addr, readl(addr));
857 + (unsigned long)addr, dwc2_readl(addr));
858 addr = hsotg->regs + GUID;
859 dev_dbg(hsotg->dev, "GUID @0x%08lX : 0x%08X\n",
860 - (unsigned long)addr, readl(addr));
861 + (unsigned long)addr, dwc2_readl(addr));
862 addr = hsotg->regs + GSNPSID;
863 dev_dbg(hsotg->dev, "GSNPSID @0x%08lX : 0x%08X\n",
864 - (unsigned long)addr, readl(addr));
865 + (unsigned long)addr, dwc2_readl(addr));
866 addr = hsotg->regs + GHWCFG1;
867 dev_dbg(hsotg->dev, "GHWCFG1 @0x%08lX : 0x%08X\n",
868 - (unsigned long)addr, readl(addr));
869 + (unsigned long)addr, dwc2_readl(addr));
870 addr = hsotg->regs + GHWCFG2;
871 dev_dbg(hsotg->dev, "GHWCFG2 @0x%08lX : 0x%08X\n",
872 - (unsigned long)addr, readl(addr));
873 + (unsigned long)addr, dwc2_readl(addr));
874 addr = hsotg->regs + GHWCFG3;
875 dev_dbg(hsotg->dev, "GHWCFG3 @0x%08lX : 0x%08X\n",
876 - (unsigned long)addr, readl(addr));
877 + (unsigned long)addr, dwc2_readl(addr));
878 addr = hsotg->regs + GHWCFG4;
879 dev_dbg(hsotg->dev, "GHWCFG4 @0x%08lX : 0x%08X\n",
880 - (unsigned long)addr, readl(addr));
881 + (unsigned long)addr, dwc2_readl(addr));
882 addr = hsotg->regs + GLPMCFG;
883 dev_dbg(hsotg->dev, "GLPMCFG @0x%08lX : 0x%08X\n",
884 - (unsigned long)addr, readl(addr));
885 + (unsigned long)addr, dwc2_readl(addr));
886 addr = hsotg->regs + GPWRDN;
887 dev_dbg(hsotg->dev, "GPWRDN @0x%08lX : 0x%08X\n",
888 - (unsigned long)addr, readl(addr));
889 + (unsigned long)addr, dwc2_readl(addr));
890 addr = hsotg->regs + GDFIFOCFG;
891 dev_dbg(hsotg->dev, "GDFIFOCFG @0x%08lX : 0x%08X\n",
892 - (unsigned long)addr, readl(addr));
893 + (unsigned long)addr, dwc2_readl(addr));
894 addr = hsotg->regs + HPTXFSIZ;
895 dev_dbg(hsotg->dev, "HPTXFSIZ @0x%08lX : 0x%08X\n",
896 - (unsigned long)addr, readl(addr));
897 + (unsigned long)addr, dwc2_readl(addr));
898
899 addr = hsotg->regs + PCGCTL;
900 dev_dbg(hsotg->dev, "PCGCTL @0x%08lX : 0x%08X\n",
901 - (unsigned long)addr, readl(addr));
902 + (unsigned long)addr, dwc2_readl(addr));
903 #endif
904 }
905
906 @@ -1980,15 +1980,15 @@ void dwc2_flush_tx_fifo(struct dwc2_hsot
907
908 greset = GRSTCTL_TXFFLSH;
909 greset |= num << GRSTCTL_TXFNUM_SHIFT & GRSTCTL_TXFNUM_MASK;
910 - writel(greset, hsotg->regs + GRSTCTL);
911 + dwc2_writel(greset, hsotg->regs + GRSTCTL);
912
913 do {
914 - greset = readl(hsotg->regs + GRSTCTL);
915 + greset = dwc2_readl(hsotg->regs + GRSTCTL);
916 if (++count > 10000) {
917 dev_warn(hsotg->dev,
918 "%s() HANG! GRSTCTL=%0x GNPTXSTS=0x%08x\n",
919 __func__, greset,
920 - readl(hsotg->regs + GNPTXSTS));
921 + dwc2_readl(hsotg->regs + GNPTXSTS));
922 break;
923 }
924 udelay(1);
925 @@ -2011,10 +2011,10 @@ void dwc2_flush_rx_fifo(struct dwc2_hsot
926 dev_vdbg(hsotg->dev, "%s()\n", __func__);
927
928 greset = GRSTCTL_RXFFLSH;
929 - writel(greset, hsotg->regs + GRSTCTL);
930 + dwc2_writel(greset, hsotg->regs + GRSTCTL);
931
932 do {
933 - greset = readl(hsotg->regs + GRSTCTL);
934 + greset = dwc2_readl(hsotg->regs + GRSTCTL);
935 if (++count > 10000) {
936 dev_warn(hsotg->dev, "%s() HANG! GRSTCTL=%0x\n",
937 __func__, greset);
938 @@ -2676,7 +2676,7 @@ int dwc2_get_hwparams(struct dwc2_hsotg
939 * 0x45f42xxx or 0x45f43xxx, which corresponds to either "OT2" or "OT3",
940 * as in "OTG version 2.xx" or "OTG version 3.xx".
941 */
942 - hw->snpsid = readl(hsotg->regs + GSNPSID);
943 + hw->snpsid = dwc2_readl(hsotg->regs + GSNPSID);
944 if ((hw->snpsid & 0xfffff000) != 0x4f542000 &&
945 (hw->snpsid & 0xfffff000) != 0x4f543000) {
946 dev_err(hsotg->dev, "Bad value for GSNPSID: 0x%08x\n",
947 @@ -2688,11 +2688,11 @@ int dwc2_get_hwparams(struct dwc2_hsotg
948 hw->snpsid >> 12 & 0xf, hw->snpsid >> 8 & 0xf,
949 hw->snpsid >> 4 & 0xf, hw->snpsid & 0xf, hw->snpsid);
950
951 - hwcfg1 = readl(hsotg->regs + GHWCFG1);
952 - hwcfg2 = readl(hsotg->regs + GHWCFG2);
953 - hwcfg3 = readl(hsotg->regs + GHWCFG3);
954 - hwcfg4 = readl(hsotg->regs + GHWCFG4);
955 - grxfsiz = readl(hsotg->regs + GRXFSIZ);
956 + hwcfg1 = dwc2_readl(hsotg->regs + GHWCFG1);
957 + hwcfg2 = dwc2_readl(hsotg->regs + GHWCFG2);
958 + hwcfg3 = dwc2_readl(hsotg->regs + GHWCFG3);
959 + hwcfg4 = dwc2_readl(hsotg->regs + GHWCFG4);
960 + grxfsiz = dwc2_readl(hsotg->regs + GRXFSIZ);
961
962 dev_dbg(hsotg->dev, "hwcfg1=%08x\n", hwcfg1);
963 dev_dbg(hsotg->dev, "hwcfg2=%08x\n", hwcfg2);
964 @@ -2701,18 +2701,18 @@ int dwc2_get_hwparams(struct dwc2_hsotg
965 dev_dbg(hsotg->dev, "grxfsiz=%08x\n", grxfsiz);
966
967 /* Force host mode to get HPTXFSIZ / GNPTXFSIZ exact power on value */
968 - gusbcfg = readl(hsotg->regs + GUSBCFG);
969 + gusbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
970 gusbcfg |= GUSBCFG_FORCEHOSTMODE;
971 - writel(gusbcfg, hsotg->regs + GUSBCFG);
972 + dwc2_writel(gusbcfg, hsotg->regs + GUSBCFG);
973 usleep_range(100000, 150000);
974
975 - gnptxfsiz = readl(hsotg->regs + GNPTXFSIZ);
976 - hptxfsiz = readl(hsotg->regs + HPTXFSIZ);
977 + gnptxfsiz = dwc2_readl(hsotg->regs + GNPTXFSIZ);
978 + hptxfsiz = dwc2_readl(hsotg->regs + HPTXFSIZ);
979 dev_dbg(hsotg->dev, "gnptxfsiz=%08x\n", gnptxfsiz);
980 dev_dbg(hsotg->dev, "hptxfsiz=%08x\n", hptxfsiz);
981 - gusbcfg = readl(hsotg->regs + GUSBCFG);
982 + gusbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
983 gusbcfg &= ~GUSBCFG_FORCEHOSTMODE;
984 - writel(gusbcfg, hsotg->regs + GUSBCFG);
985 + dwc2_writel(gusbcfg, hsotg->regs + GUSBCFG);
986 usleep_range(100000, 150000);
987
988 /* hwcfg2 */
989 @@ -2831,7 +2831,7 @@ u16 dwc2_get_otg_version(struct dwc2_hso
990
991 bool dwc2_is_controller_alive(struct dwc2_hsotg *hsotg)
992 {
993 - if (readl(hsotg->regs + GSNPSID) == 0xffffffff)
994 + if (dwc2_readl(hsotg->regs + GSNPSID) == 0xffffffff)
995 return false;
996 else
997 return true;
998 @@ -2845,10 +2845,10 @@ bool dwc2_is_controller_alive(struct dwc
999 */
1000 void dwc2_enable_global_interrupts(struct dwc2_hsotg *hsotg)
1001 {
1002 - u32 ahbcfg = readl(hsotg->regs + GAHBCFG);
1003 + u32 ahbcfg = dwc2_readl(hsotg->regs + GAHBCFG);
1004
1005 ahbcfg |= GAHBCFG_GLBL_INTR_EN;
1006 - writel(ahbcfg, hsotg->regs + GAHBCFG);
1007 + dwc2_writel(ahbcfg, hsotg->regs + GAHBCFG);
1008 }
1009
1010 /**
1011 @@ -2859,10 +2859,10 @@ void dwc2_enable_global_interrupts(struc
1012 */
1013 void dwc2_disable_global_interrupts(struct dwc2_hsotg *hsotg)
1014 {
1015 - u32 ahbcfg = readl(hsotg->regs + GAHBCFG);
1016 + u32 ahbcfg = dwc2_readl(hsotg->regs + GAHBCFG);
1017
1018 ahbcfg &= ~GAHBCFG_GLBL_INTR_EN;
1019 - writel(ahbcfg, hsotg->regs + GAHBCFG);
1020 + dwc2_writel(ahbcfg, hsotg->regs + GAHBCFG);
1021 }
1022
1023 MODULE_DESCRIPTION("DESIGNWARE HS OTG Core");
1024 --- a/drivers/usb/dwc2/core.h
1025 +++ b/drivers/usb/dwc2/core.h
1026 @@ -44,16 +44,28 @@
1027 #include <linux/usb/phy.h>
1028 #include "hw.h"
1029
1030 -#ifdef DWC2_LOG_WRITES
1031 -static inline void do_write(u32 value, void *addr)
1032 +static inline u32 dwc2_readl(const void __iomem *addr)
1033 {
1034 - writel(value, addr);
1035 - pr_info("INFO:: wrote %08x to %p\n", value, addr);
1036 + u32 value = __raw_readl(addr);
1037 +
1038 + /* In order to preserve endianness __raw_* operation is used. Therefore
1039 + a barrier is needed to ensure IO access is not re-ordered across
1040 + reads or writes */
1041 + mb();
1042 + return value;
1043 }
1044
1045 -#undef writel
1046 -#define writel(v, a) do_write(v, a)
1047 +static inline void dwc2_writel(u32 value, void __iomem *addr)
1048 +{
1049 + __raw_writel(value, addr);
1050 + /* In order to preserve endianness __raw_* operation is used. Therefore
1051 + a barrier is needed to ensure IO access is not re-ordered across
1052 + reads or writes */
1053 + mb();
1054 +#ifdef DWC2_LOG_WRITES
1055 + pr_info("INFO:: wrote %08x to %p\n", value, addr);
1056 #endif
1057 +}
1058
1059 /* Maximum number of Endpoints/HostChannels */
1060 #define MAX_EPS_CHANNELS 16
1061 --- a/drivers/usb/dwc2/core_intr.c
1062 +++ b/drivers/usb/dwc2/core_intr.c
1063 @@ -80,15 +80,15 @@ static const char *dwc2_op_state_str(str
1064 */
1065 static void dwc2_handle_usb_port_intr(struct dwc2_hsotg *hsotg)
1066 {
1067 - u32 hprt0 = readl(hsotg->regs + HPRT0);
1068 + u32 hprt0 = dwc2_readl(hsotg->regs + HPRT0);
1069
1070 if (hprt0 & HPRT0_ENACHG) {
1071 hprt0 &= ~HPRT0_ENA;
1072 - writel(hprt0, hsotg->regs + HPRT0);
1073 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
1074 }
1075
1076 /* Clear interrupt */
1077 - writel(GINTSTS_PRTINT, hsotg->regs + GINTSTS);
1078 + dwc2_writel(GINTSTS_PRTINT, hsotg->regs + GINTSTS);
1079 }
1080
1081 /**
1082 @@ -102,7 +102,7 @@ static void dwc2_handle_mode_mismatch_in
1083 dwc2_is_host_mode(hsotg) ? "Host" : "Device");
1084
1085 /* Clear interrupt */
1086 - writel(GINTSTS_MODEMIS, hsotg->regs + GINTSTS);
1087 + dwc2_writel(GINTSTS_MODEMIS, hsotg->regs + GINTSTS);
1088 }
1089
1090 /**
1091 @@ -117,8 +117,8 @@ static void dwc2_handle_otg_intr(struct
1092 u32 gotgctl;
1093 u32 gintmsk;
1094
1095 - gotgint = readl(hsotg->regs + GOTGINT);
1096 - gotgctl = readl(hsotg->regs + GOTGCTL);
1097 + gotgint = dwc2_readl(hsotg->regs + GOTGINT);
1098 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
1099 dev_dbg(hsotg->dev, "++OTG Interrupt gotgint=%0x [%s]\n", gotgint,
1100 dwc2_op_state_str(hsotg));
1101
1102 @@ -126,7 +126,7 @@ static void dwc2_handle_otg_intr(struct
1103 dev_dbg(hsotg->dev,
1104 " ++OTG Interrupt: Session End Detected++ (%s)\n",
1105 dwc2_op_state_str(hsotg));
1106 - gotgctl = readl(hsotg->regs + GOTGCTL);
1107 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
1108
1109 if (hsotg->op_state == OTG_STATE_B_HOST) {
1110 hsotg->op_state = OTG_STATE_B_PERIPHERAL;
1111 @@ -149,15 +149,15 @@ static void dwc2_handle_otg_intr(struct
1112 hsotg->lx_state = DWC2_L0;
1113 }
1114
1115 - gotgctl = readl(hsotg->regs + GOTGCTL);
1116 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
1117 gotgctl &= ~GOTGCTL_DEVHNPEN;
1118 - writel(gotgctl, hsotg->regs + GOTGCTL);
1119 + dwc2_writel(gotgctl, hsotg->regs + GOTGCTL);
1120 }
1121
1122 if (gotgint & GOTGINT_SES_REQ_SUC_STS_CHNG) {
1123 dev_dbg(hsotg->dev,
1124 " ++OTG Interrupt: Session Request Success Status Change++\n");
1125 - gotgctl = readl(hsotg->regs + GOTGCTL);
1126 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
1127 if (gotgctl & GOTGCTL_SESREQSCS) {
1128 if (hsotg->core_params->phy_type ==
1129 DWC2_PHY_TYPE_PARAM_FS
1130 @@ -165,9 +165,9 @@ static void dwc2_handle_otg_intr(struct
1131 hsotg->srp_success = 1;
1132 } else {
1133 /* Clear Session Request */
1134 - gotgctl = readl(hsotg->regs + GOTGCTL);
1135 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
1136 gotgctl &= ~GOTGCTL_SESREQ;
1137 - writel(gotgctl, hsotg->regs + GOTGCTL);
1138 + dwc2_writel(gotgctl, hsotg->regs + GOTGCTL);
1139 }
1140 }
1141 }
1142 @@ -177,7 +177,7 @@ static void dwc2_handle_otg_intr(struct
1143 * Print statements during the HNP interrupt handling
1144 * can cause it to fail
1145 */
1146 - gotgctl = readl(hsotg->regs + GOTGCTL);
1147 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
1148 /*
1149 * WA for 3.00a- HW is not setting cur_mode, even sometimes
1150 * this does not help
1151 @@ -197,9 +197,9 @@ static void dwc2_handle_otg_intr(struct
1152 * interrupt does not get handled and Linux
1153 * complains loudly.
1154 */
1155 - gintmsk = readl(hsotg->regs + GINTMSK);
1156 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
1157 gintmsk &= ~GINTSTS_SOF;
1158 - writel(gintmsk, hsotg->regs + GINTMSK);
1159 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
1160
1161 /*
1162 * Call callback function with spin lock
1163 @@ -213,9 +213,9 @@ static void dwc2_handle_otg_intr(struct
1164 hsotg->op_state = OTG_STATE_B_HOST;
1165 }
1166 } else {
1167 - gotgctl = readl(hsotg->regs + GOTGCTL);
1168 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
1169 gotgctl &= ~(GOTGCTL_HNPREQ | GOTGCTL_DEVHNPEN);
1170 - writel(gotgctl, hsotg->regs + GOTGCTL);
1171 + dwc2_writel(gotgctl, hsotg->regs + GOTGCTL);
1172 dev_dbg(hsotg->dev, "HNP Failed\n");
1173 dev_err(hsotg->dev,
1174 "Device Not Connected/Responding\n");
1175 @@ -241,9 +241,9 @@ static void dwc2_handle_otg_intr(struct
1176 hsotg->op_state = OTG_STATE_A_PERIPHERAL;
1177 } else {
1178 /* Need to disable SOF interrupt immediately */
1179 - gintmsk = readl(hsotg->regs + GINTMSK);
1180 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
1181 gintmsk &= ~GINTSTS_SOF;
1182 - writel(gintmsk, hsotg->regs + GINTMSK);
1183 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
1184 spin_unlock(&hsotg->lock);
1185 dwc2_hcd_start(hsotg);
1186 spin_lock(&hsotg->lock);
1187 @@ -258,7 +258,7 @@ static void dwc2_handle_otg_intr(struct
1188 dev_dbg(hsotg->dev, " ++OTG Interrupt: Debounce Done++\n");
1189
1190 /* Clear GOTGINT */
1191 - writel(gotgint, hsotg->regs + GOTGINT);
1192 + dwc2_writel(gotgint, hsotg->regs + GOTGINT);
1193 }
1194
1195 /**
1196 @@ -273,11 +273,11 @@ static void dwc2_handle_otg_intr(struct
1197 */
1198 static void dwc2_handle_conn_id_status_change_intr(struct dwc2_hsotg *hsotg)
1199 {
1200 - u32 gintmsk = readl(hsotg->regs + GINTMSK);
1201 + u32 gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
1202
1203 /* Need to disable SOF interrupt immediately */
1204 gintmsk &= ~GINTSTS_SOF;
1205 - writel(gintmsk, hsotg->regs + GINTMSK);
1206 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
1207
1208 dev_dbg(hsotg->dev, " ++Connector ID Status Change Interrupt++ (%s)\n",
1209 dwc2_is_host_mode(hsotg) ? "Host" : "Device");
1210 @@ -292,7 +292,7 @@ static void dwc2_handle_conn_id_status_c
1211 spin_lock(&hsotg->lock);
1212
1213 /* Clear interrupt */
1214 - writel(GINTSTS_CONIDSTSCHNG, hsotg->regs + GINTSTS);
1215 + dwc2_writel(GINTSTS_CONIDSTSCHNG, hsotg->regs + GINTSTS);
1216 }
1217
1218 /**
1219 @@ -311,7 +311,7 @@ static void dwc2_handle_session_req_intr
1220 dev_dbg(hsotg->dev, "++Session Request Interrupt++\n");
1221
1222 /* Clear interrupt */
1223 - writel(GINTSTS_SESSREQINT, hsotg->regs + GINTSTS);
1224 + dwc2_writel(GINTSTS_SESSREQINT, hsotg->regs + GINTSTS);
1225 }
1226
1227 /*
1228 @@ -327,23 +327,23 @@ static void dwc2_handle_wakeup_detected_
1229 dev_dbg(hsotg->dev, "%s lxstate = %d\n", __func__, hsotg->lx_state);
1230
1231 if (dwc2_is_device_mode(hsotg)) {
1232 - dev_dbg(hsotg->dev, "DSTS=0x%0x\n", readl(hsotg->regs + DSTS));
1233 + dev_dbg(hsotg->dev, "DSTS=0x%0x\n", dwc2_readl(hsotg->regs + DSTS));
1234 if (hsotg->lx_state == DWC2_L2) {
1235 - u32 dctl = readl(hsotg->regs + DCTL);
1236 + u32 dctl = dwc2_readl(hsotg->regs + DCTL);
1237
1238 /* Clear Remote Wakeup Signaling */
1239 dctl &= ~DCTL_RMTWKUPSIG;
1240 - writel(dctl, hsotg->regs + DCTL);
1241 + dwc2_writel(dctl, hsotg->regs + DCTL);
1242 }
1243 /* Change to L0 state */
1244 hsotg->lx_state = DWC2_L0;
1245 } else {
1246 if (hsotg->lx_state != DWC2_L1) {
1247 - u32 pcgcctl = readl(hsotg->regs + PCGCTL);
1248 + u32 pcgcctl = dwc2_readl(hsotg->regs + PCGCTL);
1249
1250 /* Restart the Phy Clock */
1251 pcgcctl &= ~PCGCTL_STOPPCLK;
1252 - writel(pcgcctl, hsotg->regs + PCGCTL);
1253 + dwc2_writel(pcgcctl, hsotg->regs + PCGCTL);
1254 mod_timer(&hsotg->wkp_timer,
1255 jiffies + msecs_to_jiffies(71));
1256 } else {
1257 @@ -353,7 +353,7 @@ static void dwc2_handle_wakeup_detected_
1258 }
1259
1260 /* Clear interrupt */
1261 - writel(GINTSTS_WKUPINT, hsotg->regs + GINTSTS);
1262 + dwc2_writel(GINTSTS_WKUPINT, hsotg->regs + GINTSTS);
1263 }
1264
1265 /*
1266 @@ -369,7 +369,7 @@ static void dwc2_handle_disconnect_intr(
1267 /* Change to L3 (OFF) state */
1268 hsotg->lx_state = DWC2_L3;
1269
1270 - writel(GINTSTS_DISCONNINT, hsotg->regs + GINTSTS);
1271 + dwc2_writel(GINTSTS_DISCONNINT, hsotg->regs + GINTSTS);
1272 }
1273
1274 /*
1275 @@ -391,7 +391,7 @@ static void dwc2_handle_usb_suspend_intr
1276 * Check the Device status register to determine if the Suspend
1277 * state is active
1278 */
1279 - dsts = readl(hsotg->regs + DSTS);
1280 + dsts = dwc2_readl(hsotg->regs + DSTS);
1281 dev_dbg(hsotg->dev, "DSTS=0x%0x\n", dsts);
1282 dev_dbg(hsotg->dev,
1283 "DSTS.Suspend Status=%d HWCFG4.Power Optimize=%d\n",
1284 @@ -413,7 +413,7 @@ static void dwc2_handle_usb_suspend_intr
1285 hsotg->lx_state = DWC2_L2;
1286
1287 /* Clear interrupt */
1288 - writel(GINTSTS_USBSUSP, hsotg->regs + GINTSTS);
1289 + dwc2_writel(GINTSTS_USBSUSP, hsotg->regs + GINTSTS);
1290 }
1291
1292 #define GINTMSK_COMMON (GINTSTS_WKUPINT | GINTSTS_SESSREQINT | \
1293 @@ -431,9 +431,9 @@ static u32 dwc2_read_common_intr(struct
1294 u32 gahbcfg;
1295 u32 gintmsk_common = GINTMSK_COMMON;
1296
1297 - gintsts = readl(hsotg->regs + GINTSTS);
1298 - gintmsk = readl(hsotg->regs + GINTMSK);
1299 - gahbcfg = readl(hsotg->regs + GAHBCFG);
1300 + gintsts = dwc2_readl(hsotg->regs + GINTSTS);
1301 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
1302 + gahbcfg = dwc2_readl(hsotg->regs + GAHBCFG);
1303
1304 /* If any common interrupts set */
1305 if (gintsts & gintmsk_common)
1306 --- a/drivers/usb/dwc2/gadget.c
1307 +++ b/drivers/usb/dwc2/gadget.c
1308 @@ -55,12 +55,12 @@ static inline struct s3c_hsotg *to_hsotg
1309
1310 static inline void __orr32(void __iomem *ptr, u32 val)
1311 {
1312 - writel(readl(ptr) | val, ptr);
1313 + dwc2_writel(dwc2_readl(ptr) | val, ptr);
1314 }
1315
1316 static inline void __bic32(void __iomem *ptr, u32 val)
1317 {
1318 - writel(readl(ptr) & ~val, ptr);
1319 + dwc2_writel(dwc2_readl(ptr) & ~val, ptr);
1320 }
1321
1322 /* forward decleration of functions */
1323 @@ -97,14 +97,14 @@ static inline bool using_dma(struct s3c_
1324 */
1325 static void s3c_hsotg_en_gsint(struct s3c_hsotg *hsotg, u32 ints)
1326 {
1327 - u32 gsintmsk = readl(hsotg->regs + GINTMSK);
1328 + u32 gsintmsk = dwc2_readl(hsotg->regs + GINTMSK);
1329 u32 new_gsintmsk;
1330
1331 new_gsintmsk = gsintmsk | ints;
1332
1333 if (new_gsintmsk != gsintmsk) {
1334 dev_dbg(hsotg->dev, "gsintmsk now 0x%08x\n", new_gsintmsk);
1335 - writel(new_gsintmsk, hsotg->regs + GINTMSK);
1336 + dwc2_writel(new_gsintmsk, hsotg->regs + GINTMSK);
1337 }
1338 }
1339
1340 @@ -115,13 +115,13 @@ static void s3c_hsotg_en_gsint(struct s3
1341 */
1342 static void s3c_hsotg_disable_gsint(struct s3c_hsotg *hsotg, u32 ints)
1343 {
1344 - u32 gsintmsk = readl(hsotg->regs + GINTMSK);
1345 + u32 gsintmsk = dwc2_readl(hsotg->regs + GINTMSK);
1346 u32 new_gsintmsk;
1347
1348 new_gsintmsk = gsintmsk & ~ints;
1349
1350 if (new_gsintmsk != gsintmsk)
1351 - writel(new_gsintmsk, hsotg->regs + GINTMSK);
1352 + dwc2_writel(new_gsintmsk, hsotg->regs + GINTMSK);
1353 }
1354
1355 /**
1356 @@ -146,12 +146,12 @@ static void s3c_hsotg_ctrl_epint(struct
1357 bit <<= 16;
1358
1359 local_irq_save(flags);
1360 - daint = readl(hsotg->regs + DAINTMSK);
1361 + daint = dwc2_readl(hsotg->regs + DAINTMSK);
1362 if (en)
1363 daint |= bit;
1364 else
1365 daint &= ~bit;
1366 - writel(daint, hsotg->regs + DAINTMSK);
1367 + dwc2_writel(daint, hsotg->regs + DAINTMSK);
1368 local_irq_restore(flags);
1369 }
1370
1371 @@ -169,8 +169,8 @@ static void s3c_hsotg_init_fifo(struct s
1372
1373 /* set FIFO sizes to 2048/1024 */
1374
1375 - writel(2048, hsotg->regs + GRXFSIZ);
1376 - writel((2048 << FIFOSIZE_STARTADDR_SHIFT) |
1377 + dwc2_writel(2048, hsotg->regs + GRXFSIZ);
1378 + dwc2_writel((2048 << FIFOSIZE_STARTADDR_SHIFT) |
1379 (1024 << FIFOSIZE_DEPTH_SHIFT), hsotg->regs + GNPTXFSIZ);
1380
1381 /*
1382 @@ -200,7 +200,7 @@ static void s3c_hsotg_init_fifo(struct s
1383 "insufficient fifo memory");
1384 addr += size;
1385
1386 - writel(val, hsotg->regs + DPTXFSIZN(ep));
1387 + dwc2_writel(val, hsotg->regs + DPTXFSIZN(ep));
1388 }
1389 /* 768*4=3072 bytes FIFO length */
1390 size = 768;
1391 @@ -211,7 +211,7 @@ static void s3c_hsotg_init_fifo(struct s
1392 "insufficient fifo memory");
1393 addr += size;
1394
1395 - writel(val, hsotg->regs + DPTXFSIZN(ep));
1396 + dwc2_writel(val, hsotg->regs + DPTXFSIZN(ep));
1397 }
1398
1399 /*
1400 @@ -219,13 +219,13 @@ static void s3c_hsotg_init_fifo(struct s
1401 * all fifos are flushed before continuing
1402 */
1403
1404 - writel(GRSTCTL_TXFNUM(0x10) | GRSTCTL_TXFFLSH |
1405 + dwc2_writel(GRSTCTL_TXFNUM(0x10) | GRSTCTL_TXFFLSH |
1406 GRSTCTL_RXFFLSH, hsotg->regs + GRSTCTL);
1407
1408 /* wait until the fifos are both flushed */
1409 timeout = 100;
1410 while (1) {
1411 - val = readl(hsotg->regs + GRSTCTL);
1412 + val = dwc2_readl(hsotg->regs + GRSTCTL);
1413
1414 if ((val & (GRSTCTL_TXFFLSH | GRSTCTL_RXFFLSH)) == 0)
1415 break;
1416 @@ -317,7 +317,7 @@ static int s3c_hsotg_write_fifo(struct s
1417 struct s3c_hsotg_req *hs_req)
1418 {
1419 bool periodic = is_ep_periodic(hs_ep);
1420 - u32 gnptxsts = readl(hsotg->regs + GNPTXSTS);
1421 + u32 gnptxsts = dwc2_readl(hsotg->regs + GNPTXSTS);
1422 int buf_pos = hs_req->req.actual;
1423 int to_write = hs_ep->size_loaded;
1424 void *data;
1425 @@ -332,7 +332,7 @@ static int s3c_hsotg_write_fifo(struct s
1426 return 0;
1427
1428 if (periodic && !hsotg->dedicated_fifos) {
1429 - u32 epsize = readl(hsotg->regs + DIEPTSIZ(hs_ep->index));
1430 + u32 epsize = dwc2_readl(hsotg->regs + DIEPTSIZ(hs_ep->index));
1431 int size_left;
1432 int size_done;
1433
1434 @@ -373,7 +373,7 @@ static int s3c_hsotg_write_fifo(struct s
1435 return -ENOSPC;
1436 }
1437 } else if (hsotg->dedicated_fifos && hs_ep->index != 0) {
1438 - can_write = readl(hsotg->regs + DTXFSTS(hs_ep->index));
1439 + can_write = dwc2_readl(hsotg->regs + DTXFSTS(hs_ep->index));
1440
1441 can_write &= 0xffff;
1442 can_write *= 4;
1443 @@ -550,11 +550,11 @@ static void s3c_hsotg_start_req(struct s
1444 epsize_reg = dir_in ? DIEPTSIZ(index) : DOEPTSIZ(index);
1445
1446 dev_dbg(hsotg->dev, "%s: DxEPCTL=0x%08x, ep %d, dir %s\n",
1447 - __func__, readl(hsotg->regs + epctrl_reg), index,
1448 + __func__, dwc2_readl(hsotg->regs + epctrl_reg), index,
1449 hs_ep->dir_in ? "in" : "out");
1450
1451 /* If endpoint is stalled, we will restart request later */
1452 - ctrl = readl(hsotg->regs + epctrl_reg);
1453 + ctrl = dwc2_readl(hsotg->regs + epctrl_reg);
1454
1455 if (ctrl & DXEPCTL_STALL) {
1456 dev_warn(hsotg->dev, "%s: ep%d is stalled\n", __func__, index);
1457 @@ -622,7 +622,7 @@ static void s3c_hsotg_start_req(struct s
1458 hs_ep->req = hs_req;
1459
1460 /* write size / packets */
1461 - writel(epsize, hsotg->regs + epsize_reg);
1462 + dwc2_writel(epsize, hsotg->regs + epsize_reg);
1463
1464 if (using_dma(hsotg) && !continuing) {
1465 unsigned int dma_reg;
1466 @@ -633,7 +633,7 @@ static void s3c_hsotg_start_req(struct s
1467 */
1468
1469 dma_reg = dir_in ? DIEPDMA(index) : DOEPDMA(index);
1470 - writel(ureq->dma, hsotg->regs + dma_reg);
1471 + dwc2_writel(ureq->dma, hsotg->regs + dma_reg);
1472
1473 dev_dbg(hsotg->dev, "%s: %pad => 0x%08x\n",
1474 __func__, &ureq->dma, dma_reg);
1475 @@ -652,7 +652,7 @@ static void s3c_hsotg_start_req(struct s
1476
1477
1478 dev_dbg(hsotg->dev, "%s: DxEPCTL=0x%08x\n", __func__, ctrl);
1479 - writel(ctrl, hsotg->regs + epctrl_reg);
1480 + dwc2_writel(ctrl, hsotg->regs + epctrl_reg);
1481
1482 /*
1483 * set these, it seems that DMA support increments past the end
1484 @@ -674,7 +674,7 @@ static void s3c_hsotg_start_req(struct s
1485 * to debugging to see what is going on.
1486 */
1487 if (dir_in)
1488 - writel(DIEPMSK_INTKNTXFEMPMSK,
1489 + dwc2_writel(DIEPMSK_INTKNTXFEMPMSK,
1490 hsotg->regs + DIEPINT(index));
1491
1492 /*
1493 @@ -683,13 +683,13 @@ static void s3c_hsotg_start_req(struct s
1494 */
1495
1496 /* check ep is enabled */
1497 - if (!(readl(hsotg->regs + epctrl_reg) & DXEPCTL_EPENA))
1498 + if (!(dwc2_readl(hsotg->regs + epctrl_reg) & DXEPCTL_EPENA))
1499 dev_warn(hsotg->dev,
1500 "ep%d: failed to become enabled (DXEPCTL=0x%08x)?\n",
1501 - index, readl(hsotg->regs + epctrl_reg));
1502 + index, dwc2_readl(hsotg->regs + epctrl_reg));
1503
1504 dev_dbg(hsotg->dev, "%s: DXEPCTL=0x%08x\n",
1505 - __func__, readl(hsotg->regs + epctrl_reg));
1506 + __func__, dwc2_readl(hsotg->regs + epctrl_reg));
1507
1508 /* enable ep interrupts */
1509 s3c_hsotg_ctrl_epint(hsotg, hs_ep->index, hs_ep->dir_in, 1);
1510 @@ -1051,14 +1051,14 @@ static void s3c_hsotg_stall_ep0(struct s
1511 * taken effect, so no need to clear later.
1512 */
1513
1514 - ctrl = readl(hsotg->regs + reg);
1515 + ctrl = dwc2_readl(hsotg->regs + reg);
1516 ctrl |= DXEPCTL_STALL;
1517 ctrl |= DXEPCTL_CNAK;
1518 - writel(ctrl, hsotg->regs + reg);
1519 + dwc2_writel(ctrl, hsotg->regs + reg);
1520
1521 dev_dbg(hsotg->dev,
1522 "written DXEPCTL=0x%08x to %08x (DXEPCTL=0x%08x)\n",
1523 - ctrl, reg, readl(hsotg->regs + reg));
1524 + ctrl, reg, dwc2_readl(hsotg->regs + reg));
1525
1526 /*
1527 * complete won't be called, so we enqueue
1528 @@ -1108,11 +1108,11 @@ static void s3c_hsotg_process_control(st
1529 switch (ctrl->bRequest) {
1530 case USB_REQ_SET_ADDRESS:
1531 s3c_hsotg_disconnect(hsotg);
1532 - dcfg = readl(hsotg->regs + DCFG);
1533 + dcfg = dwc2_readl(hsotg->regs + DCFG);
1534 dcfg &= ~DCFG_DEVADDR_MASK;
1535 dcfg |= (le16_to_cpu(ctrl->wValue) <<
1536 DCFG_DEVADDR_SHIFT) & DCFG_DEVADDR_MASK;
1537 - writel(dcfg, hsotg->regs + DCFG);
1538 + dwc2_writel(dcfg, hsotg->regs + DCFG);
1539
1540 dev_info(hsotg->dev, "new address %d\n", ctrl->wValue);
1541
1542 @@ -1302,7 +1302,7 @@ static void s3c_hsotg_rx_data(struct s3c
1543
1544
1545 if (!hs_req) {
1546 - u32 epctl = readl(hsotg->regs + DOEPCTL(ep_idx));
1547 + u32 epctl = dwc2_readl(hsotg->regs + DOEPCTL(ep_idx));
1548 int ptr;
1549
1550 dev_warn(hsotg->dev,
1551 @@ -1311,7 +1311,7 @@ static void s3c_hsotg_rx_data(struct s3c
1552
1553 /* dump the data from the FIFO, we've nothing we can do */
1554 for (ptr = 0; ptr < size; ptr += 4)
1555 - (void)readl(fifo);
1556 + (void)dwc2_readl(fifo);
1557
1558 return;
1559 }
1560 @@ -1378,14 +1378,14 @@ static void s3c_hsotg_send_zlp(struct s3
1561 dev_dbg(hsotg->dev, "sending zero-length packet\n");
1562
1563 /* issue a zero-sized packet to terminate this */
1564 - writel(DXEPTSIZ_MC(1) | DXEPTSIZ_PKTCNT(1) |
1565 + dwc2_writel(DXEPTSIZ_MC(1) | DXEPTSIZ_PKTCNT(1) |
1566 DXEPTSIZ_XFERSIZE(0), hsotg->regs + DIEPTSIZ(0));
1567
1568 - ctrl = readl(hsotg->regs + DIEPCTL0);
1569 + ctrl = dwc2_readl(hsotg->regs + DIEPCTL0);
1570 ctrl |= DXEPCTL_CNAK; /* clear NAK set by core */
1571 ctrl |= DXEPCTL_EPENA; /* ensure ep enabled */
1572 ctrl |= DXEPCTL_USBACTEP;
1573 - writel(ctrl, hsotg->regs + DIEPCTL0);
1574 + dwc2_writel(ctrl, hsotg->regs + DIEPCTL0);
1575 }
1576
1577 /**
1578 @@ -1401,7 +1401,7 @@ static void s3c_hsotg_send_zlp(struct s3
1579 static void s3c_hsotg_handle_outdone(struct s3c_hsotg *hsotg,
1580 int epnum, bool was_setup)
1581 {
1582 - u32 epsize = readl(hsotg->regs + DOEPTSIZ(epnum));
1583 + u32 epsize = dwc2_readl(hsotg->regs + DOEPTSIZ(epnum));
1584 struct s3c_hsotg_ep *hs_ep = &hsotg->eps[epnum];
1585 struct s3c_hsotg_req *hs_req = hs_ep->req;
1586 struct usb_request *req = &hs_req->req;
1587 @@ -1475,7 +1475,7 @@ static u32 s3c_hsotg_read_frameno(struct
1588 {
1589 u32 dsts;
1590
1591 - dsts = readl(hsotg->regs + DSTS);
1592 + dsts = dwc2_readl(hsotg->regs + DSTS);
1593 dsts &= DSTS_SOFFN_MASK;
1594 dsts >>= DSTS_SOFFN_SHIFT;
1595
1596 @@ -1500,7 +1500,7 @@ static u32 s3c_hsotg_read_frameno(struct
1597 */
1598 static void s3c_hsotg_handle_rx(struct s3c_hsotg *hsotg)
1599 {
1600 - u32 grxstsr = readl(hsotg->regs + GRXSTSP);
1601 + u32 grxstsr = dwc2_readl(hsotg->regs + GRXSTSP);
1602 u32 epnum, status, size;
1603
1604 WARN_ON(using_dma(hsotg));
1605 @@ -1532,7 +1532,7 @@ static void s3c_hsotg_handle_rx(struct s
1606 dev_dbg(hsotg->dev,
1607 "SetupDone (Frame=0x%08x, DOPEPCTL=0x%08x)\n",
1608 s3c_hsotg_read_frameno(hsotg),
1609 - readl(hsotg->regs + DOEPCTL(0)));
1610 + dwc2_readl(hsotg->regs + DOEPCTL(0)));
1611
1612 s3c_hsotg_handle_outdone(hsotg, epnum, true);
1613 break;
1614 @@ -1545,7 +1545,7 @@ static void s3c_hsotg_handle_rx(struct s
1615 dev_dbg(hsotg->dev,
1616 "SetupRX (Frame=0x%08x, DOPEPCTL=0x%08x)\n",
1617 s3c_hsotg_read_frameno(hsotg),
1618 - readl(hsotg->regs + DOEPCTL(0)));
1619 + dwc2_readl(hsotg->regs + DOEPCTL(0)));
1620
1621 s3c_hsotg_rx_data(hsotg, epnum, size);
1622 break;
1623 @@ -1622,16 +1622,16 @@ static void s3c_hsotg_set_ep_maxpacket(s
1624 * if one of the directions may not be in use.
1625 */
1626
1627 - reg = readl(regs + DIEPCTL(ep));
1628 + reg = dwc2_readl(regs + DIEPCTL(ep));
1629 reg &= ~DXEPCTL_MPS_MASK;
1630 reg |= mpsval;
1631 - writel(reg, regs + DIEPCTL(ep));
1632 + dwc2_writel(reg, regs + DIEPCTL(ep));
1633
1634 if (ep) {
1635 - reg = readl(regs + DOEPCTL(ep));
1636 + reg = dwc2_readl(regs + DOEPCTL(ep));
1637 reg &= ~DXEPCTL_MPS_MASK;
1638 reg |= mpsval;
1639 - writel(reg, regs + DOEPCTL(ep));
1640 + dwc2_writel(reg, regs + DOEPCTL(ep));
1641 }
1642
1643 return;
1644 @@ -1650,14 +1650,14 @@ static void s3c_hsotg_txfifo_flush(struc
1645 int timeout;
1646 int val;
1647
1648 - writel(GRSTCTL_TXFNUM(idx) | GRSTCTL_TXFFLSH,
1649 + dwc2_writel(GRSTCTL_TXFNUM(idx) | GRSTCTL_TXFFLSH,
1650 hsotg->regs + GRSTCTL);
1651
1652 /* wait until the fifo is flushed */
1653 timeout = 100;
1654
1655 while (1) {
1656 - val = readl(hsotg->regs + GRSTCTL);
1657 + val = dwc2_readl(hsotg->regs + GRSTCTL);
1658
1659 if ((val & (GRSTCTL_TXFFLSH)) == 0)
1660 break;
1661 @@ -1718,7 +1718,7 @@ static void s3c_hsotg_complete_in(struct
1662 struct s3c_hsotg_ep *hs_ep)
1663 {
1664 struct s3c_hsotg_req *hs_req = hs_ep->req;
1665 - u32 epsize = readl(hsotg->regs + DIEPTSIZ(hs_ep->index));
1666 + u32 epsize = dwc2_readl(hsotg->regs + DIEPTSIZ(hs_ep->index));
1667 int size_left, size_done;
1668
1669 if (!hs_req) {
1670 @@ -1801,11 +1801,11 @@ static void s3c_hsotg_epint(struct s3c_h
1671 u32 ints;
1672 u32 ctrl;
1673
1674 - ints = readl(hsotg->regs + epint_reg);
1675 - ctrl = readl(hsotg->regs + epctl_reg);
1676 + ints = dwc2_readl(hsotg->regs + epint_reg);
1677 + ctrl = dwc2_readl(hsotg->regs + epctl_reg);
1678
1679 /* Clear endpoint interrupts */
1680 - writel(ints, hsotg->regs + epint_reg);
1681 + dwc2_writel(ints, hsotg->regs + epint_reg);
1682
1683 dev_dbg(hsotg->dev, "%s: ep%d(%s) DxEPINT=0x%08x\n",
1684 __func__, idx, dir_in ? "in" : "out", ints);
1685 @@ -1816,13 +1816,13 @@ static void s3c_hsotg_epint(struct s3c_h
1686 ctrl |= DXEPCTL_SETEVENFR;
1687 else
1688 ctrl |= DXEPCTL_SETODDFR;
1689 - writel(ctrl, hsotg->regs + epctl_reg);
1690 + dwc2_writel(ctrl, hsotg->regs + epctl_reg);
1691 }
1692
1693 dev_dbg(hsotg->dev,
1694 "%s: XferCompl: DxEPCTL=0x%08x, DXEPTSIZ=%08x\n",
1695 - __func__, readl(hsotg->regs + epctl_reg),
1696 - readl(hsotg->regs + epsiz_reg));
1697 + __func__, dwc2_readl(hsotg->regs + epctl_reg),
1698 + dwc2_readl(hsotg->regs + epsiz_reg));
1699
1700 /*
1701 * we get OutDone from the FIFO, so we only need to look
1702 @@ -1847,16 +1847,16 @@ static void s3c_hsotg_epint(struct s3c_h
1703 dev_dbg(hsotg->dev, "%s: EPDisbld\n", __func__);
1704
1705 if (dir_in) {
1706 - int epctl = readl(hsotg->regs + epctl_reg);
1707 + int epctl = dwc2_readl(hsotg->regs + epctl_reg);
1708
1709 s3c_hsotg_txfifo_flush(hsotg, hs_ep->fifo_index);
1710
1711 if ((epctl & DXEPCTL_STALL) &&
1712 (epctl & DXEPCTL_EPTYPE_BULK)) {
1713 - int dctl = readl(hsotg->regs + DCTL);
1714 + int dctl = dwc2_readl(hsotg->regs + DCTL);
1715
1716 dctl |= DCTL_CGNPINNAK;
1717 - writel(dctl, hsotg->regs + DCTL);
1718 + dwc2_writel(dctl, hsotg->regs + DCTL);
1719 }
1720 }
1721 }
1722 @@ -1918,7 +1918,7 @@ static void s3c_hsotg_epint(struct s3c_h
1723 */
1724 static void s3c_hsotg_irq_enumdone(struct s3c_hsotg *hsotg)
1725 {
1726 - u32 dsts = readl(hsotg->regs + DSTS);
1727 + u32 dsts = dwc2_readl(hsotg->regs + DSTS);
1728 int ep0_mps = 0, ep_mps = 8;
1729
1730 /*
1731 @@ -1979,8 +1979,8 @@ static void s3c_hsotg_irq_enumdone(struc
1732 s3c_hsotg_enqueue_setup(hsotg);
1733
1734 dev_dbg(hsotg->dev, "EP0: DIEPCTL0=0x%08x, DOEPCTL0=0x%08x\n",
1735 - readl(hsotg->regs + DIEPCTL0),
1736 - readl(hsotg->regs + DOEPCTL0));
1737 + dwc2_readl(hsotg->regs + DIEPCTL0),
1738 + dwc2_readl(hsotg->regs + DOEPCTL0));
1739 }
1740
1741 /**
1742 @@ -2014,7 +2014,7 @@ static void kill_all_requests(struct s3c
1743 }
1744 if (!hsotg->dedicated_fifos)
1745 return;
1746 - size = (readl(hsotg->regs + DTXFSTS(ep->index)) & 0xffff) * 4;
1747 + size = (dwc2_readl(hsotg->regs + DTXFSTS(ep->index)) & 0xffff) * 4;
1748 if (size < ep->fifo_size)
1749 s3c_hsotg_txfifo_flush(hsotg, ep->fifo_index);
1750 }
1751 @@ -2084,11 +2084,11 @@ static int s3c_hsotg_corereset(struct s3
1752 dev_dbg(hsotg->dev, "resetting core\n");
1753
1754 /* issue soft reset */
1755 - writel(GRSTCTL_CSFTRST, hsotg->regs + GRSTCTL);
1756 + dwc2_writel(GRSTCTL_CSFTRST, hsotg->regs + GRSTCTL);
1757
1758 timeout = 10000;
1759 do {
1760 - grstctl = readl(hsotg->regs + GRSTCTL);
1761 + grstctl = dwc2_readl(hsotg->regs + GRSTCTL);
1762 } while ((grstctl & GRSTCTL_CSFTRST) && timeout-- > 0);
1763
1764 if (grstctl & GRSTCTL_CSFTRST) {
1765 @@ -2099,7 +2099,7 @@ static int s3c_hsotg_corereset(struct s3
1766 timeout = 10000;
1767
1768 while (1) {
1769 - u32 grstctl = readl(hsotg->regs + GRSTCTL);
1770 + u32 grstctl = dwc2_readl(hsotg->regs + GRSTCTL);
1771
1772 if (timeout-- < 0) {
1773 dev_info(hsotg->dev,
1774 @@ -2134,22 +2134,22 @@ static void s3c_hsotg_core_init(struct s
1775 */
1776
1777 /* set the PLL on, remove the HNP/SRP and set the PHY */
1778 - writel(hsotg->phyif | GUSBCFG_TOUTCAL(7) |
1779 + dwc2_writel(hsotg->phyif | GUSBCFG_TOUTCAL(7) |
1780 (0x5 << 10), hsotg->regs + GUSBCFG);
1781
1782 s3c_hsotg_init_fifo(hsotg);
1783
1784 __orr32(hsotg->regs + DCTL, DCTL_SFTDISCON);
1785
1786 - writel(1 << 18 | DCFG_DEVSPD_HS, hsotg->regs + DCFG);
1787 + dwc2_writel(1 << 18 | DCFG_DEVSPD_HS, hsotg->regs + DCFG);
1788
1789 /* Clear any pending OTG interrupts */
1790 - writel(0xffffffff, hsotg->regs + GOTGINT);
1791 + dwc2_writel(0xffffffff, hsotg->regs + GOTGINT);
1792
1793 /* Clear any pending interrupts */
1794 - writel(0xffffffff, hsotg->regs + GINTSTS);
1795 + dwc2_writel(0xffffffff, hsotg->regs + GINTSTS);
1796
1797 - writel(GINTSTS_ERLYSUSP | GINTSTS_SESSREQINT |
1798 + dwc2_writel(GINTSTS_ERLYSUSP | GINTSTS_SESSREQINT |
1799 GINTSTS_GOUTNAKEFF | GINTSTS_GINNAKEFF |
1800 GINTSTS_CONIDSTSCHNG | GINTSTS_USBRST |
1801 GINTSTS_ENUMDONE | GINTSTS_OTGINT |
1802 @@ -2157,11 +2157,11 @@ static void s3c_hsotg_core_init(struct s
1803 hsotg->regs + GINTMSK);
1804
1805 if (using_dma(hsotg))
1806 - writel(GAHBCFG_GLBL_INTR_EN | GAHBCFG_DMA_EN |
1807 + dwc2_writel(GAHBCFG_GLBL_INTR_EN | GAHBCFG_DMA_EN |
1808 GAHBCFG_HBSTLEN_INCR4,
1809 hsotg->regs + GAHBCFG);
1810 else
1811 - writel(((hsotg->dedicated_fifos) ? (GAHBCFG_NP_TXF_EMP_LVL |
1812 + dwc2_writel(((hsotg->dedicated_fifos) ? (GAHBCFG_NP_TXF_EMP_LVL |
1813 GAHBCFG_P_TXF_EMP_LVL) : 0) |
1814 GAHBCFG_GLBL_INTR_EN,
1815 hsotg->regs + GAHBCFG);
1816 @@ -2172,7 +2172,7 @@ static void s3c_hsotg_core_init(struct s
1817 * interrupts.
1818 */
1819
1820 - writel(((hsotg->dedicated_fifos) ? DIEPMSK_TXFIFOEMPTY |
1821 + dwc2_writel(((hsotg->dedicated_fifos) ? DIEPMSK_TXFIFOEMPTY |
1822 DIEPMSK_INTKNTXFEMPMSK : 0) |
1823 DIEPMSK_EPDISBLDMSK | DIEPMSK_XFERCOMPLMSK |
1824 DIEPMSK_TIMEOUTMSK | DIEPMSK_AHBERRMSK |
1825 @@ -2183,17 +2183,17 @@ static void s3c_hsotg_core_init(struct s
1826 * don't need XferCompl, we get that from RXFIFO in slave mode. In
1827 * DMA mode we may need this.
1828 */
1829 - writel((using_dma(hsotg) ? (DIEPMSK_XFERCOMPLMSK |
1830 + dwc2_writel((using_dma(hsotg) ? (DIEPMSK_XFERCOMPLMSK |
1831 DIEPMSK_TIMEOUTMSK) : 0) |
1832 DOEPMSK_EPDISBLDMSK | DOEPMSK_AHBERRMSK |
1833 DOEPMSK_SETUPMSK,
1834 hsotg->regs + DOEPMSK);
1835
1836 - writel(0, hsotg->regs + DAINTMSK);
1837 + dwc2_writel(0, hsotg->regs + DAINTMSK);
1838
1839 dev_dbg(hsotg->dev, "EP0: DIEPCTL0=0x%08x, DOEPCTL0=0x%08x\n",
1840 - readl(hsotg->regs + DIEPCTL0),
1841 - readl(hsotg->regs + DOEPCTL0));
1842 + dwc2_readl(hsotg->regs + DIEPCTL0),
1843 + dwc2_readl(hsotg->regs + DOEPCTL0));
1844
1845 /* enable in and out endpoint interrupts */
1846 s3c_hsotg_en_gsint(hsotg, GINTSTS_OEPINT | GINTSTS_IEPINT);
1847 @@ -2214,7 +2214,7 @@ static void s3c_hsotg_core_init(struct s
1848 udelay(10); /* see openiboot */
1849 __bic32(hsotg->regs + DCTL, DCTL_PWRONPRGDONE);
1850
1851 - dev_dbg(hsotg->dev, "DCTL=0x%08x\n", readl(hsotg->regs + DCTL));
1852 + dev_dbg(hsotg->dev, "DCTL=0x%08x\n", dwc2_readl(hsotg->regs + DCTL));
1853
1854 /*
1855 * DxEPCTL_USBActEp says RO in manual, but seems to be set by
1856 @@ -2222,26 +2222,26 @@ static void s3c_hsotg_core_init(struct s
1857 */
1858
1859 /* set to read 1 8byte packet */
1860 - writel(DXEPTSIZ_MC(1) | DXEPTSIZ_PKTCNT(1) |
1861 + dwc2_writel(DXEPTSIZ_MC(1) | DXEPTSIZ_PKTCNT(1) |
1862 DXEPTSIZ_XFERSIZE(8), hsotg->regs + DOEPTSIZ0);
1863
1864 - writel(s3c_hsotg_ep0_mps(hsotg->eps[0].ep.maxpacket) |
1865 + dwc2_writel(s3c_hsotg_ep0_mps(hsotg->eps[0].ep.maxpacket) |
1866 DXEPCTL_CNAK | DXEPCTL_EPENA |
1867 DXEPCTL_USBACTEP,
1868 hsotg->regs + DOEPCTL0);
1869
1870 /* enable, but don't activate EP0in */
1871 - writel(s3c_hsotg_ep0_mps(hsotg->eps[0].ep.maxpacket) |
1872 + dwc2_writel(s3c_hsotg_ep0_mps(hsotg->eps[0].ep.maxpacket) |
1873 DXEPCTL_USBACTEP, hsotg->regs + DIEPCTL0);
1874
1875 s3c_hsotg_enqueue_setup(hsotg);
1876
1877 dev_dbg(hsotg->dev, "EP0: DIEPCTL0=0x%08x, DOEPCTL0=0x%08x\n",
1878 - readl(hsotg->regs + DIEPCTL0),
1879 - readl(hsotg->regs + DOEPCTL0));
1880 + dwc2_readl(hsotg->regs + DIEPCTL0),
1881 + dwc2_readl(hsotg->regs + DOEPCTL0));
1882
1883 /* clear global NAKs */
1884 - writel(DCTL_CGOUTNAK | DCTL_CGNPINNAK,
1885 + dwc2_writel(DCTL_CGOUTNAK | DCTL_CGNPINNAK,
1886 hsotg->regs + DCTL);
1887
1888 /* must be at-least 3ms to allow bus to see disconnect */
1889 @@ -2265,8 +2265,8 @@ static irqreturn_t s3c_hsotg_irq(int irq
1890
1891 spin_lock(&hsotg->lock);
1892 irq_retry:
1893 - gintsts = readl(hsotg->regs + GINTSTS);
1894 - gintmsk = readl(hsotg->regs + GINTMSK);
1895 + gintsts = dwc2_readl(hsotg->regs + GINTSTS);
1896 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
1897
1898 dev_dbg(hsotg->dev, "%s: %08x %08x (%08x) retry %d\n",
1899 __func__, gintsts, gintsts & gintmsk, gintmsk, retry_count);
1900 @@ -2274,35 +2274,35 @@ irq_retry:
1901 gintsts &= gintmsk;
1902
1903 if (gintsts & GINTSTS_OTGINT) {
1904 - u32 otgint = readl(hsotg->regs + GOTGINT);
1905 + u32 otgint = dwc2_readl(hsotg->regs + GOTGINT);
1906
1907 dev_info(hsotg->dev, "OTGInt: %08x\n", otgint);
1908
1909 - writel(otgint, hsotg->regs + GOTGINT);
1910 + dwc2_writel(otgint, hsotg->regs + GOTGINT);
1911 }
1912
1913 if (gintsts & GINTSTS_SESSREQINT) {
1914 dev_dbg(hsotg->dev, "%s: SessReqInt\n", __func__);
1915 - writel(GINTSTS_SESSREQINT, hsotg->regs + GINTSTS);
1916 + dwc2_writel(GINTSTS_SESSREQINT, hsotg->regs + GINTSTS);
1917 }
1918
1919 if (gintsts & GINTSTS_ENUMDONE) {
1920 - writel(GINTSTS_ENUMDONE, hsotg->regs + GINTSTS);
1921 + dwc2_writel(GINTSTS_ENUMDONE, hsotg->regs + GINTSTS);
1922
1923 s3c_hsotg_irq_enumdone(hsotg);
1924 }
1925
1926 if (gintsts & GINTSTS_CONIDSTSCHNG) {
1927 dev_dbg(hsotg->dev, "ConIDStsChg (DSTS=0x%08x, GOTCTL=%08x)\n",
1928 - readl(hsotg->regs + DSTS),
1929 - readl(hsotg->regs + GOTGCTL));
1930 + dwc2_readl(hsotg->regs + DSTS),
1931 + dwc2_readl(hsotg->regs + GOTGCTL));
1932
1933 - writel(GINTSTS_CONIDSTSCHNG, hsotg->regs + GINTSTS);
1934 + dwc2_writel(GINTSTS_CONIDSTSCHNG, hsotg->regs + GINTSTS);
1935 }
1936
1937 if (gintsts & (GINTSTS_OEPINT | GINTSTS_IEPINT)) {
1938 - u32 daint = readl(hsotg->regs + DAINT);
1939 - u32 daintmsk = readl(hsotg->regs + DAINTMSK);
1940 + u32 daint = dwc2_readl(hsotg->regs + DAINT);
1941 + u32 daintmsk = dwc2_readl(hsotg->regs + DAINTMSK);
1942 u32 daint_out, daint_in;
1943 int ep;
1944
1945 @@ -2325,13 +2325,13 @@ irq_retry:
1946
1947 if (gintsts & GINTSTS_USBRST) {
1948
1949 - u32 usb_status = readl(hsotg->regs + GOTGCTL);
1950 + u32 usb_status = dwc2_readl(hsotg->regs + GOTGCTL);
1951
1952 dev_dbg(hsotg->dev, "%s: USBRst\n", __func__);
1953 dev_dbg(hsotg->dev, "GNPTXSTS=%08x\n",
1954 - readl(hsotg->regs + GNPTXSTS));
1955 + dwc2_readl(hsotg->regs + GNPTXSTS));
1956
1957 - writel(GINTSTS_USBRST, hsotg->regs + GINTSTS);
1958 + dwc2_writel(GINTSTS_USBRST, hsotg->regs + GINTSTS);
1959
1960 if (usb_status & GOTGCTL_BSESVLD) {
1961 if (time_after(jiffies, hsotg->last_rst +
1962 @@ -2382,26 +2382,26 @@ irq_retry:
1963
1964 if (gintsts & GINTSTS_MODEMIS) {
1965 dev_warn(hsotg->dev, "warning, mode mismatch triggered\n");
1966 - writel(GINTSTS_MODEMIS, hsotg->regs + GINTSTS);
1967 + dwc2_writel(GINTSTS_MODEMIS, hsotg->regs + GINTSTS);
1968 }
1969
1970 if (gintsts & GINTSTS_USBSUSP) {
1971 dev_info(hsotg->dev, "GINTSTS_USBSusp\n");
1972 - writel(GINTSTS_USBSUSP, hsotg->regs + GINTSTS);
1973 + dwc2_writel(GINTSTS_USBSUSP, hsotg->regs + GINTSTS);
1974
1975 call_gadget(hsotg, suspend);
1976 }
1977
1978 if (gintsts & GINTSTS_WKUPINT) {
1979 dev_info(hsotg->dev, "GINTSTS_WkUpIn\n");
1980 - writel(GINTSTS_WKUPINT, hsotg->regs + GINTSTS);
1981 + dwc2_writel(GINTSTS_WKUPINT, hsotg->regs + GINTSTS);
1982
1983 call_gadget(hsotg, resume);
1984 }
1985
1986 if (gintsts & GINTSTS_ERLYSUSP) {
1987 dev_dbg(hsotg->dev, "GINTSTS_ErlySusp\n");
1988 - writel(GINTSTS_ERLYSUSP, hsotg->regs + GINTSTS);
1989 + dwc2_writel(GINTSTS_ERLYSUSP, hsotg->regs + GINTSTS);
1990 }
1991
1992 /*
1993 @@ -2413,7 +2413,7 @@ irq_retry:
1994 if (gintsts & GINTSTS_GOUTNAKEFF) {
1995 dev_info(hsotg->dev, "GOUTNakEff triggered\n");
1996
1997 - writel(DCTL_CGOUTNAK, hsotg->regs + DCTL);
1998 + dwc2_writel(DCTL_CGOUTNAK, hsotg->regs + DCTL);
1999
2000 s3c_hsotg_dump(hsotg);
2001 }
2002 @@ -2421,7 +2421,7 @@ irq_retry:
2003 if (gintsts & GINTSTS_GINNAKEFF) {
2004 dev_info(hsotg->dev, "GINNakEff triggered\n");
2005
2006 - writel(DCTL_CGNPINNAK, hsotg->regs + DCTL);
2007 + dwc2_writel(DCTL_CGNPINNAK, hsotg->regs + DCTL);
2008
2009 s3c_hsotg_dump(hsotg);
2010 }
2011 @@ -2479,7 +2479,7 @@ static int s3c_hsotg_ep_enable(struct us
2012 /* note, we handle this here instead of s3c_hsotg_set_ep_maxpacket */
2013
2014 epctrl_reg = dir_in ? DIEPCTL(index) : DOEPCTL(index);
2015 - epctrl = readl(hsotg->regs + epctrl_reg);
2016 + epctrl = dwc2_readl(hsotg->regs + epctrl_reg);
2017
2018 dev_dbg(hsotg->dev, "%s: read DxEPCTL=0x%08x from 0x%08x\n",
2019 __func__, epctrl, epctrl_reg);
2020 @@ -2550,7 +2550,7 @@ static int s3c_hsotg_ep_enable(struct us
2021 for (i = 1; i <= 8; ++i) {
2022 if (hsotg->fifo_map & (1<<i))
2023 continue;
2024 - val = readl(hsotg->regs + DPTXFSIZN(i));
2025 + val = dwc2_readl(hsotg->regs + DPTXFSIZN(i));
2026 val = (val >> FIFOSIZE_DEPTH_SHIFT)*4;
2027 if (val < size)
2028 continue;
2029 @@ -2574,9 +2574,9 @@ static int s3c_hsotg_ep_enable(struct us
2030 dev_dbg(hsotg->dev, "%s: write DxEPCTL=0x%08x\n",
2031 __func__, epctrl);
2032
2033 - writel(epctrl, hsotg->regs + epctrl_reg);
2034 + dwc2_writel(epctrl, hsotg->regs + epctrl_reg);
2035 dev_dbg(hsotg->dev, "%s: read DxEPCTL=0x%08x\n",
2036 - __func__, readl(hsotg->regs + epctrl_reg));
2037 + __func__, dwc2_readl(hsotg->regs + epctrl_reg));
2038
2039 /* enable the endpoint interrupt */
2040 s3c_hsotg_ctrl_epint(hsotg, index, dir_in, 1);
2041 @@ -2617,13 +2617,13 @@ static int s3c_hsotg_ep_disable(struct u
2042 hs_ep->fifo_index = 0;
2043 hs_ep->fifo_size = 0;
2044
2045 - ctrl = readl(hsotg->regs + epctrl_reg);
2046 + ctrl = dwc2_readl(hsotg->regs + epctrl_reg);
2047 ctrl &= ~DXEPCTL_EPENA;
2048 ctrl &= ~DXEPCTL_USBACTEP;
2049 ctrl |= DXEPCTL_SNAK;
2050
2051 dev_dbg(hsotg->dev, "%s: DxEPCTL=0x%08x\n", __func__, ctrl);
2052 - writel(ctrl, hsotg->regs + epctrl_reg);
2053 + dwc2_writel(ctrl, hsotg->regs + epctrl_reg);
2054
2055 /* disable endpoint interrupts */
2056 s3c_hsotg_ctrl_epint(hsotg, hs_ep->index, hs_ep->dir_in, 0);
2057 @@ -2704,7 +2704,7 @@ static int s3c_hsotg_ep_sethalt(struct u
2058 /* write both IN and OUT control registers */
2059
2060 epreg = DIEPCTL(index);
2061 - epctl = readl(hs->regs + epreg);
2062 + epctl = dwc2_readl(hs->regs + epreg);
2063
2064 if (value) {
2065 epctl |= DXEPCTL_STALL + DXEPCTL_SNAK;
2066 @@ -2718,10 +2718,10 @@ static int s3c_hsotg_ep_sethalt(struct u
2067 epctl |= DXEPCTL_SETD0PID;
2068 }
2069
2070 - writel(epctl, hs->regs + epreg);
2071 + dwc2_writel(epctl, hs->regs + epreg);
2072
2073 epreg = DOEPCTL(index);
2074 - epctl = readl(hs->regs + epreg);
2075 + epctl = dwc2_readl(hs->regs + epreg);
2076
2077 if (value)
2078 epctl |= DXEPCTL_STALL;
2079 @@ -2733,7 +2733,7 @@ static int s3c_hsotg_ep_sethalt(struct u
2080 epctl |= DXEPCTL_SETD0PID;
2081 }
2082
2083 - writel(epctl, hs->regs + epreg);
2084 + dwc2_writel(epctl, hs->regs + epreg);
2085
2086 hs_ep->halted = value;
2087
2088 @@ -2822,38 +2822,38 @@ static void s3c_hsotg_init(struct s3c_hs
2089 {
2090 /* unmask subset of endpoint interrupts */
2091
2092 - writel(DIEPMSK_TIMEOUTMSK | DIEPMSK_AHBERRMSK |
2093 + dwc2_writel(DIEPMSK_TIMEOUTMSK | DIEPMSK_AHBERRMSK |
2094 DIEPMSK_EPDISBLDMSK | DIEPMSK_XFERCOMPLMSK,
2095 hsotg->regs + DIEPMSK);
2096
2097 - writel(DOEPMSK_SETUPMSK | DOEPMSK_AHBERRMSK |
2098 + dwc2_writel(DOEPMSK_SETUPMSK | DOEPMSK_AHBERRMSK |
2099 DOEPMSK_EPDISBLDMSK | DOEPMSK_XFERCOMPLMSK,
2100 hsotg->regs + DOEPMSK);
2101
2102 - writel(0, hsotg->regs + DAINTMSK);
2103 + dwc2_writel(0, hsotg->regs + DAINTMSK);
2104
2105 /* Be in disconnected state until gadget is registered */
2106 __orr32(hsotg->regs + DCTL, DCTL_SFTDISCON);
2107
2108 if (0) {
2109 /* post global nak until we're ready */
2110 - writel(DCTL_SGNPINNAK | DCTL_SGOUTNAK,
2111 + dwc2_writel(DCTL_SGNPINNAK | DCTL_SGOUTNAK,
2112 hsotg->regs + DCTL);
2113 }
2114
2115 /* setup fifos */
2116
2117 dev_dbg(hsotg->dev, "GRXFSIZ=0x%08x, GNPTXFSIZ=0x%08x\n",
2118 - readl(hsotg->regs + GRXFSIZ),
2119 - readl(hsotg->regs + GNPTXFSIZ));
2120 + dwc2_readl(hsotg->regs + GRXFSIZ),
2121 + dwc2_readl(hsotg->regs + GNPTXFSIZ));
2122
2123 s3c_hsotg_init_fifo(hsotg);
2124
2125 /* set the PLL on, remove the HNP/SRP and set the PHY */
2126 - writel(GUSBCFG_PHYIF16 | GUSBCFG_TOUTCAL(7) | (0x5 << 10),
2127 + dwc2_writel(GUSBCFG_PHYIF16 | GUSBCFG_TOUTCAL(7) | (0x5 << 10),
2128 hsotg->regs + GUSBCFG);
2129
2130 - writel(using_dma(hsotg) ? GAHBCFG_DMA_EN : 0x0,
2131 + dwc2_writel(using_dma(hsotg) ? GAHBCFG_DMA_EN : 0x0,
2132 hsotg->regs + GAHBCFG);
2133 }
2134
2135 @@ -3045,8 +3045,8 @@ static void s3c_hsotg_initep(struct s3c_
2136
2137 if (using_dma(hsotg)) {
2138 u32 next = DXEPCTL_NEXTEP((epnum + 1) % 15);
2139 - writel(next, hsotg->regs + DIEPCTL(epnum));
2140 - writel(next, hsotg->regs + DOEPCTL(epnum));
2141 + dwc2_writel(next, hsotg->regs + DIEPCTL(epnum));
2142 + dwc2_writel(next, hsotg->regs + DOEPCTL(epnum));
2143 }
2144 }
2145
2146 @@ -3061,13 +3061,13 @@ static void s3c_hsotg_hw_cfg(struct s3c_
2147 u32 cfg2, cfg3, cfg4;
2148 /* check hardware configuration */
2149
2150 - cfg2 = readl(hsotg->regs + 0x48);
2151 + cfg2 = dwc2_readl(hsotg->regs + 0x48);
2152 hsotg->num_of_eps = (cfg2 >> 10) & 0xF;
2153
2154 - cfg3 = readl(hsotg->regs + 0x4C);
2155 + cfg3 = dwc2_readl(hsotg->regs + 0x4C);
2156 hsotg->fifo_mem = (cfg3 >> 16);
2157
2158 - cfg4 = readl(hsotg->regs + 0x50);
2159 + cfg4 = dwc2_readl(hsotg->regs + 0x50);
2160 hsotg->dedicated_fifos = (cfg4 >> 25) & 1;
2161
2162 dev_info(hsotg->dev, "EPs: %d, %s fifos, %d entries in SPRAM\n",
2163 @@ -3089,19 +3089,19 @@ static void s3c_hsotg_dump(struct s3c_hs
2164 int idx;
2165
2166 dev_info(dev, "DCFG=0x%08x, DCTL=0x%08x, DIEPMSK=%08x\n",
2167 - readl(regs + DCFG), readl(regs + DCTL),
2168 - readl(regs + DIEPMSK));
2169 + dwc2_readl(regs + DCFG), dwc2_readl(regs + DCTL),
2170 + dwc2_readl(regs + DIEPMSK));
2171
2172 dev_info(dev, "GAHBCFG=0x%08x, 0x44=0x%08x\n",
2173 - readl(regs + GAHBCFG), readl(regs + 0x44));
2174 + dwc2_readl(regs + GAHBCFG), dwc2_readl(regs + 0x44));
2175
2176 dev_info(dev, "GRXFSIZ=0x%08x, GNPTXFSIZ=0x%08x\n",
2177 - readl(regs + GRXFSIZ), readl(regs + GNPTXFSIZ));
2178 + dwc2_readl(regs + GRXFSIZ), dwc2_readl(regs + GNPTXFSIZ));
2179
2180 /* show periodic fifo settings */
2181
2182 for (idx = 1; idx <= 15; idx++) {
2183 - val = readl(regs + DPTXFSIZN(idx));
2184 + val = dwc2_readl(regs + DPTXFSIZN(idx));
2185 dev_info(dev, "DPTx[%d] FSize=%d, StAddr=0x%08x\n", idx,
2186 val >> FIFOSIZE_DEPTH_SHIFT,
2187 val & FIFOSIZE_STARTADDR_MASK);
2188 @@ -3110,21 +3110,21 @@ static void s3c_hsotg_dump(struct s3c_hs
2189 for (idx = 0; idx < 15; idx++) {
2190 dev_info(dev,
2191 "ep%d-in: EPCTL=0x%08x, SIZ=0x%08x, DMA=0x%08x\n", idx,
2192 - readl(regs + DIEPCTL(idx)),
2193 - readl(regs + DIEPTSIZ(idx)),
2194 - readl(regs + DIEPDMA(idx)));
2195 + dwc2_readl(regs + DIEPCTL(idx)),
2196 + dwc2_readl(regs + DIEPTSIZ(idx)),
2197 + dwc2_readl(regs + DIEPDMA(idx)));
2198
2199 - val = readl(regs + DOEPCTL(idx));
2200 + val = dwc2_readl(regs + DOEPCTL(idx));
2201 dev_info(dev,
2202 "ep%d-out: EPCTL=0x%08x, SIZ=0x%08x, DMA=0x%08x\n",
2203 - idx, readl(regs + DOEPCTL(idx)),
2204 - readl(regs + DOEPTSIZ(idx)),
2205 - readl(regs + DOEPDMA(idx)));
2206 + idx, dwc2_readl(regs + DOEPCTL(idx)),
2207 + dwc2_readl(regs + DOEPTSIZ(idx)),
2208 + dwc2_readl(regs + DOEPDMA(idx)));
2209
2210 }
2211
2212 dev_info(dev, "DVBUSDIS=0x%08x, DVBUSPULSE=%08x\n",
2213 - readl(regs + DVBUSDIS), readl(regs + DVBUSPULSE));
2214 + dwc2_readl(regs + DVBUSDIS), dwc2_readl(regs + DVBUSPULSE));
2215 #endif
2216 }
2217
2218 @@ -3144,38 +3144,38 @@ static int state_show(struct seq_file *s
2219 int idx;
2220
2221 seq_printf(seq, "DCFG=0x%08x, DCTL=0x%08x, DSTS=0x%08x\n",
2222 - readl(regs + DCFG),
2223 - readl(regs + DCTL),
2224 - readl(regs + DSTS));
2225 + dwc2_readl(regs + DCFG),
2226 + dwc2_readl(regs + DCTL),
2227 + dwc2_readl(regs + DSTS));
2228
2229 seq_printf(seq, "DIEPMSK=0x%08x, DOEPMASK=0x%08x\n",
2230 - readl(regs + DIEPMSK), readl(regs + DOEPMSK));
2231 + dwc2_readl(regs + DIEPMSK), dwc2_readl(regs + DOEPMSK));
2232
2233 seq_printf(seq, "GINTMSK=0x%08x, GINTSTS=0x%08x\n",
2234 - readl(regs + GINTMSK),
2235 - readl(regs + GINTSTS));
2236 + dwc2_readl(regs + GINTMSK),
2237 + dwc2_readl(regs + GINTSTS));
2238
2239 seq_printf(seq, "DAINTMSK=0x%08x, DAINT=0x%08x\n",
2240 - readl(regs + DAINTMSK),
2241 - readl(regs + DAINT));
2242 + dwc2_readl(regs + DAINTMSK),
2243 + dwc2_readl(regs + DAINT));
2244
2245 seq_printf(seq, "GNPTXSTS=0x%08x, GRXSTSR=%08x\n",
2246 - readl(regs + GNPTXSTS),
2247 - readl(regs + GRXSTSR));
2248 + dwc2_readl(regs + GNPTXSTS),
2249 + dwc2_readl(regs + GRXSTSR));
2250
2251 seq_puts(seq, "\nEndpoint status:\n");
2252
2253 for (idx = 0; idx < 15; idx++) {
2254 u32 in, out;
2255
2256 - in = readl(regs + DIEPCTL(idx));
2257 - out = readl(regs + DOEPCTL(idx));
2258 + in = dwc2_readl(regs + DIEPCTL(idx));
2259 + out = dwc2_readl(regs + DOEPCTL(idx));
2260
2261 seq_printf(seq, "ep%d: DIEPCTL=0x%08x, DOEPCTL=0x%08x",
2262 idx, in, out);
2263
2264 - in = readl(regs + DIEPTSIZ(idx));
2265 - out = readl(regs + DOEPTSIZ(idx));
2266 + in = dwc2_readl(regs + DIEPTSIZ(idx));
2267 + out = dwc2_readl(regs + DOEPTSIZ(idx));
2268
2269 seq_printf(seq, ", DIEPTSIZ=0x%08x, DOEPTSIZ=0x%08x",
2270 in, out);
2271 @@ -3215,9 +3215,9 @@ static int fifo_show(struct seq_file *se
2272 int idx;
2273
2274 seq_puts(seq, "Non-periodic FIFOs:\n");
2275 - seq_printf(seq, "RXFIFO: Size %d\n", readl(regs + GRXFSIZ));
2276 + seq_printf(seq, "RXFIFO: Size %d\n", dwc2_readl(regs + GRXFSIZ));
2277
2278 - val = readl(regs + GNPTXFSIZ);
2279 + val = dwc2_readl(regs + GNPTXFSIZ);
2280 seq_printf(seq, "NPTXFIFO: Size %d, Start 0x%08x\n",
2281 val >> FIFOSIZE_DEPTH_SHIFT,
2282 val & FIFOSIZE_DEPTH_MASK);
2283 @@ -3225,7 +3225,7 @@ static int fifo_show(struct seq_file *se
2284 seq_puts(seq, "\nPeriodic TXFIFOs:\n");
2285
2286 for (idx = 1; idx <= 15; idx++) {
2287 - val = readl(regs + DPTXFSIZN(idx));
2288 + val = dwc2_readl(regs + DPTXFSIZN(idx));
2289
2290 seq_printf(seq, "\tDPTXFIFO%2d: Size %d, Start 0x%08x\n", idx,
2291 val >> FIFOSIZE_DEPTH_SHIFT,
2292 @@ -3278,20 +3278,20 @@ static int ep_show(struct seq_file *seq,
2293 /* first show the register state */
2294
2295 seq_printf(seq, "\tDIEPCTL=0x%08x, DOEPCTL=0x%08x\n",
2296 - readl(regs + DIEPCTL(index)),
2297 - readl(regs + DOEPCTL(index)));
2298 + dwc2_readl(regs + DIEPCTL(index)),
2299 + dwc2_readl(regs + DOEPCTL(index)));
2300
2301 seq_printf(seq, "\tDIEPDMA=0x%08x, DOEPDMA=0x%08x\n",
2302 - readl(regs + DIEPDMA(index)),
2303 - readl(regs + DOEPDMA(index)));
2304 + dwc2_readl(regs + DIEPDMA(index)),
2305 + dwc2_readl(regs + DOEPDMA(index)));
2306
2307 seq_printf(seq, "\tDIEPINT=0x%08x, DOEPINT=0x%08x\n",
2308 - readl(regs + DIEPINT(index)),
2309 - readl(regs + DOEPINT(index)));
2310 + dwc2_readl(regs + DIEPINT(index)),
2311 + dwc2_readl(regs + DOEPINT(index)));
2312
2313 seq_printf(seq, "\tDIEPTSIZ=0x%08x, DOEPTSIZ=0x%08x\n",
2314 - readl(regs + DIEPTSIZ(index)),
2315 - readl(regs + DOEPTSIZ(index)));
2316 + dwc2_readl(regs + DIEPTSIZ(index)),
2317 + dwc2_readl(regs + DOEPTSIZ(index)));
2318
2319 seq_puts(seq, "\n");
2320 seq_printf(seq, "mps %d\n", ep->ep.maxpacket);
2321 --- a/drivers/usb/dwc2/hcd.c
2322 +++ b/drivers/usb/dwc2/hcd.c
2323 @@ -80,10 +80,10 @@ static void dwc2_dump_channel_info(struc
2324 if (chan == NULL)
2325 return;
2326
2327 - hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num));
2328 - hcsplt = readl(hsotg->regs + HCSPLT(chan->hc_num));
2329 - hctsiz = readl(hsotg->regs + HCTSIZ(chan->hc_num));
2330 - hc_dma = readl(hsotg->regs + HCDMA(chan->hc_num));
2331 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chan->hc_num));
2332 + hcsplt = dwc2_readl(hsotg->regs + HCSPLT(chan->hc_num));
2333 + hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chan->hc_num));
2334 + hc_dma = dwc2_readl(hsotg->regs + HCDMA(chan->hc_num));
2335
2336 dev_dbg(hsotg->dev, " Assigned to channel %p:\n", chan);
2337 dev_dbg(hsotg->dev, " hcchar 0x%08x, hcsplt 0x%08x\n",
2338 @@ -207,7 +207,7 @@ void dwc2_hcd_start(struct dwc2_hsotg *h
2339 */
2340 hprt0 = dwc2_read_hprt0(hsotg);
2341 hprt0 |= HPRT0_RST;
2342 - writel(hprt0, hsotg->regs + HPRT0);
2343 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2344 }
2345
2346 queue_delayed_work(hsotg->wq_otg, &hsotg->start_work,
2347 @@ -228,11 +228,11 @@ static void dwc2_hcd_cleanup_channels(st
2348 channel = hsotg->hc_ptr_array[i];
2349 if (!list_empty(&channel->hc_list_entry))
2350 continue;
2351 - hcchar = readl(hsotg->regs + HCCHAR(i));
2352 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(i));
2353 if (hcchar & HCCHAR_CHENA) {
2354 hcchar &= ~(HCCHAR_CHENA | HCCHAR_EPDIR);
2355 hcchar |= HCCHAR_CHDIS;
2356 - writel(hcchar, hsotg->regs + HCCHAR(i));
2357 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(i));
2358 }
2359 }
2360 }
2361 @@ -241,11 +241,11 @@ static void dwc2_hcd_cleanup_channels(st
2362 channel = hsotg->hc_ptr_array[i];
2363 if (!list_empty(&channel->hc_list_entry))
2364 continue;
2365 - hcchar = readl(hsotg->regs + HCCHAR(i));
2366 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(i));
2367 if (hcchar & HCCHAR_CHENA) {
2368 /* Halt the channel */
2369 hcchar |= HCCHAR_CHDIS;
2370 - writel(hcchar, hsotg->regs + HCCHAR(i));
2371 + dwc2_writel(hcchar, hsotg->regs + HCCHAR(i));
2372 }
2373
2374 dwc2_hc_cleanup(hsotg, channel);
2375 @@ -279,11 +279,11 @@ void dwc2_hcd_disconnect(struct dwc2_hso
2376 * interrupt mask and status bits and disabling subsequent host
2377 * channel interrupts.
2378 */
2379 - intr = readl(hsotg->regs + GINTMSK);
2380 + intr = dwc2_readl(hsotg->regs + GINTMSK);
2381 intr &= ~(GINTSTS_NPTXFEMP | GINTSTS_PTXFEMP | GINTSTS_HCHINT);
2382 - writel(intr, hsotg->regs + GINTMSK);
2383 + dwc2_writel(intr, hsotg->regs + GINTMSK);
2384 intr = GINTSTS_NPTXFEMP | GINTSTS_PTXFEMP | GINTSTS_HCHINT;
2385 - writel(intr, hsotg->regs + GINTSTS);
2386 + dwc2_writel(intr, hsotg->regs + GINTSTS);
2387
2388 /*
2389 * Turn off the vbus power only if the core has transitioned to device
2390 @@ -293,7 +293,7 @@ void dwc2_hcd_disconnect(struct dwc2_hso
2391 if (dwc2_is_device_mode(hsotg)) {
2392 if (hsotg->op_state != OTG_STATE_A_SUSPEND) {
2393 dev_dbg(hsotg->dev, "Disconnect: PortPower off\n");
2394 - writel(0, hsotg->regs + HPRT0);
2395 + dwc2_writel(0, hsotg->regs + HPRT0);
2396 }
2397
2398 dwc2_disable_host_interrupts(hsotg);
2399 @@ -344,7 +344,7 @@ void dwc2_hcd_stop(struct dwc2_hsotg *hs
2400
2401 /* Turn off the vbus power */
2402 dev_dbg(hsotg->dev, "PortPower off\n");
2403 - writel(0, hsotg->regs + HPRT0);
2404 + dwc2_writel(0, hsotg->regs + HPRT0);
2405 }
2406
2407 static int dwc2_hcd_urb_enqueue(struct dwc2_hsotg *hsotg,
2408 @@ -369,7 +369,7 @@ static int dwc2_hcd_urb_enqueue(struct d
2409 if ((dev_speed == USB_SPEED_LOW) &&
2410 (hsotg->hw_params.fs_phy_type == GHWCFG2_FS_PHY_TYPE_DEDICATED) &&
2411 (hsotg->hw_params.hs_phy_type == GHWCFG2_HS_PHY_TYPE_UTMI)) {
2412 - u32 hprt0 = readl(hsotg->regs + HPRT0);
2413 + u32 hprt0 = dwc2_readl(hsotg->regs + HPRT0);
2414 u32 prtspd = (hprt0 & HPRT0_SPD_MASK) >> HPRT0_SPD_SHIFT;
2415
2416 if (prtspd == HPRT0_SPD_FULL_SPEED)
2417 @@ -391,7 +391,7 @@ static int dwc2_hcd_urb_enqueue(struct d
2418 return retval;
2419 }
2420
2421 - intr_mask = readl(hsotg->regs + GINTMSK);
2422 + intr_mask = dwc2_readl(hsotg->regs + GINTMSK);
2423 if (!(intr_mask & GINTSTS_SOF)) {
2424 enum dwc2_transaction_type tr_type;
2425
2426 @@ -1059,7 +1059,7 @@ static void dwc2_process_periodic_channe
2427 if (dbg_perio())
2428 dev_vdbg(hsotg->dev, "Queue periodic transactions\n");
2429
2430 - tx_status = readl(hsotg->regs + HPTXSTS);
2431 + tx_status = dwc2_readl(hsotg->regs + HPTXSTS);
2432 qspcavail = (tx_status & TXSTS_QSPCAVAIL_MASK) >>
2433 TXSTS_QSPCAVAIL_SHIFT;
2434 fspcavail = (tx_status & TXSTS_FSPCAVAIL_MASK) >>
2435 @@ -1074,7 +1074,7 @@ static void dwc2_process_periodic_channe
2436
2437 qh_ptr = hsotg->periodic_sched_assigned.next;
2438 while (qh_ptr != &hsotg->periodic_sched_assigned) {
2439 - tx_status = readl(hsotg->regs + HPTXSTS);
2440 + tx_status = dwc2_readl(hsotg->regs + HPTXSTS);
2441 qspcavail = (tx_status & TXSTS_QSPCAVAIL_MASK) >>
2442 TXSTS_QSPCAVAIL_SHIFT;
2443 if (qspcavail == 0) {
2444 @@ -1134,7 +1134,7 @@ static void dwc2_process_periodic_channe
2445 }
2446
2447 if (hsotg->core_params->dma_enable <= 0) {
2448 - tx_status = readl(hsotg->regs + HPTXSTS);
2449 + tx_status = dwc2_readl(hsotg->regs + HPTXSTS);
2450 qspcavail = (tx_status & TXSTS_QSPCAVAIL_MASK) >>
2451 TXSTS_QSPCAVAIL_SHIFT;
2452 fspcavail = (tx_status & TXSTS_FSPCAVAIL_MASK) >>
2453 @@ -1157,9 +1157,9 @@ static void dwc2_process_periodic_channe
2454 * level to ensure that new requests are loaded as
2455 * soon as possible.)
2456 */
2457 - gintmsk = readl(hsotg->regs + GINTMSK);
2458 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
2459 gintmsk |= GINTSTS_PTXFEMP;
2460 - writel(gintmsk, hsotg->regs + GINTMSK);
2461 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
2462 } else {
2463 /*
2464 * Disable the Tx FIFO empty interrupt since there are
2465 @@ -1168,9 +1168,9 @@ static void dwc2_process_periodic_channe
2466 * handlers to queue more transactions as transfer
2467 * states change.
2468 */
2469 - gintmsk = readl(hsotg->regs + GINTMSK);
2470 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
2471 gintmsk &= ~GINTSTS_PTXFEMP;
2472 - writel(gintmsk, hsotg->regs + GINTMSK);
2473 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
2474 }
2475 }
2476 }
2477 @@ -1199,7 +1199,7 @@ static void dwc2_process_non_periodic_ch
2478
2479 dev_vdbg(hsotg->dev, "Queue non-periodic transactions\n");
2480
2481 - tx_status = readl(hsotg->regs + GNPTXSTS);
2482 + tx_status = dwc2_readl(hsotg->regs + GNPTXSTS);
2483 qspcavail = (tx_status & TXSTS_QSPCAVAIL_MASK) >>
2484 TXSTS_QSPCAVAIL_SHIFT;
2485 fspcavail = (tx_status & TXSTS_FSPCAVAIL_MASK) >>
2486 @@ -1222,7 +1222,7 @@ static void dwc2_process_non_periodic_ch
2487 * available in the request queue or the Tx FIFO
2488 */
2489 do {
2490 - tx_status = readl(hsotg->regs + GNPTXSTS);
2491 + tx_status = dwc2_readl(hsotg->regs + GNPTXSTS);
2492 qspcavail = (tx_status & TXSTS_QSPCAVAIL_MASK) >>
2493 TXSTS_QSPCAVAIL_SHIFT;
2494 if (hsotg->core_params->dma_enable <= 0 && qspcavail == 0) {
2495 @@ -1259,7 +1259,7 @@ next:
2496 } while (hsotg->non_periodic_qh_ptr != orig_qh_ptr);
2497
2498 if (hsotg->core_params->dma_enable <= 0) {
2499 - tx_status = readl(hsotg->regs + GNPTXSTS);
2500 + tx_status = dwc2_readl(hsotg->regs + GNPTXSTS);
2501 qspcavail = (tx_status & TXSTS_QSPCAVAIL_MASK) >>
2502 TXSTS_QSPCAVAIL_SHIFT;
2503 fspcavail = (tx_status & TXSTS_FSPCAVAIL_MASK) >>
2504 @@ -1279,9 +1279,9 @@ next:
2505 * level to ensure that new requests are loaded as
2506 * soon as possible.)
2507 */
2508 - gintmsk = readl(hsotg->regs + GINTMSK);
2509 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
2510 gintmsk |= GINTSTS_NPTXFEMP;
2511 - writel(gintmsk, hsotg->regs + GINTMSK);
2512 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
2513 } else {
2514 /*
2515 * Disable the Tx FIFO empty interrupt since there are
2516 @@ -1290,9 +1290,9 @@ next:
2517 * handlers to queue more transactions as transfer
2518 * states change.
2519 */
2520 - gintmsk = readl(hsotg->regs + GINTMSK);
2521 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
2522 gintmsk &= ~GINTSTS_NPTXFEMP;
2523 - writel(gintmsk, hsotg->regs + GINTMSK);
2524 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
2525 }
2526 }
2527 }
2528 @@ -1330,10 +1330,10 @@ void dwc2_hcd_queue_transactions(struct
2529 * Ensure NP Tx FIFO empty interrupt is disabled when
2530 * there are no non-periodic transfers to process
2531 */
2532 - u32 gintmsk = readl(hsotg->regs + GINTMSK);
2533 + u32 gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
2534
2535 gintmsk &= ~GINTSTS_NPTXFEMP;
2536 - writel(gintmsk, hsotg->regs + GINTMSK);
2537 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
2538 }
2539 }
2540 }
2541 @@ -1347,7 +1347,7 @@ static void dwc2_conn_id_status_change(s
2542
2543 dev_dbg(hsotg->dev, "%s()\n", __func__);
2544
2545 - gotgctl = readl(hsotg->regs + GOTGCTL);
2546 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
2547 dev_dbg(hsotg->dev, "gotgctl=%0x\n", gotgctl);
2548 dev_dbg(hsotg->dev, "gotgctl.b.conidsts=%d\n",
2549 !!(gotgctl & GOTGCTL_CONID_B));
2550 @@ -1408,9 +1408,9 @@ static void dwc2_wakeup_detected(unsigne
2551 hprt0 = dwc2_read_hprt0(hsotg);
2552 dev_dbg(hsotg->dev, "Resume: HPRT0=%0x\n", hprt0);
2553 hprt0 &= ~HPRT0_RES;
2554 - writel(hprt0, hsotg->regs + HPRT0);
2555 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2556 dev_dbg(hsotg->dev, "Clear Resume: HPRT0=%0x\n",
2557 - readl(hsotg->regs + HPRT0));
2558 + dwc2_readl(hsotg->regs + HPRT0));
2559
2560 dwc2_hcd_rem_wakeup(hsotg);
2561
2562 @@ -1438,30 +1438,30 @@ static void dwc2_port_suspend(struct dwc
2563 spin_lock_irqsave(&hsotg->lock, flags);
2564
2565 if (windex == hsotg->otg_port && dwc2_host_is_b_hnp_enabled(hsotg)) {
2566 - gotgctl = readl(hsotg->regs + GOTGCTL);
2567 + gotgctl = dwc2_readl(hsotg->regs + GOTGCTL);
2568 gotgctl |= GOTGCTL_HSTSETHNPEN;
2569 - writel(gotgctl, hsotg->regs + GOTGCTL);
2570 + dwc2_writel(gotgctl, hsotg->regs + GOTGCTL);
2571 hsotg->op_state = OTG_STATE_A_SUSPEND;
2572 }
2573
2574 hprt0 = dwc2_read_hprt0(hsotg);
2575 hprt0 |= HPRT0_SUSP;
2576 - writel(hprt0, hsotg->regs + HPRT0);
2577 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2578
2579 /* Update lx_state */
2580 hsotg->lx_state = DWC2_L2;
2581
2582 /* Suspend the Phy Clock */
2583 - pcgctl = readl(hsotg->regs + PCGCTL);
2584 + pcgctl = dwc2_readl(hsotg->regs + PCGCTL);
2585 pcgctl |= PCGCTL_STOPPCLK;
2586 - writel(pcgctl, hsotg->regs + PCGCTL);
2587 + dwc2_writel(pcgctl, hsotg->regs + PCGCTL);
2588 udelay(10);
2589
2590 /* For HNP the bus must be suspended for at least 200ms */
2591 if (dwc2_host_is_b_hnp_enabled(hsotg)) {
2592 - pcgctl = readl(hsotg->regs + PCGCTL);
2593 + pcgctl = dwc2_readl(hsotg->regs + PCGCTL);
2594 pcgctl &= ~PCGCTL_STOPPCLK;
2595 - writel(pcgctl, hsotg->regs + PCGCTL);
2596 + dwc2_writel(pcgctl, hsotg->regs + PCGCTL);
2597
2598 spin_unlock_irqrestore(&hsotg->lock, flags);
2599
2600 @@ -1510,23 +1510,23 @@ static int dwc2_hcd_hub_control(struct d
2601 "ClearPortFeature USB_PORT_FEAT_ENABLE\n");
2602 hprt0 = dwc2_read_hprt0(hsotg);
2603 hprt0 |= HPRT0_ENA;
2604 - writel(hprt0, hsotg->regs + HPRT0);
2605 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2606 break;
2607
2608 case USB_PORT_FEAT_SUSPEND:
2609 dev_dbg(hsotg->dev,
2610 "ClearPortFeature USB_PORT_FEAT_SUSPEND\n");
2611 - writel(0, hsotg->regs + PCGCTL);
2612 + dwc2_writel(0, hsotg->regs + PCGCTL);
2613 msleep(USB_RESUME_TIMEOUT);
2614
2615 hprt0 = dwc2_read_hprt0(hsotg);
2616 hprt0 |= HPRT0_RES;
2617 - writel(hprt0, hsotg->regs + HPRT0);
2618 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2619 hprt0 &= ~HPRT0_SUSP;
2620 usleep_range(100000, 150000);
2621
2622 hprt0 &= ~HPRT0_RES;
2623 - writel(hprt0, hsotg->regs + HPRT0);
2624 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2625 break;
2626
2627 case USB_PORT_FEAT_POWER:
2628 @@ -1534,7 +1534,7 @@ static int dwc2_hcd_hub_control(struct d
2629 "ClearPortFeature USB_PORT_FEAT_POWER\n");
2630 hprt0 = dwc2_read_hprt0(hsotg);
2631 hprt0 &= ~HPRT0_PWR;
2632 - writel(hprt0, hsotg->regs + HPRT0);
2633 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2634 break;
2635
2636 case USB_PORT_FEAT_INDICATOR:
2637 @@ -1653,7 +1653,7 @@ static int dwc2_hcd_hub_control(struct d
2638 break;
2639 }
2640
2641 - hprt0 = readl(hsotg->regs + HPRT0);
2642 + hprt0 = dwc2_readl(hsotg->regs + HPRT0);
2643 dev_vdbg(hsotg->dev, " HPRT0: 0x%08x\n", hprt0);
2644
2645 if (hprt0 & HPRT0_CONNSTS)
2646 @@ -1718,18 +1718,18 @@ static int dwc2_hcd_hub_control(struct d
2647 "SetPortFeature - USB_PORT_FEAT_POWER\n");
2648 hprt0 = dwc2_read_hprt0(hsotg);
2649 hprt0 |= HPRT0_PWR;
2650 - writel(hprt0, hsotg->regs + HPRT0);
2651 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2652 break;
2653
2654 case USB_PORT_FEAT_RESET:
2655 hprt0 = dwc2_read_hprt0(hsotg);
2656 dev_dbg(hsotg->dev,
2657 "SetPortFeature - USB_PORT_FEAT_RESET\n");
2658 - pcgctl = readl(hsotg->regs + PCGCTL);
2659 + pcgctl = dwc2_readl(hsotg->regs + PCGCTL);
2660 pcgctl &= ~(PCGCTL_ENBL_SLEEP_GATING | PCGCTL_STOPPCLK);
2661 - writel(pcgctl, hsotg->regs + PCGCTL);
2662 + dwc2_writel(pcgctl, hsotg->regs + PCGCTL);
2663 /* ??? Original driver does this */
2664 - writel(0, hsotg->regs + PCGCTL);
2665 + dwc2_writel(0, hsotg->regs + PCGCTL);
2666
2667 hprt0 = dwc2_read_hprt0(hsotg);
2668 /* Clear suspend bit if resetting from suspend state */
2669 @@ -1744,13 +1744,13 @@ static int dwc2_hcd_hub_control(struct d
2670 hprt0 |= HPRT0_PWR | HPRT0_RST;
2671 dev_dbg(hsotg->dev,
2672 "In host mode, hprt0=%08x\n", hprt0);
2673 - writel(hprt0, hsotg->regs + HPRT0);
2674 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2675 }
2676
2677 /* Clear reset bit in 10ms (FS/LS) or 50ms (HS) */
2678 usleep_range(50000, 70000);
2679 hprt0 &= ~HPRT0_RST;
2680 - writel(hprt0, hsotg->regs + HPRT0);
2681 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2682 hsotg->lx_state = DWC2_L0; /* Now back to On state */
2683 break;
2684
2685 @@ -1814,7 +1814,7 @@ static int dwc2_hcd_is_status_changed(st
2686
2687 int dwc2_hcd_get_frame_number(struct dwc2_hsotg *hsotg)
2688 {
2689 - u32 hfnum = readl(hsotg->regs + HFNUM);
2690 + u32 hfnum = dwc2_readl(hsotg->regs + HFNUM);
2691
2692 #ifdef DWC2_DEBUG_SOF
2693 dev_vdbg(hsotg->dev, "DWC OTG HCD GET FRAME NUMBER %d\n",
2694 @@ -1917,11 +1917,11 @@ void dwc2_hcd_dump_state(struct dwc2_hso
2695 if (chan->xfer_started) {
2696 u32 hfnum, hcchar, hctsiz, hcint, hcintmsk;
2697
2698 - hfnum = readl(hsotg->regs + HFNUM);
2699 - hcchar = readl(hsotg->regs + HCCHAR(i));
2700 - hctsiz = readl(hsotg->regs + HCTSIZ(i));
2701 - hcint = readl(hsotg->regs + HCINT(i));
2702 - hcintmsk = readl(hsotg->regs + HCINTMSK(i));
2703 + hfnum = dwc2_readl(hsotg->regs + HFNUM);
2704 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(i));
2705 + hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(i));
2706 + hcint = dwc2_readl(hsotg->regs + HCINT(i));
2707 + hcintmsk = dwc2_readl(hsotg->regs + HCINTMSK(i));
2708 dev_dbg(hsotg->dev, " hfnum: 0x%08x\n", hfnum);
2709 dev_dbg(hsotg->dev, " hcchar: 0x%08x\n", hcchar);
2710 dev_dbg(hsotg->dev, " hctsiz: 0x%08x\n", hctsiz);
2711 @@ -1969,12 +1969,12 @@ void dwc2_hcd_dump_state(struct dwc2_hso
2712 dev_dbg(hsotg->dev, " periodic_channels: %d\n",
2713 hsotg->periodic_channels);
2714 dev_dbg(hsotg->dev, " periodic_usecs: %d\n", hsotg->periodic_usecs);
2715 - np_tx_status = readl(hsotg->regs + GNPTXSTS);
2716 + np_tx_status = dwc2_readl(hsotg->regs + GNPTXSTS);
2717 dev_dbg(hsotg->dev, " NP Tx Req Queue Space Avail: %d\n",
2718 (np_tx_status & TXSTS_QSPCAVAIL_MASK) >> TXSTS_QSPCAVAIL_SHIFT);
2719 dev_dbg(hsotg->dev, " NP Tx FIFO Space Avail: %d\n",
2720 (np_tx_status & TXSTS_FSPCAVAIL_MASK) >> TXSTS_FSPCAVAIL_SHIFT);
2721 - p_tx_status = readl(hsotg->regs + HPTXSTS);
2722 + p_tx_status = dwc2_readl(hsotg->regs + HPTXSTS);
2723 dev_dbg(hsotg->dev, " P Tx Req Queue Space Avail: %d\n",
2724 (p_tx_status & TXSTS_QSPCAVAIL_MASK) >> TXSTS_QSPCAVAIL_SHIFT);
2725 dev_dbg(hsotg->dev, " P Tx FIFO Space Avail: %d\n",
2726 @@ -2238,7 +2238,7 @@ static void dwc2_hcd_reset_func(struct w
2727 dev_dbg(hsotg->dev, "USB RESET function called\n");
2728 hprt0 = dwc2_read_hprt0(hsotg);
2729 hprt0 &= ~HPRT0_RST;
2730 - writel(hprt0, hsotg->regs + HPRT0);
2731 + dwc2_writel(hprt0, hsotg->regs + HPRT0);
2732 hsotg->flags.b.port_reset_change = 1;
2733 }
2734
2735 @@ -2715,17 +2715,17 @@ static void dwc2_hcd_free(struct dwc2_hs
2736 hsotg->status_buf = NULL;
2737 }
2738
2739 - ahbcfg = readl(hsotg->regs + GAHBCFG);
2740 + ahbcfg = dwc2_readl(hsotg->regs + GAHBCFG);
2741
2742 /* Disable all interrupts */
2743 ahbcfg &= ~GAHBCFG_GLBL_INTR_EN;
2744 - writel(ahbcfg, hsotg->regs + GAHBCFG);
2745 - writel(0, hsotg->regs + GINTMSK);
2746 + dwc2_writel(ahbcfg, hsotg->regs + GAHBCFG);
2747 + dwc2_writel(0, hsotg->regs + GINTMSK);
2748
2749 if (hsotg->hw_params.snpsid >= DWC2_CORE_REV_3_00a) {
2750 - dctl = readl(hsotg->regs + DCTL);
2751 + dctl = dwc2_readl(hsotg->regs + DCTL);
2752 dctl |= DCTL_SFTDISCON;
2753 - writel(dctl, hsotg->regs + DCTL);
2754 + dwc2_writel(dctl, hsotg->regs + DCTL);
2755 }
2756
2757 if (hsotg->wq_otg) {
2758 @@ -2788,7 +2788,7 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
2759
2760 retval = -ENOMEM;
2761
2762 - hcfg = readl(hsotg->regs + HCFG);
2763 + hcfg = dwc2_readl(hsotg->regs + HCFG);
2764 dev_dbg(hsotg->dev, "hcfg=%08x\n", hcfg);
2765
2766 #ifdef CONFIG_USB_DWC2_TRACK_MISSED_SOFS
2767 --- a/drivers/usb/dwc2/hcd_ddma.c
2768 +++ b/drivers/usb/dwc2/hcd_ddma.c
2769 @@ -169,19 +169,19 @@ static void dwc2_per_sched_enable(struct
2770
2771 spin_lock_irqsave(&hsotg->lock, flags);
2772
2773 - hcfg = readl(hsotg->regs + HCFG);
2774 + hcfg = dwc2_readl(hsotg->regs + HCFG);
2775 if (hcfg & HCFG_PERSCHEDENA) {
2776 /* already enabled */
2777 spin_unlock_irqrestore(&hsotg->lock, flags);
2778 return;
2779 }
2780
2781 - writel(hsotg->frame_list_dma, hsotg->regs + HFLBADDR);
2782 + dwc2_writel(hsotg->frame_list_dma, hsotg->regs + HFLBADDR);
2783
2784 hcfg &= ~HCFG_FRLISTEN_MASK;
2785 hcfg |= fr_list_en | HCFG_PERSCHEDENA;
2786 dev_vdbg(hsotg->dev, "Enabling Periodic schedule\n");
2787 - writel(hcfg, hsotg->regs + HCFG);
2788 + dwc2_writel(hcfg, hsotg->regs + HCFG);
2789
2790 spin_unlock_irqrestore(&hsotg->lock, flags);
2791 }
2792 @@ -193,7 +193,7 @@ static void dwc2_per_sched_disable(struc
2793
2794 spin_lock_irqsave(&hsotg->lock, flags);
2795
2796 - hcfg = readl(hsotg->regs + HCFG);
2797 + hcfg = dwc2_readl(hsotg->regs + HCFG);
2798 if (!(hcfg & HCFG_PERSCHEDENA)) {
2799 /* already disabled */
2800 spin_unlock_irqrestore(&hsotg->lock, flags);
2801 @@ -202,7 +202,7 @@ static void dwc2_per_sched_disable(struc
2802
2803 hcfg &= ~HCFG_PERSCHEDENA;
2804 dev_vdbg(hsotg->dev, "Disabling Periodic schedule\n");
2805 - writel(hcfg, hsotg->regs + HCFG);
2806 + dwc2_writel(hcfg, hsotg->regs + HCFG);
2807
2808 spin_unlock_irqrestore(&hsotg->lock, flags);
2809 }
2810 --- a/drivers/usb/dwc2/hcd.h
2811 +++ b/drivers/usb/dwc2/hcd.h
2812 @@ -371,10 +371,10 @@ static inline struct usb_hcd *dwc2_hsotg
2813 */
2814 static inline void disable_hc_int(struct dwc2_hsotg *hsotg, int chnum, u32 intr)
2815 {
2816 - u32 mask = readl(hsotg->regs + HCINTMSK(chnum));
2817 + u32 mask = dwc2_readl(hsotg->regs + HCINTMSK(chnum));
2818
2819 mask &= ~intr;
2820 - writel(mask, hsotg->regs + HCINTMSK(chnum));
2821 + dwc2_writel(mask, hsotg->regs + HCINTMSK(chnum));
2822 }
2823
2824 /*
2825 @@ -382,11 +382,11 @@ static inline void disable_hc_int(struct
2826 */
2827 static inline int dwc2_is_host_mode(struct dwc2_hsotg *hsotg)
2828 {
2829 - return (readl(hsotg->regs + GINTSTS) & GINTSTS_CURMODE_HOST) != 0;
2830 + return (dwc2_readl(hsotg->regs + GINTSTS) & GINTSTS_CURMODE_HOST) != 0;
2831 }
2832 static inline int dwc2_is_device_mode(struct dwc2_hsotg *hsotg)
2833 {
2834 - return (readl(hsotg->regs + GINTSTS) & GINTSTS_CURMODE_HOST) == 0;
2835 + return (dwc2_readl(hsotg->regs + GINTSTS) & GINTSTS_CURMODE_HOST) == 0;
2836 }
2837
2838 /*
2839 @@ -395,7 +395,7 @@ static inline int dwc2_is_device_mode(st
2840 */
2841 static inline u32 dwc2_read_hprt0(struct dwc2_hsotg *hsotg)
2842 {
2843 - u32 hprt0 = readl(hsotg->regs + HPRT0);
2844 + u32 hprt0 = dwc2_readl(hsotg->regs + HPRT0);
2845
2846 hprt0 &= ~(HPRT0_ENA | HPRT0_CONNDET | HPRT0_ENACHG | HPRT0_OVRCURRCHG);
2847 return hprt0;
2848 @@ -582,7 +582,7 @@ static inline u16 dwc2_micro_frame_num(u
2849 */
2850 static inline u32 dwc2_read_core_intr(struct dwc2_hsotg *hsotg)
2851 {
2852 - return readl(hsotg->regs + GINTSTS) & readl(hsotg->regs + GINTMSK);
2853 + return dwc2_readl(hsotg->regs + GINTSTS) & dwc2_readl(hsotg->regs + GINTMSK);
2854 }
2855
2856 static inline u32 dwc2_hcd_urb_get_status(struct dwc2_hcd_urb *dwc2_urb)
2857 @@ -744,7 +744,7 @@ do { \
2858 qtd_list_entry); \
2859 if (usb_pipeint(_qtd_->urb->pipe) && \
2860 (_qh_)->start_split_frame != 0 && !_qtd_->complete_split) { \
2861 - _hfnum_.d32 = readl((_hcd_)->regs + HFNUM); \
2862 + _hfnum_.d32 = dwc2_readl((_hcd_)->regs + HFNUM); \
2863 switch (_hfnum_.b.frnum & 0x7) { \
2864 case 7: \
2865 (_hcd_)->hfnum_7_samples_##_letter_++; \
2866 --- a/drivers/usb/dwc2/hcd_intr.c
2867 +++ b/drivers/usb/dwc2/hcd_intr.c
2868 @@ -148,7 +148,7 @@ static void dwc2_sof_intr(struct dwc2_hs
2869 dwc2_hcd_queue_transactions(hsotg, tr_type);
2870
2871 /* Clear interrupt */
2872 - writel(GINTSTS_SOF, hsotg->regs + GINTSTS);
2873 + dwc2_writel(GINTSTS_SOF, hsotg->regs + GINTSTS);
2874 }
2875
2876 /*
2877 @@ -164,7 +164,7 @@ static void dwc2_rx_fifo_level_intr(stru
2878 if (dbg_perio())
2879 dev_vdbg(hsotg->dev, "--RxFIFO Level Interrupt--\n");
2880
2881 - grxsts = readl(hsotg->regs + GRXSTSP);
2882 + grxsts = dwc2_readl(hsotg->regs + GRXSTSP);
2883 chnum = (grxsts & GRXSTS_HCHNUM_MASK) >> GRXSTS_HCHNUM_SHIFT;
2884 chan = hsotg->hc_ptr_array[chnum];
2885 if (!chan) {
2886 @@ -247,11 +247,11 @@ static void dwc2_hprt0_enable(struct dwc
2887 dev_vdbg(hsotg->dev, "%s(%p)\n", __func__, hsotg);
2888
2889 /* Every time when port enables calculate HFIR.FrInterval */
2890 - hfir = readl(hsotg->regs + HFIR);
2891 + hfir = dwc2_readl(hsotg->regs + HFIR);
2892 hfir &= ~HFIR_FRINT_MASK;
2893 hfir |= dwc2_calc_frame_interval(hsotg) << HFIR_FRINT_SHIFT &
2894 HFIR_FRINT_MASK;
2895 - writel(hfir, hsotg->regs + HFIR);
2896 + dwc2_writel(hfir, hsotg->regs + HFIR);
2897
2898 /* Check if we need to adjust the PHY clock speed for low power */
2899 if (!params->host_support_fs_ls_low_power) {
2900 @@ -260,7 +260,7 @@ static void dwc2_hprt0_enable(struct dwc
2901 return;
2902 }
2903
2904 - usbcfg = readl(hsotg->regs + GUSBCFG);
2905 + usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
2906 prtspd = (hprt0 & HPRT0_SPD_MASK) >> HPRT0_SPD_SHIFT;
2907
2908 if (prtspd == HPRT0_SPD_LOW_SPEED || prtspd == HPRT0_SPD_FULL_SPEED) {
2909 @@ -268,11 +268,11 @@ static void dwc2_hprt0_enable(struct dwc
2910 if (!(usbcfg & GUSBCFG_PHY_LP_CLK_SEL)) {
2911 /* Set PHY low power clock select for FS/LS devices */
2912 usbcfg |= GUSBCFG_PHY_LP_CLK_SEL;
2913 - writel(usbcfg, hsotg->regs + GUSBCFG);
2914 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
2915 do_reset = 1;
2916 }
2917
2918 - hcfg = readl(hsotg->regs + HCFG);
2919 + hcfg = dwc2_readl(hsotg->regs + HCFG);
2920 fslspclksel = (hcfg & HCFG_FSLSPCLKSEL_MASK) >>
2921 HCFG_FSLSPCLKSEL_SHIFT;
2922
2923 @@ -286,7 +286,7 @@ static void dwc2_hprt0_enable(struct dwc
2924 fslspclksel = HCFG_FSLSPCLKSEL_6_MHZ;
2925 hcfg &= ~HCFG_FSLSPCLKSEL_MASK;
2926 hcfg |= fslspclksel << HCFG_FSLSPCLKSEL_SHIFT;
2927 - writel(hcfg, hsotg->regs + HCFG);
2928 + dwc2_writel(hcfg, hsotg->regs + HCFG);
2929 do_reset = 1;
2930 }
2931 } else {
2932 @@ -297,7 +297,7 @@ static void dwc2_hprt0_enable(struct dwc
2933 fslspclksel = HCFG_FSLSPCLKSEL_48_MHZ;
2934 hcfg &= ~HCFG_FSLSPCLKSEL_MASK;
2935 hcfg |= fslspclksel << HCFG_FSLSPCLKSEL_SHIFT;
2936 - writel(hcfg, hsotg->regs + HCFG);
2937 + dwc2_writel(hcfg, hsotg->regs + HCFG);
2938 do_reset = 1;
2939 }
2940 }
2941 @@ -305,7 +305,7 @@ static void dwc2_hprt0_enable(struct dwc
2942 /* Not low power */
2943 if (usbcfg & GUSBCFG_PHY_LP_CLK_SEL) {
2944 usbcfg &= ~GUSBCFG_PHY_LP_CLK_SEL;
2945 - writel(usbcfg, hsotg->regs + GUSBCFG);
2946 + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
2947 do_reset = 1;
2948 }
2949 }
2950 @@ -332,7 +332,7 @@ static void dwc2_port_intr(struct dwc2_h
2951
2952 dev_vdbg(hsotg->dev, "--Port Interrupt--\n");
2953
2954 - hprt0 = readl(hsotg->regs + HPRT0);
2955 + hprt0 = dwc2_readl(hsotg->regs + HPRT0);
2956 hprt0_modify = hprt0;
2957
2958 /*
2959 @@ -385,7 +385,7 @@ static void dwc2_port_intr(struct dwc2_h
2960 }
2961
2962 /* Clear Port Interrupts */
2963 - writel(hprt0_modify, hsotg->regs + HPRT0);
2964 + dwc2_writel(hprt0_modify, hsotg->regs + HPRT0);
2965 }
2966
2967 /*
2968 @@ -405,7 +405,7 @@ static u32 dwc2_get_actual_xfer_length(s
2969 {
2970 u32 hctsiz, count, length;
2971
2972 - hctsiz = readl(hsotg->regs + HCTSIZ(chnum));
2973 + hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chnum));
2974
2975 if (halt_status == DWC2_HC_XFER_COMPLETE) {
2976 if (chan->ep_is_in) {
2977 @@ -483,7 +483,7 @@ static int dwc2_update_urb_state(struct
2978 urb->status = 0;
2979 }
2980
2981 - hctsiz = readl(hsotg->regs + HCTSIZ(chnum));
2982 + hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chnum));
2983 dev_vdbg(hsotg->dev, "DWC_otg: %s: %s, channel %d\n",
2984 __func__, (chan->ep_is_in ? "IN" : "OUT"), chnum);
2985 dev_vdbg(hsotg->dev, " chan->xfer_len %d\n", chan->xfer_len);
2986 @@ -506,7 +506,7 @@ void dwc2_hcd_save_data_toggle(struct dw
2987 struct dwc2_host_chan *chan, int chnum,
2988 struct dwc2_qtd *qtd)
2989 {
2990 - u32 hctsiz = readl(hsotg->regs + HCTSIZ(chnum));
2991 + u32 hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chnum));
2992 u32 pid = (hctsiz & TSIZ_SC_MC_PID_MASK) >> TSIZ_SC_MC_PID_SHIFT;
2993
2994 if (chan->ep_type != USB_ENDPOINT_XFER_CONTROL) {
2995 @@ -753,9 +753,9 @@ cleanup:
2996 }
2997 }
2998
2999 - haintmsk = readl(hsotg->regs + HAINTMSK);
3000 + haintmsk = dwc2_readl(hsotg->regs + HAINTMSK);
3001 haintmsk &= ~(1 << chan->hc_num);
3002 - writel(haintmsk, hsotg->regs + HAINTMSK);
3003 + dwc2_writel(haintmsk, hsotg->regs + HAINTMSK);
3004
3005 /* Try to queue more transfers now that there's a free channel */
3006 tr_type = dwc2_hcd_select_transactions(hsotg);
3007 @@ -802,9 +802,9 @@ static void dwc2_halt_channel(struct dwc
3008 * is enabled so that the non-periodic schedule will
3009 * be processed
3010 */
3011 - gintmsk = readl(hsotg->regs + GINTMSK);
3012 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
3013 gintmsk |= GINTSTS_NPTXFEMP;
3014 - writel(gintmsk, hsotg->regs + GINTMSK);
3015 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
3016 } else {
3017 dev_vdbg(hsotg->dev, "isoc/intr\n");
3018 /*
3019 @@ -821,9 +821,9 @@ static void dwc2_halt_channel(struct dwc
3020 * enabled so that the periodic schedule will be
3021 * processed
3022 */
3023 - gintmsk = readl(hsotg->regs + GINTMSK);
3024 + gintmsk = dwc2_readl(hsotg->regs + GINTMSK);
3025 gintmsk |= GINTSTS_PTXFEMP;
3026 - writel(gintmsk, hsotg->regs + GINTMSK);
3027 + dwc2_writel(gintmsk, hsotg->regs + GINTMSK);
3028 }
3029 }
3030 }
3031 @@ -888,7 +888,7 @@ static void dwc2_complete_periodic_xfer(
3032 struct dwc2_qtd *qtd,
3033 enum dwc2_halt_status halt_status)
3034 {
3035 - u32 hctsiz = readl(hsotg->regs + HCTSIZ(chnum));
3036 + u32 hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chnum));
3037
3038 qtd->error_count = 0;
3039
3040 @@ -1158,7 +1158,7 @@ static void dwc2_update_urb_state_abn(st
3041
3042 urb->actual_length += xfer_length;
3043
3044 - hctsiz = readl(hsotg->regs + HCTSIZ(chnum));
3045 + hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chnum));
3046 dev_vdbg(hsotg->dev, "DWC_otg: %s: %s, channel %d\n",
3047 __func__, (chan->ep_is_in ? "IN" : "OUT"), chnum);
3048 dev_vdbg(hsotg->dev, " chan->start_pkt_count %d\n",
3049 @@ -1469,10 +1469,10 @@ static void dwc2_hc_ahberr_intr(struct d
3050
3051 dwc2_hc_handle_tt_clear(hsotg, chan, qtd);
3052
3053 - hcchar = readl(hsotg->regs + HCCHAR(chnum));
3054 - hcsplt = readl(hsotg->regs + HCSPLT(chnum));
3055 - hctsiz = readl(hsotg->regs + HCTSIZ(chnum));
3056 - hc_dma = readl(hsotg->regs + HCDMA(chnum));
3057 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chnum));
3058 + hcsplt = dwc2_readl(hsotg->regs + HCSPLT(chnum));
3059 + hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chnum));
3060 + hc_dma = dwc2_readl(hsotg->regs + HCDMA(chnum));
3061
3062 dev_err(hsotg->dev, "AHB ERROR, Channel %d\n", chnum);
3063 dev_err(hsotg->dev, " hcchar 0x%08x, hcsplt 0x%08x\n", hcchar, hcsplt);
3064 @@ -1685,10 +1685,10 @@ static bool dwc2_halt_status_ok(struct d
3065 * This code is here only as a check. This condition should
3066 * never happen. Ignore the halt if it does occur.
3067 */
3068 - hcchar = readl(hsotg->regs + HCCHAR(chnum));
3069 - hctsiz = readl(hsotg->regs + HCTSIZ(chnum));
3070 - hcintmsk = readl(hsotg->regs + HCINTMSK(chnum));
3071 - hcsplt = readl(hsotg->regs + HCSPLT(chnum));
3072 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chnum));
3073 + hctsiz = dwc2_readl(hsotg->regs + HCTSIZ(chnum));
3074 + hcintmsk = dwc2_readl(hsotg->regs + HCINTMSK(chnum));
3075 + hcsplt = dwc2_readl(hsotg->regs + HCSPLT(chnum));
3076 dev_dbg(hsotg->dev,
3077 "%s: chan->halt_status DWC2_HC_XFER_NO_HALT_STATUS,\n",
3078 __func__);
3079 @@ -1712,7 +1712,7 @@ static bool dwc2_halt_status_ok(struct d
3080 * when the halt interrupt occurs. Halt the channel again if it does
3081 * occur.
3082 */
3083 - hcchar = readl(hsotg->regs + HCCHAR(chnum));
3084 + hcchar = dwc2_readl(hsotg->regs + HCCHAR(chnum));
3085 if (hcchar & HCCHAR_CHDIS) {
3086 dev_warn(hsotg->dev,
3087 "%s: hcchar.chdis set unexpectedly, hcchar 0x%08x, trying to halt again\n",
3088 @@ -1772,7 +1772,7 @@ static void dwc2_hc_chhltd_intr_dma(stru
3089 return;
3090 }
3091
3092 - hcintmsk = readl(hsotg->regs + HCINTMSK(chnum));
3093 + hcintmsk = dwc2_readl(hsotg->regs + HCINTMSK(chnum));
3094
3095 if (chan->hcint & HCINTMSK_XFERCOMPL) {
3096 /*
3097 @@ -1867,7 +1867,7 @@ static void dwc2_hc_chhltd_intr_dma(stru
3098 dev_err(hsotg->dev,
3099 "hcint 0x%08x, intsts 0x%08x\n",
3100 chan->hcint,
3101 - readl(hsotg->regs + GINTSTS));
3102 + dwc2_readl(hsotg->regs + GINTSTS));
3103 goto error;
3104 }
3105 }
3106 @@ -1922,11 +1922,11 @@ static void dwc2_hc_n_intr(struct dwc2_h
3107
3108 chan = hsotg->hc_ptr_array[chnum];
3109
3110 - hcint = readl(hsotg->regs + HCINT(chnum));
3111 - hcintmsk = readl(hsotg->regs + HCINTMSK(chnum));
3112 + hcint = dwc2_readl(hsotg->regs + HCINT(chnum));
3113 + hcintmsk = dwc2_readl(hsotg->regs + HCINTMSK(chnum));
3114 if (!chan) {
3115 dev_err(hsotg->dev, "## hc_ptr_array for channel is NULL ##\n");
3116 - writel(hcint, hsotg->regs + HCINT(chnum));
3117 + dwc2_writel(hcint, hsotg->regs + HCINT(chnum));
3118 return;
3119 }
3120
3121 @@ -1938,7 +1938,7 @@ static void dwc2_hc_n_intr(struct dwc2_h
3122 hcint, hcintmsk, hcint & hcintmsk);
3123 }
3124
3125 - writel(hcint, hsotg->regs + HCINT(chnum));
3126 + dwc2_writel(hcint, hsotg->regs + HCINT(chnum));
3127 chan->hcint = hcint;
3128 hcint &= hcintmsk;
3129
3130 @@ -2030,7 +2030,7 @@ static void dwc2_hc_intr(struct dwc2_hso
3131 u32 haint;
3132 int i;
3133
3134 - haint = readl(hsotg->regs + HAINT);
3135 + haint = dwc2_readl(hsotg->regs + HAINT);
3136 if (dbg_perio()) {
3137 dev_vdbg(hsotg->dev, "%s()\n", __func__);
3138
3139 @@ -2098,8 +2098,8 @@ irqreturn_t dwc2_handle_hcd_intr(struct
3140 "DWC OTG HCD Finished Servicing Interrupts\n");
3141 dev_vdbg(hsotg->dev,
3142 "DWC OTG HCD gintsts=0x%08x gintmsk=0x%08x\n",
3143 - readl(hsotg->regs + GINTSTS),
3144 - readl(hsotg->regs + GINTMSK));
3145 + dwc2_readl(hsotg->regs + GINTSTS),
3146 + dwc2_readl(hsotg->regs + GINTMSK));
3147 }
3148 }
3149
3150 --- a/drivers/usb/dwc2/hcd_queue.c
3151 +++ b/drivers/usb/dwc2/hcd_queue.c
3152 @@ -115,7 +115,7 @@ static void dwc2_qh_init(struct dwc2_hso
3153 if (qh->ep_type == USB_ENDPOINT_XFER_INT)
3154 qh->interval = 8;
3155 #endif
3156 - hprt = readl(hsotg->regs + HPRT0);
3157 + hprt = dwc2_readl(hsotg->regs + HPRT0);
3158 prtspd = (hprt & HPRT0_SPD_MASK) >> HPRT0_SPD_SHIFT;
3159 if (prtspd == HPRT0_SPD_HIGH_SPEED &&
3160 (dev_speed == USB_SPEED_LOW ||
3161 @@ -593,9 +593,9 @@ int dwc2_hcd_qh_add(struct dwc2_hsotg *h
3162 if (status)
3163 return status;
3164 if (!hsotg->periodic_qh_count) {
3165 - intr_mask = readl(hsotg->regs + GINTMSK);
3166 + intr_mask = dwc2_readl(hsotg->regs + GINTMSK);
3167 intr_mask |= GINTSTS_SOF;
3168 - writel(intr_mask, hsotg->regs + GINTMSK);
3169 + dwc2_writel(intr_mask, hsotg->regs + GINTMSK);
3170 }
3171 hsotg->periodic_qh_count++;
3172
3173 @@ -630,9 +630,9 @@ void dwc2_hcd_qh_unlink(struct dwc2_hsot
3174 dwc2_deschedule_periodic(hsotg, qh);
3175 hsotg->periodic_qh_count--;
3176 if (!hsotg->periodic_qh_count) {
3177 - intr_mask = readl(hsotg->regs + GINTMSK);
3178 + intr_mask = dwc2_readl(hsotg->regs + GINTMSK);
3179 intr_mask &= ~GINTSTS_SOF;
3180 - writel(intr_mask, hsotg->regs + GINTMSK);
3181 + dwc2_writel(intr_mask, hsotg->regs + GINTMSK);
3182 }
3183 }
3184