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
#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Control Register"] pub spi_cr: SPI_CR, #[doc = "0x04 - Mode Register"] pub spi_mr: SPI_MR, #[doc = "0x08 - Receive Data Register"] pub spi_rdr: SPI_RDR, #[doc = "0x0c - Transmit Data Register"] pub spi_tdr: SPI_TDR, #[doc = "0x10 - Status Register"] pub spi_sr: SPI_SR, #[doc = "0x14 - Interrupt Enable Register"] pub spi_ier: SPI_IER, #[doc = "0x18 - Interrupt Disable Register"] pub spi_idr: SPI_IDR, #[doc = "0x1c - Interrupt Mask Register"] pub spi_imr: SPI_IMR, _reserved8: [u8; 16usize], #[doc = "0x30 - Chip Select Register 0"] pub spi_csr: [SPI_CSR; 4], _reserved9: [u8; 164usize], #[doc = "0xe4 - Write Protection Mode Register"] pub spi_wpmr: SPI_WPMR, #[doc = "0xe8 - Write Protection Status Register"] pub spi_wpsr: SPI_WPSR, } #[doc = "Control Register"] pub struct SPI_CR { register: vcell::VolatileCell<u32>, } #[doc = "Control Register"] pub mod spi_cr; #[doc = "Mode Register"] pub struct SPI_MR { register: vcell::VolatileCell<u32>, } #[doc = "Mode Register"] pub mod spi_mr; #[doc = "Receive Data Register"] pub struct SPI_RDR { register: vcell::VolatileCell<u32>, } #[doc = "Receive Data Register"] pub mod spi_rdr; #[doc = "Transmit Data Register"] pub struct SPI_TDR { register: vcell::VolatileCell<u32>, } #[doc = "Transmit Data Register"] pub mod spi_tdr; #[doc = "Status Register"] pub struct SPI_SR { register: vcell::VolatileCell<u32>, } #[doc = "Status Register"] pub mod spi_sr; #[doc = "Interrupt Enable Register"] pub struct SPI_IER { register: vcell::VolatileCell<u32>, } #[doc = "Interrupt Enable Register"] pub mod spi_ier; #[doc = "Interrupt Disable Register"] pub struct SPI_IDR { register: vcell::VolatileCell<u32>, } #[doc = "Interrupt Disable Register"] pub mod spi_idr; #[doc = "Interrupt Mask Register"] pub struct SPI_IMR { register: vcell::VolatileCell<u32>, } #[doc = "Interrupt Mask Register"] pub mod spi_imr; #[doc = "Chip Select Register 0"] pub struct SPI_CSR { register: vcell::VolatileCell<u32>, } #[doc = "Chip Select Register 0"] pub mod spi_csr; #[doc = "Write Protection Mode Register"] pub struct SPI_WPMR { register: vcell::VolatileCell<u32>, } #[doc = "Write Protection Mode Register"] pub mod spi_wpmr; #[doc = "Write Protection Status Register"] pub struct SPI_WPSR { register: vcell::VolatileCell<u32>, } #[doc = "Write Protection Status Register"] pub mod spi_wpsr;