• Home
  • Raw
  • Download

Lines Matching refs:musb

197 	struct musb		*musb = __hci;  in sunxi_musb_interrupt()  local
201 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in sunxi_musb_interrupt()
202 last_int_usb = musb->int_usb; in sunxi_musb_interrupt()
203 if (musb->int_usb) in sunxi_musb_interrupt()
204 musb_writeb(musb->mregs, MUSB_INTRUSB, musb->int_usb); in sunxi_musb_interrupt()
205 musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); in sunxi_musb_interrupt()
206 if (musb->int_tx) in sunxi_musb_interrupt()
207 musb_writew(musb->mregs, MUSB_INTRTX, musb->int_tx); in sunxi_musb_interrupt()
208 musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX); in sunxi_musb_interrupt()
209 if (musb->int_rx) in sunxi_musb_interrupt()
210 musb_writew(musb->mregs, MUSB_INTRRX, musb->int_rx); in sunxi_musb_interrupt()
212 if (musb->int_usb || musb->int_tx || musb->int_rx) in sunxi_musb_interrupt()
213 retval |= musb_interrupt(musb); in sunxi_musb_interrupt()
221 static int sunxi_musb_enable(struct musb *musb) in sunxi_musb_enable() argument
223 struct sunxi_glue *glue = to_sunxi_glue(musb->controller); in sunxi_musb_enable()
228 musb_ep_select(musb->mregs, 0); in sunxi_musb_enable()
229 musb_writeb(musb->mregs, MUSB_FADDR, 0); in sunxi_musb_enable()
235 musb_writeb(musb->mregs, USBC_REG_o_VEND0, 0); in sunxi_musb_enable()
237 if (is_host_enabled(musb)) { in sunxi_musb_enable()
257 USBC_ForceVbusValidToHigh(musb->mregs); in sunxi_musb_enable()
263 static void sunxi_musb_disable(struct musb *musb) in sunxi_musb_disable() argument
265 struct sunxi_glue *glue = to_sunxi_glue(musb->controller); in sunxi_musb_disable()
273 if (is_host_enabled(musb)) { in sunxi_musb_disable()
281 USBC_ForceVbusValidToLow(musb->mregs); in sunxi_musb_disable()
287 static int sunxi_musb_init(struct musb *musb) in sunxi_musb_init() argument
289 struct sunxi_glue *glue = to_sunxi_glue(musb->controller); in sunxi_musb_init()
300 musb->isr = sunxi_musb_interrupt; in sunxi_musb_init()
314 USBC_EnableDpDmPullUp(musb->mregs); in sunxi_musb_init()
315 USBC_EnableIdPullUp(musb->mregs); in sunxi_musb_init()
317 if (is_host_enabled(musb)) { in sunxi_musb_init()
319 USBC_ForceIdToLow(musb->mregs); in sunxi_musb_init()
322 USBC_ForceIdToHigh(musb->mregs); in sunxi_musb_init()
324 USBC_ForceVbusValidToHigh(musb->mregs); in sunxi_musb_init()
329 static void sunxi_musb_pre_root_reset_end(struct musb *musb) in sunxi_musb_pre_root_reset_end() argument
331 struct sunxi_glue *glue = to_sunxi_glue(musb->controller); in sunxi_musb_pre_root_reset_end()
336 static void sunxi_musb_post_root_reset_end(struct musb *musb) in sunxi_musb_post_root_reset_end() argument
338 struct sunxi_glue *glue = to_sunxi_glue(musb->controller); in sunxi_musb_post_root_reset_end()