diff options
author | George Cherian <george.cherian@ti.com> | 2013-06-12 05:23:47 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-06-12 16:57:13 -0400 |
commit | b1fd6cb5ee2f97a553d1c4b8a88914bd970daf37 (patch) | |
tree | 1914628bc04ac0b30eaca3a3097330a8b99366dd /drivers/usb/dwc3/dwc3-omap.c | |
parent | ff7307b534258c8864c356d15c52a84d0a5fbb35 (diff) |
usb: dwc3: omap: Adds dwc3_omap_readl/writel wrappers
This patch adds wrappers to dwc3_omap_readl/writel calls to accomodate
both OMAP5 and AM437x reg maps (It uses the cached register offsets).
Also renames OMAP5 IRQ1 as IRQMISC and IRQ1 bits as IRQMISC bits.
Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3/dwc3-omap.c')
-rw-r--r-- | drivers/usb/dwc3/dwc3-omap.c | 173 |
1 files changed, 116 insertions, 57 deletions
diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c index 54dd6fe886e2..077f110bd746 100644 --- a/drivers/usb/dwc3/dwc3-omap.c +++ b/drivers/usb/dwc3/dwc3-omap.c | |||
@@ -67,10 +67,18 @@ | |||
67 | #define USBOTGSS_IRQENABLE_SET_0 0x002c | 67 | #define USBOTGSS_IRQENABLE_SET_0 0x002c |
68 | #define USBOTGSS_IRQENABLE_CLR_0 0x0030 | 68 | #define USBOTGSS_IRQENABLE_CLR_0 0x0030 |
69 | #define USBOTGSS_IRQ0_OFFSET 0x0004 | 69 | #define USBOTGSS_IRQ0_OFFSET 0x0004 |
70 | #define USBOTGSS_IRQSTATUS_RAW_1 0x0034 | 70 | #define USBOTGSS_IRQSTATUS_RAW_1 0x0030 |
71 | #define USBOTGSS_IRQSTATUS_1 0x0038 | 71 | #define USBOTGSS_IRQSTATUS_1 0x0034 |
72 | #define USBOTGSS_IRQENABLE_SET_1 0x003c | 72 | #define USBOTGSS_IRQENABLE_SET_1 0x0038 |
73 | #define USBOTGSS_IRQENABLE_CLR_1 0x0040 | 73 | #define USBOTGSS_IRQENABLE_CLR_1 0x003c |
74 | #define USBOTGSS_IRQSTATUS_RAW_2 0x0040 | ||
75 | #define USBOTGSS_IRQSTATUS_2 0x0044 | ||
76 | #define USBOTGSS_IRQENABLE_SET_2 0x0048 | ||
77 | #define USBOTGSS_IRQENABLE_CLR_2 0x004c | ||
78 | #define USBOTGSS_IRQSTATUS_RAW_3 0x0050 | ||
79 | #define USBOTGSS_IRQSTATUS_3 0x0054 | ||
80 | #define USBOTGSS_IRQENABLE_SET_3 0x0058 | ||
81 | #define USBOTGSS_IRQENABLE_CLR_3 0x005c | ||
74 | #define USBOTGSS_IRQSTATUS_EOI_MISC 0x0030 | 82 | #define USBOTGSS_IRQSTATUS_EOI_MISC 0x0030 |
75 | #define USBOTGSS_IRQSTATUS_RAW_MISC 0x0034 | 83 | #define USBOTGSS_IRQSTATUS_RAW_MISC 0x0034 |
76 | #define USBOTGSS_IRQSTATUS_MISC 0x0038 | 84 | #define USBOTGSS_IRQSTATUS_MISC 0x0038 |
@@ -102,17 +110,17 @@ | |||
102 | /* IRQS0 BITS */ | 110 | /* IRQS0 BITS */ |
103 | #define USBOTGSS_IRQO_COREIRQ_ST (1 << 0) | 111 | #define USBOTGSS_IRQO_COREIRQ_ST (1 << 0) |
104 | 112 | ||
105 | /* IRQ1 BITS */ | 113 | /* IRQMISC BITS */ |
106 | #define USBOTGSS_IRQ1_DMADISABLECLR (1 << 17) | 114 | #define USBOTGSS_IRQMISC_DMADISABLECLR (1 << 17) |
107 | #define USBOTGSS_IRQ1_OEVT (1 << 16) | 115 | #define USBOTGSS_IRQMISC_OEVT (1 << 16) |
108 | #define USBOTGSS_IRQ1_DRVVBUS_RISE (1 << 13) | 116 | #define USBOTGSS_IRQMISC_DRVVBUS_RISE (1 << 13) |
109 | #define USBOTGSS_IRQ1_CHRGVBUS_RISE (1 << 12) | 117 | #define USBOTGSS_IRQMISC_CHRGVBUS_RISE (1 << 12) |
110 | #define USBOTGSS_IRQ1_DISCHRGVBUS_RISE (1 << 11) | 118 | #define USBOTGSS_IRQMISC_DISCHRGVBUS_RISE (1 << 11) |
111 | #define USBOTGSS_IRQ1_IDPULLUP_RISE (1 << 8) | 119 | #define USBOTGSS_IRQMISC_IDPULLUP_RISE (1 << 8) |
112 | #define USBOTGSS_IRQ1_DRVVBUS_FALL (1 << 5) | 120 | #define USBOTGSS_IRQMISC_DRVVBUS_FALL (1 << 5) |
113 | #define USBOTGSS_IRQ1_CHRGVBUS_FALL (1 << 4) | 121 | #define USBOTGSS_IRQMISC_CHRGVBUS_FALL (1 << 4) |
114 | #define USBOTGSS_IRQ1_DISCHRGVBUS_FALL (1 << 3) | 122 | #define USBOTGSS_IRQMISC_DISCHRGVBUS_FALL (1 << 3) |
115 | #define USBOTGSS_IRQ1_IDPULLUP_FALL (1 << 0) | 123 | #define USBOTGSS_IRQMISC_IDPULLUP_FALL (1 << 0) |
116 | 124 | ||
117 | /* UTMI_OTG_CTRL REGISTER */ | 125 | /* UTMI_OTG_CTRL REGISTER */ |
118 | #define USBOTGSS_UTMI_OTG_CTRL_DRVVBUS (1 << 5) | 126 | #define USBOTGSS_UTMI_OTG_CTRL_DRVVBUS (1 << 5) |
@@ -161,6 +169,58 @@ static inline void dwc3_omap_writel(void __iomem *base, u32 offset, u32 value) | |||
161 | writel(value, base + offset); | 169 | writel(value, base + offset); |
162 | } | 170 | } |
163 | 171 | ||
172 | static u32 dwc3_omap_read_utmi_status(struct dwc3_omap *omap) | ||
173 | { | ||
174 | return dwc3_omap_readl(omap->base, USBOTGSS_UTMI_OTG_STATUS + | ||
175 | omap->utmi_otg_offset); | ||
176 | } | ||
177 | |||
178 | static void dwc3_omap_write_utmi_status(struct dwc3_omap *omap, u32 value) | ||
179 | { | ||
180 | dwc3_omap_writel(omap->base, USBOTGSS_UTMI_OTG_STATUS + | ||
181 | omap->utmi_otg_offset, value); | ||
182 | |||
183 | } | ||
184 | |||
185 | static u32 dwc3_omap_read_irq0_status(struct dwc3_omap *omap) | ||
186 | { | ||
187 | return dwc3_omap_readl(omap->base, USBOTGSS_IRQSTATUS_0 - | ||
188 | omap->irq0_offset); | ||
189 | } | ||
190 | |||
191 | static void dwc3_omap_write_irq0_status(struct dwc3_omap *omap, u32 value) | ||
192 | { | ||
193 | dwc3_omap_writel(omap->base, USBOTGSS_IRQSTATUS_0 - | ||
194 | omap->irq0_offset, value); | ||
195 | |||
196 | } | ||
197 | |||
198 | static u32 dwc3_omap_read_irqmisc_status(struct dwc3_omap *omap) | ||
199 | { | ||
200 | return dwc3_omap_readl(omap->base, USBOTGSS_IRQSTATUS_MISC + | ||
201 | omap->irqmisc_offset); | ||
202 | } | ||
203 | |||
204 | static void dwc3_omap_write_irqmisc_status(struct dwc3_omap *omap, u32 value) | ||
205 | { | ||
206 | dwc3_omap_writel(omap->base, USBOTGSS_IRQSTATUS_MISC + | ||
207 | omap->irqmisc_offset, value); | ||
208 | |||
209 | } | ||
210 | |||
211 | static void dwc3_omap_write_irqmisc_set(struct dwc3_omap *omap, u32 value) | ||
212 | { | ||
213 | dwc3_omap_writel(omap->base, USBOTGSS_IRQENABLE_SET_MISC + | ||
214 | omap->irqmisc_offset, value); | ||
215 | |||
216 | } | ||
217 | |||
218 | static void dwc3_omap_write_irq0_set(struct dwc3_omap *omap, u32 value) | ||
219 | { | ||
220 | dwc3_omap_writel(omap->base, USBOTGSS_IRQENABLE_SET_0 - | ||
221 | omap->irq0_offset, value); | ||
222 | } | ||
223 | |||
164 | int dwc3_omap_mailbox(enum omap_dwc3_vbus_id_status status) | 224 | int dwc3_omap_mailbox(enum omap_dwc3_vbus_id_status status) |
165 | { | 225 | { |
166 | u32 val; | 226 | u32 val; |
@@ -173,38 +233,38 @@ int dwc3_omap_mailbox(enum omap_dwc3_vbus_id_status status) | |||
173 | case OMAP_DWC3_ID_GROUND: | 233 | case OMAP_DWC3_ID_GROUND: |
174 | dev_dbg(omap->dev, "ID GND\n"); | 234 | dev_dbg(omap->dev, "ID GND\n"); |
175 | 235 | ||
176 | val = dwc3_omap_readl(omap->base, USBOTGSS_UTMI_OTG_STATUS); | 236 | val = dwc3_omap_read_utmi_status(omap); |
177 | val &= ~(USBOTGSS_UTMI_OTG_STATUS_IDDIG | 237 | val &= ~(USBOTGSS_UTMI_OTG_STATUS_IDDIG |
178 | | USBOTGSS_UTMI_OTG_STATUS_VBUSVALID | 238 | | USBOTGSS_UTMI_OTG_STATUS_VBUSVALID |
179 | | USBOTGSS_UTMI_OTG_STATUS_SESSEND); | 239 | | USBOTGSS_UTMI_OTG_STATUS_SESSEND); |
180 | val |= USBOTGSS_UTMI_OTG_STATUS_SESSVALID | 240 | val |= USBOTGSS_UTMI_OTG_STATUS_SESSVALID |
181 | | USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT; | 241 | | USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT; |
182 | dwc3_omap_writel(omap->base, USBOTGSS_UTMI_OTG_STATUS, val); | 242 | dwc3_omap_write_utmi_status(omap, val); |
183 | break; | 243 | break; |
184 | 244 | ||
185 | case OMAP_DWC3_VBUS_VALID: | 245 | case OMAP_DWC3_VBUS_VALID: |
186 | dev_dbg(omap->dev, "VBUS Connect\n"); | 246 | dev_dbg(omap->dev, "VBUS Connect\n"); |
187 | 247 | ||
188 | val = dwc3_omap_readl(omap->base, USBOTGSS_UTMI_OTG_STATUS); | 248 | val = dwc3_omap_read_utmi_status(omap); |
189 | val &= ~USBOTGSS_UTMI_OTG_STATUS_SESSEND; | 249 | val &= ~USBOTGSS_UTMI_OTG_STATUS_SESSEND; |
190 | val |= USBOTGSS_UTMI_OTG_STATUS_IDDIG | 250 | val |= USBOTGSS_UTMI_OTG_STATUS_IDDIG |
191 | | USBOTGSS_UTMI_OTG_STATUS_VBUSVALID | 251 | | USBOTGSS_UTMI_OTG_STATUS_VBUSVALID |
192 | | USBOTGSS_UTMI_OTG_STATUS_SESSVALID | 252 | | USBOTGSS_UTMI_OTG_STATUS_SESSVALID |
193 | | USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT; | 253 | | USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT; |
194 | dwc3_omap_writel(omap->base, USBOTGSS_UTMI_OTG_STATUS, val); | 254 | dwc3_omap_write_utmi_status(omap, val); |
195 | break; | 255 | break; |
196 | 256 | ||
197 | case OMAP_DWC3_ID_FLOAT: | 257 | case OMAP_DWC3_ID_FLOAT: |
198 | case OMAP_DWC3_VBUS_OFF: | 258 | case OMAP_DWC3_VBUS_OFF: |
199 | dev_dbg(omap->dev, "VBUS Disconnect\n"); | 259 | dev_dbg(omap->dev, "VBUS Disconnect\n"); |
200 | 260 | ||
201 | val = dwc3_omap_readl(omap->base, USBOTGSS_UTMI_OTG_STATUS); | 261 | val = dwc3_omap_read_utmi_status(omap); |
202 | val &= ~(USBOTGSS_UTMI_OTG_STATUS_SESSVALID | 262 | val &= ~(USBOTGSS_UTMI_OTG_STATUS_SESSVALID |
203 | | USBOTGSS_UTMI_OTG_STATUS_VBUSVALID | 263 | | USBOTGSS_UTMI_OTG_STATUS_VBUSVALID |
204 | | USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT); | 264 | | USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT); |
205 | val |= USBOTGSS_UTMI_OTG_STATUS_SESSEND | 265 | val |= USBOTGSS_UTMI_OTG_STATUS_SESSEND |
206 | | USBOTGSS_UTMI_OTG_STATUS_IDDIG; | 266 | | USBOTGSS_UTMI_OTG_STATUS_IDDIG; |
207 | dwc3_omap_writel(omap->base, USBOTGSS_UTMI_OTG_STATUS, val); | 267 | dwc3_omap_write_utmi_status(omap, val); |
208 | break; | 268 | break; |
209 | 269 | ||
210 | default: | 270 | default: |
@@ -222,44 +282,45 @@ static irqreturn_t dwc3_omap_interrupt(int irq, void *_omap) | |||
222 | 282 | ||
223 | spin_lock(&omap->lock); | 283 | spin_lock(&omap->lock); |
224 | 284 | ||
225 | reg = dwc3_omap_readl(omap->base, USBOTGSS_IRQSTATUS_1); | 285 | reg = dwc3_omap_read_irqmisc_status(omap); |
226 | 286 | ||
227 | if (reg & USBOTGSS_IRQ1_DMADISABLECLR) { | 287 | if (reg & USBOTGSS_IRQMISC_DMADISABLECLR) { |
228 | dev_dbg(omap->dev, "DMA Disable was Cleared\n"); | 288 | dev_dbg(omap->dev, "DMA Disable was Cleared\n"); |
229 | omap->dma_status = false; | 289 | omap->dma_status = false; |
230 | } | 290 | } |
231 | 291 | ||
232 | if (reg & USBOTGSS_IRQ1_OEVT) | 292 | if (reg & USBOTGSS_IRQMISC_OEVT) |
233 | dev_dbg(omap->dev, "OTG Event\n"); | 293 | dev_dbg(omap->dev, "OTG Event\n"); |
234 | 294 | ||
235 | if (reg & USBOTGSS_IRQ1_DRVVBUS_RISE) | 295 | if (reg & USBOTGSS_IRQMISC_DRVVBUS_RISE) |
236 | dev_dbg(omap->dev, "DRVVBUS Rise\n"); | 296 | dev_dbg(omap->dev, "DRVVBUS Rise\n"); |
237 | 297 | ||
238 | if (reg & USBOTGSS_IRQ1_CHRGVBUS_RISE) | 298 | if (reg & USBOTGSS_IRQMISC_CHRGVBUS_RISE) |
239 | dev_dbg(omap->dev, "CHRGVBUS Rise\n"); | 299 | dev_dbg(omap->dev, "CHRGVBUS Rise\n"); |
240 | 300 | ||
241 | if (reg & USBOTGSS_IRQ1_DISCHRGVBUS_RISE) | 301 | if (reg & USBOTGSS_IRQMISC_DISCHRGVBUS_RISE) |
242 | dev_dbg(omap->dev, "DISCHRGVBUS Rise\n"); | 302 | dev_dbg(omap->dev, "DISCHRGVBUS Rise\n"); |
243 | 303 | ||
244 | if (reg & USBOTGSS_IRQ1_IDPULLUP_RISE) | 304 | if (reg & USBOTGSS_IRQMISC_IDPULLUP_RISE) |
245 | dev_dbg(omap->dev, "IDPULLUP Rise\n"); | 305 | dev_dbg(omap->dev, "IDPULLUP Rise\n"); |
246 | 306 | ||
247 | if (reg & USBOTGSS_IRQ1_DRVVBUS_FALL) | 307 | if (reg & USBOTGSS_IRQMISC_DRVVBUS_FALL) |
248 | dev_dbg(omap->dev, "DRVVBUS Fall\n"); | 308 | dev_dbg(omap->dev, "DRVVBUS Fall\n"); |
249 | 309 | ||
250 | if (reg & USBOTGSS_IRQ1_CHRGVBUS_FALL) | 310 | if (reg & USBOTGSS_IRQMISC_CHRGVBUS_FALL) |
251 | dev_dbg(omap->dev, "CHRGVBUS Fall\n"); | 311 | dev_dbg(omap->dev, "CHRGVBUS Fall\n"); |
252 | 312 | ||
253 | if (reg & USBOTGSS_IRQ1_DISCHRGVBUS_FALL) | 313 | if (reg & USBOTGSS_IRQMISC_DISCHRGVBUS_FALL) |
254 | dev_dbg(omap->dev, "DISCHRGVBUS Fall\n"); | 314 | dev_dbg(omap->dev, "DISCHRGVBUS Fall\n"); |
255 | 315 | ||
256 | if (reg & USBOTGSS_IRQ1_IDPULLUP_FALL) | 316 | if (reg & USBOTGSS_IRQMISC_IDPULLUP_FALL) |
257 | dev_dbg(omap->dev, "IDPULLUP Fall\n"); | 317 | dev_dbg(omap->dev, "IDPULLUP Fall\n"); |
258 | 318 | ||
259 | dwc3_omap_writel(omap->base, USBOTGSS_IRQSTATUS_1, reg); | 319 | dwc3_omap_write_irqmisc_status(omap, reg); |
320 | |||
321 | reg = dwc3_omap_read_irq0_status(omap); | ||
260 | 322 | ||
261 | reg = dwc3_omap_readl(omap->base, USBOTGSS_IRQSTATUS_0); | 323 | dwc3_omap_write_irq0_status(omap, reg); |
262 | dwc3_omap_writel(omap->base, USBOTGSS_IRQSTATUS_0, reg); | ||
263 | 324 | ||
264 | spin_unlock(&omap->lock); | 325 | spin_unlock(&omap->lock); |
265 | 326 | ||
@@ -281,26 +342,26 @@ static void dwc3_omap_enable_irqs(struct dwc3_omap *omap) | |||
281 | 342 | ||
282 | /* enable all IRQs */ | 343 | /* enable all IRQs */ |
283 | reg = USBOTGSS_IRQO_COREIRQ_ST; | 344 | reg = USBOTGSS_IRQO_COREIRQ_ST; |
284 | dwc3_omap_writel(omap->base, USBOTGSS_IRQENABLE_SET_0, reg); | 345 | dwc3_omap_write_irq0_set(omap, reg); |
285 | 346 | ||
286 | reg = (USBOTGSS_IRQ1_OEVT | | 347 | reg = (USBOTGSS_IRQMISC_OEVT | |
287 | USBOTGSS_IRQ1_DRVVBUS_RISE | | 348 | USBOTGSS_IRQMISC_DRVVBUS_RISE | |
288 | USBOTGSS_IRQ1_CHRGVBUS_RISE | | 349 | USBOTGSS_IRQMISC_CHRGVBUS_RISE | |
289 | USBOTGSS_IRQ1_DISCHRGVBUS_RISE | | 350 | USBOTGSS_IRQMISC_DISCHRGVBUS_RISE | |
290 | USBOTGSS_IRQ1_IDPULLUP_RISE | | 351 | USBOTGSS_IRQMISC_IDPULLUP_RISE | |
291 | USBOTGSS_IRQ1_DRVVBUS_FALL | | 352 | USBOTGSS_IRQMISC_DRVVBUS_FALL | |
292 | USBOTGSS_IRQ1_CHRGVBUS_FALL | | 353 | USBOTGSS_IRQMISC_CHRGVBUS_FALL | |
293 | USBOTGSS_IRQ1_DISCHRGVBUS_FALL | | 354 | USBOTGSS_IRQMISC_DISCHRGVBUS_FALL | |
294 | USBOTGSS_IRQ1_IDPULLUP_FALL); | 355 | USBOTGSS_IRQMISC_IDPULLUP_FALL); |
295 | 356 | ||
296 | dwc3_omap_writel(omap->base, USBOTGSS_IRQENABLE_SET_1, reg); | 357 | dwc3_omap_write_irqmisc_set(omap, reg); |
297 | } | 358 | } |
298 | 359 | ||
299 | static void dwc3_omap_disable_irqs(struct dwc3_omap *omap) | 360 | static void dwc3_omap_disable_irqs(struct dwc3_omap *omap) |
300 | { | 361 | { |
301 | /* disable all IRQs */ | 362 | /* disable all IRQs */ |
302 | dwc3_omap_writel(omap->base, USBOTGSS_IRQENABLE_SET_1, 0x00); | 363 | dwc3_omap_write_irqmisc_set(omap, 0x00); |
303 | dwc3_omap_writel(omap->base, USBOTGSS_IRQENABLE_SET_0, 0x00); | 364 | dwc3_omap_write_irq0_set(omap, 0x00); |
304 | } | 365 | } |
305 | 366 | ||
306 | static u64 dwc3_omap_dma_mask = DMA_BIT_MASK(32); | 367 | static u64 dwc3_omap_dma_mask = DMA_BIT_MASK(32); |
@@ -378,7 +439,7 @@ static int dwc3_omap_probe(struct platform_device *pdev) | |||
378 | omap->revision = reg; | 439 | omap->revision = reg; |
379 | x_major = USBOTGSS_REVISION_XMAJOR(reg); | 440 | x_major = USBOTGSS_REVISION_XMAJOR(reg); |
380 | 441 | ||
381 | /* Differentiate between OMAP5,AM437x and others*/ | 442 | /* Differentiate between OMAP5 and AM437x */ |
382 | switch (x_major) { | 443 | switch (x_major) { |
383 | case USBOTGSS_REVISION_XMAJOR1: | 444 | case USBOTGSS_REVISION_XMAJOR1: |
384 | case USBOTGSS_REVISION_XMAJOR2: | 445 | case USBOTGSS_REVISION_XMAJOR2: |
@@ -410,7 +471,7 @@ static int dwc3_omap_probe(struct platform_device *pdev) | |||
410 | omap->debug_offset = USBOTGSS_DEBUG_OFFSET; | 471 | omap->debug_offset = USBOTGSS_DEBUG_OFFSET; |
411 | } | 472 | } |
412 | 473 | ||
413 | reg = dwc3_omap_readl(omap->base, USBOTGSS_UTMI_OTG_STATUS); | 474 | reg = dwc3_omap_read_utmi_status(omap); |
414 | 475 | ||
415 | of_property_read_u32(node, "utmi-mode", &utmi_mode); | 476 | of_property_read_u32(node, "utmi-mode", &utmi_mode); |
416 | 477 | ||
@@ -425,7 +486,7 @@ static int dwc3_omap_probe(struct platform_device *pdev) | |||
425 | dev_dbg(dev, "UNKNOWN utmi mode %d\n", utmi_mode); | 486 | dev_dbg(dev, "UNKNOWN utmi mode %d\n", utmi_mode); |
426 | } | 487 | } |
427 | 488 | ||
428 | dwc3_omap_writel(omap->base, USBOTGSS_UTMI_OTG_STATUS, reg); | 489 | dwc3_omap_write_utmi_status(omap, reg); |
429 | 490 | ||
430 | /* check the DMA Status */ | 491 | /* check the DMA Status */ |
431 | reg = dwc3_omap_readl(omap->base, USBOTGSS_SYSCONFIG); | 492 | reg = dwc3_omap_readl(omap->base, USBOTGSS_SYSCONFIG); |
@@ -505,8 +566,7 @@ static int dwc3_omap_suspend(struct device *dev) | |||
505 | { | 566 | { |
506 | struct dwc3_omap *omap = dev_get_drvdata(dev); | 567 | struct dwc3_omap *omap = dev_get_drvdata(dev); |
507 | 568 | ||
508 | omap->utmi_otg_status = dwc3_omap_readl(omap->base, | 569 | omap->utmi_otg_status = dwc3_omap_read_utmi_status(omap); |
509 | USBOTGSS_UTMI_OTG_STATUS); | ||
510 | 570 | ||
511 | return 0; | 571 | return 0; |
512 | } | 572 | } |
@@ -515,8 +575,7 @@ static int dwc3_omap_resume(struct device *dev) | |||
515 | { | 575 | { |
516 | struct dwc3_omap *omap = dev_get_drvdata(dev); | 576 | struct dwc3_omap *omap = dev_get_drvdata(dev); |
517 | 577 | ||
518 | dwc3_omap_writel(omap->base, USBOTGSS_UTMI_OTG_STATUS, | 578 | dwc3_omap_write_utmi_status(omap, omap->utmi_otg_status); |
519 | omap->utmi_otg_status); | ||
520 | 579 | ||
521 | pm_runtime_disable(dev); | 580 | pm_runtime_disable(dev); |
522 | pm_runtime_set_active(dev); | 581 | pm_runtime_set_active(dev); |