Lines Matching refs:musb

26 	struct platform_device *musb;  member
55 struct musb *musb = __hci; in mpfs_musb_interrupt() local
57 spin_lock_irqsave(&musb->lock, flags); in mpfs_musb_interrupt()
59 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in mpfs_musb_interrupt()
60 musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); in mpfs_musb_interrupt()
61 musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX); in mpfs_musb_interrupt()
63 if (musb->int_usb || musb->int_tx || musb->int_rx) { in mpfs_musb_interrupt()
64 musb_writeb(musb->mregs, MUSB_INTRUSB, musb->int_usb); in mpfs_musb_interrupt()
65 musb_writew(musb->mregs, MUSB_INTRTX, musb->int_tx); in mpfs_musb_interrupt()
66 musb_writew(musb->mregs, MUSB_INTRRX, musb->int_rx); in mpfs_musb_interrupt()
67 ret = musb_interrupt(musb); in mpfs_musb_interrupt()
70 spin_unlock_irqrestore(&musb->lock, flags); in mpfs_musb_interrupt()
75 static void mpfs_musb_set_vbus(struct musb *musb, int is_on) in mpfs_musb_set_vbus() argument
84 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in mpfs_musb_set_vbus()
87 musb->is_active = 1; in mpfs_musb_set_vbus()
88 musb->xceiv->otg->default_a = 1; in mpfs_musb_set_vbus()
89 musb->xceiv->otg->state = OTG_STATE_A_WAIT_VRISE; in mpfs_musb_set_vbus()
91 MUSB_HST_MODE(musb); in mpfs_musb_set_vbus()
93 musb->is_active = 0; in mpfs_musb_set_vbus()
99 musb->xceiv->otg->default_a = 0; in mpfs_musb_set_vbus()
100 musb->xceiv->otg->state = OTG_STATE_B_IDLE; in mpfs_musb_set_vbus()
103 MUSB_DEV_MODE(musb); in mpfs_musb_set_vbus()
106 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in mpfs_musb_set_vbus()
108 dev_dbg(musb->controller, "VBUS %s, devctl %02x\n", in mpfs_musb_set_vbus()
109 usb_otg_state_string(musb->xceiv->otg->state), in mpfs_musb_set_vbus()
110 musb_readb(musb->mregs, MUSB_DEVCTL)); in mpfs_musb_set_vbus()
113 static int mpfs_musb_init(struct musb *musb) in mpfs_musb_init() argument
115 struct device *dev = musb->controller; in mpfs_musb_init()
117 musb->xceiv = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2); in mpfs_musb_init()
118 if (IS_ERR(musb->xceiv)) { in mpfs_musb_init()
120 return PTR_ERR(musb->xceiv); in mpfs_musb_init()
123 musb->dyn_fifo = true; in mpfs_musb_init()
124 musb->isr = mpfs_musb_interrupt; in mpfs_musb_init()
126 musb_platform_set_vbus(musb, 1); in mpfs_musb_init()
180 glue->musb = musb_pdev; in mpfs_probe()
243 platform_device_unregister(glue->musb); in mpfs_remove()