mirror of
https://github.com/hathach/tinyusb.git
synced 2025-03-14 04:18:56 +00:00
remove analog PHY from musb_regs_t
hil: remove ch32v203 since not reliable enough
This commit is contained in:
parent
6152adb17f
commit
33e3ea3645
@ -97,136 +97,94 @@ typedef struct TU_ATTR_PACKED {
|
||||
__IO uint8_t rx_csrl; // 0x06: RX CSRL
|
||||
__IO uint8_t rx_csrh; // 0x07: RX CSRH
|
||||
__IO uint16_t rx_count; // 0x08: RX COUNT
|
||||
__IO uint8_t tx_type; // 0x0A: TX TYPE
|
||||
union {
|
||||
__IO uint8_t type0; // 0x0A: TYPE0 (host only)
|
||||
__IO uint8_t tx_type; // 0x0A: TX TYPE
|
||||
};
|
||||
__IO uint8_t tx_interval; // 0x0B: TX INTERVAL
|
||||
__IO uint8_t rx_type; // 0x0C: RX TYPE
|
||||
__IO uint8_t rx_interval; // 0x0D: RX INTERVAL
|
||||
__IO uint8_t reserved_0x0e; // 0x0E: Reserved
|
||||
__IO uint8_t fifo_size; // 0x0F: FIFO_SIZE
|
||||
union {
|
||||
__IO uint8_t config_data; // 0x0F: CONFIG DATA
|
||||
__IO uint8_t fifo_size; // 0x0F: FIFO_SIZE
|
||||
};
|
||||
} musb_ep_csr_t;
|
||||
|
||||
TU_VERIFY_STATIC(sizeof(musb_ep_csr_t) == 16, "size is not correct");
|
||||
|
||||
typedef struct {
|
||||
//------------- Common -------------//
|
||||
__IO uint8_t faddr; // 0x00: FADDR
|
||||
__IO uint8_t power; // 0x01: POWER
|
||||
__IO uint8_t faddr; // 0x00: FADDR
|
||||
__IO uint8_t power; // 0x01: POWER
|
||||
|
||||
__IO uint16_t intr_tx; // 0x02: INTR_TX
|
||||
__IO uint16_t intr_rx; // 0x04: INTR_RX
|
||||
__IO uint16_t intr_tx; // 0x02: INTR_TX
|
||||
__IO uint16_t intr_rx; // 0x04: INTR_RX
|
||||
|
||||
__IO uint16_t intr_txen; // 0x06: INTR_TXEN
|
||||
__IO uint16_t intr_rxen; // 0x08: INTR_RXEN
|
||||
__IO uint16_t intr_txen; // 0x06: INTR_TXEN
|
||||
__IO uint16_t intr_rxen; // 0x08: INTR_RXEN
|
||||
|
||||
__IO uint8_t intrusb; // 0x0A: INTRUSB
|
||||
__IO uint8_t intrusben; // 0x0B: INTRUSBEN
|
||||
__IO uint8_t intrusb; // 0x0A: INTRUSB
|
||||
__IO uint8_t intrusben; // 0x0B: INTRUSBEN
|
||||
|
||||
__IO uint16_t frame; // 0x0C: FRAME
|
||||
__IO uint8_t index; // 0x0E: INDEX
|
||||
__IO uint8_t testmode; // 0x0F: TESTMODE
|
||||
__IO uint16_t frame; // 0x0C: FRAME
|
||||
__IO uint8_t index; // 0x0E: INDEX
|
||||
__IO uint8_t testmode; // 0x0F: TESTMODE
|
||||
|
||||
//------------- Indexed CSR -------------//
|
||||
musb_ep_csr_t indexed_csr; // 0x10-0x1F: Indexed CSR 0-15
|
||||
//------------- CSR (indexed) -------------//
|
||||
musb_ep_csr_t indexed_csr; // 0x10-0x1F: Indexed CSR 0-15
|
||||
|
||||
//------------- FIFOs -------------//
|
||||
__IO uint32_t fifo[16]; // 0x20-0x5C: FIFO 0-15
|
||||
__IO uint32_t fifo[16]; // 0x20-0x5C: FIFO 0-15
|
||||
|
||||
// Common (2)
|
||||
__IO uint8_t devctl; // 0x60: DEVCTL
|
||||
__IO uint8_t misc; // 0x61: MISC
|
||||
__IO uint8_t devctl; // 0x60: DEVCTL
|
||||
__IO uint8_t misc; // 0x61: MISC
|
||||
|
||||
//------------- Dynammic FIFO -------------//
|
||||
__IO uint8_t txfifo_sz; // 0x62: TXFIFO_SZ
|
||||
__IO uint8_t rxfifo_sz; // 0x63: RXFIFO_SZ
|
||||
__IO uint16_t txfifo_addr; // 0x64: TXFIFO_ADDR
|
||||
__IO uint16_t rxfifo_addr; // 0x66: RXFIFO_ADDR
|
||||
//------------- Dynammic FIFO (indexed) -------------//
|
||||
__IO uint8_t txfifo_sz; // 0x62: TXFIFO_SZ
|
||||
__IO uint8_t rxfifo_sz; // 0x63: RXFIFO_SZ
|
||||
__IO uint16_t txfifo_addr; // 0x64: TXFIFO_ADDR
|
||||
__IO uint16_t rxfifo_addr; // 0x66: RXFIFO_ADDR
|
||||
|
||||
//------------- Additional Control/Status -------------//
|
||||
union {
|
||||
__O uint32_t vcontrol; // 0x68: VCONTROL
|
||||
__IO uint32_t vstatus; // 0x68: VSTATUS
|
||||
__O uint32_t vcontrol; // 0x68: VCONTROL
|
||||
__IO uint32_t vstatus; // 0x68: VSTATUS
|
||||
};
|
||||
__IO uint16_t hwvers; // 0x6c: HWVERS
|
||||
__R uint16_t rsv_0x6e_0x77[5];
|
||||
__IO uint16_t hwvers; // 0x6c: HWVERS
|
||||
__R uint16_t rsv_0x6e_0x77[5]; // 0x6E-0x77: Reserved
|
||||
|
||||
//------------- Additional Configuration -------------//
|
||||
__IO uint8_t epinfo; // 0x78: EPINFO
|
||||
__IO uint8_t raminfo; // 0x79: RAMINFO
|
||||
__IO uint8_t softreset; // 0x7A: SOFTRESET (Analog), Link info
|
||||
__IO uint8_t vplen; // 0x7B: VPLEN
|
||||
__IO uint8_t hs_eof1; // 0x7C: HS_EOF1
|
||||
__IO uint8_t fs_eof1; // 0x7D: FS_EOF1
|
||||
__IO uint8_t ls_eof1; // 0x7E: LS_EOF1
|
||||
__IO uint8_t soft_rst; // 0x7F: SOFT_RST
|
||||
//------------- Additional Configuration -------------//
|
||||
__IO uint8_t epinfo; // 0x78: EPINFO
|
||||
__IO uint8_t raminfo; // 0x79: RAMINFO
|
||||
__IO uint8_t softreset; // 0x7A: SOFTRESET (Analog), Link info
|
||||
__IO uint8_t vplen; // 0x7B: VPLEN
|
||||
__IO uint8_t hs_eof1; // 0x7C: HS_EOF1
|
||||
__IO uint8_t fs_eof1; // 0x7D: FS_EOF1
|
||||
__IO uint8_t ls_eof1; // 0x7E: LS_EOF1
|
||||
__IO uint8_t soft_rst; // 0x7F: SOFT_RST
|
||||
|
||||
//------------- Extended -------------//
|
||||
__IO uint16_t ctuch; // 0x80: CTUCH
|
||||
__IO uint16_t cthsrtn; // 0x82: CTHSRTN
|
||||
__R uint32_t rsv_0x84_0xff[31]; // 0x84-0xFF: Reserved
|
||||
__IO uint16_t ctuch; // 0x80: CTUCH
|
||||
__IO uint16_t cthsrtn; // 0x82: CTHSRTN
|
||||
__R uint32_t rsv_0x84_0xff[31]; // 0x84-0xFF: Reserved
|
||||
|
||||
//------------- Absolute CSR (used index to remap to Indexed above) -------------//
|
||||
// TI tm4c can access this directly, but should use indexed_csr for portability
|
||||
musb_ep_csr_t ep_csr[16]; // 0x100-0x1FF: EP0-15 CSR
|
||||
|
||||
__R uint32_t rsv_0x200_0x3ff[128]; // 0x200-0x3FF: Reserved
|
||||
|
||||
//------------- Analog PHY -------------//
|
||||
__IO uint32_t mxm_usb_reg_00; // 0x400: MXM_USB_REG_00
|
||||
__IO uint32_t m31_phy_utmi_reset; // 0x404: M31_PHY_UTMI_RESET
|
||||
__IO uint32_t m31_phy_utmi_vcontrol; // 0x408: M31_PHY_UTMI_VCONTROL
|
||||
__IO uint32_t m31_phy_clk_en; // 0x40C: M31_PHY_CLK_EN
|
||||
__IO uint32_t m31_phy_ponrst; // 0x410: M31_PHY_PONRST
|
||||
__IO uint32_t m31_phy_noncry_rstb; // 0x414: M31_PHY_NONCRY_RSTB
|
||||
__IO uint32_t m31_phy_noncry_en; // 0x418: M31_PHY_NONCRY_EN
|
||||
__R uint32_t rsv_0x41c;
|
||||
__IO uint32_t m31_phy_u2_compliance_en; // 0x420: M31_PHY_U2_COMPLIANCE_EN
|
||||
__IO uint32_t m31_phy_u2_compliance_dac_adj; // 0x424: M31_PHY_U2_COMPLIANCE_DAC_ADJ
|
||||
__IO uint32_t m31_phy_u2_compliance_dac_adj_en; // 0x428: M31_PHY_U2_COMPLIANCE_DAC_ADJ_EN
|
||||
__IO uint32_t m31_phy_clk_rdy; // 0x42C: M31_PHY_CLK_RDY
|
||||
__IO uint32_t m31_phy_pll_en; // 0x430: M31_PHY_PLL_EN
|
||||
__IO uint32_t m31_phy_bist_ok; // 0x434: M31_PHY_BIST_OK
|
||||
__IO uint32_t m31_phy_data_oe; // 0x438: M31_PHY_DATA_OE
|
||||
__IO uint32_t m31_phy_oscouten; // 0x43C: M31_PHY_OSCOUTEN
|
||||
__IO uint32_t m31_phy_lpm_alive; // 0x440: M31_PHY_LPM_ALIVE
|
||||
__IO uint32_t m31_phy_hs_bist_mode; // 0x444: M31_PHY_HS_BIST_MODE
|
||||
__IO uint32_t m31_phy_coreclkin; // 0x448: M31_PHY_CORECLKIN
|
||||
__IO uint32_t m31_phy_xtlsel; // 0x44C: M31_PHY_XTLSEL
|
||||
__IO uint32_t m31_phy_ls_en; // 0x450: M31_PHY_LS_EN
|
||||
__IO uint32_t m31_phy_debug_sel; // 0x454: M31_PHY_DEBUG_SEL
|
||||
__IO uint32_t m31_phy_debug_out; // 0x458: M31_PHY_DEBUG_OUT
|
||||
__IO uint32_t m31_phy_outclksel; // 0x45C: M31_PHY_OUTCLKSEL
|
||||
__IO uint32_t m31_phy_xcfgi_31_0; // 0x460: M31_PHY_XCFGI_31_0
|
||||
__IO uint32_t m31_phy_xcfgi_63_32; // 0x464: M31_PHY_XCFGI_63_32
|
||||
__IO uint32_t m31_phy_xcfgi_95_64; // 0x468: M31_PHY_XCFGI_95_64
|
||||
__IO uint32_t m31_phy_xcfgi_127_96; // 0x46C: M31_PHY_XCFGI_127_96
|
||||
__IO uint32_t m31_phy_xcfgi_137_128; // 0x470: M31_PHY_XCFGI_137_128
|
||||
__IO uint32_t m31_phy_xcfg_hs_coarse_tune_num; // 0x474: M31_PHY_XCFG_HS_COARSE_TUNE_NUM
|
||||
__IO uint32_t m31_phy_xcfg_hs_fine_tune_num; // 0x478: M31_PHY_XCFG_HS_FINE_TUNE_NUM
|
||||
__IO uint32_t m31_phy_xcfg_fs_coarse_tune_num; // 0x47C: M31_PHY_XCFG_FS_COARSE_TUNE_NUM
|
||||
__IO uint32_t m31_phy_xcfg_fs_fine_tune_num; // 0x480: M31_PHY_XCFG_FS_FINE_TUNE_NUM
|
||||
__IO uint32_t m31_phy_xcfg_lock_range_max; // 0x484: M31_PHY_XCFG_LOCK_RANGE_MAX
|
||||
__IO uint32_t m31_phy_xcfgi_lock_range_min; // 0x488: M31_PHY_XCFGI_LOCK_RANGE_MIN
|
||||
__IO uint32_t m31_phy_xcfg_ob_rsel; // 0x48C: M31_PHY_XCFG_OB_RSEL
|
||||
__IO uint32_t m31_phy_xcfg_oc_rsel; // 0x490: M31_PHY_XCFG_OC_RSEL
|
||||
__IO uint32_t m31_phy_xcfgo; // 0x494: M31_PHY_XCFGO
|
||||
__IO uint32_t mxm_int; // 0x498: MXM_INT
|
||||
__IO uint32_t mxm_int_en; // 0x49C: MXM_INT_EN
|
||||
__IO uint32_t mxm_suspend; // 0x4A0: MXM_SUSPEND
|
||||
__IO uint32_t mxm_reg_a4; // 0x4A4: MXM_REG_A4
|
||||
musb_ep_csr_t ep_csr[16]; // 0x100-0x1FF: EP0-15 CSR
|
||||
} musb_regs_t;
|
||||
|
||||
TU_VERIFY_STATIC(sizeof(musb_regs_t) == 0x4A8, "size is not correct");
|
||||
TU_VERIFY_STATIC(sizeof(musb_regs_t) == 0x200, "size is not correct");
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// Helper
|
||||
//--------------------------------------------------------------------+
|
||||
|
||||
TU_ATTR_ALWAYS_INLINE static inline musb_ep_csr_t* get_ep_csr(musb_regs_t* musb_regs, unsigned epnum) {
|
||||
musb_regs->index = epnum;
|
||||
return &musb_regs->indexed_csr;
|
||||
}
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// The following are defines for the bit fields in the USB_O_FADDR register.
|
||||
|
@ -50,13 +50,6 @@
|
||||
"flasher": "openocd",
|
||||
"flasher_sn": "066FFF495087534867063844",
|
||||
"flasher_args": "-f interface/stlink.cfg -f target/stm32g0x.cfg"
|
||||
},
|
||||
{
|
||||
"name": "nanoch32v203",
|
||||
"uid": "CDAB277B0FBC03E339E339E3",
|
||||
"flasher": "openocd_wch",
|
||||
"flasher_sn": "EBCA8F0670AF",
|
||||
"flasher_args": ""
|
||||
}
|
||||
],
|
||||
"boards-skip": [
|
||||
@ -68,6 +61,13 @@
|
||||
"flasher_args": "-device MIMXRT1011xxx5A",
|
||||
"comment": "not running reliably in bulk with other boards, probably power, flashing etc .."
|
||||
},
|
||||
{
|
||||
"name": "nanoch32v203",
|
||||
"uid": "CDAB277B0FBC03E339E339E3",
|
||||
"flasher": "openocd_wch",
|
||||
"flasher_sn": "EBCA8F0670AF",
|
||||
"flasher_args": ""
|
||||
},
|
||||
{
|
||||
"name": "espressif_s3_devkitm",
|
||||
"uid": "84F703C084E4",
|
||||
|
Loading…
x
Reference in New Issue
Block a user