#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - UHCI_CONF0"]
pub conf0: crate::Reg<conf0::CONF0_SPEC>,
#[doc = "0x04 - UHCI_INT_RAW"]
pub int_raw: crate::Reg<int_raw::INT_RAW_SPEC>,
#[doc = "0x08 - UHCI_INT_ST"]
pub int_st: crate::Reg<int_st::INT_ST_SPEC>,
#[doc = "0x0c - UHCI_INT_ENA"]
pub int_ena: crate::Reg<int_ena::INT_ENA_SPEC>,
#[doc = "0x10 - UHCI_INT_CLR"]
pub int_clr: crate::Reg<int_clr::INT_CLR_SPEC>,
#[doc = "0x14 - UHCI_DMA_OUT_STATUS"]
pub dma_out_status: crate::Reg<dma_out_status::DMA_OUT_STATUS_SPEC>,
#[doc = "0x18 - UHCI_DMA_OUT_PUSH"]
pub dma_out_push: crate::Reg<dma_out_push::DMA_OUT_PUSH_SPEC>,
#[doc = "0x1c - UHCI_DMA_IN_STATUS"]
pub dma_in_status: crate::Reg<dma_in_status::DMA_IN_STATUS_SPEC>,
#[doc = "0x20 - UHCI_DMA_IN_POP"]
pub dma_in_pop: crate::Reg<dma_in_pop::DMA_IN_POP_SPEC>,
#[doc = "0x24 - UHCI_DMA_OUT_LINK"]
pub dma_out_link: crate::Reg<dma_out_link::DMA_OUT_LINK_SPEC>,
#[doc = "0x28 - UHCI_DMA_IN_LINK"]
pub dma_in_link: crate::Reg<dma_in_link::DMA_IN_LINK_SPEC>,
#[doc = "0x2c - UHCI_CONF1"]
pub conf1: crate::Reg<conf1::CONF1_SPEC>,
#[doc = "0x30 - UHCI_STATE0"]
pub state0: crate::Reg<state0::STATE0_SPEC>,
#[doc = "0x34 - UHCI_STATE1"]
pub state1: crate::Reg<state1::STATE1_SPEC>,
#[doc = "0x38 - UHCI_DMA_OUT_EOF_DES_ADDR"]
pub dma_out_eof_des_addr: crate::Reg<dma_out_eof_des_addr::DMA_OUT_EOF_DES_ADDR_SPEC>,
#[doc = "0x3c - UHCI_DMA_IN_SUC_EOF_DES_ADDR"]
pub dma_in_suc_eof_des_addr: crate::Reg<dma_in_suc_eof_des_addr::DMA_IN_SUC_EOF_DES_ADDR_SPEC>,
#[doc = "0x40 - UHCI_DMA_IN_ERR_EOF_DES_ADDR"]
pub dma_in_err_eof_des_addr: crate::Reg<dma_in_err_eof_des_addr::DMA_IN_ERR_EOF_DES_ADDR_SPEC>,
#[doc = "0x44 - UHCI_DMA_OUT_EOF_BFR_DES_ADDR"]
pub dma_out_eof_bfr_des_addr:
crate::Reg<dma_out_eof_bfr_des_addr::DMA_OUT_EOF_BFR_DES_ADDR_SPEC>,
#[doc = "0x48 - UHCI_AHB_TEST"]
pub ahb_test: crate::Reg<ahb_test::AHB_TEST_SPEC>,
#[doc = "0x4c - UHCI_DMA_IN_DSCR"]
pub dma_in_dscr: crate::Reg<dma_in_dscr::DMA_IN_DSCR_SPEC>,
#[doc = "0x50 - UHCI_DMA_IN_DSCR_BF0"]
pub dma_in_dscr_bf0: crate::Reg<dma_in_dscr_bf0::DMA_IN_DSCR_BF0_SPEC>,
#[doc = "0x54 - UHCI_DMA_IN_DSCR_BF1"]
pub dma_in_dscr_bf1: crate::Reg<dma_in_dscr_bf1::DMA_IN_DSCR_BF1_SPEC>,
#[doc = "0x58 - UHCI_DMA_OUT_DSCR"]
pub dma_out_dscr: crate::Reg<dma_out_dscr::DMA_OUT_DSCR_SPEC>,
#[doc = "0x5c - UHCI_DMA_OUT_DSCR_BF0"]
pub dma_out_dscr_bf0: crate::Reg<dma_out_dscr_bf0::DMA_OUT_DSCR_BF0_SPEC>,
#[doc = "0x60 - UHCI_DMA_OUT_DSCR_BF1"]
pub dma_out_dscr_bf1: crate::Reg<dma_out_dscr_bf1::DMA_OUT_DSCR_BF1_SPEC>,
#[doc = "0x64 - UHCI_ESCAPE_CONF"]
pub escape_conf: crate::Reg<escape_conf::ESCAPE_CONF_SPEC>,
#[doc = "0x68 - UHCI_HUNG_CONF"]
pub hung_conf: crate::Reg<hung_conf::HUNG_CONF_SPEC>,
_reserved27: [u8; 4usize],
#[doc = "0x70 - UHCI_RX_HEAD"]
pub rx_head: crate::Reg<rx_head::RX_HEAD_SPEC>,
#[doc = "0x74 - UHCI_QUICK_SENT"]
pub quick_sent: crate::Reg<quick_sent::QUICK_SENT_SPEC>,
#[doc = "0x78 - UHCI_Q0_WORD0"]
pub q0_word0: crate::Reg<q0_word0::Q0_WORD0_SPEC>,
#[doc = "0x7c - UHCI_Q0_WORD1"]
pub q0_word1: crate::Reg<q0_word1::Q0_WORD1_SPEC>,
#[doc = "0x80 - UHCI_Q1_WORD0"]
pub q1_word0: crate::Reg<q1_word0::Q1_WORD0_SPEC>,
#[doc = "0x84 - UHCI_Q1_WORD1"]
pub q1_word1: crate::Reg<q1_word1::Q1_WORD1_SPEC>,
#[doc = "0x88 - UHCI_Q2_WORD0"]
pub q2_word0: crate::Reg<q2_word0::Q2_WORD0_SPEC>,
#[doc = "0x8c - UHCI_Q2_WORD1"]
pub q2_word1: crate::Reg<q2_word1::Q2_WORD1_SPEC>,
#[doc = "0x90 - UHCI_Q3_WORD0"]
pub q3_word0: crate::Reg<q3_word0::Q3_WORD0_SPEC>,
#[doc = "0x94 - UHCI_Q3_WORD1"]
pub q3_word1: crate::Reg<q3_word1::Q3_WORD1_SPEC>,
#[doc = "0x98 - UHCI_Q4_WORD0"]
pub q4_word0: crate::Reg<q4_word0::Q4_WORD0_SPEC>,
#[doc = "0x9c - UHCI_Q4_WORD1"]
pub q4_word1: crate::Reg<q4_word1::Q4_WORD1_SPEC>,
#[doc = "0xa0 - UHCI_Q5_WORD0"]
pub q5_word0: crate::Reg<q5_word0::Q5_WORD0_SPEC>,
#[doc = "0xa4 - UHCI_Q5_WORD1"]
pub q5_word1: crate::Reg<q5_word1::Q5_WORD1_SPEC>,
#[doc = "0xa8 - UHCI_Q6_WORD0"]
pub q6_word0: crate::Reg<q6_word0::Q6_WORD0_SPEC>,
#[doc = "0xac - UHCI_Q6_WORD1"]
pub q6_word1: crate::Reg<q6_word1::Q6_WORD1_SPEC>,
#[doc = "0xb0 - UHCI_ESC_CONF0"]
pub esc_conf0: crate::Reg<esc_conf0::ESC_CONF0_SPEC>,
#[doc = "0xb4 - UHCI_ESC_CONF1"]
pub esc_conf1: crate::Reg<esc_conf1::ESC_CONF1_SPEC>,
#[doc = "0xb8 - UHCI_ESC_CONF2"]
pub esc_conf2: crate::Reg<esc_conf2::ESC_CONF2_SPEC>,
#[doc = "0xbc - UHCI_ESC_CONF3"]
pub esc_conf3: crate::Reg<esc_conf3::ESC_CONF3_SPEC>,
#[doc = "0xc0 - UHCI_PKT_THRES"]
pub pkt_thres: crate::Reg<pkt_thres::PKT_THRES_SPEC>,
_reserved48: [u8; 56usize],
#[doc = "0xfc - UHCI_DATE"]
pub date: crate::Reg<date::DATE_SPEC>,
}
#[doc = "CONF0 register accessor: an alias for `Reg<CONF0_SPEC>`"]
pub type CONF0 = crate::Reg<conf0::CONF0_SPEC>;
#[doc = "UHCI_CONF0"]
pub mod conf0;
#[doc = "INT_RAW register accessor: an alias for `Reg<INT_RAW_SPEC>`"]
pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
#[doc = "UHCI_INT_RAW"]
pub mod int_raw;
#[doc = "INT_ST register accessor: an alias for `Reg<INT_ST_SPEC>`"]
pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
#[doc = "UHCI_INT_ST"]
pub mod int_st;
#[doc = "INT_ENA register accessor: an alias for `Reg<INT_ENA_SPEC>`"]
pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
#[doc = "UHCI_INT_ENA"]
pub mod int_ena;
#[doc = "INT_CLR register accessor: an alias for `Reg<INT_CLR_SPEC>`"]
pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
#[doc = "UHCI_INT_CLR"]
pub mod int_clr;
#[doc = "DMA_OUT_STATUS register accessor: an alias for `Reg<DMA_OUT_STATUS_SPEC>`"]
pub type DMA_OUT_STATUS = crate::Reg<dma_out_status::DMA_OUT_STATUS_SPEC>;
#[doc = "UHCI_DMA_OUT_STATUS"]
pub mod dma_out_status;
#[doc = "DMA_OUT_PUSH register accessor: an alias for `Reg<DMA_OUT_PUSH_SPEC>`"]
pub type DMA_OUT_PUSH = crate::Reg<dma_out_push::DMA_OUT_PUSH_SPEC>;
#[doc = "UHCI_DMA_OUT_PUSH"]
pub mod dma_out_push;
#[doc = "DMA_IN_STATUS register accessor: an alias for `Reg<DMA_IN_STATUS_SPEC>`"]
pub type DMA_IN_STATUS = crate::Reg<dma_in_status::DMA_IN_STATUS_SPEC>;
#[doc = "UHCI_DMA_IN_STATUS"]
pub mod dma_in_status;
#[doc = "DMA_IN_POP register accessor: an alias for `Reg<DMA_IN_POP_SPEC>`"]
pub type DMA_IN_POP = crate::Reg<dma_in_pop::DMA_IN_POP_SPEC>;
#[doc = "UHCI_DMA_IN_POP"]
pub mod dma_in_pop;
#[doc = "DMA_OUT_LINK register accessor: an alias for `Reg<DMA_OUT_LINK_SPEC>`"]
pub type DMA_OUT_LINK = crate::Reg<dma_out_link::DMA_OUT_LINK_SPEC>;
#[doc = "UHCI_DMA_OUT_LINK"]
pub mod dma_out_link;
#[doc = "DMA_IN_LINK register accessor: an alias for `Reg<DMA_IN_LINK_SPEC>`"]
pub type DMA_IN_LINK = crate::Reg<dma_in_link::DMA_IN_LINK_SPEC>;
#[doc = "UHCI_DMA_IN_LINK"]
pub mod dma_in_link;
#[doc = "CONF1 register accessor: an alias for `Reg<CONF1_SPEC>`"]
pub type CONF1 = crate::Reg<conf1::CONF1_SPEC>;
#[doc = "UHCI_CONF1"]
pub mod conf1;
#[doc = "STATE0 register accessor: an alias for `Reg<STATE0_SPEC>`"]
pub type STATE0 = crate::Reg<state0::STATE0_SPEC>;
#[doc = "UHCI_STATE0"]
pub mod state0;
#[doc = "STATE1 register accessor: an alias for `Reg<STATE1_SPEC>`"]
pub type STATE1 = crate::Reg<state1::STATE1_SPEC>;
#[doc = "UHCI_STATE1"]
pub mod state1;
#[doc = "DMA_OUT_EOF_DES_ADDR register accessor: an alias for `Reg<DMA_OUT_EOF_DES_ADDR_SPEC>`"]
pub type DMA_OUT_EOF_DES_ADDR = crate::Reg<dma_out_eof_des_addr::DMA_OUT_EOF_DES_ADDR_SPEC>;
#[doc = "UHCI_DMA_OUT_EOF_DES_ADDR"]
pub mod dma_out_eof_des_addr;
#[doc = "DMA_IN_SUC_EOF_DES_ADDR register accessor: an alias for `Reg<DMA_IN_SUC_EOF_DES_ADDR_SPEC>`"]
pub type DMA_IN_SUC_EOF_DES_ADDR =
crate::Reg<dma_in_suc_eof_des_addr::DMA_IN_SUC_EOF_DES_ADDR_SPEC>;
#[doc = "UHCI_DMA_IN_SUC_EOF_DES_ADDR"]
pub mod dma_in_suc_eof_des_addr;
#[doc = "DMA_IN_ERR_EOF_DES_ADDR register accessor: an alias for `Reg<DMA_IN_ERR_EOF_DES_ADDR_SPEC>`"]
pub type DMA_IN_ERR_EOF_DES_ADDR =
crate::Reg<dma_in_err_eof_des_addr::DMA_IN_ERR_EOF_DES_ADDR_SPEC>;
#[doc = "UHCI_DMA_IN_ERR_EOF_DES_ADDR"]
pub mod dma_in_err_eof_des_addr;
#[doc = "DMA_OUT_EOF_BFR_DES_ADDR register accessor: an alias for `Reg<DMA_OUT_EOF_BFR_DES_ADDR_SPEC>`"]
pub type DMA_OUT_EOF_BFR_DES_ADDR =
crate::Reg<dma_out_eof_bfr_des_addr::DMA_OUT_EOF_BFR_DES_ADDR_SPEC>;
#[doc = "UHCI_DMA_OUT_EOF_BFR_DES_ADDR"]
pub mod dma_out_eof_bfr_des_addr;
#[doc = "AHB_TEST register accessor: an alias for `Reg<AHB_TEST_SPEC>`"]
pub type AHB_TEST = crate::Reg<ahb_test::AHB_TEST_SPEC>;
#[doc = "UHCI_AHB_TEST"]
pub mod ahb_test;
#[doc = "DMA_IN_DSCR register accessor: an alias for `Reg<DMA_IN_DSCR_SPEC>`"]
pub type DMA_IN_DSCR = crate::Reg<dma_in_dscr::DMA_IN_DSCR_SPEC>;
#[doc = "UHCI_DMA_IN_DSCR"]
pub mod dma_in_dscr;
#[doc = "DMA_IN_DSCR_BF0 register accessor: an alias for `Reg<DMA_IN_DSCR_BF0_SPEC>`"]
pub type DMA_IN_DSCR_BF0 = crate::Reg<dma_in_dscr_bf0::DMA_IN_DSCR_BF0_SPEC>;
#[doc = "UHCI_DMA_IN_DSCR_BF0"]
pub mod dma_in_dscr_bf0;
#[doc = "DMA_IN_DSCR_BF1 register accessor: an alias for `Reg<DMA_IN_DSCR_BF1_SPEC>`"]
pub type DMA_IN_DSCR_BF1 = crate::Reg<dma_in_dscr_bf1::DMA_IN_DSCR_BF1_SPEC>;
#[doc = "UHCI_DMA_IN_DSCR_BF1"]
pub mod dma_in_dscr_bf1;
#[doc = "DMA_OUT_DSCR register accessor: an alias for `Reg<DMA_OUT_DSCR_SPEC>`"]
pub type DMA_OUT_DSCR = crate::Reg<dma_out_dscr::DMA_OUT_DSCR_SPEC>;
#[doc = "UHCI_DMA_OUT_DSCR"]
pub mod dma_out_dscr;
#[doc = "DMA_OUT_DSCR_BF0 register accessor: an alias for `Reg<DMA_OUT_DSCR_BF0_SPEC>`"]
pub type DMA_OUT_DSCR_BF0 = crate::Reg<dma_out_dscr_bf0::DMA_OUT_DSCR_BF0_SPEC>;
#[doc = "UHCI_DMA_OUT_DSCR_BF0"]
pub mod dma_out_dscr_bf0;
#[doc = "DMA_OUT_DSCR_BF1 register accessor: an alias for `Reg<DMA_OUT_DSCR_BF1_SPEC>`"]
pub type DMA_OUT_DSCR_BF1 = crate::Reg<dma_out_dscr_bf1::DMA_OUT_DSCR_BF1_SPEC>;
#[doc = "UHCI_DMA_OUT_DSCR_BF1"]
pub mod dma_out_dscr_bf1;
#[doc = "ESCAPE_CONF register accessor: an alias for `Reg<ESCAPE_CONF_SPEC>`"]
pub type ESCAPE_CONF = crate::Reg<escape_conf::ESCAPE_CONF_SPEC>;
#[doc = "UHCI_ESCAPE_CONF"]
pub mod escape_conf;
#[doc = "HUNG_CONF register accessor: an alias for `Reg<HUNG_CONF_SPEC>`"]
pub type HUNG_CONF = crate::Reg<hung_conf::HUNG_CONF_SPEC>;
#[doc = "UHCI_HUNG_CONF"]
pub mod hung_conf;
#[doc = "RX_HEAD register accessor: an alias for `Reg<RX_HEAD_SPEC>`"]
pub type RX_HEAD = crate::Reg<rx_head::RX_HEAD_SPEC>;
#[doc = "UHCI_RX_HEAD"]
pub mod rx_head;
#[doc = "QUICK_SENT register accessor: an alias for `Reg<QUICK_SENT_SPEC>`"]
pub type QUICK_SENT = crate::Reg<quick_sent::QUICK_SENT_SPEC>;
#[doc = "UHCI_QUICK_SENT"]
pub mod quick_sent;
#[doc = "Q0_WORD0 register accessor: an alias for `Reg<Q0_WORD0_SPEC>`"]
pub type Q0_WORD0 = crate::Reg<q0_word0::Q0_WORD0_SPEC>;
#[doc = "UHCI_Q0_WORD0"]
pub mod q0_word0;
#[doc = "Q0_WORD1 register accessor: an alias for `Reg<Q0_WORD1_SPEC>`"]
pub type Q0_WORD1 = crate::Reg<q0_word1::Q0_WORD1_SPEC>;
#[doc = "UHCI_Q0_WORD1"]
pub mod q0_word1;
#[doc = "Q1_WORD0 register accessor: an alias for `Reg<Q1_WORD0_SPEC>`"]
pub type Q1_WORD0 = crate::Reg<q1_word0::Q1_WORD0_SPEC>;
#[doc = "UHCI_Q1_WORD0"]
pub mod q1_word0;
#[doc = "Q1_WORD1 register accessor: an alias for `Reg<Q1_WORD1_SPEC>`"]
pub type Q1_WORD1 = crate::Reg<q1_word1::Q1_WORD1_SPEC>;
#[doc = "UHCI_Q1_WORD1"]
pub mod q1_word1;
#[doc = "Q2_WORD0 register accessor: an alias for `Reg<Q2_WORD0_SPEC>`"]
pub type Q2_WORD0 = crate::Reg<q2_word0::Q2_WORD0_SPEC>;
#[doc = "UHCI_Q2_WORD0"]
pub mod q2_word0;
#[doc = "Q2_WORD1 register accessor: an alias for `Reg<Q2_WORD1_SPEC>`"]
pub type Q2_WORD1 = crate::Reg<q2_word1::Q2_WORD1_SPEC>;
#[doc = "UHCI_Q2_WORD1"]
pub mod q2_word1;
#[doc = "Q3_WORD0 register accessor: an alias for `Reg<Q3_WORD0_SPEC>`"]
pub type Q3_WORD0 = crate::Reg<q3_word0::Q3_WORD0_SPEC>;
#[doc = "UHCI_Q3_WORD0"]
pub mod q3_word0;
#[doc = "Q3_WORD1 register accessor: an alias for `Reg<Q3_WORD1_SPEC>`"]
pub type Q3_WORD1 = crate::Reg<q3_word1::Q3_WORD1_SPEC>;
#[doc = "UHCI_Q3_WORD1"]
pub mod q3_word1;
#[doc = "Q4_WORD0 register accessor: an alias for `Reg<Q4_WORD0_SPEC>`"]
pub type Q4_WORD0 = crate::Reg<q4_word0::Q4_WORD0_SPEC>;
#[doc = "UHCI_Q4_WORD0"]
pub mod q4_word0;
#[doc = "Q4_WORD1 register accessor: an alias for `Reg<Q4_WORD1_SPEC>`"]
pub type Q4_WORD1 = crate::Reg<q4_word1::Q4_WORD1_SPEC>;
#[doc = "UHCI_Q4_WORD1"]
pub mod q4_word1;
#[doc = "Q5_WORD0 register accessor: an alias for `Reg<Q5_WORD0_SPEC>`"]
pub type Q5_WORD0 = crate::Reg<q5_word0::Q5_WORD0_SPEC>;
#[doc = "UHCI_Q5_WORD0"]
pub mod q5_word0;
#[doc = "Q5_WORD1 register accessor: an alias for `Reg<Q5_WORD1_SPEC>`"]
pub type Q5_WORD1 = crate::Reg<q5_word1::Q5_WORD1_SPEC>;
#[doc = "UHCI_Q5_WORD1"]
pub mod q5_word1;
#[doc = "Q6_WORD0 register accessor: an alias for `Reg<Q6_WORD0_SPEC>`"]
pub type Q6_WORD0 = crate::Reg<q6_word0::Q6_WORD0_SPEC>;
#[doc = "UHCI_Q6_WORD0"]
pub mod q6_word0;
#[doc = "Q6_WORD1 register accessor: an alias for `Reg<Q6_WORD1_SPEC>`"]
pub type Q6_WORD1 = crate::Reg<q6_word1::Q6_WORD1_SPEC>;
#[doc = "UHCI_Q6_WORD1"]
pub mod q6_word1;
#[doc = "ESC_CONF0 register accessor: an alias for `Reg<ESC_CONF0_SPEC>`"]
pub type ESC_CONF0 = crate::Reg<esc_conf0::ESC_CONF0_SPEC>;
#[doc = "UHCI_ESC_CONF0"]
pub mod esc_conf0;
#[doc = "ESC_CONF1 register accessor: an alias for `Reg<ESC_CONF1_SPEC>`"]
pub type ESC_CONF1 = crate::Reg<esc_conf1::ESC_CONF1_SPEC>;
#[doc = "UHCI_ESC_CONF1"]
pub mod esc_conf1;
#[doc = "ESC_CONF2 register accessor: an alias for `Reg<ESC_CONF2_SPEC>`"]
pub type ESC_CONF2 = crate::Reg<esc_conf2::ESC_CONF2_SPEC>;
#[doc = "UHCI_ESC_CONF2"]
pub mod esc_conf2;
#[doc = "ESC_CONF3 register accessor: an alias for `Reg<ESC_CONF3_SPEC>`"]
pub type ESC_CONF3 = crate::Reg<esc_conf3::ESC_CONF3_SPEC>;
#[doc = "UHCI_ESC_CONF3"]
pub mod esc_conf3;
#[doc = "PKT_THRES register accessor: an alias for `Reg<PKT_THRES_SPEC>`"]
pub type PKT_THRES = crate::Reg<pkt_thres::PKT_THRES_SPEC>;
#[doc = "UHCI_PKT_THRES"]
pub mod pkt_thres;
#[doc = "DATE register accessor: an alias for `Reg<DATE_SPEC>`"]
pub type DATE = crate::Reg<date::DATE_SPEC>;
#[doc = "UHCI_DATE"]
pub mod date;