Home
last modified time | relevance | path

Searched full:udc (Results 1 – 25 of 226) sorted by relevance

12345678910

/Linux-v5.10/drivers/usb/gadget/udc/
Dsnps_udc_plat.c3 * snps_udc_plat.c - Synopsys UDC Platform Driver
21 #define UDC_MOD_DESCRIPTION "Synopsys UDC platform driver"
23 static void start_udc(struct udc *udc) in start_udc() argument
25 if (udc->driver) { in start_udc()
26 dev_info(udc->dev, "Connecting...\n"); in start_udc()
27 udc_enable_dev_setup_interrupts(udc); in start_udc()
28 udc_basic_init(udc); in start_udc()
29 udc->connected = 1; in start_udc()
33 static void stop_udc(struct udc *udc) in stop_udc() argument
38 spin_lock(&udc->lock); in stop_udc()
[all …]
Dmv_udc_core.c40 ((ep)->udc->ep0_dir) : ((ep)->direction))
58 static void stop_activity(struct mv_udc *udc, struct usb_gadget_driver *driver);
69 static void ep0_reset(struct mv_udc *udc) in ep0_reset() argument
77 ep = &udc->eps[i]; in ep0_reset()
78 ep->udc = udc; in ep0_reset()
81 ep->dqh = &udc->ep_dqh[i]; in ep0_reset()
90 epctrlx = readl(&udc->op_regs->epctrlx[0]); in ep0_reset()
102 writel(epctrlx, &udc->op_regs->epctrlx[0]); in ep0_reset()
107 static void ep0_stall(struct mv_udc *udc) in ep0_stall() argument
112 epctrlx = readl(&udc->op_regs->epctrlx[0]); in ep0_stall()
[all …]
Dmax3420_udc.c159 struct max3420_udc *udc; member
192 static const char driver_name[] = "max3420-udc";
201 static void spi_ack_ctrl(struct max3420_udc *udc) in spi_ack_ctrl() argument
203 struct spi_device *spi = udc->spi; in spi_ack_ctrl()
220 static u8 spi_rd8_ack(struct max3420_udc *udc, u8 reg, int actstat) in spi_rd8_ack() argument
222 struct spi_device *spi = udc->spi; in spi_rd8_ack()
242 static u8 spi_rd8(struct max3420_udc *udc, u8 reg) in spi_rd8() argument
244 return spi_rd8_ack(udc, reg, 0); in spi_rd8()
247 static void spi_wr8_ack(struct max3420_udc *udc, u8 reg, u8 val, int actstat) in spi_wr8_ack() argument
249 struct spi_device *spi = udc->spi; in spi_wr8_ack()
[all …]
Dudc-xilinx.c125 * @udc: xilinx usb peripheral driver instance pointer
143 struct xusb_udc *udc; member
200 static const char driver_name[] = "xilinx-udc";
256 * @udc: pointer to the usb device controller structure.
258 static void xudc_wrstatus(struct xusb_udc *udc) in xudc_wrstatus() argument
260 struct xusb_ep *ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO]; in xudc_wrstatus()
263 epcfgreg = udc->read_fn(udc->addr + ep0->offset)| in xudc_wrstatus()
265 udc->write_fn(udc->addr, ep0->offset, epcfgreg); in xudc_wrstatus()
266 udc->write_fn(udc->addr, ep0->offset + XUSB_EP_BUF0COUNT_OFFSET, 0); in xudc_wrstatus()
267 udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1); in xudc_wrstatus()
[all …]
Dbcm63xx_udc.c3 * bcm63xx_udc.c -- BCM63xx UDC high/full speed USB device controller
194 * @udc: Reference to the device controller.
217 struct bcm63xx_udc *udc; member
234 * @udc: Reference to the device controller.
242 struct bcm63xx_udc *udc; member
355 static inline u32 usbd_readl(struct bcm63xx_udc *udc, u32 off) in usbd_readl() argument
357 return bcm_readl(udc->usbd_regs + off); in usbd_readl()
360 static inline void usbd_writel(struct bcm63xx_udc *udc, u32 val, u32 off) in usbd_writel() argument
362 bcm_writel(val, udc->usbd_regs + off); in usbd_writel()
365 static inline u32 usb_dma_readl(struct bcm63xx_udc *udc, u32 off) in usb_dma_readl() argument
[all …]
Dlpc32xx_udc.c101 struct lpc32xx_udc *udc; member
123 * Common UDC structure
189 dev_dbg(epp->udc->dev, "%s: " fmt, __func__, ## arg)
191 dev_err(epp->udc->dev, "%s: " fmt, __func__, ## arg)
193 dev_info(epp->udc->dev, "%s: " fmt, __func__, ## arg)
195 dev_warn(epp->udc->dev, "%s:" fmt, __func__, ## arg)
472 static const char debug_filename[] = "driver/udc";
500 struct lpc32xx_udc *udc = s->private; in udc_show() local
506 spin_lock_irqsave(&udc->lock, flags); in udc_show()
509 udc->vbus ? "present" : "off", in udc_show()
[all …]
Dat91_udc.c89 #define at91_udp_read(udc, reg) \ argument
90 __raw_readl((udc)->udp_baseaddr + (reg))
91 #define at91_udp_write(udc, reg, val) \ argument
92 __raw_writel((val), (udc)->udp_baseaddr + (reg))
100 static const char debug_filename[] = "driver/udc";
114 struct at91_udc *udc = ep->udc; in proc_ep_show() local
116 spin_lock_irqsave(&udc->lock, flags); in proc_ep_show()
160 spin_unlock_irqrestore(&udc->lock, flags); in proc_ep_show()
184 struct at91_udc *udc = s->private; in proc_udc_show() local
191 udc->vbus ? "present" : "off", in proc_udc_show()
[all …]
Datmel_usba_udc.c48 spin_lock_irq(&ep->udc->lock); in queue_dbg_open()
55 spin_unlock_irq(&ep->udc->lock); in queue_dbg_open()
61 spin_unlock_irq(&ep->udc->lock); in queue_dbg_open()
142 struct usba_udc *udc; in regs_dbg_open() local
148 udc = inode->i_private; in regs_dbg_open()
153 spin_lock_irq(&udc->lock); in regs_dbg_open()
155 data[i] = readl_relaxed(udc->regs + i * 4); in regs_dbg_open()
156 spin_unlock_irq(&udc->lock); in regs_dbg_open()
204 static void usba_ep_init_debugfs(struct usba_udc *udc, in usba_ep_init_debugfs() argument
209 ep_root = debugfs_create_dir(ep->ep.name, udc->debugfs_root); in usba_ep_init_debugfs()
[all …]
Dpxa27x_udc.c3 * Handles the Intel 27x USB Device Controller (UDC)
37 * This driver handles the USB Device Controller (UDC) in Intel's PXA 27x
46 * This UDC hardware wants to implement a bit too much USB protocol. The
65 * made of UDC's double buffering either. USB "On-The-Go" is not implemented.
92 struct pxa_udc *udc = s->private; in state_dbg_show() local
95 if (!udc->driver) in state_dbg_show()
103 udc->driver ? udc->driver->driver.name : "(none)"); in state_dbg_show()
105 tmp = udc_readl(udc, UDCCR); in state_dbg_show()
124 udc_readl(udc, UDCICR0), udc_readl(udc, UDCICR1)); in state_dbg_show()
126 udc_readl(udc, UDCISR0), udc_readl(udc, UDCISR1)); in state_dbg_show()
[all …]
Dfsl_qe_udc.c78 struct qe_udc *udc = ep->udc; in done() local
94 dma_unmap_single(udc->gadget.dev.parent, in done()
102 dma_sync_single_for_cpu(udc->gadget.dev.parent, in done()
109 dev_vdbg(udc->dev, "complete %s req %p stat %d len %u/%u\n", in done()
115 spin_unlock(&udc->lock); in done()
119 spin_lock(&udc->lock); in done()
146 struct qe_udc *udc = ep->udc; in qe_eprx_stall_change() local
148 tem_usep = in_be16(&udc->usb_regs->usb_usep[epnum]); in qe_eprx_stall_change()
155 out_be16(&udc->usb_regs->usb_usep[epnum], tem_usep); in qe_eprx_stall_change()
163 struct qe_udc *udc = ep->udc; in qe_eptx_stall_change() local
[all …]
Dcore.c3 * udc.c - Core UDC Framework
29 * @list: for use by the udc class driver
33 * This represents the internal data structure which is used by the UDC-class
34 * to hold information about udc driver and gadget together.
49 static int udc_bind_to_driver(struct usb_udc *udc,
59 * This function should be used only in UDC drivers to initialize endpoint
101 /* UDC drivers can't handle endpoints with maxpacket size 0 */ in usb_ep_enable()
267 * UDC are finished with the request. When the completion function is called,
705 * for the current gadget driver so that UDC drivers don't need to.
733 gadget->udc->driver->disconnect(gadget); in usb_gadget_disconnect()
[all …]
Dfsl_udc_core.c55 static const char driver_name[] = "fsl-usb2-udc";
157 __releases(ep->udc->lock) in done()
158 __acquires(ep->udc->lock) in done()
160 struct fsl_udc *udc = NULL; in done() local
165 udc = (struct fsl_udc *)ep->udc; in done()
182 dma_pool_free(udc->td_pool, curr_td, curr_td->td_dma); in done()
185 usb_gadget_unmap_request(&ep->udc->gadget, &req->req, ep_is_in(ep)); in done()
194 spin_unlock(&ep->udc->lock); in done()
198 spin_lock(&ep->udc->lock); in done()
226 static int dr_controller_setup(struct fsl_udc *udc) in dr_controller_setup() argument
[all …]
Domap_udc.c3 * omap_udc.c -- for OMAP full speed udc; most chips support OTG.
56 #define DRIVER_DESC "OMAP UDC driver"
63 * The OMAP UDC needs _very_ early endpoint setup: before enabling the
67 * optional new "UDC not yet running" state to the gadget driver model,
146 struct omap_udc *udc; in omap_ep_enable() local
190 udc = ep->udc; in omap_ep_enable()
191 if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) { in omap_ep_enable()
196 spin_lock_irqsave(&udc->lock, flags); in omap_ep_enable()
208 omap_writew(udc->clr_halt, UDC_CTRL); in omap_ep_enable()
213 list_add(&ep->iso, &udc->iso); in omap_ep_enable()
[all …]
Damd5536udc_pci.c3 * amd5536udc_pci.c -- AMD 5536 UDC high/full speed USB device controller
10 * The AMD5536 UDC is part of the x86 southbridge AMD Geode CS5536.
14 * Make sure that UDC is assigned to port 4 by BIOS settings (port can also
18 * UDC DMA requires 32-bit aligned buffers so DMA with gadget ether does not
25 * The driver is split so as to use the core UDC driver which is based on
32 #define UDC_MOD_DESCRIPTION "AMD 5536 UDC - USB Device Controller"
45 /* udc specific */
49 static struct udc *udc; variable
57 struct udc *dev; in udc_pci_remove()
61 usb_del_gadget_udc(&udc->gadget); in udc_pci_remove()
[all …]
/Linux-v5.10/drivers/usb/isp1760/
Disp1760-udc.c22 #include "isp1760-udc.h"
48 static inline u32 isp1760_udc_read(struct isp1760_udc *udc, u16 reg) in isp1760_udc_read() argument
50 return isp1760_read32(udc->regs, reg); in isp1760_udc_read()
53 static inline void isp1760_udc_write(struct isp1760_udc *udc, u16 reg, u32 val) in isp1760_udc_write() argument
55 isp1760_write32(udc->regs, reg, val); in isp1760_udc_write()
62 static struct isp1760_ep *isp1760_udc_find_ep(struct isp1760_udc *udc, in isp1760_udc_find_ep() argument
68 return &udc->ep[0]; in isp1760_udc_find_ep()
70 for (i = 1; i < ARRAY_SIZE(udc->ep); ++i) { in isp1760_udc_find_ep()
71 if (udc->ep[i].addr == index) in isp1760_udc_find_ep()
72 return udc->ep[i].desc ? &udc->ep[i] : NULL; in isp1760_udc_find_ep()
[all …]
/Linux-v5.10/drivers/usb/usbip/
Dvudc_dev.c73 static void nuke(struct vudc *udc, struct vep *ep) in nuke() argument
83 spin_unlock(&udc->lock); in nuke()
85 spin_lock(&udc->lock); in nuke()
90 static void stop_activity(struct vudc *udc) in stop_activity() argument
95 udc->address = 0; in stop_activity()
98 nuke(udc, &udc->ep[i]); in stop_activity()
100 list_for_each_entry_safe(urb_p, tmp, &udc->urb_queue, urb_entry) { in stop_activity()
106 struct vep *vudc_find_endpoint(struct vudc *udc, u8 address) in vudc_find_endpoint() argument
111 return &udc->ep[0]; in vudc_find_endpoint()
114 struct vep *ep = &udc->ep[i]; in vudc_find_endpoint()
[all …]
Dvudc_sysfs.c22 /* called with udc->lock held */
23 int get_gadget_descs(struct vudc *udc) in get_gadget_descs() argument
26 struct vep *ep0 = to_vep(udc->gadget.ep0); in get_gadget_descs()
27 struct usb_device_descriptor *ddesc = &udc->dev_desc; in get_gadget_descs()
31 if (!udc->driver || !udc->pullup) in get_gadget_descs()
40 spin_unlock(&udc->lock); in get_gadget_descs()
41 ret = udc->driver->setup(&(udc->gadget), &req); in get_gadget_descs()
42 spin_lock(&udc->lock); in get_gadget_descs()
56 udc->desc_cached = 1; in get_gadget_descs()
74 struct vudc *udc = (struct vudc *)dev_get_drvdata(dev); in dev_desc_read() local
[all …]
Dvudc_transfer.c46 * @udc: pointer to vudc
56 * Adapted from drivers/usb/gadget/udc/dummy_hcd.c
58 static int handle_control_request(struct vudc *udc, struct urb *urb, in handle_control_request() argument
73 udc->address = w_value; in handle_control_request()
84 udc->gadget.b_hnp_enable = 1; in handle_control_request()
87 udc->gadget.a_hnp_support = 1; in handle_control_request()
90 udc->gadget.a_alt_hnp_support = 1; in handle_control_request()
96 udc->devstatus |= (1 << w_value); in handle_control_request()
101 ep2 = vudc_find_endpoint(udc, w_index); in handle_control_request()
102 if (!ep2 || ep2->ep.name == udc->ep[0].ep.name) { in handle_control_request()
[all …]
Dvudc_tx.c38 static int v_send_ret_unlink(struct vudc *udc, struct v_unlink *unlink) in v_send_ret_unlink() argument
60 ret = kernel_sendmsg(udc->ud.tcp_socket, &msg, iov, in v_send_ret_unlink()
63 usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP); in v_send_ret_unlink()
73 static int v_send_ret_submit(struct vudc *udc, struct urbp *urb_p) in v_send_ret_submit() argument
89 dev_err(&udc->gadget.dev, in v_send_ret_submit()
102 usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_MALLOC); in v_send_ret_submit()
141 usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP); in v_send_ret_submit()
154 usbip_event_add(&udc->ud, in v_send_ret_submit()
166 ret = kernel_sendmsg(udc->ud.tcp_socket, &msg, in v_send_ret_submit()
169 usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP); in v_send_ret_submit()
[all …]
Dvudc_rx.c62 static int v_recv_cmd_unlink(struct vudc *udc, in v_recv_cmd_unlink() argument
68 spin_lock_irqsave(&udc->lock, flags); in v_recv_cmd_unlink()
69 list_for_each_entry(urb_p, &udc->urb_queue, urb_entry) { in v_recv_cmd_unlink()
74 v_kick_timer(udc, jiffies); in v_recv_cmd_unlink()
75 spin_unlock_irqrestore(&udc->lock, flags); in v_recv_cmd_unlink()
79 spin_lock(&udc->lock_tx); in v_recv_cmd_unlink()
80 v_enqueue_ret_unlink(udc, pdu->base.seqnum, 0); in v_recv_cmd_unlink()
81 wake_up(&udc->tx_waitq); in v_recv_cmd_unlink()
82 spin_unlock(&udc->lock_tx); in v_recv_cmd_unlink()
83 spin_unlock_irqrestore(&udc->lock, flags); in v_recv_cmd_unlink()
[all …]
/Linux-v5.10/drivers/staging/emxx_udc/
Demxx_udc.c34 #define DRIVER_DESC "EMXX UDC driver"
47 static void _nbu2ss_endpoint_toggle_reset(struct nbu2ss_udc *udc, u8 ep_adrs);
54 #define _nbu2ss_zero_len_pkt(udc, epnum) \ argument
55 _nbu2ss_ep_in_end(udc, epnum, 0, 0)
95 static void _nbu2ss_dump_register(struct nbu2ss_udc *udc) in _nbu2ss_dump_register() argument
102 if (!udc) { in _nbu2ss_dump_register()
103 pr_err("%s udc == NULL\n", __func__); in _nbu2ss_dump_register()
107 spin_unlock(&udc->lock); in _nbu2ss_dump_register()
109 dev_dbg(&udc->dev, "\n-USB REG-\n"); in _nbu2ss_dump_register()
112 dev_dbg(&udc->dev, "USB%04x =%08x", i, (int)reg_data); in _nbu2ss_dump_register()
[all …]
/Linux-v5.10/drivers/usb/chipidea/
Dci_hdrc_tegra.c33 .compatible = "nvidia,tegra20-udc",
36 .compatible = "nvidia,tegra30-udc",
39 .compatible = "nvidia,tegra114-udc",
42 .compatible = "nvidia,tegra124-udc",
53 struct tegra_udc *udc; in tegra_udc_probe() local
56 udc = devm_kzalloc(&pdev->dev, sizeof(*udc), GFP_KERNEL); in tegra_udc_probe()
57 if (!udc) in tegra_udc_probe()
66 udc->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "nvidia,phy", 0); in tegra_udc_probe()
67 if (IS_ERR(udc->phy)) { in tegra_udc_probe()
68 err = PTR_ERR(udc->phy); in tegra_udc_probe()
[all …]
/Linux-v5.10/Documentation/ABI/stable/
Dsysfs-class-udc1 What: /sys/class/udc/<udc>/a_alt_hnp_support
9 What: /sys/class/udc/<udc>/a_hnp_support
17 What: /sys/class/udc/<udc>/b_hnp_enable
25 What: /sys/class/udc/<udc>/current_speed
33 What: /sys/class/udc/<udc>/is_a_peripheral
42 What: /sys/class/udc/<udc>/is_otg
50 What: /sys/class/udc/<udc>/maximum_speed
58 What: /sys/class/udc/<udc>/soft_connect
67 What: /sys/class/udc/<udc>/srp
75 What: /sys/class/udc/<udc>/state
[all …]
/Linux-v5.10/arch/arm/mach-pxa/
Dpxa27x-udc.h6 #error You cannot include both PXA25x and PXA27x UDC support
9 #define UDCCR __REG(0x40600000) /* UDC Control Register */
18 #define UDCCR_ACN (0x03 << 11) /* Active UDC configuration Number */
20 #define UDCCR_AIN (0x07 << 8) /* Active UDC interface Number */
22 #define UDCCR_AAISN (0x07 << 5) /* Active UDC Alternate Interface
29 #define UDCCR_UDR (1 << 2) /* UDC Resume */
30 #define UDCCR_UDA (1 << 1) /* UDC Active */
31 #define UDCCR_UDE (1 << 0) /* UDC Enable */
33 #define UDCICR0 __REG(0x40600004) /* UDC Interrupt Control Register0 */
34 #define UDCICR1 __REG(0x40600008) /* UDC Interrupt Control Register1 */
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/usb/
Diproc-udc.txt4 iProc family (Northstar2, Cygnus) of SoCs'. The UDC is based
10 For Broadcom NS2 platform, add "brcm,ns2-udc","brcm,iproc-udc".
11 For Broadcom Cygnus platform, add "brcm,cygnus-udc", "brcm,iproc-udc".
12 - reg: Offset and length of UDC register set
18 compatible = "brcm,ns2-udc", "brcm,iproc-udc";

12345678910