1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Control Register"]
    pub hsmci_cr: HSMCI_CR,
    #[doc = "0x04 - Mode Register"]
    pub hsmci_mr: HSMCI_MR,
    #[doc = "0x08 - Data Timeout Register"]
    pub hsmci_dtor: HSMCI_DTOR,
    #[doc = "0x0c - SD/SDIO Card Register"]
    pub hsmci_sdcr: HSMCI_SDCR,
    #[doc = "0x10 - Argument Register"]
    pub hsmci_argr: HSMCI_ARGR,
    #[doc = "0x14 - Command Register"]
    pub hsmci_cmdr: HSMCI_CMDR,
    #[doc = "0x18 - Block Register"]
    pub hsmci_blkr: HSMCI_BLKR,
    #[doc = "0x1c - Completion Signal Timeout Register"]
    pub hsmci_cstor: HSMCI_CSTOR,
    #[doc = "0x20 - Response Register 0"]
    pub hsmci_rspr: [HSMCI_RSPR; 4],
    #[doc = "0x30 - Receive Data Register"]
    pub hsmci_rdr: HSMCI_RDR,
    #[doc = "0x34 - Transmit Data Register"]
    pub hsmci_tdr: HSMCI_TDR,
    _reserved11: [u8; 8usize],
    #[doc = "0x40 - Status Register"]
    pub hsmci_sr: HSMCI_SR,
    #[doc = "0x44 - Interrupt Enable Register"]
    pub hsmci_ier: HSMCI_IER,
    #[doc = "0x48 - Interrupt Disable Register"]
    pub hsmci_idr: HSMCI_IDR,
    #[doc = "0x4c - Interrupt Mask Register"]
    pub hsmci_imr: HSMCI_IMR,
    #[doc = "0x50 - DMA Configuration Register"]
    pub hsmci_dma: HSMCI_DMA,
    #[doc = "0x54 - Configuration Register"]
    pub hsmci_cfg: HSMCI_CFG,
    _reserved17: [u8; 140usize],
    #[doc = "0xe4 - Write Protection Mode Register"]
    pub hsmci_wpmr: HSMCI_WPMR,
    #[doc = "0xe8 - Write Protection Status Register"]
    pub hsmci_wpsr: HSMCI_WPSR,
    _reserved19: [u8; 276usize],
    #[doc = "0x200 - FIFO Memory Aperture0 0"]
    pub hsmci_fifo: [HSMCI_FIFO; 256],
}
#[doc = "Control Register"]
pub struct HSMCI_CR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Control Register"]
pub mod hsmci_cr;
#[doc = "Mode Register"]
pub struct HSMCI_MR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Mode Register"]
pub mod hsmci_mr;
#[doc = "Data Timeout Register"]
pub struct HSMCI_DTOR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Data Timeout Register"]
pub mod hsmci_dtor;
#[doc = "SD/SDIO Card Register"]
pub struct HSMCI_SDCR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "SD/SDIO Card Register"]
pub mod hsmci_sdcr;
#[doc = "Argument Register"]
pub struct HSMCI_ARGR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Argument Register"]
pub mod hsmci_argr;
#[doc = "Command Register"]
pub struct HSMCI_CMDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Command Register"]
pub mod hsmci_cmdr;
#[doc = "Block Register"]
pub struct HSMCI_BLKR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Block Register"]
pub mod hsmci_blkr;
#[doc = "Completion Signal Timeout Register"]
pub struct HSMCI_CSTOR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Completion Signal Timeout Register"]
pub mod hsmci_cstor;
#[doc = "Response Register 0"]
pub struct HSMCI_RSPR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Response Register 0"]
pub mod hsmci_rspr;
#[doc = "Receive Data Register"]
pub struct HSMCI_RDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Receive Data Register"]
pub mod hsmci_rdr;
#[doc = "Transmit Data Register"]
pub struct HSMCI_TDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Transmit Data Register"]
pub mod hsmci_tdr;
#[doc = "Status Register"]
pub struct HSMCI_SR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Status Register"]
pub mod hsmci_sr;
#[doc = "Interrupt Enable Register"]
pub struct HSMCI_IER {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Enable Register"]
pub mod hsmci_ier;
#[doc = "Interrupt Disable Register"]
pub struct HSMCI_IDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Disable Register"]
pub mod hsmci_idr;
#[doc = "Interrupt Mask Register"]
pub struct HSMCI_IMR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Mask Register"]
pub mod hsmci_imr;
#[doc = "DMA Configuration Register"]
pub struct HSMCI_DMA {
    register: vcell::VolatileCell<u32>,
}
#[doc = "DMA Configuration Register"]
pub mod hsmci_dma;
#[doc = "Configuration Register"]
pub struct HSMCI_CFG {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Configuration Register"]
pub mod hsmci_cfg;
#[doc = "Write Protection Mode Register"]
pub struct HSMCI_WPMR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Write Protection Mode Register"]
pub mod hsmci_wpmr;
#[doc = "Write Protection Status Register"]
pub struct HSMCI_WPSR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "Write Protection Status Register"]
pub mod hsmci_wpsr;
#[doc = "FIFO Memory Aperture0 0"]
pub struct HSMCI_FIFO {
    register: vcell::VolatileCell<u32>,
}
#[doc = "FIFO Memory Aperture0 0"]
pub mod hsmci_fifo;