2017-09-23 18:09:53 +00:00
|
|
|
#[doc = r" Register block"]
|
|
|
|
#[repr(C)]
|
|
|
|
pub struct RegisterBlock {
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x00 - Version ID Register"]
|
|
|
|
pub verid: VERID,
|
|
|
|
#[doc = "0x04 - Parameter Register"]
|
|
|
|
pub param: PARAM,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved0: [u8; 8usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x10 - Master Control Register"]
|
|
|
|
pub mcr: MCR,
|
|
|
|
#[doc = "0x14 - Master Status Register"]
|
|
|
|
pub msr: MSR,
|
|
|
|
#[doc = "0x18 - Master Interrupt Enable Register"]
|
|
|
|
pub mier: MIER,
|
|
|
|
#[doc = "0x1c - Master DMA Enable Register"]
|
|
|
|
pub mder: MDER,
|
|
|
|
#[doc = "0x20 - Master Configuration Register 0"]
|
|
|
|
pub mcfgr0: MCFGR0,
|
|
|
|
#[doc = "0x24 - Master Configuration Register 1"]
|
|
|
|
pub mcfgr1: MCFGR1,
|
|
|
|
#[doc = "0x28 - Master Configuration Register 2"]
|
|
|
|
pub mcfgr2: MCFGR2,
|
|
|
|
#[doc = "0x2c - Master Configuration Register 3"]
|
|
|
|
pub mcfgr3: MCFGR3,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved1: [u8; 16usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x40 - Master Data Match Register"]
|
|
|
|
pub mdmr: MDMR,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved2: [u8; 4usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x48 - Master Clock Configuration Register 0"]
|
|
|
|
pub mccr0: MCCR0,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved3: [u8; 4usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x50 - Master Clock Configuration Register 1"]
|
|
|
|
pub mccr1: MCCR1,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved4: [u8; 4usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x58 - Master FIFO Control Register"]
|
|
|
|
pub mfcr: MFCR,
|
|
|
|
#[doc = "0x5c - Master FIFO Status Register"]
|
|
|
|
pub mfsr: MFSR,
|
|
|
|
#[doc = "0x60 - Master Transmit Data Register"]
|
|
|
|
pub mtdr: MTDR,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved5: [u8; 12usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x70 - Master Receive Data Register"]
|
|
|
|
pub mrdr: MRDR,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved6: [u8; 156usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x110 - Slave Control Register"]
|
|
|
|
pub scr: SCR,
|
|
|
|
#[doc = "0x114 - Slave Status Register"]
|
|
|
|
pub ssr: SSR,
|
|
|
|
#[doc = "0x118 - Slave Interrupt Enable Register"]
|
|
|
|
pub sier: SIER,
|
|
|
|
#[doc = "0x11c - Slave DMA Enable Register"]
|
|
|
|
pub sder: SDER,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved7: [u8; 4usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x124 - Slave Configuration Register 1"]
|
|
|
|
pub scfgr1: SCFGR1,
|
|
|
|
#[doc = "0x128 - Slave Configuration Register 2"]
|
|
|
|
pub scfgr2: SCFGR2,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved8: [u8; 20usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x140 - Slave Address Match Register"]
|
|
|
|
pub samr: SAMR,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved9: [u8; 12usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x150 - Slave Address Status Register"]
|
|
|
|
pub sasr: SASR,
|
|
|
|
#[doc = "0x154 - Slave Transmit ACK Register"]
|
|
|
|
pub star: STAR,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved10: [u8; 8usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x160 - Slave Transmit Data Register"]
|
|
|
|
pub stdr: STDR,
|
2017-09-23 18:09:53 +00:00
|
|
|
_reserved11: [u8; 12usize],
|
2018-02-06 14:15:10 +00:00
|
|
|
#[doc = "0x170 - Slave Receive Data Register"]
|
|
|
|
pub srdr: SRDR,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Version ID Register"]
|
|
|
|
pub struct VERID {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Version ID Register"]
|
|
|
|
pub mod verid;
|
|
|
|
#[doc = "Parameter Register"]
|
|
|
|
pub struct PARAM {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Parameter Register"]
|
|
|
|
pub mod param;
|
|
|
|
#[doc = "Master Control Register"]
|
|
|
|
pub struct MCR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Control Register"]
|
|
|
|
pub mod mcr;
|
|
|
|
#[doc = "Master Status Register"]
|
|
|
|
pub struct MSR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Status Register"]
|
|
|
|
pub mod msr;
|
|
|
|
#[doc = "Master Interrupt Enable Register"]
|
|
|
|
pub struct MIER {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Interrupt Enable Register"]
|
|
|
|
pub mod mier;
|
|
|
|
#[doc = "Master DMA Enable Register"]
|
|
|
|
pub struct MDER {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master DMA Enable Register"]
|
|
|
|
pub mod mder;
|
|
|
|
#[doc = "Master Configuration Register 0"]
|
|
|
|
pub struct MCFGR0 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Configuration Register 0"]
|
|
|
|
pub mod mcfgr0;
|
|
|
|
#[doc = "Master Configuration Register 1"]
|
|
|
|
pub struct MCFGR1 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Configuration Register 1"]
|
|
|
|
pub mod mcfgr1;
|
|
|
|
#[doc = "Master Configuration Register 2"]
|
|
|
|
pub struct MCFGR2 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Configuration Register 2"]
|
|
|
|
pub mod mcfgr2;
|
|
|
|
#[doc = "Master Configuration Register 3"]
|
|
|
|
pub struct MCFGR3 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Configuration Register 3"]
|
|
|
|
pub mod mcfgr3;
|
|
|
|
#[doc = "Master Data Match Register"]
|
|
|
|
pub struct MDMR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Data Match Register"]
|
|
|
|
pub mod mdmr;
|
|
|
|
#[doc = "Master Clock Configuration Register 0"]
|
|
|
|
pub struct MCCR0 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Clock Configuration Register 0"]
|
|
|
|
pub mod mccr0;
|
|
|
|
#[doc = "Master Clock Configuration Register 1"]
|
|
|
|
pub struct MCCR1 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Clock Configuration Register 1"]
|
|
|
|
pub mod mccr1;
|
|
|
|
#[doc = "Master FIFO Control Register"]
|
|
|
|
pub struct MFCR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master FIFO Control Register"]
|
|
|
|
pub mod mfcr;
|
|
|
|
#[doc = "Master FIFO Status Register"]
|
|
|
|
pub struct MFSR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master FIFO Status Register"]
|
|
|
|
pub mod mfsr;
|
|
|
|
#[doc = "Master Transmit Data Register"]
|
|
|
|
pub struct MTDR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Transmit Data Register"]
|
|
|
|
pub mod mtdr;
|
|
|
|
#[doc = "Master Receive Data Register"]
|
|
|
|
pub struct MRDR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Master Receive Data Register"]
|
|
|
|
pub mod mrdr;
|
|
|
|
#[doc = "Slave Control Register"]
|
|
|
|
pub struct SCR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Control Register"]
|
|
|
|
pub mod scr;
|
|
|
|
#[doc = "Slave Status Register"]
|
|
|
|
pub struct SSR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Status Register"]
|
|
|
|
pub mod ssr;
|
|
|
|
#[doc = "Slave Interrupt Enable Register"]
|
|
|
|
pub struct SIER {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Interrupt Enable Register"]
|
|
|
|
pub mod sier;
|
|
|
|
#[doc = "Slave DMA Enable Register"]
|
|
|
|
pub struct SDER {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave DMA Enable Register"]
|
|
|
|
pub mod sder;
|
|
|
|
#[doc = "Slave Configuration Register 1"]
|
|
|
|
pub struct SCFGR1 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Configuration Register 1"]
|
|
|
|
pub mod scfgr1;
|
|
|
|
#[doc = "Slave Configuration Register 2"]
|
|
|
|
pub struct SCFGR2 {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Configuration Register 2"]
|
|
|
|
pub mod scfgr2;
|
|
|
|
#[doc = "Slave Address Match Register"]
|
|
|
|
pub struct SAMR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Address Match Register"]
|
|
|
|
pub mod samr;
|
|
|
|
#[doc = "Slave Address Status Register"]
|
|
|
|
pub struct SASR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Address Status Register"]
|
|
|
|
pub mod sasr;
|
|
|
|
#[doc = "Slave Transmit ACK Register"]
|
|
|
|
pub struct STAR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Transmit ACK Register"]
|
|
|
|
pub mod star;
|
|
|
|
#[doc = "Slave Transmit Data Register"]
|
|
|
|
pub struct STDR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Transmit Data Register"]
|
|
|
|
pub mod stdr;
|
|
|
|
#[doc = "Slave Receive Data Register"]
|
|
|
|
pub struct SRDR {
|
2019-01-16 14:39:25 +00:00
|
|
|
register: ::vcell::VolatileCell<u32>,
|
2017-09-23 18:09:53 +00:00
|
|
|
}
|
|
|
|
#[doc = "Slave Receive Data Register"]
|
|
|
|
pub mod srdr;
|