61#ifndef TUSB_MUSB_TYPE_H_
62#define TUSB_MUSB_TYPE_H_
75 #define __I volatile const
83 #define __R volatile const
303 musb_regs->
index = epnum;
312#define MUSB_POWER_ISOUP 0x0080
313#define MUSB_POWER_SOFTCONN 0x0040
314#define MUSB_POWER_HSENAB 0x0020
315#define MUSB_POWER_HSMODE 0x0010
316#define MUSB_POWER_RESET 0x0008
317#define MUSB_POWER_RESUME 0x0004
318#define MUSB_POWER_SUSPEND 0x0002
319#define MUSB_POWER_PWRDNPHY 0x0001
324#define MUSB_HWVERS_RC_SHIFT 15
325#define MUSB_HWVERS_RC_MASK 0x8000
326#define MUSB_HWVERS_MAJOR_SHIFT 10
327#define MUSB_HWVERS_MAJOR_MASK 0x7C00
328#define MUSB_HWVERS_MINOR_SHIFT 0
329#define MUSB_HWVERS_MINOR_MASK 0x03FF
332#define MUSB_CSRL_PACKET_READY(_rx) (1u << 0)
333#define MUSB_CSRL_FLUSH_FIFO(_rx) (1u << ((_rx) ? 4 : 3))
334#define MUSB_CSRL_SEND_STALL(_rx) (1u << ((_rx) ? 5 : 4))
335#define MUSB_CSRL_STALLED(_rx) (1u << ((_rx) ? 6 : 5))
336#define MUSB_CSRL_CLEAR_DATA_TOGGLE(_rx) (1u << ((_rx) ? 7 : 6))
339#define MUSB_CSRH_DISABLE_DOUBLE_PACKET(_rx) (1u << 1)
340#define MUSB_CSRH_TX_MODE (1u << 5)
341#define MUSB_CSRH_ISO (1u << 6)
344#define MUSB_FIFOSZ_DOUBLE_PACKET (1u << 4)
352#define MUSB_IS_VBUSERR 0x0080
353#define MUSB_IS_SESREQ 0x0040
354#define MUSB_IS_DISCON 0x0020
355#define MUSB_IS_CONN 0x0010
356#define MUSB_IS_SOF 0x0008
357#define MUSB_IS_BABBLE 0x0004
358#define MUSB_IS_RESET 0x0004
359#define MUSB_IS_RESUME 0x0002
360#define MUSB_IS_SUSPEND 0x0001
367#define MUSB_IE_VBUSERR 0x0080
368#define MUSB_IE_SESREQ 0x0040
369#define MUSB_IE_DISCON 0x0020
370#define MUSB_IE_CONN 0x0010
371#define MUSB_IE_SOF 0x0008
372#define MUSB_IE_BABBLE 0x0004
373#define MUSB_IE_RESET 0x0004
374#define MUSB_IE_RESUME 0x0002
375#define MUSB_IE_SUSPND 0x0001
382#define MUSB_FRAME_M 0x07FF
383#define MUSB_FRAME_S 0
390#define MUSB_TEST_FORCEH 0x0080
391#define MUSB_TEST_FIFOACC 0x0040
392#define MUSB_TEST_FORCEFS 0x0020
393#define MUSB_TEST_FORCEHS 0x0010
394#define MUSB_TEST_TESTPKT 0x0008
395#define MUSB_TEST_TESTK 0x0004
396#define MUSB_TEST_TESTJ 0x0002
397#define MUSB_TEST_TESTSE0NAK 0x0001
404#define MUSB_DEVCTL_DEV 0x0080
405#define MUSB_DEVCTL_FSDEV 0x0040
406#define MUSB_DEVCTL_LSDEV 0x0020
407#define MUSB_DEVCTL_VBUS_M 0x0018
408#define MUSB_DEVCTL_VBUS_NONE 0x0000
409#define MUSB_DEVCTL_VBUS_SEND 0x0008
410#define MUSB_DEVCTL_VBUS_AVALID 0x0010
411#define MUSB_DEVCTL_VBUS_VALID 0x0018
412#define MUSB_DEVCTL_HOST 0x0004
413#define MUSB_DEVCTL_HOSTREQ 0x0002
414#define MUSB_DEVCTL_SESSION 0x0001
421#define MUSB_CCONF_TXEDMA 0x0002
422#define MUSB_CCONF_RXEDMA 0x0001
430#define MUSB_ULPIVBUSCTL_USEEXTVBUSIND 0x0002
431#define MUSB_ULPIVBUSCTL_USEEXTVBUS 0x0001
439#define MUSB_ULPIREGDATA_REGDATA_M 0x00FF
440#define MUSB_ULPIREGDATA_REGDATA_S 0
447#define MUSB_ULPIREGADDR_ADDR_M 0x00FF
448#define MUSB_ULPIREGADDR_ADDR_S 0
456#define MUSB_ULPIREGCTL_RDWR 0x0004
457#define MUSB_ULPIREGCTL_REGCMPLT 0x0002
458#define MUSB_ULPIREGCTL_REGACC 0x0001
465#define MUSB_EPINFO_RXEP_M 0x00F0
466#define MUSB_EPINFO_TXEP_M 0x000F
467#define MUSB_EPINFO_RXEP_S 4
468#define MUSB_EPINFO_TXEP_S 0
475#define MUSB_RAMINFO_DMACHAN_M 0x00F0
476#define MUSB_RAMINFO_RAMBITS_M 0x000F
477#define MUSB_RAMINFO_DMACHAN_S 4
478#define MUSB_RAMINFO_RAMBITS_S 0
485#define MUSB_CONTIM_WTCON_M 0x00F0
486#define MUSB_CONTIM_WTID_M 0x000F
487#define MUSB_CONTIM_WTCON_S 4
488#define MUSB_CONTIM_WTID_S 0
495#define MUSB_VPLEN_VPLEN_M 0x00FF
496#define MUSB_VPLEN_VPLEN_S 0
503#define MUSB_HSEOF_HSEOFG_M 0x00FF
504#define MUSB_HSEOF_HSEOFG_S 0
511#define MUSB_FSEOF_FSEOFG_M 0x00FF
512#define MUSB_FSEOF_FSEOFG_S 0
519#define MUSB_LSEOF_LSEOFG_M 0x00FF
520#define MUSB_LSEOF_LSEOFG_S 0
527#define MUSB_CSRL0_NAKTO 0x0080
528#define MUSB_CSRL0_SETENDC 0x0080
529#define MUSB_CSRL0_STATUS 0x0040
530#define MUSB_CSRL0_RXRDYC 0x0040
531#define MUSB_CSRL0_REQPKT 0x0020
532#define MUSB_CSRL0_STALL 0x0020
533#define MUSB_CSRL0_SETEND 0x0010
534#define MUSB_CSRL0_ERROR 0x0010
535#define MUSB_CSRL0_DATAEND 0x0008
536#define MUSB_CSRL0_SETUP 0x0008
537#define MUSB_CSRL0_STALLED 0x0004
538#define MUSB_CSRL0_TXRDY 0x0002
539#define MUSB_CSRL0_RXRDY 0x0001
546#define MUSB_CSRH0_DISPING 0x0008
547#define MUSB_CSRH0_DTWE 0x0004
548#define MUSB_CSRH0_DT 0x0002
549#define MUSB_CSRH0_FLUSH 0x0001
556#define MUSB_TYPE0_SPEED_M 0x00C0
557#define MUSB_TYPE0_SPEED_HIGH 0x0040
558#define MUSB_TYPE0_SPEED_FULL 0x0080
559#define MUSB_TYPE0_SPEED_LOW 0x00C0
566#define MUSB_NAKLMT_NAKLMT_M 0x001F
567#define MUSB_NAKLMT_NAKLMT_S 0
574#define MUSB_TXCSRL1_NAKTO 0x0080
575#define MUSB_TXCSRL1_CLRDT 0x0040
576#define MUSB_TXCSRL1_STALLED 0x0020
577#define MUSB_TXCSRL1_STALL 0x0010
578#define MUSB_TXCSRL1_SETUP 0x0010
579#define MUSB_TXCSRL1_FLUSH 0x0008
580#define MUSB_TXCSRL1_ERROR 0x0004
581#define MUSB_TXCSRL1_UNDRN 0x0004
582#define MUSB_TXCSRL1_FIFONE 0x0002
583#define MUSB_TXCSRL1_TXRDY 0x0001
590#define MUSB_TXCSRH1_AUTOSET 0x0080
591#define MUSB_TXCSRH1_ISO 0x0040
592#define MUSB_TXCSRH1_MODE 0x0020
593#define MUSB_TXCSRH1_DMAEN 0x0010
594#define MUSB_TXCSRH1_FDT 0x0008
595#define MUSB_TXCSRH1_DMAMOD 0x0004
596#define MUSB_TXCSRH1_DTWE 0x0002
597#define MUSB_TXCSRH1_DT 0x0001
604#define MUSB_RXCSRL1_CLRDT 0x0080
605#define MUSB_RXCSRL1_STALLED 0x0040
606#define MUSB_RXCSRL1_STALL 0x0020
607#define MUSB_RXCSRL1_REQPKT 0x0020
608#define MUSB_RXCSRL1_FLUSH 0x0010
609#define MUSB_RXCSRL1_DATAERR 0x0008
610#define MUSB_RXCSRL1_NAKTO 0x0008
611#define MUSB_RXCSRL1_OVER 0x0004
612#define MUSB_RXCSRL1_ERROR 0x0004
613#define MUSB_RXCSRL1_FULL 0x0002
614#define MUSB_RXCSRL1_RXRDY 0x0001
621#define MUSB_RXCSRH1_AUTOCL 0x0080
622#define MUSB_RXCSRH1_AUTORQ 0x0040
623#define MUSB_RXCSRH1_ISO 0x0040
624#define MUSB_RXCSRH1_DMAEN 0x0020
625#define MUSB_RXCSRH1_DISNYET 0x0010
626#define MUSB_RXCSRH1_PIDERR 0x0010
627#define MUSB_RXCSRH1_DMAMOD 0x0008
628#define MUSB_RXCSRH1_DTWE 0x0004
629#define MUSB_RXCSRH1_DT 0x0002
630#define MUSB_RXCSRH1_INCOMPRX 0x0001
637#define MUSB_TXTYPE1_SPEED_M 0x00C0
638#define MUSB_TXTYPE1_SPEED_DFLT 0x0000
639#define MUSB_TXTYPE1_SPEED_HIGH 0x0040
640#define MUSB_TXTYPE1_SPEED_FULL 0x0080
641#define MUSB_TXTYPE1_SPEED_LOW 0x00C0
642#define MUSB_TXTYPE1_PROTO_M 0x0030
643#define MUSB_TXTYPE1_PROTO_CTRL 0x0000
644#define MUSB_TXTYPE1_PROTO_ISOC 0x0010
645#define MUSB_TXTYPE1_PROTO_BULK 0x0020
646#define MUSB_TXTYPE1_PROTO_INT 0x0030
647#define MUSB_TXTYPE1_TEP_M 0x000F
648#define MUSB_TXTYPE1_TEP_S 0
656#define MUSB_TXINTERVAL1_NAKLMT_M 0x00FF
657#define MUSB_TXINTERVAL1_TXPOLL_M 0x00FF
658#define MUSB_TXINTERVAL1_TXPOLL_S 0
659#define MUSB_TXINTERVAL1_NAKLMT_S 0
666#define MUSB_RXTYPE1_SPEED_M 0x00C0
667#define MUSB_RXTYPE1_SPEED_DFLT 0x0000
668#define MUSB_RXTYPE1_SPEED_HIGH 0x0040
669#define MUSB_RXTYPE1_SPEED_FULL 0x0080
670#define MUSB_RXTYPE1_SPEED_LOW 0x00C0
671#define MUSB_RXTYPE1_PROTO_M 0x0030
672#define MUSB_RXTYPE1_PROTO_CTRL 0x0000
673#define MUSB_RXTYPE1_PROTO_ISOC 0x0010
674#define MUSB_RXTYPE1_PROTO_BULK 0x0020
675#define MUSB_RXTYPE1_PROTO_INT 0x0030
676#define MUSB_RXTYPE1_TEP_M 0x000F
677#define MUSB_RXTYPE1_TEP_S 0
685#define MUSB_RXINTERVAL1_TXPOLL_M 0x00FF
686#define MUSB_RXINTERVAL1_NAKLMT_M 0x00FF
687#define MUSB_RXINTERVAL1_TXPOLL_S 0
688#define MUSB_RXINTERVAL1_NAKLMT_S 0
695#define MUSB_DMACTL0_BRSTM_M 0x0600
696#define MUSB_DMACTL0_BRSTM_ANY 0x0000
697#define MUSB_DMACTL0_BRSTM_INC4 0x0200
698#define MUSB_DMACTL0_BRSTM_INC8 0x0400
700#define MUSB_DMACTL0_BRSTM_INC16 0x0600
702#define MUSB_DMACTL0_ERR 0x0100
703#define MUSB_DMACTL0_EP_M 0x00F0
704#define MUSB_DMACTL0_IE 0x0008
705#define MUSB_DMACTL0_MODE 0x0004
706#define MUSB_DMACTL0_DIR 0x0002
707#define MUSB_DMACTL0_ENABLE 0x0001
708#define MUSB_DMACTL0_EP_S 4
715#define MUSB_DMAADDR0_ADDR_M 0xFFFFFFFC
716#define MUSB_DMAADDR0_ADDR_S 2
724#define MUSB_DMACOUNT0_COUNT_M 0xFFFFFFFC
725#define MUSB_DMACOUNT0_COUNT_S 2
732#define MUSB_CTO_CCTV_M 0xFFFF
733#define MUSB_CTO_CCTV_S 0
740#define MUSB_HHSRTN_HHSRTN_M 0xFFFF
742#define MUSB_HHSRTN_HHSRTN_S 0
749#define MUSB_HSBT_HSBT_M 0x000F
750#define MUSB_HSBT_HSBT_S 0
TU_VERIFY_STATIC(sizeof(musb_ep_csr_t)==16, "size is not correct")
struct TU_ATTR_PACKED musb_ep_csr_t
struct TU_ATTR_PACKED musb_regs_t
static TU_ATTR_ALWAYS_INLINE musb_ep_csr_t * get_ep_csr(musb_regs_t *musb_regs, unsigned epnum)
AUDIO Channel Cluster Descriptor (4.1)
__IO uint8_t suspend_mode_en
musb_ep_maxp_csr_t maxp_csr[2]
musb_ep_csr_t indexed_csr
__IO uint8_t adi_softreset
__R uint8_t rsv_0x201_0x203[3]
__R uint32_t rsv_0x284_0x2FF[31]
__IO uint16_t fifo_addr[2]
__IO uint16_t rx_doulbe_packet_disable
struct TU_ATTR_PACKED::@190::@213 fifo_size_bit
__R uint8_t rsv_34A_34f[6]
__IO uint16_t tx_double_packet_disable
__IO uint8_t dynamic_fifo
__IO uint16_t intren_ep[2]
struct TU_ATTR_PACKED::@190::@209 config_data0_bit
__IO uint8_t suspend_mode
__IO uint16_t hs_timeout_adder
__IO uint8_t highspeed_mode
struct TU_ATTR_PACKED::@243 dma[8]
__IO uint8_t config_data0
__IO uint16_t chirp_timeout
struct TU_ATTR_PACKED::@244 req_packet[15]
__IO uint8_t utmi_data_width
__R uint16_t rsv_0x6e_0x77[5]
struct TU_ATTR_PACKED::@235::@256 hwvers_bit
__R uint32_t rsv_0x84_0xff[31]
__IO uint16_t rxfifo_addr
struct TU_ATTR_PACKED::@237::@259 epinfo_bit
__IO uint8_t reserved_0x0e
musb_ep_csr_t abs_csr[16]
struct TU_ATTR_PACKED::@217::@245 power_bit
__IO uint16_t txfifo_addr
struct TU_ATTR_PACKED::@239::@261 raminfo_bit
__IO uint8_t highspeed_en