Lines Matching +full:layer +full:- +full:buffer +full:- +full:offset
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * mtu3.h - MediaTek USB3 DRD header
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))
70 * 2. QMU extend buffer length supported
86 * Maximum size of ep0 response buffer for ch9 requests,
107 * @MU3D_EP0_STATE_STALL: ep0 is in stall status, will be auto-cleared
149 * bit1: Buffer Descriptor Present (BDP), always 0, BD is not supported
153 * bit[31:16]: ([EL] bit[31:12]) allow data buffer length (RX ONLY),
154 * the buffer length of the data to receive
156 * lower 4 bits are extension bits of @buffer,
159 * @buffer: Physical address of the data buffer
161 * bit[15:0]: ([EL] bit[19:0]) data buffer length,
162 * (TX): the buffer length of the data to transmit
165 * lower 4 bits are extension bits of @buffer,
172 __le32 buffer; member
202 * @role_sw : use USB Role Switch to support dual-role switch, can't use
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
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
241 * @uwk_reg_base: the base address of the wakeup glue layer in @uwk
242 * @uwk_vers: the version of the wakeup glue layer
313 * struct mtu3 - device driver instance data.
322 * @setup_buf: ep0 response buffer for GET_STATUS and SET_SEL requests
385 return list_first_entry_or_null(&mep->req_list, struct mtu3_request, in next_request()
389 static inline void mtu3_writel(void __iomem *base, u32 offset, u32 data) in mtu3_writel() argument
391 writel(data, base + offset); in mtu3_writel()
394 static inline u32 mtu3_readl(void __iomem *base, u32 offset) in mtu3_readl() argument
396 return readl(base + offset); in mtu3_readl()
399 static inline void mtu3_setbits(void __iomem *base, u32 offset, u32 bits) in mtu3_setbits() argument
401 void __iomem *addr = base + offset; in mtu3_setbits()
407 static inline void mtu3_clrbits(void __iomem *base, u32 offset, u32 bits) in mtu3_clrbits() argument
409 void __iomem *addr = base + offset; in mtu3_clrbits()