atsamv71q21/
hsmci.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Control Register"]
5    pub hsmci_cr: crate::Reg<hsmci_cr::HSMCI_CR_SPEC>,
6    #[doc = "0x04 - Mode Register"]
7    pub hsmci_mr: crate::Reg<hsmci_mr::HSMCI_MR_SPEC>,
8    #[doc = "0x08 - Data Timeout Register"]
9    pub hsmci_dtor: crate::Reg<hsmci_dtor::HSMCI_DTOR_SPEC>,
10    #[doc = "0x0c - SD/SDIO Card Register"]
11    pub hsmci_sdcr: crate::Reg<hsmci_sdcr::HSMCI_SDCR_SPEC>,
12    #[doc = "0x10 - Argument Register"]
13    pub hsmci_argr: crate::Reg<hsmci_argr::HSMCI_ARGR_SPEC>,
14    #[doc = "0x14 - Command Register"]
15    pub hsmci_cmdr: crate::Reg<hsmci_cmdr::HSMCI_CMDR_SPEC>,
16    #[doc = "0x18 - Block Register"]
17    pub hsmci_blkr: crate::Reg<hsmci_blkr::HSMCI_BLKR_SPEC>,
18    #[doc = "0x1c - Completion Signal Timeout Register"]
19    pub hsmci_cstor: crate::Reg<hsmci_cstor::HSMCI_CSTOR_SPEC>,
20    #[doc = "0x20..0x30 - Response Register 0"]
21    pub hsmci_rspr: [crate::Reg<hsmci_rspr::HSMCI_RSPR_SPEC>; 4],
22    #[doc = "0x30 - Receive Data Register"]
23    pub hsmci_rdr: crate::Reg<hsmci_rdr::HSMCI_RDR_SPEC>,
24    #[doc = "0x34 - Transmit Data Register"]
25    pub hsmci_tdr: crate::Reg<hsmci_tdr::HSMCI_TDR_SPEC>,
26    _reserved11: [u8; 0x08],
27    #[doc = "0x40 - Status Register"]
28    pub hsmci_sr: crate::Reg<hsmci_sr::HSMCI_SR_SPEC>,
29    #[doc = "0x44 - Interrupt Enable Register"]
30    pub hsmci_ier: crate::Reg<hsmci_ier::HSMCI_IER_SPEC>,
31    #[doc = "0x48 - Interrupt Disable Register"]
32    pub hsmci_idr: crate::Reg<hsmci_idr::HSMCI_IDR_SPEC>,
33    #[doc = "0x4c - Interrupt Mask Register"]
34    pub hsmci_imr: crate::Reg<hsmci_imr::HSMCI_IMR_SPEC>,
35    #[doc = "0x50 - DMA Configuration Register"]
36    pub hsmci_dma: crate::Reg<hsmci_dma::HSMCI_DMA_SPEC>,
37    #[doc = "0x54 - Configuration Register"]
38    pub hsmci_cfg: crate::Reg<hsmci_cfg::HSMCI_CFG_SPEC>,
39    _reserved17: [u8; 0x8c],
40    #[doc = "0xe4 - Write Protection Mode Register"]
41    pub hsmci_wpmr: crate::Reg<hsmci_wpmr::HSMCI_WPMR_SPEC>,
42    #[doc = "0xe8 - Write Protection Status Register"]
43    pub hsmci_wpsr: crate::Reg<hsmci_wpsr::HSMCI_WPSR_SPEC>,
44    _reserved19: [u8; 0x10],
45    #[doc = "0xfc - Version Register"]
46    pub hsmci_version: crate::Reg<hsmci_version::HSMCI_VERSION_SPEC>,
47    _reserved20: [u8; 0x0100],
48    #[doc = "0x200..0x600 - FIFO Memory Aperture0 0"]
49    pub hsmci_fifo: [crate::Reg<hsmci_fifo::HSMCI_FIFO_SPEC>; 256],
50}
51#[doc = "HSMCI_CR register accessor: an alias for `Reg<HSMCI_CR_SPEC>`"]
52pub type HSMCI_CR = crate::Reg<hsmci_cr::HSMCI_CR_SPEC>;
53#[doc = "Control Register"]
54pub mod hsmci_cr;
55#[doc = "HSMCI_MR register accessor: an alias for `Reg<HSMCI_MR_SPEC>`"]
56pub type HSMCI_MR = crate::Reg<hsmci_mr::HSMCI_MR_SPEC>;
57#[doc = "Mode Register"]
58pub mod hsmci_mr;
59#[doc = "HSMCI_DTOR register accessor: an alias for `Reg<HSMCI_DTOR_SPEC>`"]
60pub type HSMCI_DTOR = crate::Reg<hsmci_dtor::HSMCI_DTOR_SPEC>;
61#[doc = "Data Timeout Register"]
62pub mod hsmci_dtor;
63#[doc = "HSMCI_SDCR register accessor: an alias for `Reg<HSMCI_SDCR_SPEC>`"]
64pub type HSMCI_SDCR = crate::Reg<hsmci_sdcr::HSMCI_SDCR_SPEC>;
65#[doc = "SD/SDIO Card Register"]
66pub mod hsmci_sdcr;
67#[doc = "HSMCI_ARGR register accessor: an alias for `Reg<HSMCI_ARGR_SPEC>`"]
68pub type HSMCI_ARGR = crate::Reg<hsmci_argr::HSMCI_ARGR_SPEC>;
69#[doc = "Argument Register"]
70pub mod hsmci_argr;
71#[doc = "HSMCI_CMDR register accessor: an alias for `Reg<HSMCI_CMDR_SPEC>`"]
72pub type HSMCI_CMDR = crate::Reg<hsmci_cmdr::HSMCI_CMDR_SPEC>;
73#[doc = "Command Register"]
74pub mod hsmci_cmdr;
75#[doc = "HSMCI_BLKR register accessor: an alias for `Reg<HSMCI_BLKR_SPEC>`"]
76pub type HSMCI_BLKR = crate::Reg<hsmci_blkr::HSMCI_BLKR_SPEC>;
77#[doc = "Block Register"]
78pub mod hsmci_blkr;
79#[doc = "HSMCI_CSTOR register accessor: an alias for `Reg<HSMCI_CSTOR_SPEC>`"]
80pub type HSMCI_CSTOR = crate::Reg<hsmci_cstor::HSMCI_CSTOR_SPEC>;
81#[doc = "Completion Signal Timeout Register"]
82pub mod hsmci_cstor;
83#[doc = "HSMCI_RSPR register accessor: an alias for `Reg<HSMCI_RSPR_SPEC>`"]
84pub type HSMCI_RSPR = crate::Reg<hsmci_rspr::HSMCI_RSPR_SPEC>;
85#[doc = "Response Register 0"]
86pub mod hsmci_rspr;
87#[doc = "HSMCI_RDR register accessor: an alias for `Reg<HSMCI_RDR_SPEC>`"]
88pub type HSMCI_RDR = crate::Reg<hsmci_rdr::HSMCI_RDR_SPEC>;
89#[doc = "Receive Data Register"]
90pub mod hsmci_rdr;
91#[doc = "HSMCI_TDR register accessor: an alias for `Reg<HSMCI_TDR_SPEC>`"]
92pub type HSMCI_TDR = crate::Reg<hsmci_tdr::HSMCI_TDR_SPEC>;
93#[doc = "Transmit Data Register"]
94pub mod hsmci_tdr;
95#[doc = "HSMCI_SR register accessor: an alias for `Reg<HSMCI_SR_SPEC>`"]
96pub type HSMCI_SR = crate::Reg<hsmci_sr::HSMCI_SR_SPEC>;
97#[doc = "Status Register"]
98pub mod hsmci_sr;
99#[doc = "HSMCI_IER register accessor: an alias for `Reg<HSMCI_IER_SPEC>`"]
100pub type HSMCI_IER = crate::Reg<hsmci_ier::HSMCI_IER_SPEC>;
101#[doc = "Interrupt Enable Register"]
102pub mod hsmci_ier;
103#[doc = "HSMCI_IDR register accessor: an alias for `Reg<HSMCI_IDR_SPEC>`"]
104pub type HSMCI_IDR = crate::Reg<hsmci_idr::HSMCI_IDR_SPEC>;
105#[doc = "Interrupt Disable Register"]
106pub mod hsmci_idr;
107#[doc = "HSMCI_IMR register accessor: an alias for `Reg<HSMCI_IMR_SPEC>`"]
108pub type HSMCI_IMR = crate::Reg<hsmci_imr::HSMCI_IMR_SPEC>;
109#[doc = "Interrupt Mask Register"]
110pub mod hsmci_imr;
111#[doc = "HSMCI_DMA register accessor: an alias for `Reg<HSMCI_DMA_SPEC>`"]
112pub type HSMCI_DMA = crate::Reg<hsmci_dma::HSMCI_DMA_SPEC>;
113#[doc = "DMA Configuration Register"]
114pub mod hsmci_dma;
115#[doc = "HSMCI_CFG register accessor: an alias for `Reg<HSMCI_CFG_SPEC>`"]
116pub type HSMCI_CFG = crate::Reg<hsmci_cfg::HSMCI_CFG_SPEC>;
117#[doc = "Configuration Register"]
118pub mod hsmci_cfg;
119#[doc = "HSMCI_WPMR register accessor: an alias for `Reg<HSMCI_WPMR_SPEC>`"]
120pub type HSMCI_WPMR = crate::Reg<hsmci_wpmr::HSMCI_WPMR_SPEC>;
121#[doc = "Write Protection Mode Register"]
122pub mod hsmci_wpmr;
123#[doc = "HSMCI_WPSR register accessor: an alias for `Reg<HSMCI_WPSR_SPEC>`"]
124pub type HSMCI_WPSR = crate::Reg<hsmci_wpsr::HSMCI_WPSR_SPEC>;
125#[doc = "Write Protection Status Register"]
126pub mod hsmci_wpsr;
127#[doc = "HSMCI_VERSION register accessor: an alias for `Reg<HSMCI_VERSION_SPEC>`"]
128pub type HSMCI_VERSION = crate::Reg<hsmci_version::HSMCI_VERSION_SPEC>;
129#[doc = "Version Register"]
130pub mod hsmci_version;
131#[doc = "HSMCI_FIFO register accessor: an alias for `Reg<HSMCI_FIFO_SPEC>`"]
132pub type HSMCI_FIFO = crate::Reg<hsmci_fifo::HSMCI_FIFO_SPEC>;
133#[doc = "FIFO Memory Aperture0 0"]
134pub mod hsmci_fifo;