#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - power control register"]
pub power: POWER,
#[doc = "0x04 - SDI clock control register"]
pub clkcr: CLKCR,
#[doc = "0x08 - argument register"]
pub arg: ARG,
#[doc = "0x0c - command register"]
pub cmd: CMD,
#[doc = "0x10 - command response register"]
pub respcmd: RESPCMD,
#[doc = "0x14 - response 1..4 register"]
pub resp1: RESP1,
#[doc = "0x18 - response 1..4 register"]
pub resp2: RESP2,
#[doc = "0x1c - response 1..4 register"]
pub resp3: RESP3,
#[doc = "0x20 - response 1..4 register"]
pub resp4: RESP4,
#[doc = "0x24 - data timer register"]
pub dtimer: DTIMER,
#[doc = "0x28 - data length register"]
pub dlen: DLEN,
#[doc = "0x2c - data control register"]
pub dctrl: DCTRL,
#[doc = "0x30 - data counter register"]
pub dcount: DCOUNT,
#[doc = "0x34 - status register"]
pub sta: STA,
#[doc = "0x38 - interrupt clear register"]
pub icr: ICR,
#[doc = "0x3c - mask register"]
pub mask: MASK,
_reserved0: [u8; 8usize],
#[doc = "0x48 - FIFO counter register"]
pub fifocnt: FIFOCNT,
_reserved1: [u8; 52usize],
#[doc = "0x80 - data FIFO register"]
pub fifo: FIFO,
}
#[doc = "power control register"]
pub struct POWER {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "power control register"]
pub mod power;
#[doc = "SDI clock control register"]
pub struct CLKCR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "SDI clock control register"]
pub mod clkcr;
#[doc = "argument register"]
pub struct ARG {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "argument register"]
pub mod arg;
#[doc = "command register"]
pub struct CMD {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "command register"]
pub mod cmd;
#[doc = "command response register"]
pub struct RESPCMD {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "command response register"]
pub mod respcmd;
#[doc = "response 1..4 register"]
pub struct RESP1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "response 1..4 register"]
pub mod resp1;
#[doc = "response 1..4 register"]
pub struct RESP2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "response 1..4 register"]
pub mod resp2;
#[doc = "response 1..4 register"]
pub struct RESP3 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "response 1..4 register"]
pub mod resp3;
#[doc = "response 1..4 register"]
pub struct RESP4 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "response 1..4 register"]
pub mod resp4;
#[doc = "data timer register"]
pub struct DTIMER {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "data timer register"]
pub mod dtimer;
#[doc = "data length register"]
pub struct DLEN {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "data length register"]
pub mod dlen;
#[doc = "data control register"]
pub struct DCTRL {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "data control register"]
pub mod dctrl;
#[doc = "data counter register"]
pub struct DCOUNT {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "data counter register"]
pub mod dcount;
#[doc = "status register"]
pub struct STA {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "status register"]
pub mod sta;
#[doc = "interrupt clear register"]
pub struct ICR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "interrupt clear register"]
pub mod icr;
#[doc = "mask register"]
pub struct MASK {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "mask register"]
pub mod mask;
#[doc = "FIFO counter register"]
pub struct FIFOCNT {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FIFO counter register"]
pub mod fifocnt;
#[doc = "data FIFO register"]
pub struct FIFO {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "data FIFO register"]
pub mod fifo;