/openbmc/linux/drivers/usb/musb/ |
H A D | musb_core.c | 105 static inline struct musb *dev_to_musb(struct device *dev) in dev_to_musb() 316 struct musb *musb = hw_ep->musb; in musb_default_write_fifo() local 324 dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n", in musb_default_write_fifo() 360 struct musb *musb = hw_ep->musb; in musb_default_read_fifo() local 366 dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n", in musb_default_read_fifo() 436 (*musb_dma_controller_create)(struct musb *musb, void __iomem *base); 448 return hw_ep->musb->io.read_fifo(hw_ep, len, dst); in musb_read_fifo() 453 return hw_ep->musb->io.write_fifo(hw_ep, len, src); in musb_write_fifo() 456 static u8 musb_read_devctl(struct musb *musb) in musb_read_devctl() argument 458 return musb_readb(musb->mregs, MUSB_DEVCTL); in musb_read_devctl() [all …]
|
H A D | musb_core.h | 27 struct musb; 106 #define MUSB_MODE(musb) ((musb)->is_host ? "Host" : "Peripheral") argument 158 int (*init)(struct musb *musb); 159 int (*exit)(struct musb *musb); 161 void (*enable)(struct musb *musb); 162 void (*disable)(struct musb *musb); 180 (*dma_init) (struct musb *musb, void __iomem *base); 182 int (*set_mode)(struct musb *musb, u8 mode); 183 void (*try_idle)(struct musb *musb, unsigned long timeout); 184 int (*recover)(struct musb *musb); [all …]
|
H A D | musb_virthub.c | 23 struct musb *musb; in musb_host_finish_resume() local 27 musb = container_of(work, struct musb, finish_resume_work.work); in musb_host_finish_resume() 29 spin_lock_irqsave(&musb->lock, flags); in musb_host_finish_resume() 31 power = musb_readb(musb->mregs, MUSB_POWER); in musb_host_finish_resume() 33 musb_dbg(musb, "root port resume stopped, power %02x", power); in musb_host_finish_resume() 34 musb_writeb(musb->mregs, MUSB_POWER, power); in musb_host_finish_resume() 41 musb->is_active = 1; in musb_host_finish_resume() 42 musb->port1_status &= ~(USB_PORT_STAT_SUSPEND | MUSB_PORT_STAT_RESUME); in musb_host_finish_resume() 43 musb->port1_status |= USB_PORT_STAT_C_SUSPEND << 16; in musb_host_finish_resume() 44 usb_hcd_poll_rh_status(musb->hcd); in musb_host_finish_resume() [all …]
|
H A D | musb_gadget_ep0.c | 21 #define next_ep0_request(musb) next_in_request(&(musb)->endpoints[0]) argument 51 struct musb *musb, in service_tx_status_request() argument 54 void __iomem *mbase = musb->mregs; in service_tx_status_request() 63 result[0] = musb->g.is_selfpowered << USB_DEVICE_SELF_POWERED; in service_tx_status_request() 64 result[0] |= musb->may_wakeup << USB_DEVICE_REMOTE_WAKEUP; in service_tx_status_request() 65 if (musb->g.is_otg) { in service_tx_status_request() 66 result[0] |= musb->g.b_hnp_enable in service_tx_status_request() 68 result[0] |= musb->g.a_alt_hnp_support in service_tx_status_request() 70 result[0] |= musb->g.a_hnp_support in service_tx_status_request() 99 ep = &musb->endpoints[epnum].ep_in; in service_tx_status_request() [all …]
|
H A D | musb_gadget.c | 33 struct musb *musb, struct musb_ep *musb_ep) in map_dma_buffer() argument 36 struct dma_controller *dma = musb->dma_controller; in map_dma_buffer() 59 musb->controller, in map_dma_buffer() 65 ret = dma_mapping_error(musb->controller, dma_addr); in map_dma_buffer() 72 dma_sync_single_for_device(musb->controller, in map_dma_buffer() 84 struct musb *musb) in unmap_dma_buffer() argument 92 dev_vdbg(musb->controller, in unmap_dma_buffer() 97 dma_unmap_single(musb->controller, in unmap_dma_buffer() 105 dma_sync_single_for_cpu(musb->controller, in unmap_dma_buffer() 126 __releases(ep->musb->lock) in musb_g_giveback() [all …]
|
H A D | ux500.c | 29 struct platform_device *musb; member 32 #define glue_to_musb(g) platform_get_drvdata(g->musb) 34 static void ux500_musb_set_vbus(struct musb *musb, int is_on) in ux500_musb_set_vbus() argument 43 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in ux500_musb_set_vbus() 46 if (musb->xceiv->otg->state == OTG_STATE_A_IDLE) { in ux500_musb_set_vbus() 49 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in ux500_musb_set_vbus() 54 while (musb_readb(musb->mregs, MUSB_DEVCTL) & 0x80) { in ux500_musb_set_vbus() 57 dev_err(musb->controller, in ux500_musb_set_vbus() 64 musb->is_active = 1; in ux500_musb_set_vbus() 65 musb->xceiv->otg->state = OTG_STATE_A_WAIT_VRISE; in ux500_musb_set_vbus() [all …]
|
H A D | omap2430.c | 33 struct platform_device *musb; member 41 #define glue_to_musb(g) platform_get_drvdata(g->musb) 45 static inline void omap2430_low_level_exit(struct musb *musb) in omap2430_low_level_exit() argument 50 l = musb_readl(musb->mregs, OTG_FORCESTDBY); in omap2430_low_level_exit() 52 musb_writel(musb->mregs, OTG_FORCESTDBY, l); in omap2430_low_level_exit() 55 static inline void omap2430_low_level_init(struct musb *musb) in omap2430_low_level_init() argument 59 l = musb_readl(musb->mregs, OTG_FORCESTDBY); in omap2430_low_level_init() 61 musb_writel(musb->mregs, OTG_FORCESTDBY, l); in omap2430_low_level_init() 93 struct musb *musb = glue_to_musb(glue); in omap_musb_set_mailbox() local 96 pm_runtime_get_sync(musb->controller); in omap_musb_set_mailbox() [all …]
|
H A D | tusb6010.c | 34 struct platform_device *musb; member 40 static void tusb_musb_set_vbus(struct musb *musb, int is_on); 49 static u8 tusb_get_revision(struct musb *musb) in tusb_get_revision() argument 51 void __iomem *tbase = musb->ctrl_base; in tusb_get_revision() 66 static void tusb_print_revision(struct musb *musb) in tusb_print_revision() argument 68 void __iomem *tbase = musb->ctrl_base; in tusb_print_revision() 71 rev = musb->tusb_revision; in tusb_print_revision() 99 static void tusb_wbus_quirk(struct musb *musb, int enabled) in tusb_wbus_quirk() argument 101 void __iomem *tbase = musb->ctrl_base; in tusb_wbus_quirk() 114 dev_dbg(musb->controller, "Enabled tusb wbus quirk ctrl %08x ena %08x\n", in tusb_wbus_quirk() [all …]
|
H A D | musb_host.h | 55 extern struct musb *hcd_to_musb(struct usb_hcd *); 56 extern irqreturn_t musb_h_ep0_irq(struct musb *); 57 extern int musb_host_alloc(struct musb *); 58 extern int musb_host_setup(struct musb *, int); 59 extern void musb_host_cleanup(struct musb *); 60 extern void musb_host_tx(struct musb *, u8); 61 extern void musb_host_rx(struct musb *, u8); 62 extern void musb_root_disconnect(struct musb *musb); 63 extern void musb_host_free(struct musb *); 64 extern void musb_host_resume_root_hub(struct musb *musb); [all …]
|
H A D | da8xx.c | 68 struct platform_device *musb; member 84 static void da8xx_musb_enable(struct musb *musb) in da8xx_musb_enable() argument 86 void __iomem *reg_base = musb->ctrl_base; in da8xx_musb_enable() 90 mask = ((musb->epmask & DA8XX_USB_TX_EP_MASK) << DA8XX_INTR_TX_SHIFT) | in da8xx_musb_enable() 91 ((musb->epmask & DA8XX_USB_RX_EP_MASK) << DA8XX_INTR_RX_SHIFT) | in da8xx_musb_enable() 103 static void da8xx_musb_disable(struct musb *musb) in da8xx_musb_disable() argument 105 void __iomem *reg_base = musb->ctrl_base; in da8xx_musb_disable() 115 static void da8xx_musb_set_vbus(struct musb *musb, int is_on) in da8xx_musb_set_vbus() argument 117 WARN_ON(is_on && is_peripheral_active(musb)); in da8xx_musb_set_vbus() 124 struct musb *musb = from_timer(musb, t, dev_timer); in otg_timer() local [all …]
|
H A D | musb_gadget.h | 16 extern irqreturn_t musb_g_ep0_irq(struct musb *); 17 extern void musb_g_tx(struct musb *, u8); 18 extern void musb_g_rx(struct musb *, u8); 19 extern void musb_g_reset(struct musb *); 20 extern void musb_g_suspend(struct musb *); 21 extern void musb_g_resume(struct musb *); 22 extern void musb_g_wakeup(struct musb *); 23 extern void musb_g_disconnect(struct musb *); 24 extern void musb_gadget_cleanup(struct musb *); 25 extern int musb_gadget_setup(struct musb *); [all …]
|
H A D | musb_dsps.c | 103 struct platform_device *musb; /* child musb pdev */ member 135 struct musb *musb = platform_get_drvdata(glue->musb); in dsps_mod_timer() local 143 mod_timer(&musb->dev_timer, jiffies + wait); in dsps_mod_timer() 167 static void dsps_musb_enable(struct musb *musb) in dsps_musb_enable() argument 169 struct device *dev = musb->controller; in dsps_musb_enable() 172 void __iomem *reg_base = musb->ctrl_base; in dsps_musb_enable() 176 epmask = ((musb->epmask & wrp->txep_mask) << wrp->txep_shift) | in dsps_musb_enable() 177 ((musb->epmask & wrp->rxep_mask) << wrp->rxep_shift); in dsps_musb_enable() 186 if (musb->xceiv->otg->state == OTG_STATE_B_IDLE) in dsps_musb_enable() 193 static void dsps_musb_disable(struct musb *musb) in dsps_musb_disable() argument [all …]
|
H A D | jz4740.c | 23 struct musb *musb; member 32 struct musb *musb = __hci; in jz4740_musb_interrupt() local 34 if (IS_ENABLED(CONFIG_USB_INVENTRA_DMA) && musb->dma_controller) in jz4740_musb_interrupt() 35 retval_dma = dma_controller_irq(irq, musb->dma_controller); in jz4740_musb_interrupt() 37 spin_lock_irqsave(&musb->lock, flags); in jz4740_musb_interrupt() 39 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in jz4740_musb_interrupt() 40 musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); in jz4740_musb_interrupt() 41 musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX); in jz4740_musb_interrupt() 48 musb->int_usb &= MUSB_INTR_SUSPEND | MUSB_INTR_RESUME | in jz4740_musb_interrupt() 51 if (musb->int_usb || musb->int_tx || musb->int_rx) in jz4740_musb_interrupt() [all …]
|
H A D | musb_debugfs.c | 86 struct musb *musb = s->private; in musb_regdump_show() local 90 pm_runtime_get_sync(musb->controller); in musb_regdump_show() 96 musb_readb(musb->mregs, musb_regmap[i].offset)); in musb_regdump_show() 100 musb_readw(musb->mregs, musb_regmap[i].offset)); in musb_regdump_show() 104 musb_readl(musb->mregs, musb_regmap[i].offset)); in musb_regdump_show() 109 pm_runtime_mark_last_busy(musb->controller); in musb_regdump_show() 110 pm_runtime_put_autosuspend(musb->controller); in musb_regdump_show() 117 struct musb *musb = s->private; in musb_test_mode_show() local 120 pm_runtime_get_sync(musb->controller); in musb_test_mode_show() 121 test = musb_readb(musb->mregs, MUSB_TESTMODE); in musb_test_mode_show() [all …]
|
H A D | musb_regs.h | 282 static inline void musb_write_rxfunaddr(struct musb *musb, u8 epnum, in musb_write_rxfunaddr() argument 285 musb_writeb(musb->mregs, in musb_write_rxfunaddr() 286 musb->io.busctl_offset(epnum, MUSB_RXFUNCADDR), in musb_write_rxfunaddr() 290 static inline void musb_write_rxhubaddr(struct musb *musb, u8 epnum, in musb_write_rxhubaddr() argument 293 musb_writeb(musb->mregs, musb->io.busctl_offset(epnum, MUSB_RXHUBADDR), in musb_write_rxhubaddr() 297 static inline void musb_write_rxhubport(struct musb *musb, u8 epnum, in musb_write_rxhubport() argument 300 musb_writeb(musb->mregs, musb->io.busctl_offset(epnum, MUSB_RXHUBPORT), in musb_write_rxhubport() 304 static inline void musb_write_txfunaddr(struct musb *musb, u8 epnum, in musb_write_txfunaddr() argument 307 musb_writeb(musb->mregs, in musb_write_txfunaddr() 308 musb->io.busctl_offset(epnum, MUSB_TXFUNCADDR), in musb_write_txfunaddr() [all …]
|
H A D | musb_dma.h | 53 #define musb_dma_ux500(musb) (musb->ops->quirks & MUSB_DMA_UX500) argument 55 #define musb_dma_ux500(musb) 0 argument 59 #define musb_dma_cppi41(musb) (musb->ops->quirks & MUSB_DMA_CPPI41) argument 61 #define musb_dma_cppi41(musb) 0 argument 65 #define tusb_dma_omap(musb) (musb->ops->quirks & MUSB_DMA_TUSB_OMAP) argument 67 #define tusb_dma_omap(musb) 0 argument 71 #define musb_dma_inventra(musb) (musb->ops->quirks & MUSB_DMA_INVENTRA) argument 73 #define musb_dma_inventra(musb) 0 argument 77 #define is_cppi_enabled(musb) musb_dma_cppi41(musb) argument 79 #define is_cppi_enabled(musb) 0 argument [all …]
|
H A D | mpfs.c | 27 struct platform_device *musb; member 56 struct musb *musb = __hci; in mpfs_musb_interrupt() local 58 spin_lock_irqsave(&musb->lock, flags); in mpfs_musb_interrupt() 60 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in mpfs_musb_interrupt() 61 musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); in mpfs_musb_interrupt() 62 musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX); in mpfs_musb_interrupt() 64 if (musb->int_usb || musb->int_tx || musb->int_rx) { in mpfs_musb_interrupt() 65 musb_writeb(musb->mregs, MUSB_INTRUSB, musb->int_usb); in mpfs_musb_interrupt() 66 musb_writew(musb->mregs, MUSB_INTRTX, musb->int_tx); in mpfs_musb_interrupt() 67 musb_writew(musb->mregs, MUSB_INTRRX, musb->int_rx); in mpfs_musb_interrupt() [all …]
|
H A D | musb_host.c | 73 struct musb *hcd_to_musb(struct usb_hcd *hcd) in hcd_to_musb() 75 return *(struct musb **) hcd->hcd_priv; in hcd_to_musb() 79 static void musb_ep_program(struct musb *musb, u8 epnum, 88 struct musb *musb = ep->musb; in musb_h_tx_flush_fifo() local 113 if (dev_WARN_ONCE(musb->controller, retries-- < 1, in musb_h_tx_flush_fifo() 171 if (is_cppi_enabled(ep->musb)) in musb_h_tx_dma_start() 196 musb_start_urb(struct musb *musb, int is_in, struct musb_qh *qh) in musb_start_urb() argument 199 void __iomem *mbase = musb->mregs; in musb_start_urb() 215 musb->ep0_stage = MUSB_EP0_START; in musb_start_urb() 231 trace_musb_urb_start(musb, urb); in musb_start_urb() [all …]
|
/openbmc/u-boot/drivers/usb/musb-new/ |
H A D | musb_core.c | 114 static inline struct musb *dev_to_musb(struct device *dev) in dev_to_musb() 218 struct musb *musb = hw_ep->musb; in musb_write_fifo() local 223 dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n", in musb_write_fifo() 260 struct musb *musb = hw_ep->musb; in musb_read_fifo() local 263 dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n", in musb_read_fifo() 320 void musb_load_testpacket(struct musb *musb) in musb_load_testpacket() argument 322 void __iomem *regs = musb->endpoints[0].regs; in musb_load_testpacket() 324 musb_ep_select(musb->mregs, 0); in musb_load_testpacket() 325 musb_write_fifo(musb->control_ep, in musb_load_testpacket() 338 struct musb *musb = (struct musb *)data; in musb_otg_timer_func() local [all …]
|
H A D | musb_core.h | 29 struct musb; 55 #define is_peripheral_enabled(musb) ((musb)->board_mode != MUSB_HOST) argument 56 #define is_host_enabled(musb) ((musb)->board_mode != MUSB_PERIPHERAL) argument 57 #define is_otg_enabled(musb) ((musb)->board_mode == MUSB_OTG) argument 82 extern irqreturn_t musb_g_ep0_irq(struct musb *); 83 extern void musb_g_tx(struct musb *, u8); 84 extern void musb_g_rx(struct musb *, u8); 85 extern void musb_g_reset(struct musb *); 86 extern void musb_g_suspend(struct musb *); 87 extern void musb_g_resume(struct musb *); [all …]
|
H A D | musb_gadget_ep0.c | 27 #define next_ep0_request(musb) next_in_request(&(musb)->endpoints[0]) argument 57 struct musb *musb, in service_tx_status_request() argument 60 void __iomem *mbase = musb->mregs; in service_tx_status_request() 69 result[0] = musb->is_self_powered << USB_DEVICE_SELF_POWERED; in service_tx_status_request() 70 result[0] |= musb->may_wakeup << USB_DEVICE_REMOTE_WAKEUP; in service_tx_status_request() 71 if (musb->g.is_otg) { in service_tx_status_request() 72 result[0] |= musb->g.b_hnp_enable in service_tx_status_request() 74 result[0] |= musb->g.a_alt_hnp_support in service_tx_status_request() 76 result[0] |= musb->g.a_hnp_support in service_tx_status_request() 100 ep = &musb->endpoints[epnum].ep_in; in service_tx_status_request() [all …]
|
H A D | musb_gadget.c | 81 struct musb *musb, struct musb_ep *musb_ep) in map_dma_buffer() argument 84 struct dma_controller *dma = musb->dma_controller; in map_dma_buffer() 104 musb->controller, in map_dma_buffer() 112 dma_sync_single_for_device(musb->controller, in map_dma_buffer() 124 struct musb *musb) in unmap_dma_buffer() argument 130 dev_vdbg(musb->controller, in unmap_dma_buffer() 135 dma_unmap_single(musb->controller, in unmap_dma_buffer() 143 dma_sync_single_for_cpu(musb->controller, in unmap_dma_buffer() 154 struct musb *musb, struct musb_ep *musb_ep) in map_dma_buffer() argument 159 struct musb *musb) in unmap_dma_buffer() argument [all …]
|
H A D | am35x.c | 79 struct platform_device *musb; member 83 #define glue_to_musb(g) platform_get_drvdata(g->musb) 89 static void am35x_musb_enable(struct musb *musb) in am35x_musb_enable() argument 91 static int am35x_musb_enable(struct musb *musb) in am35x_musb_enable() 94 void __iomem *reg_base = musb->ctrl_base; in am35x_musb_enable() 98 epmask = ((musb->epmask & AM35X_TX_EP_MASK) << AM35X_INTR_TX_SHIFT) | in am35x_musb_enable() 99 ((musb->epmask & AM35X_RX_EP_MASK) << AM35X_INTR_RX_SHIFT); in am35x_musb_enable() 105 if (is_otg_enabled(musb)) in am35x_musb_enable() 116 static void am35x_musb_disable(struct musb *musb) in am35x_musb_disable() argument 118 void __iomem *reg_base = musb->ctrl_base; in am35x_musb_disable() [all …]
|
H A D | musb_dsps.c | 136 struct platform_device *musb; /* child musb pdev */ member 145 static void dsps_musb_enable(struct musb *musb) in dsps_musb_enable() argument 147 static int dsps_musb_enable(struct musb *musb) in dsps_musb_enable() 151 struct device *dev = musb->controller; in dsps_musb_enable() 158 void __iomem *reg_base = musb->ctrl_base; in dsps_musb_enable() 162 epmask = ((musb->epmask & wrp->txep_mask) << wrp->txep_shift) | in dsps_musb_enable() 163 ((musb->epmask & wrp->rxep_mask) << wrp->rxep_shift); in dsps_musb_enable() 170 if (is_otg_enabled(musb)) in dsps_musb_enable() 181 static void dsps_musb_disable(struct musb *musb) in dsps_musb_disable() argument 184 struct device *dev = musb->controller; in dsps_musb_disable() [all …]
|
H A D | pic32.c | 52 static void pic32_musb_disable(struct musb *musb) in pic32_musb_disable() argument 57 static int pic32_musb_enable(struct musb *musb) in pic32_musb_enable() argument 60 musb_writeb(musb->mregs, MUSB_SOFTRST, MUSB_SOFTRST_NRSTX); in pic32_musb_enable() 62 musb_platform_set_mode(musb, musb->board_mode); in pic32_musb_enable() 69 struct musb *musb = hci; in pic32_interrupt() local 74 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in pic32_interrupt() 75 if (musb->int_usb) in pic32_interrupt() 76 musb_writeb(musb->mregs, MUSB_INTRUSB, musb->int_usb); in pic32_interrupt() 79 musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX) & PIC32_RX_EP_MASK; in pic32_interrupt() 80 if (musb->int_rx) in pic32_interrupt() [all …]
|