#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod SDMMC_POWER {
pub mod PWRCTRL {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod VSWITCH {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod VSWITCHEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIRPOL {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_CLKCR {
pub mod CLKDIV {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PWRSAV {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WIDBUS {
pub const offset: u32 = 14;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NEGEDGE {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HWFC_EN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DDR {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BUSSPEED {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SELCLKRX {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_ARGR {
pub mod CMDARG {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_CMDR {
pub mod CMDINDEX {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDTRANS {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDSTOP {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WAITRESP {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WAITINT {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WAITPEND {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CPSMEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DTHOLD {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BOOTMODE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BOOTEN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDSUSPEND {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_RESPCMDR {
pub mod RESPCMD {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_RESP1R {
pub mod CARDSTATUS1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_RESP2R {
pub mod CARDSTATUS2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_RESP3R {
pub mod CARDSTATUS3 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_RESP4R {
pub mod CARDSTATUS4 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_DTIMER {
pub mod DATATIME {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_DLENR {
pub mod DATALENGTH {
pub const offset: u32 = 0;
pub const mask: u32 = 0x1ffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_DCTRL {
pub mod DTEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DTDIR {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DTMODE {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBLOCKSIZE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RWSTART {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RWSTOP {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RWMOD {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDIOEN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BOOTACKEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FIFORST {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_DCNTR {
pub mod DATACOUNT {
pub const offset: u32 = 0;
pub const mask: u32 = 0x1ffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_STAR {
pub mod CCRCFAIL {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DCRCFAIL {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTIMEOUT {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DTIMEOUT {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXUNDERR {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXOVERR {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDREND {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDSENT {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DATAEND {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DHOLD {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBCKEND {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DABORT {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DPSMACT {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CPSMACT {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFIFOHE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXFIFOHF {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFIFOF {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXFIFOF {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFIFOE {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXFIFOE {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BUSYD0 {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BUSYD0END {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDIOIT {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACKFAIL {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACKTIMEOUT {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod VSWEND {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CKSTOP {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDMATE {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDMABTC {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_ICR {
pub mod CCRCFAILC {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DCRCFAILC {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTIMEOUTC {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DTIMEOUTC {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXUNDERRC {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXOVERRC {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDRENDC {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDSENTC {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DATAENDC {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DHOLDC {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBCKENDC {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DABORTC {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BUSYD0ENDC {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDIOITC {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACKFAILC {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACKTIMEOUTC {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod VSWENDC {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CKSTOPC {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDMATEC {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDMABTCC {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_MASKR {
pub mod CCRCFAILIE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DCRCFAILIE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTIMEOUTIE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DTIMEOUTIE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXUNDERRIE {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXOVERRIE {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDRENDIE {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMDSENTIE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DATAENDIE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DHOLDIE {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBCKENDIE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DABORTIE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFIFOHEIE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXFIFOHFIE {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXFIFOFIE {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFIFOEIE {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BUSYD0ENDIE {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDIOITIE {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACKFAILIE {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACKTIMEOUTIE {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod VSWENDIE {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CKSTOPIE {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDMABTCIE {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_ACKTIMER {
pub mod ACKTIME {
pub const offset: u32 = 0;
pub const mask: u32 = 0x1ffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_IDMACTRLR {
pub mod IDMAEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDMABMODE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_IDMABSIZER {
pub mod IDMABNDT {
pub const offset: u32 = 5;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_IDMABASER {
pub mod IDMABASE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_IDMALAR {
pub mod IDMALA {
pub const offset: u32 = 2;
pub const mask: u32 = 0x3fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ABR {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ULS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ULA {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_IDMABAR {
pub mod IDMABA {
pub const offset: u32 = 2;
pub const mask: u32 = 0x3fffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_FIFOR0 {
pub mod FIFODATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_FIFOR1 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR2 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR3 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR4 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR5 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR6 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR7 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR8 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR9 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR10 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR11 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR12 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR13 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR14 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_FIFOR15 {
pub use super::SDMMC_FIFOR0::FIFODATA;
}
pub mod SDMMC_VERR {
pub mod MINREV {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MAJREV {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_IPIDR {
pub mod IP_ID {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDMMC_SIDR {
pub mod SID {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub SDMMC_POWER: RWRegister<u32>,
pub SDMMC_CLKCR: RWRegister<u32>,
pub SDMMC_ARGR: RWRegister<u32>,
pub SDMMC_CMDR: RWRegister<u32>,
pub SDMMC_RESPCMDR: RORegister<u32>,
pub SDMMC_RESP1R: RORegister<u32>,
pub SDMMC_RESP2R: RORegister<u32>,
pub SDMMC_RESP3R: RORegister<u32>,
pub SDMMC_RESP4R: RORegister<u32>,
pub SDMMC_DTIMER: RWRegister<u32>,
pub SDMMC_DLENR: RWRegister<u32>,
pub SDMMC_DCTRL: RWRegister<u32>,
pub SDMMC_DCNTR: RORegister<u32>,
pub SDMMC_STAR: RORegister<u32>,
pub SDMMC_ICR: RWRegister<u32>,
pub SDMMC_MASKR: RWRegister<u32>,
pub SDMMC_ACKTIMER: RWRegister<u32>,
_reserved1: [u8; 12],
pub SDMMC_IDMACTRLR: RWRegister<u32>,
pub SDMMC_IDMABSIZER: RWRegister<u32>,
pub SDMMC_IDMABASER: RWRegister<u32>,
_reserved2: [u8; 8],
pub SDMMC_IDMALAR: RWRegister<u32>,
pub SDMMC_IDMABAR: RWRegister<u32>,
_reserved3: [u8; 20],
pub SDMMC_FIFOR0: RWRegister<u32>,
pub SDMMC_FIFOR1: RWRegister<u32>,
pub SDMMC_FIFOR2: RWRegister<u32>,
pub SDMMC_FIFOR3: RWRegister<u32>,
pub SDMMC_FIFOR4: RWRegister<u32>,
pub SDMMC_FIFOR5: RWRegister<u32>,
pub SDMMC_FIFOR6: RWRegister<u32>,
pub SDMMC_FIFOR7: RWRegister<u32>,
pub SDMMC_FIFOR8: RWRegister<u32>,
pub SDMMC_FIFOR9: RWRegister<u32>,
pub SDMMC_FIFOR10: RWRegister<u32>,
pub SDMMC_FIFOR11: RWRegister<u32>,
pub SDMMC_FIFOR12: RWRegister<u32>,
pub SDMMC_FIFOR13: RWRegister<u32>,
pub SDMMC_FIFOR14: RWRegister<u32>,
pub SDMMC_FIFOR15: RWRegister<u32>,
_reserved4: [u8; 820],
pub SDMMC_VERR: RORegister<u32>,
pub SDMMC_IPIDR: RORegister<u32>,
pub SDMMC_SIDR: RORegister<u32>,
}
pub struct ResetValues {
pub SDMMC_POWER: u32,
pub SDMMC_CLKCR: u32,
pub SDMMC_ARGR: u32,
pub SDMMC_CMDR: u32,
pub SDMMC_RESPCMDR: u32,
pub SDMMC_RESP1R: u32,
pub SDMMC_RESP2R: u32,
pub SDMMC_RESP3R: u32,
pub SDMMC_RESP4R: u32,
pub SDMMC_DTIMER: u32,
pub SDMMC_DLENR: u32,
pub SDMMC_DCTRL: u32,
pub SDMMC_DCNTR: u32,
pub SDMMC_STAR: u32,
pub SDMMC_ICR: u32,
pub SDMMC_MASKR: u32,
pub SDMMC_ACKTIMER: u32,
pub SDMMC_IDMACTRLR: u32,
pub SDMMC_IDMABSIZER: u32,
pub SDMMC_IDMABASER: u32,
pub SDMMC_IDMALAR: u32,
pub SDMMC_IDMABAR: u32,
pub SDMMC_FIFOR0: u32,
pub SDMMC_FIFOR1: u32,
pub SDMMC_FIFOR2: u32,
pub SDMMC_FIFOR3: u32,
pub SDMMC_FIFOR4: u32,
pub SDMMC_FIFOR5: u32,
pub SDMMC_FIFOR6: u32,
pub SDMMC_FIFOR7: u32,
pub SDMMC_FIFOR8: u32,
pub SDMMC_FIFOR9: u32,
pub SDMMC_FIFOR10: u32,
pub SDMMC_FIFOR11: u32,
pub SDMMC_FIFOR12: u32,
pub SDMMC_FIFOR13: u32,
pub SDMMC_FIFOR14: u32,
pub SDMMC_FIFOR15: u32,
pub SDMMC_VERR: u32,
pub SDMMC_IPIDR: u32,
pub SDMMC_SIDR: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtic")]
unsafe impl Send for Instance {}