Home
last modified time | relevance | path

Searched refs:musb (Results 1 – 43 of 43) sorted by relevance

/linux-4.1.27/drivers/usb/musb/
Dmusb_core.c127 static inline struct musb *dev_to_musb(struct device *dev) in dev_to_musb()
290 struct musb *musb = hw_ep->musb; in musb_default_write_fifo() local
298 dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n", in musb_default_write_fifo()
334 struct musb *musb = hw_ep->musb; in musb_default_read_fifo() local
340 dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n", in musb_default_read_fifo()
397 return hw_ep->musb->io.read_fifo(hw_ep, len, dst); in musb_read_fifo()
402 return hw_ep->musb->io.write_fifo(hw_ep, len, src); in musb_write_fifo()
427 void musb_load_testpacket(struct musb *musb) in musb_load_testpacket() argument
429 void __iomem *regs = musb->endpoints[0].regs; in musb_load_testpacket()
431 musb_ep_select(musb->mregs, 0); in musb_load_testpacket()
[all …]
Dmusb_gadget_ep0.c46 #define next_ep0_request(musb) next_in_request(&(musb)->endpoints[0]) argument
76 struct musb *musb, in service_tx_status_request() argument
79 void __iomem *mbase = musb->mregs; in service_tx_status_request()
88 result[0] = musb->g.is_selfpowered << USB_DEVICE_SELF_POWERED; in service_tx_status_request()
89 result[0] |= musb->may_wakeup << USB_DEVICE_REMOTE_WAKEUP; in service_tx_status_request()
90 if (musb->g.is_otg) { in service_tx_status_request()
91 result[0] |= musb->g.b_hnp_enable in service_tx_status_request()
93 result[0] |= musb->g.a_alt_hnp_support in service_tx_status_request()
95 result[0] |= musb->g.a_hnp_support in service_tx_status_request()
119 ep = &musb->endpoints[epnum].ep_in; in service_tx_status_request()
[all …]
Dmusb_virthub.c48 struct musb *musb; in musb_host_finish_resume() local
52 musb = container_of(work, struct musb, finish_resume_work.work); in musb_host_finish_resume()
54 spin_lock_irqsave(&musb->lock, flags); in musb_host_finish_resume()
56 power = musb_readb(musb->mregs, MUSB_POWER); in musb_host_finish_resume()
58 dev_dbg(musb->controller, "root port resume stopped, power %02x\n", in musb_host_finish_resume()
60 musb_writeb(musb->mregs, MUSB_POWER, power); in musb_host_finish_resume()
67 musb->is_active = 1; in musb_host_finish_resume()
68 musb->port1_status &= ~(USB_PORT_STAT_SUSPEND | MUSB_PORT_STAT_RESUME); in musb_host_finish_resume()
69 musb->port1_status |= USB_PORT_STAT_C_SUSPEND << 16; in musb_host_finish_resume()
70 usb_hcd_poll_rh_status(musb->hcd); in musb_host_finish_resume()
[all …]
Domap2430.c48 struct platform_device *musb; member
53 #define glue_to_musb(g) platform_get_drvdata(g->musb)
61 struct musb *musb = (void *)_musb; in musb_do_idle() local
66 spin_lock_irqsave(&musb->lock, flags); in musb_do_idle()
68 switch (musb->xceiv->otg->state) { in musb_do_idle()
71 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_do_idle()
73 musb->xceiv->otg->state = OTG_STATE_B_IDLE; in musb_do_idle()
74 MUSB_DEV_MODE(musb); in musb_do_idle()
76 musb->xceiv->otg->state = OTG_STATE_A_IDLE; in musb_do_idle()
77 MUSB_HST_MODE(musb); in musb_do_idle()
[all …]
Dmusb_host.h80 extern struct musb *hcd_to_musb(struct usb_hcd *);
81 extern irqreturn_t musb_h_ep0_irq(struct musb *);
82 extern int musb_host_alloc(struct musb *);
83 extern int musb_host_setup(struct musb *, int);
84 extern void musb_host_cleanup(struct musb *);
85 extern void musb_host_tx(struct musb *, u8);
86 extern void musb_host_rx(struct musb *, u8);
87 extern void musb_root_disconnect(struct musb *musb);
88 extern void musb_host_free(struct musb *);
89 extern void musb_host_cleanup(struct musb *);
[all …]
Dmusb_core.h52 struct musb;
137 #define MUSB_MODE(musb) ((musb)->is_host ? "Host" : "Peripheral") argument
180 int (*init)(struct musb *musb);
181 int (*exit)(struct musb *musb);
183 void (*enable)(struct musb *musb);
184 void (*disable)(struct musb *musb);
198 int (*set_mode)(struct musb *musb, u8 mode);
199 void (*try_idle)(struct musb *musb, unsigned long timeout);
200 int (*recover)(struct musb *musb);
202 int (*vbus_status)(struct musb *musb);
[all …]
Dmusb_gadget.c57 struct musb *musb, struct musb_ep *musb_ep) in map_dma_buffer() argument
60 struct dma_controller *dma = musb->dma_controller; in map_dma_buffer()
83 musb->controller, in map_dma_buffer()
89 ret = dma_mapping_error(musb->controller, dma_addr); in map_dma_buffer()
96 dma_sync_single_for_device(musb->controller, in map_dma_buffer()
108 struct musb *musb) in unmap_dma_buffer() argument
116 dev_vdbg(musb->controller, in unmap_dma_buffer()
121 dma_unmap_single(musb->controller, in unmap_dma_buffer()
129 dma_sync_single_for_cpu(musb->controller, in unmap_dma_buffer()
150 __releases(ep->musb->lock) in musb_g_giveback()
[all …]
Dux500.c42 struct platform_device *musb; member
45 #define glue_to_musb(g) platform_get_drvdata(g->musb)
47 static void ux500_musb_set_vbus(struct musb *musb, int is_on) in ux500_musb_set_vbus() argument
56 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in ux500_musb_set_vbus()
59 if (musb->xceiv->otg->state == OTG_STATE_A_IDLE) { in ux500_musb_set_vbus()
62 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in ux500_musb_set_vbus()
67 while (musb_readb(musb->mregs, MUSB_DEVCTL) & 0x80) { in ux500_musb_set_vbus()
70 dev_err(musb->controller, in ux500_musb_set_vbus()
77 musb->is_active = 1; in ux500_musb_set_vbus()
78 musb->xceiv->otg->default_a = 1; in ux500_musb_set_vbus()
[all …]
Dtusb6010.c34 struct platform_device *musb; member
38 static void tusb_musb_set_vbus(struct musb *musb, int is_on);
47 static u8 tusb_get_revision(struct musb *musb) in tusb_get_revision() argument
49 void __iomem *tbase = musb->ctrl_base; in tusb_get_revision()
64 static void tusb_print_revision(struct musb *musb) in tusb_print_revision() argument
66 void __iomem *tbase = musb->ctrl_base; in tusb_print_revision()
69 rev = musb->tusb_revision; in tusb_print_revision()
97 static void tusb_wbus_quirk(struct musb *musb, int enabled) in tusb_wbus_quirk() argument
99 void __iomem *tbase = musb->ctrl_base; in tusb_wbus_quirk()
112 dev_dbg(musb->controller, "Enabled tusb wbus quirk ctrl %08x ena %08x\n", in tusb_wbus_quirk()
[all …]
Dblackfin.c31 struct platform_device *musb; member
34 #define glue_to_musb(g) platform_get_drvdata(g->musb)
76 struct musb *musb = hw_ep->musb; in bfin_write_fifo() local
85 dev_dbg(musb->controller, "TX ep%d fifo %p count %d buf %p, epio %p\n", in bfin_write_fifo()
140 struct musb *musb = hw_ep->musb; in bfin_read_fifo() local
197 dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n", in bfin_read_fifo()
207 struct musb *musb = __hci; in blackfin_interrupt() local
209 spin_lock_irqsave(&musb->lock, flags); in blackfin_interrupt()
211 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in blackfin_interrupt()
212 musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); in blackfin_interrupt()
[all …]
Dmusb_gadget.h41 extern irqreturn_t musb_g_ep0_irq(struct musb *);
42 extern void musb_g_tx(struct musb *, u8);
43 extern void musb_g_rx(struct musb *, u8);
44 extern void musb_g_reset(struct musb *);
45 extern void musb_g_suspend(struct musb *);
46 extern void musb_g_resume(struct musb *);
47 extern void musb_g_wakeup(struct musb *);
48 extern void musb_g_disconnect(struct musb *);
49 extern void musb_gadget_cleanup(struct musb *);
50 extern int musb_gadget_setup(struct musb *);
[all …]
Dda8xx.c87 struct platform_device *musb; member
147 static void da8xx_musb_enable(struct musb *musb) in da8xx_musb_enable() argument
149 void __iomem *reg_base = musb->ctrl_base; in da8xx_musb_enable()
153 mask = ((musb->epmask & DA8XX_USB_TX_EP_MASK) << DA8XX_INTR_TX_SHIFT) | in da8xx_musb_enable()
154 ((musb->epmask & DA8XX_USB_RX_EP_MASK) << DA8XX_INTR_RX_SHIFT) | in da8xx_musb_enable()
166 static void da8xx_musb_disable(struct musb *musb) in da8xx_musb_disable() argument
168 void __iomem *reg_base = musb->ctrl_base; in da8xx_musb_disable()
173 musb_writeb(musb->mregs, MUSB_DEVCTL, 0); in da8xx_musb_disable()
179 static void da8xx_musb_set_vbus(struct musb *musb, int is_on) in da8xx_musb_set_vbus() argument
181 WARN_ON(is_on && is_peripheral_active(musb)); in da8xx_musb_set_vbus()
[all …]
Ddavinci.c57 struct platform_device *musb; member
93 static void davinci_musb_enable(struct musb *musb) in davinci_musb_enable() argument
98 tmp = (musb->epmask & DAVINCI_USB_TX_ENDPTS_MASK) in davinci_musb_enable()
100 musb_writel(musb->ctrl_base, DAVINCI_USB_INT_MASK_SET_REG, tmp); in davinci_musb_enable()
102 tmp = (musb->epmask & (0xfffe & DAVINCI_USB_RX_ENDPTS_MASK)) in davinci_musb_enable()
104 musb_writel(musb->ctrl_base, DAVINCI_USB_INT_MASK_SET_REG, tmp); in davinci_musb_enable()
109 musb_writel(musb->ctrl_base, DAVINCI_USB_INT_MASK_SET_REG, tmp); in davinci_musb_enable()
118 musb_writel(musb->ctrl_base, DAVINCI_USB_INT_SET_REG, in davinci_musb_enable()
125 static void davinci_musb_disable(struct musb *musb) in davinci_musb_disable() argument
132 musb_writel(musb->ctrl_base, DAVINCI_USB_INT_MASK_CLR_REG, in davinci_musb_disable()
[all …]
Dmusb_dsps.c143 struct platform_device *musb; /* child musb pdev */ member
172 static void dsps_musb_try_idle(struct musb *musb, unsigned long timeout) in dsps_musb_try_idle() argument
174 struct device *dev = musb->controller; in dsps_musb_try_idle()
181 if (musb->is_active || (musb->a_wait_bcon == 0 && in dsps_musb_try_idle()
182 musb->xceiv->otg->state == OTG_STATE_A_WAIT_BCON)) { in dsps_musb_try_idle()
183 dev_dbg(musb->controller, "%s active, deleting timer\n", in dsps_musb_try_idle()
184 usb_otg_state_string(musb->xceiv->otg->state)); in dsps_musb_try_idle()
189 if (musb->port_mode != MUSB_PORT_MODE_DUAL_ROLE) in dsps_musb_try_idle()
192 if (!musb->g.dev.driver) in dsps_musb_try_idle()
197 dev_dbg(musb->controller, in dsps_musb_try_idle()
[all …]
Dam35x.c88 struct platform_device *musb; member
97 static void am35x_musb_enable(struct musb *musb) in am35x_musb_enable() argument
99 void __iomem *reg_base = musb->ctrl_base; in am35x_musb_enable()
103 epmask = ((musb->epmask & AM35X_TX_EP_MASK) << AM35X_INTR_TX_SHIFT) | in am35x_musb_enable()
104 ((musb->epmask & AM35X_RX_EP_MASK) << AM35X_INTR_RX_SHIFT); in am35x_musb_enable()
117 static void am35x_musb_disable(struct musb *musb) in am35x_musb_disable() argument
119 void __iomem *reg_base = musb->ctrl_base; in am35x_musb_disable()
124 musb_writeb(musb->mregs, MUSB_DEVCTL, 0); in am35x_musb_disable()
130 static void am35x_musb_set_vbus(struct musb *musb, int is_on) in am35x_musb_set_vbus() argument
132 WARN_ON(is_on && is_peripheral_active(musb)); in am35x_musb_set_vbus()
[all …]
Djz4740.c28 struct platform_device *musb; member
36 struct musb *musb = __hci; in jz4740_musb_interrupt() local
38 spin_lock_irqsave(&musb->lock, flags); in jz4740_musb_interrupt()
40 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in jz4740_musb_interrupt()
41 musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); in jz4740_musb_interrupt()
42 musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX); in jz4740_musb_interrupt()
49 musb->int_usb &= MUSB_INTR_SUSPEND | MUSB_INTR_RESUME | in jz4740_musb_interrupt()
52 if (musb->int_usb || musb->int_tx || musb->int_rx) in jz4740_musb_interrupt()
53 retval = musb_interrupt(musb); in jz4740_musb_interrupt()
55 spin_unlock_irqrestore(&musb->lock, flags); in jz4740_musb_interrupt()
[all …]
Dmusb_host.c97 struct musb *hcd_to_musb(struct usb_hcd *hcd) in hcd_to_musb()
99 return *(struct musb **) hcd->hcd_priv; in hcd_to_musb()
103 static void musb_ep_program(struct musb *musb, u8 epnum,
112 struct musb *musb = ep->musb; in musb_h_tx_flush_fifo() local
121 dev_dbg(musb->controller, "Host TX FIFONOTEMPTY csr: %02x\n", csr); in musb_h_tx_flush_fifo()
209 musb_start_urb(struct musb *musb, int is_in, struct musb_qh *qh) in musb_start_urb() argument
213 void __iomem *mbase = musb->mregs; in musb_start_urb()
231 musb->ep0_stage = MUSB_EP0_START; in musb_start_urb()
247 dev_dbg(musb->controller, "qh %p urb %p dev%d ep%d%s%s, hw_ep %d, %p/%d\n", in musb_start_urb()
260 musb_ep_program(musb, epnum, urb, !is_in, buf, offset, len); in musb_start_urb()
[all …]
Dmusb_cppi41.c51 struct musb *musb; member
66 if (!is_host_active(cppi41_channel->controller->musb)) in save_rx_toggle()
78 struct musb *musb = hw_ep->musb; in update_rx_toggle() local
84 if (!is_host_active(musb)) in update_rx_toggle()
87 musb_ep_select(musb->mregs, hw_ep->epnum); in update_rx_toggle()
99 dev_dbg(cppi41_channel->controller->musb->controller, in update_rx_toggle()
109 struct musb *musb = hw_ep->musb; in musb_is_tx_fifo_empty() local
110 void __iomem *epio = musb->endpoints[epnum].regs; in musb_is_tx_fifo_empty()
113 musb_ep_select(musb->mregs, hw_ep->epnum); in musb_is_tx_fifo_empty()
125 struct musb *musb = hw_ep->musb; in cppi41_trans_done() local
[all …]
Dmusb_debugfs.c113 struct musb *musb = s->private; in musb_regdump_show() local
122 musb_readb(musb->mregs, musb_regmap[i].offset)); in musb_regdump_show()
126 musb_readw(musb->mregs, musb_regmap[i].offset)); in musb_regdump_show()
130 musb_readl(musb->mregs, musb_regmap[i].offset)); in musb_regdump_show()
145 struct musb *musb = s->private; in musb_test_mode_show() local
148 test = musb_readb(musb->mregs, MUSB_TESTMODE); in musb_test_mode_show()
193 struct musb *musb = s->private; in musb_test_mode_write() local
216 musb_load_testpacket(musb); in musb_test_mode_write()
228 musb_writeb(musb->mregs, MUSB_TESTMODE, test); in musb_test_mode_write()
241 int musb_init_debugfs(struct musb *musb) in musb_init_debugfs() argument
[all …]
Dmusbhsdma.c44 struct musb *musb = controller->private_data; in dma_controller_stop() local
49 dev_err(musb->controller, in dma_controller_stop()
115 struct musb *musb = controller->private_data; in configure_channel() local
120 dev_dbg(musb->controller, "%p, pkt_sz %d, addr 0x%x, len %d, mode %d\n", in configure_channel()
153 struct musb *musb = controller->private_data; in dma_channel_program() local
155 dev_dbg(musb->controller, "ep%d-%s pkt_sz %d, dma_addr 0x%x length %d, mode %d\n", in dma_channel_program()
164 if (musb->ops->adjust_channel_params) { in dma_channel_program()
165 int ret = musb->ops->adjust_channel_params(channel, in dma_channel_program()
180 if ((musb->hwvers >= MUSB_HWVERS_1800) && (dma_addr % 4)) in dma_channel_program()
198 struct musb *musb = musb_channel->controller->private_data; in dma_channel_abort() local
[all …]
Dtusb6010_omap.c35 struct musb *musb; member
59 struct musb *musb; member
76 dev_dbg(chdat->musb->controller, "ep%i dmareq0 is busy for ep%i\n", in tusb_omap_use_shared_dmareq()
112 struct musb *musb = chdat->musb; in tusb_omap_dma_cb() local
113 struct device *dev = musb->controller; in tusb_omap_dma_cb()
116 void __iomem *mbase = musb->mregs; in tusb_omap_dma_cb()
120 spin_lock_irqsave(&musb->lock, flags); in tusb_omap_dma_cb()
130 dev_dbg(musb->controller, "ep%i %s dma callback ch: %i status: %x\n", in tusb_omap_dma_cb()
143 dev_dbg(musb->controller, "Corrupt %s dma ch%i XFR_SIZE: 0x%08lx\n", in tusb_omap_dma_cb()
152 dev_dbg(musb->controller, "DMA remaining %lu/%u\n", remaining, chdat->transfer_len); in tusb_omap_dma_cb()
[all …]
Dux500_dma.c68 struct musb *musb = hw_ep->musb; in ux500_dma_callback() local
71 dev_dbg(musb->controller, "DMA rx transfer done on hw_ep=%d\n", in ux500_dma_callback()
74 spin_lock_irqsave(&musb->lock, flags); in ux500_dma_callback()
77 musb_dma_completion(musb, hw_ep->epnum, ux500_channel->is_tx); in ux500_dma_callback()
78 spin_unlock_irqrestore(&musb->lock, flags); in ux500_dma_callback()
94 struct musb *musb = ux500_channel->controller->private_data; in ux500_configure_channel() local
95 dma_addr_t usb_fifo_addr = (musb->io.fifo_offset(hw_ep->epnum) + in ux500_configure_channel()
98 dev_dbg(musb->controller, in ux500_configure_channel()
146 struct musb *musb = controller->private_data; in ux500_dma_channel_allocate() local
169 dev_dbg(musb->controller, "hw_ep=%d, is_tx=0x%x, channel=%d\n", in ux500_dma_channel_allocate()
[all …]
Dmusb_debug.h46 int musb_init_debugfs(struct musb *musb);
47 void musb_exit_debugfs(struct musb *musb);
49 static inline int musb_init_debugfs(struct musb *musb) in musb_init_debugfs() argument
53 static inline void musb_exit_debugfs(struct musb *musb) in musb_exit_debugfs() argument
Dcppi_dma.c224 struct musb *musb; in cppi_controller_stop() local
226 musb = controller->musb; in cppi_controller_stop()
235 dev_dbg(musb->controller, "Tearing down RX and TX Channels\n"); in cppi_controller_stop()
286 struct musb *musb; in cppi_channel_allocate() local
290 musb = controller->musb; in cppi_channel_allocate()
300 dev_dbg(musb->controller, "no %cX%d CPPI channel\n", 'T', index); in cppi_channel_allocate()
306 dev_dbg(musb->controller, "no %cX%d CPPI channel\n", 'R', index); in cppi_channel_allocate()
317 dev_dbg(musb->controller, "re-allocating DMA%d %cX channel %p\n", in cppi_channel_allocate()
323 dev_dbg(musb->controller, "Allocate CPPI%d %cX\n", index, transmit ? 'T' : 'R'); in cppi_channel_allocate()
338 dev_dbg(c->controller->musb->controller, in cppi_channel_release()
[all …]
Dmusb_dma.h177 extern void musb_dma_completion(struct musb *musb, u8 epnum, u8 transmit);
180 static inline struct dma_controller *dma_controller_create(struct musb *m, in dma_controller_create()
190 extern struct dma_controller *dma_controller_create(struct musb *, void __iomem *);
Dcppi_dma.h117 struct musb *musb; member
Dmusb_io.h40 #define musb_ep_select(_mbase, _epnum) musb->io.ep_select((_mbase), (_epnum))
DKconfig26 module will be called "musb-hdrc".
/linux-4.1.27/Documentation/devicetree/bindings/usb/
Domap-usb.txt4 - compatible : Should be "ti,omap4-musb" or "ti,omap3-musb"
6 - multipoint : Should be "1" indicating the musb controller supports
29 compatible = "ti,omap4-musb";
Dux500-usb.txt4 - compatible : Should be "stericsson,db8500-musb"
18 compatible = "stericsson,db8500-musb";
Dam33xx-usb.txt31 - compatible: ti,musb-am33xx
39 - mentor,multipoint: Should be "1" indicating the musb controller supports
101 compatible = "ti,musb-am33xx";
147 compatible = "ti,musb-am33xx";
/linux-4.1.27/drivers/usb/
DMakefile57 obj-$(CONFIG_USB_MUSB_HDRC) += musb/
DKconfig99 source "drivers/usb/musb/Kconfig"
/linux-4.1.27/arch/arm/boot/dts/
Dam3517.dtsi20 compatible = "ti,omap3-musb";
Ddm816x.dtsi385 compatible = "ti,musb-dm816";
425 compatible = "ti,musb-dm816";
Domap2430.dtsi291 compatible = "ti,omap2-musb";
Dam33xx.dtsi510 compatible = "ti,musb-am33xx";
558 compatible = "ti,musb-am33xx";
Dste-href-family-pinctrl.dtsi554 musb {
Domap3.dtsi726 compatible = "ti,omap3-musb";
Dste-dbx5x0.dtsi244 compatible = "stericsson,db8500-musb";
Domap4.dtsi869 compatible = "ti,omap4-musb";
/linux-4.1.27/arch/arm/mach-omap2/
DMakefile266 obj-y += usb-musb.o
/linux-4.1.27/
DMAINTAINERS6656 F: drivers/usb/musb/