Lines Matching +full:layer +full:- +full:buffer +full:- +full:offset
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * mtu3.h - MediaTek USB3 DRD header
35 #define MU3D_EP_TXCR0(epnum) (U3D_TX1CSR0 + (((epnum) - 1) * 0x10))
36 #define MU3D_EP_TXCR1(epnum) (U3D_TX1CSR1 + (((epnum) - 1) * 0x10))
37 #define MU3D_EP_TXCR2(epnum) (U3D_TX1CSR2 + (((epnum) - 1) * 0x10))
39 #define MU3D_EP_RXCR0(epnum) (U3D_RX1CSR0 + (((epnum) - 1) * 0x10))
40 #define MU3D_EP_RXCR1(epnum) (U3D_RX1CSR1 + (((epnum) - 1) * 0x10))
41 #define MU3D_EP_RXCR2(epnum) (U3D_RX1CSR2 + (((epnum) - 1) * 0x10))
43 #define USB_QMU_TQHIAR(epnum) (U3D_TXQHIAR1 + (((epnum) - 1) * 0x4))
44 #define USB_QMU_RQHIAR(epnum) (U3D_RXQHIAR1 + (((epnum) - 1) * 0x4))
46 #define USB_QMU_RQCSR(epnum) (U3D_RXQCSR1 + (((epnum) - 1) * 0x10))
47 #define USB_QMU_RQSAR(epnum) (U3D_RXQSAR1 + (((epnum) - 1) * 0x10))
48 #define USB_QMU_RQCPR(epnum) (U3D_RXQCPR1 + (((epnum) - 1) * 0x10))
50 #define USB_QMU_TQCSR(epnum) (U3D_TXQCSR1 + (((epnum) - 1) * 0x10))
51 #define USB_QMU_TQSAR(epnum) (U3D_TXQSAR1 + (((epnum) - 1) * 0x10))
52 #define USB_QMU_TQCPR(epnum) (U3D_TXQCPR1 + (((epnum) - 1) * 0x10))
73 * 2. QMU extend buffer length supported
89 * Maximum size of ep0 response buffer for ch9 requests,
112 * @MU3D_EP0_STATE_STALL: ep0 is in stall status, will be auto-cleared
154 * bit1: Buffer Descriptor Present (BDP), always 0, BD is not supported
158 * bit[31:16]: ([EL] bit[31:12]) allow data buffer length (RX ONLY),
159 * the buffer length of the data to receive
161 * lower 4 bits are extension bits of @buffer,
164 * @buffer: Physical address of the data buffer
166 * bit[15:0]: ([EL] bit[19:0]) data buffer length,
167 * (TX): the buffer length of the data to transmit
170 * lower 4 bits are extension bits of @buffer,
177 __le32 buffer; member
204 * @role_sw : use USB Role Switch to support dual-role switch, can't use
207 * @is_u3_drd: whether port0 supports usb3.0 dual-role device or not
208 * @manual_drd_enabled: it's true when supports dual-role device by debugfs
229 * host only, device only or dual-role mode
234 * but when use dual-role mode, can't disable u2port0
237 * @dbgfs_root: only used when supports manual dual-role switch via debugfs
239 * @uwk: syscon including usb wakeup glue layer between SSUSB IP and SPM
240 * @uwk_reg_base: the base address of the wakeup glue layer in @uwk
241 * @uwk_vers: the version of the wakeup glue layer
311 * struct mtu3 - device driver instance data.
320 * @setup_buf: ep0 response buffer for GET_STATUS and SET_SEL requests
387 return list_first_entry_or_null(&mep->req_list, struct mtu3_request, in next_request()
391 static inline void mtu3_writel(void __iomem *base, u32 offset, u32 data) in mtu3_writel() argument
393 writel(data, base + offset); in mtu3_writel()
396 static inline u32 mtu3_readl(void __iomem *base, u32 offset) in mtu3_readl() argument
398 return readl(base + offset); in mtu3_readl()
401 static inline void mtu3_setbits(void __iomem *base, u32 offset, u32 bits) in mtu3_setbits() argument
403 void __iomem *addr = base + offset; in mtu3_setbits()
409 static inline void mtu3_clrbits(void __iomem *base, u32 offset, u32 bits) in mtu3_clrbits() argument
411 void __iomem *addr = base + offset; in mtu3_clrbits()