Lines Matching +full:usb +full:- +full:role +full:- +full:switch
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * mtu3.h - MediaTek USB3 DRD header
20 #include <linux/usb.h>
21 #include <linux/usb/ch9.h>
22 #include <linux/usb/gadget.h>
23 #include <linux/usb/otg.h>
32 #define MU3D_EP_TXCR0(epnum) (U3D_TX1CSR0 + (((epnum) - 1) * 0x10))
33 #define MU3D_EP_TXCR1(epnum) (U3D_TX1CSR1 + (((epnum) - 1) * 0x10))
34 #define MU3D_EP_TXCR2(epnum) (U3D_TX1CSR2 + (((epnum) - 1) * 0x10))
36 #define MU3D_EP_RXCR0(epnum) (U3D_RX1CSR0 + (((epnum) - 1) * 0x10))
37 #define MU3D_EP_RXCR1(epnum) (U3D_RX1CSR1 + (((epnum) - 1) * 0x10))
38 #define MU3D_EP_RXCR2(epnum) (U3D_RX1CSR2 + (((epnum) - 1) * 0x10))
40 #define USB_QMU_TQHIAR(epnum) (U3D_TXQHIAR1 + (((epnum) - 1) * 0x4))
41 #define USB_QMU_RQHIAR(epnum) (U3D_RXQHIAR1 + (((epnum) - 1) * 0x4))
43 #define USB_QMU_RQCSR(epnum) (U3D_RXQCSR1 + (((epnum) - 1) * 0x10))
44 #define USB_QMU_RQSAR(epnum) (U3D_RXQSAR1 + (((epnum) - 1) * 0x10))
45 #define USB_QMU_RQCPR(epnum) (U3D_RXQCPR1 + (((epnum) - 1) * 0x10))
47 #define USB_QMU_TQCSR(epnum) (U3D_TXQCSR1 + (((epnum) - 1) * 0x10))
48 #define USB_QMU_TQSAR(epnum) (U3D_TXQSAR1 + (((epnum) - 1) * 0x10))
49 #define USB_QMU_TQCPR(epnum) (U3D_TXQCPR1 + (((epnum) - 1) * 0x10))
107 * @MU3D_EP0_STATE_STALL: ep0 is in stall status, will be auto-cleared
119 * MTU3_DR_FORCE_NONE: automatically switch host and periperal mode
202 * @role_sw : use USB Role Switch to support dual-role switch, can't use
204 * @role_sw_used : true when the USB Role Switch is used.
205 * @is_u3_drd: whether port0 supports usb3.0 dual-role device or not
206 * @manual_drd_enabled: it's true when supports dual-role device by debugfs
207 * to switch host/device modes depending on user input.
233 * host only, device only or dual-role mode
238 * @dbgfs_root: only used when supports manual dual-role switch via debugfs
240 * @uwk: syscon including usb wakeup glue layer between SSUSB IP and SPM
265 /* usb wakeup for host mode */
313 * struct mtu3 - device driver instance data.
320 * @ep0_req: dummy request used while handling standard USB requests
385 return list_first_entry_or_null(&mep->req_list, struct mtu3_request, in next_request()