#![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 MCR {
pub mod SWRST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MDIS {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MDIS_0: u32 = 0b0;
pub const MDIS_1: u32 = 0b1;
}
}
pub mod DQSMD {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DQSMD_0: u32 = 0b0;
pub const DQSMD_1: u32 = 0b1;
}
}
pub mod WPOL0 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const WPOL0_0: u32 = 0b0;
pub const WPOL0_1: u32 = 0b1;
}
}
pub mod WPOL1 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const WPOL1_0: u32 = 0b0;
pub const WPOL1_1: u32 = 0b1;
}
}
pub mod DQSSEL {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DQSSEL_0: u32 = 0b0;
pub const DQSSEL_1: u32 = 0b1;
}
}
pub mod DLLSEL {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DLLSEL_0: u32 = 0b0;
pub const DLLSEL_1: u32 = 0b1;
}
}
pub mod CTO {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BTO {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BTO_0: u32 = 0b00000;
pub const BTO_1: u32 = 0b00001;
pub const BTO_2: u32 = 0b00010;
pub const BTO_3: u32 = 0b00011;
pub const BTO_4: u32 = 0b00100;
pub const BTO_5: u32 = 0b00101;
pub const BTO_6: u32 = 0b00110;
pub const BTO_7: u32 = 0b00111;
pub const BTO_8: u32 = 0b01000;
pub const BTO_9: u32 = 0b01001;
pub const BTO_31: u32 = 0b11111;
}
}
}
pub mod IOCR {
pub mod MUX_A8 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_A8_0: u32 = 0b000;
pub const MUX_A8_1: u32 = 0b001;
pub const MUX_A8_2: u32 = 0b010;
pub const MUX_A8_3: u32 = 0b011;
pub const MUX_A8_4: u32 = 0b100;
pub const MUX_A8_5: u32 = 0b101;
pub const MUX_A8_6: u32 = 0b110;
pub const MUX_A8_7: u32 = 0b111;
}
}
pub mod MUX_CSX0 {
pub const offset: u32 = 3;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_CSX0_0: u32 = 0b000;
pub const MUX_CSX0_1: u32 = 0b001;
pub const MUX_CSX0_2: u32 = 0b010;
pub const MUX_CSX0_3: u32 = 0b011;
pub const MUX_CSX0_4: u32 = 0b100;
pub const MUX_CSX0_5: u32 = 0b101;
pub const MUX_CSX0_6: u32 = 0b110;
pub const MUX_CSX0_7: u32 = 0b111;
}
}
pub mod MUX_CSX1 {
pub const offset: u32 = 6;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_CSX1_0: u32 = 0b000;
pub const MUX_CSX1_1: u32 = 0b001;
pub const MUX_CSX1_2: u32 = 0b010;
pub const MUX_CSX1_3: u32 = 0b011;
pub const MUX_CSX1_4: u32 = 0b100;
pub const MUX_CSX1_5: u32 = 0b101;
pub const MUX_CSX1_6: u32 = 0b110;
pub const MUX_CSX1_7: u32 = 0b111;
}
}
pub mod MUX_CSX2 {
pub const offset: u32 = 9;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_CSX2_0: u32 = 0b000;
pub const MUX_CSX2_1: u32 = 0b001;
pub const MUX_CSX2_2: u32 = 0b010;
pub const MUX_CSX2_3: u32 = 0b011;
pub const MUX_CSX2_4: u32 = 0b100;
pub const MUX_CSX2_5: u32 = 0b101;
pub const MUX_CSX2_6: u32 = 0b110;
pub const MUX_CSX2_7: u32 = 0b111;
}
}
pub mod MUX_CSX3 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_CSX3_0: u32 = 0b000;
pub const MUX_CSX3_1: u32 = 0b001;
pub const MUX_CSX3_2: u32 = 0b010;
pub const MUX_CSX3_3: u32 = 0b011;
pub const MUX_CSX3_4: u32 = 0b100;
pub const MUX_CSX3_5: u32 = 0b101;
pub const MUX_CSX3_6: u32 = 0b110;
pub const MUX_CSX3_7: u32 = 0b111;
}
}
pub mod MUX_RDY {
pub const offset: u32 = 15;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_RDY_0: u32 = 0b000;
pub const MUX_RDY_1: u32 = 0b001;
pub const MUX_RDY_2: u32 = 0b010;
pub const MUX_RDY_3: u32 = 0b011;
pub const MUX_RDY_4: u32 = 0b100;
pub const MUX_RDY_5: u32 = 0b101;
pub const MUX_RDY_6: u32 = 0b110;
pub const MUX_RDY_7: u32 = 0b111;
}
}
pub mod MUX_CLKX0 {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_CLKX0_0: u32 = 0b0;
pub const MUX_CLKX0_1: u32 = 0b1;
}
}
pub mod MUX_CLKX1 {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MUX_CLKX1_0: u32 = 0b0;
pub const MUX_CLKX1_1: u32 = 0b1;
}
}
}
pub mod BMCR0 {
pub mod WQOS {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WAGE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WSH {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WRWS {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod BMCR1 {
pub mod WQOS {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WAGE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WPH {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WRWS {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WBR {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod BR0 {
pub mod VLD {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MS {
pub const offset: u32 = 1;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MS_0: u32 = 0b00000;
pub const MS_1: u32 = 0b00001;
pub const MS_2: u32 = 0b00010;
pub const MS_3: u32 = 0b00011;
pub const MS_4: u32 = 0b00100;
pub const MS_5: u32 = 0b00101;
pub const MS_6: u32 = 0b00110;
pub const MS_7: u32 = 0b00111;
pub const MS_8: u32 = 0b01000;
pub const MS_9: u32 = 0b01001;
pub const MS_10: u32 = 0b01010;
pub const MS_11: u32 = 0b01011;
pub const MS_12: u32 = 0b01100;
pub const MS_13: u32 = 0b01101;
pub const MS_14: u32 = 0b01110;
pub const MS_15: u32 = 0b01111;
pub const MS_16: u32 = 0b10000;
pub const MS_17: u32 = 0b10001;
pub const MS_18: u32 = 0b10010;
pub const MS_19: u32 = 0b10011;
pub const MS_20: u32 = 0b10100;
pub const MS_21: u32 = 0b10101;
pub const MS_22: u32 = 0b10110;
pub const MS_23: u32 = 0b10111;
pub const MS_24: u32 = 0b11000;
pub const MS_25: u32 = 0b11001;
pub const MS_26: u32 = 0b11010;
pub const MS_27: u32 = 0b11011;
pub const MS_28: u32 = 0b11100;
pub const MS_29: u32 = 0b11101;
pub const MS_30: u32 = 0b11110;
pub const MS_31: u32 = 0b11111;
}
}
pub mod BA {
pub const offset: u32 = 12;
pub const mask: u32 = 0xfffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod BR1 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod BR2 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod BR3 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod BR4 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod BR5 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod BR6 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod BR7 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod BR8 {
pub use super::BR0::BA;
pub use super::BR0::MS;
pub use super::BR0::VLD;
}
pub mod DLLCR {
pub mod DLLEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DLLRESET {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SLVDLYTARGET {
pub const offset: u32 = 3;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OVRDEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OVRDVAL {
pub const offset: u32 = 9;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod INTEN {
pub mod IPCMDDONEEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IPCMDERREN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AXICMDERREN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AXIBUSERREN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NDPAGEENDEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NDPAGEENDEN_0: u32 = 0b0;
pub const NDPAGEENDEN_1: u32 = 0b1;
}
}
pub mod NDNOPENDEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NDNOPENDEN_0: u32 = 0b0;
pub const NDNOPENDEN_1: u32 = 0b1;
}
}
}
pub mod INTR {
pub mod IPCMDDONE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IPCMDERR {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AXICMDERR {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AXIBUSERR {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NDPAGEEND {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NDNOPEND {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDRAMCR0 {
pub mod PS {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PS_0: u32 = 0b0;
pub const PS_1: u32 = 0b1;
}
}
pub mod BL {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BL_0: u32 = 0b000;
pub const BL_1: u32 = 0b001;
pub const BL_2: u32 = 0b010;
pub const BL_3: u32 = 0b011;
pub const BL_4: u32 = 0b100;
pub const BL_5: u32 = 0b101;
pub const BL_6: u32 = 0b110;
pub const BL_7: u32 = 0b111;
}
}
pub mod COL8 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const COL8_0: u32 = 0b0;
pub const COL8_1: u32 = 0b1;
}
}
pub mod COL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const COL_0: u32 = 0b00;
pub const COL_1: u32 = 0b01;
pub const COL_2: u32 = 0b10;
pub const COL_3: u32 = 0b11;
}
}
pub mod CL {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CL_0: u32 = 0b00;
pub const CL_1: u32 = 0b01;
pub const CL_2: u32 = 0b10;
pub const CL_3: u32 = 0b11;
}
}
pub mod BANK2 {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BANK2_0: u32 = 0b0;
pub const BANK2_1: u32 = 0b1;
}
}
}
pub mod SDRAMCR1 {
pub mod PRE2ACT {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACT2RW {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RFRC {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WRC {
pub const offset: u32 = 13;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CKEOFF {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACT2PRE {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SDRAMCR2 {
pub mod SRRC {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REF2REF {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACT2ACT {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITO {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ITO_0: u32 = 0b00000000;
pub const ITO_1: u32 = 0b00000001;
pub const ITO_2: u32 = 0b00000010;
pub const ITO_3: u32 = 0b00000011;
pub const ITO_4: u32 = 0b00000100;
pub const ITO_5: u32 = 0b00000101;
pub const ITO_6: u32 = 0b00000110;
pub const ITO_7: u32 = 0b00000111;
pub const ITO_8: u32 = 0b00001000;
pub const ITO_9: u32 = 0b00001001;
}
}
}
pub mod SDRAMCR3 {
pub mod REN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REBL {
pub const offset: u32 = 1;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const REBL_0: u32 = 0b000;
pub const REBL_1: u32 = 0b001;
pub const REBL_2: u32 = 0b010;
pub const REBL_3: u32 = 0b011;
pub const REBL_4: u32 = 0b100;
pub const REBL_5: u32 = 0b101;
pub const REBL_6: u32 = 0b110;
pub const REBL_7: u32 = 0b111;
}
}
pub mod PRESCALE {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PRESCALE_0: u32 = 0b00000000;
pub const PRESCALE_1: u32 = 0b00000001;
pub const PRESCALE_2: u32 = 0b00000010;
pub const PRESCALE_3: u32 = 0b00000011;
pub const PRESCALE_4: u32 = 0b00000100;
pub const PRESCALE_5: u32 = 0b00000101;
pub const PRESCALE_6: u32 = 0b00000110;
pub const PRESCALE_7: u32 = 0b00000111;
pub const PRESCALE_8: u32 = 0b00001000;
pub const PRESCALE_9: u32 = 0b00001001;
}
}
pub mod RT {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RT_0: u32 = 0b00000000;
pub const RT_1: u32 = 0b00000001;
pub const RT_2: u32 = 0b00000010;
pub const RT_3: u32 = 0b00000011;
pub const RT_4: u32 = 0b00000100;
pub const RT_5: u32 = 0b00000101;
pub const RT_6: u32 = 0b00000110;
pub const RT_7: u32 = 0b00000111;
pub const RT_8: u32 = 0b00001000;
pub const RT_9: u32 = 0b00001001;
}
}
pub mod UT {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const UT_0: u32 = 0b00000000;
pub const UT_1: u32 = 0b00000001;
pub const UT_2: u32 = 0b00000010;
pub const UT_3: u32 = 0b00000011;
pub const UT_4: u32 = 0b00000100;
pub const UT_5: u32 = 0b00000101;
pub const UT_6: u32 = 0b00000110;
pub const UT_7: u32 = 0b00000111;
pub const UT_8: u32 = 0b00001000;
pub const UT_9: u32 = 0b00001001;
}
}
}
pub mod NANDCR0 {
pub mod PS {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PS_0: u32 = 0b0;
pub const PS_1: u32 = 0b1;
}
}
pub mod SYNCEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SYNCEN_0: u32 = 0b0;
pub const SYNCEN_1: u32 = 0b1;
}
}
pub mod BL {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BL_0: u32 = 0b000;
pub const BL_1: u32 = 0b001;
pub const BL_2: u32 = 0b010;
pub const BL_3: u32 = 0b011;
pub const BL_4: u32 = 0b100;
pub const BL_5: u32 = 0b101;
pub const BL_6: u32 = 0b110;
pub const BL_7: u32 = 0b111;
}
}
pub mod EDO {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const EDO_0: u32 = 0b0;
pub const EDO_1: u32 = 0b1;
}
}
pub mod COL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const COL_0: u32 = 0b000;
pub const COL_1: u32 = 0b001;
pub const COL_2: u32 = 0b010;
pub const COL_3: u32 = 0b011;
pub const COL_4: u32 = 0b100;
pub const COL_5: u32 = 0b101;
pub const COL_6: u32 = 0b110;
pub const COL_7: u32 = 0b111;
}
}
}
pub mod NANDCR1 {
pub mod CES {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CEH {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WEH {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REH {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TA {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CEITV {
pub const offset: u32 = 28;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NANDCR2 {
pub mod TWHR {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TRHW {
pub const offset: u32 = 6;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TADL {
pub const offset: u32 = 12;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TRR {
pub const offset: u32 = 18;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TWB {
pub const offset: u32 = 24;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NANDCR3 {
pub mod NDOPT1 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NDOPT2 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NDOPT3 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CLE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RDS {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RDH {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WDS {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WDH {
pub const offset: u32 = 28;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NORCR0 {
pub mod PS {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PS_0: u32 = 0b0;
pub const PS_1: u32 = 0b1;
}
}
pub mod SYNCEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SYNCEN_0: u32 = 0b0;
pub const SYNCEN_1: u32 = 0b1;
}
}
pub mod BL {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BL_0: u32 = 0b000;
pub const BL_1: u32 = 0b001;
pub const BL_2: u32 = 0b010;
pub const BL_3: u32 = 0b011;
pub const BL_4: u32 = 0b100;
pub const BL_5: u32 = 0b101;
pub const BL_6: u32 = 0b110;
pub const BL_7: u32 = 0b111;
}
}
pub mod AM {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AM_0: u32 = 0b00;
pub const AM_1: u32 = 0b01;
pub const AM_2: u32 = 0b10;
pub const AM_3: u32 = 0b11;
}
}
pub mod ADVP {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ADVP_0: u32 = 0b0;
pub const ADVP_1: u32 = 0b1;
}
}
pub mod ADVH {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ADVH_0: u32 = 0b0;
pub const ADVH_1: u32 = 0b1;
}
}
pub mod COL {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const COL_0: u32 = 0b0000;
pub const COL_1: u32 = 0b0001;
pub const COL_2: u32 = 0b0010;
pub const COL_3: u32 = 0b0011;
pub const COL_4: u32 = 0b0100;
pub const COL_5: u32 = 0b0101;
pub const COL_6: u32 = 0b0110;
pub const COL_7: u32 = 0b0111;
pub const COL_8: u32 = 0b1000;
pub const COL_9: u32 = 0b1001;
pub const COL_10: u32 = 0b1010;
pub const COL_11: u32 = 0b1011;
pub const COL_12: u32 = 0b1100;
pub const COL_13: u32 = 0b1101;
pub const COL_14: u32 = 0b1110;
pub const COL_15: u32 = 0b1111;
}
}
}
pub mod NORCR1 {
pub mod CES {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CEH {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AS {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AH {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WEL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WEH {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REL {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REH {
pub const offset: u32 = 28;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NORCR2 {
pub mod TA {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AWDH {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LC {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CEITV {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RDH {
pub const offset: u32 = 28;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NORCR3 {
pub mod ASSR {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AHSR {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SRAMCR0 {
pub use super::NORCR0::ADVH;
pub use super::NORCR0::ADVP;
pub use super::NORCR0::AM;
pub use super::NORCR0::BL;
pub use super::NORCR0::COL;
pub use super::NORCR0::PS;
pub use super::NORCR0::SYNCEN;
}
pub mod SRAMCR1 {
pub use super::NORCR1::AH;
pub use super::NORCR1::AS;
pub use super::NORCR1::CEH;
pub use super::NORCR1::CES;
pub use super::NORCR1::REH;
pub use super::NORCR1::REL;
pub use super::NORCR1::WEH;
pub use super::NORCR1::WEL;
}
pub mod SRAMCR2 {
pub mod WDS {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WDH {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TA {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AWDH {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LC {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CEITV {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RDH {
pub const offset: u32 = 28;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SRAMCR3 {}
pub mod DBICR0 {
pub mod PS {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PS_0: u32 = 0b0;
pub const PS_1: u32 = 0b1;
}
}
pub mod BL {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BL_0: u32 = 0b000;
pub const BL_1: u32 = 0b001;
pub const BL_2: u32 = 0b010;
pub const BL_3: u32 = 0b011;
pub const BL_4: u32 = 0b100;
pub const BL_5: u32 = 0b101;
pub const BL_6: u32 = 0b110;
pub const BL_7: u32 = 0b111;
}
}
pub mod COL {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const COL_0: u32 = 0b0000;
pub const COL_1: u32 = 0b0001;
pub const COL_2: u32 = 0b0010;
pub const COL_3: u32 = 0b0011;
pub const COL_4: u32 = 0b0100;
pub const COL_5: u32 = 0b0101;
pub const COL_6: u32 = 0b0110;
pub const COL_7: u32 = 0b0111;
pub const COL_8: u32 = 0b1000;
pub const COL_9: u32 = 0b1001;
pub const COL_10: u32 = 0b1010;
pub const COL_11: u32 = 0b1011;
pub const COL_12: u32 = 0b1100;
pub const COL_13: u32 = 0b1101;
pub const COL_14: u32 = 0b1110;
pub const COL_15: u32 = 0b1111;
}
}
}
pub mod DBICR1 {
pub mod CES {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CEH {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WEH {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REL {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REH {
pub const offset: u32 = 22;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CEITV {
pub const offset: u32 = 28;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IPCR0 {
pub mod SA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IPCR1 {
pub mod DATSZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DATSZ_0: u32 = 0b000;
pub const DATSZ_1: u32 = 0b001;
pub const DATSZ_2: u32 = 0b010;
pub const DATSZ_3: u32 = 0b011;
pub const DATSZ_4: u32 = 0b100;
pub const DATSZ_5: u32 = 0b101;
pub const DATSZ_6: u32 = 0b110;
pub const DATSZ_7: u32 = 0b111;
}
}
pub mod NAND_EXT_ADDR {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IPCR2 {
pub mod BM0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BM0_0: u32 = 0b0;
pub const BM0_1: u32 = 0b1;
}
}
pub mod BM1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BM1_0: u32 = 0b0;
pub const BM1_1: u32 = 0b1;
}
}
pub mod BM2 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BM2_0: u32 = 0b0;
pub const BM2_1: u32 = 0b1;
}
}
pub mod BM3 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BM3_0: u32 = 0b0;
pub const BM3_1: u32 = 0b1;
}
}
}
pub mod IPCMD {
pub mod CMD {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod KEY {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IPTXDAT {
pub mod DAT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IPRXDAT {
pub mod DAT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod STS0 {
pub mod IDLE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NARDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NARDY_0: u32 = 0b0;
pub const NARDY_1: u32 = 0b1;
}
}
}
pub mod STS1 {}
pub mod STS2 {
pub mod NDWRPEND {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NDWRPEND_0: u32 = 0b0;
pub const NDWRPEND_1: u32 = 0b1;
}
}
}
pub mod STS3 {}
pub mod STS4 {}
pub mod STS5 {}
pub mod STS6 {}
pub mod STS7 {}
pub mod STS8 {}
pub mod STS9 {}
pub mod STS10 {}
pub mod STS11 {}
pub mod STS12 {
pub mod NDADDR {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod STS13 {
pub mod SLVLOCK {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REFLOCK {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SLVSEL {
pub const offset: u32 = 2;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REFSEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod STS14 {}
pub mod STS15 {}
#[repr(C)]
pub struct RegisterBlock {
pub MCR: RWRegister<u32>,
pub IOCR: RWRegister<u32>,
pub BMCR0: RWRegister<u32>,
pub BMCR1: RWRegister<u32>,
pub BR0: RWRegister<u32>,
pub BR1: RWRegister<u32>,
pub BR2: RWRegister<u32>,
pub BR3: RWRegister<u32>,
pub BR4: RWRegister<u32>,
pub BR5: RWRegister<u32>,
pub BR6: RWRegister<u32>,
pub BR7: RWRegister<u32>,
pub BR8: RWRegister<u32>,
pub DLLCR: RWRegister<u32>,
pub INTEN: RWRegister<u32>,
pub INTR: RWRegister<u32>,
pub SDRAMCR0: RWRegister<u32>,
pub SDRAMCR1: RWRegister<u32>,
pub SDRAMCR2: RWRegister<u32>,
pub SDRAMCR3: RWRegister<u32>,
pub NANDCR0: RWRegister<u32>,
pub NANDCR1: RWRegister<u32>,
pub NANDCR2: RWRegister<u32>,
pub NANDCR3: RWRegister<u32>,
pub NORCR0: RWRegister<u32>,
pub NORCR1: RWRegister<u32>,
pub NORCR2: RWRegister<u32>,
pub NORCR3: RWRegister<u32>,
pub SRAMCR0: RWRegister<u32>,
pub SRAMCR1: RWRegister<u32>,
pub SRAMCR2: RWRegister<u32>,
pub SRAMCR3: RWRegister<u32>,
pub DBICR0: RWRegister<u32>,
pub DBICR1: RWRegister<u32>,
_reserved1: [u32; 2],
pub IPCR0: RWRegister<u32>,
pub IPCR1: RWRegister<u32>,
pub IPCR2: RWRegister<u32>,
pub IPCMD: RWRegister<u32>,
pub IPTXDAT: RWRegister<u32>,
_reserved2: [u32; 3],
pub IPRXDAT: RORegister<u32>,
_reserved3: [u32; 3],
pub STS0: RORegister<u32>,
pub STS1: RORegister<u32>,
pub STS2: RORegister<u32>,
pub STS3: RORegister<u32>,
pub STS4: RORegister<u32>,
pub STS5: RORegister<u32>,
pub STS6: RORegister<u32>,
pub STS7: RORegister<u32>,
pub STS8: RORegister<u32>,
pub STS9: RORegister<u32>,
pub STS10: RORegister<u32>,
pub STS11: RORegister<u32>,
pub STS12: RORegister<u32>,
pub STS13: RORegister<u32>,
pub STS14: RORegister<u32>,
pub STS15: RORegister<u32>,
}
pub struct ResetValues {
pub MCR: u32,
pub IOCR: u32,
pub BMCR0: u32,
pub BMCR1: u32,
pub BR0: u32,
pub BR1: u32,
pub BR2: u32,
pub BR3: u32,
pub BR4: u32,
pub BR5: u32,
pub BR6: u32,
pub BR7: u32,
pub BR8: u32,
pub DLLCR: u32,
pub INTEN: u32,
pub INTR: u32,
pub SDRAMCR0: u32,
pub SDRAMCR1: u32,
pub SDRAMCR2: u32,
pub SDRAMCR3: u32,
pub NANDCR0: u32,
pub NANDCR1: u32,
pub NANDCR2: u32,
pub NANDCR3: u32,
pub NORCR0: u32,
pub NORCR1: u32,
pub NORCR2: u32,
pub NORCR3: u32,
pub SRAMCR0: u32,
pub SRAMCR1: u32,
pub SRAMCR2: u32,
pub SRAMCR3: u32,
pub DBICR0: u32,
pub DBICR1: u32,
pub IPCR0: u32,
pub IPCR1: u32,
pub IPCR2: u32,
pub IPCMD: u32,
pub IPTXDAT: u32,
pub IPRXDAT: u32,
pub STS0: u32,
pub STS1: u32,
pub STS2: u32,
pub STS3: u32,
pub STS4: u32,
pub STS5: u32,
pub STS6: u32,
pub STS7: u32,
pub STS8: u32,
pub STS9: u32,
pub STS10: u32,
pub STS11: u32,
pub STS12: u32,
pub STS13: u32,
pub STS14: u32,
pub STS15: 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 = "rtfm")]
unsafe impl Send for Instance {}