/Linux-v5.10/drivers/usb/gadget/udc/ |
D | snps_udc_plat.c | 3 * 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 …]
|
D | mv_udc_core.c | 40 ((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 …]
|
D | max3420_udc.c | 159 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 …]
|
D | udc-xilinx.c | 125 * @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 …]
|
D | bcm63xx_udc.c | 3 * 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 …]
|
D | lpc32xx_udc.c | 101 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 …]
|
D | at91_udc.c | 89 #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 …]
|
D | atmel_usba_udc.c | 48 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 …]
|
D | pxa27x_udc.c | 3 * 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 …]
|
D | fsl_qe_udc.c | 78 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 …]
|
D | core.c | 3 * 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 …]
|
D | fsl_udc_core.c | 55 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 …]
|
D | omap_udc.c | 3 * 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 …]
|
D | amd5536udc_pci.c | 3 * 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/ |
D | isp1760-udc.c | 22 #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/ |
D | vudc_dev.c | 73 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 …]
|
D | vudc_sysfs.c | 22 /* 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 …]
|
D | vudc_transfer.c | 46 * @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 …]
|
D | vudc_tx.c | 38 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 …]
|
D | vudc_rx.c | 62 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/ |
D | emxx_udc.c | 34 #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/ |
D | ci_hdrc_tegra.c | 33 .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/ |
D | sysfs-class-udc | 1 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/ |
D | pxa27x-udc.h | 6 #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/ |
D | iproc-udc.txt | 4 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";
|