#![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 DDRCTRL_MSTR {
pub mod DDR3 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPDDR2 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPDDR3 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BURSTCHOP {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EN_2T_TIMING_MODE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DATA_BUS_WIDTH {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DLL_OFF_MODE {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BURST_RDWR {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_STAT {
pub mod OPERATING_MODE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SELFREF_TYPE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SELFREF_CAM_NOT_EMPTY {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_MRCTRL0 {
pub mod MR_TYPE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MR_RANK {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MR_ADDR {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MR_WR {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_MRCTRL1 {
pub mod MR_DATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_MRSTAT {
pub mod MR_WR_BUSY {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DERATEEN {
pub mod DERATE_ENABLE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DERATE_VALUE {
pub const offset: u32 = 1;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DERATE_BYTE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DERATEINT {
pub mod MR4_READ_INTERVAL {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PWRCTL {
pub mod SELFREF_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod POWERDOWN_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DEEPPOWERDOWN_EN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EN_DFI_DRAM_CLK_DISABLE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SELFREF_SW {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_CAM_DRAIN_SELFREF {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PWRTMG {
pub mod POWERDOWN_TO_X32 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_DPD_X4096 {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SELFREF_TO_X32 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_HWLPCTL {
pub mod HW_LP_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HW_LP_EXIT_IDLE_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HW_LP_IDLE_X32 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_RFSHCTL0 {
pub mod PER_BANK_REFRESH {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REFRESH_BURST {
pub const offset: u32 = 4;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REFRESH_TO_X32 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REFRESH_MARGIN {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_RFSHCTL3 {
pub mod DIS_AUTO_REFRESH {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod REFRESH_UPDATE_LEVEL {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_RFSHTMG {
pub mod T_RFC_MIN {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPDDR3_TREFBW_EN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_RFC_NOM_X1_X32 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_RFC_NOM_X1_SEL {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_CRCPARCTL0 {
pub mod DFI_ALERT_ERR_INT_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_ALERT_ERR_INT_CLR {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_ALERT_ERR_CNT_CLR {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_CRCPARSTAT {
pub mod DFI_ALERT_ERR_CNT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_ALERT_ERR_INT {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_INIT0 {
pub mod PRE_CKE_X1024 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod POST_CKE_X1024 {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SKIP_DRAM_INIT {
pub const offset: u32 = 30;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_INIT1 {
pub mod PRE_OCD_X32 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DRAM_RSTN_X1024 {
pub const offset: u32 = 16;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_INIT2 {
pub mod MIN_STABLE_CLOCK_X1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDLE_AFTER_RESET_X32 {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_INIT3 {
pub mod EMR {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MR {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_INIT4 {
pub mod EMR3 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EMR2 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_INIT5 {
pub mod MAX_AUTO_INIT_X1024 {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DEV_ZQINIT_X32 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DIMMCTL {
pub mod DIMM_STAGGER_CS_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIMM_ADDR_MIRR_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG0 {
pub mod T_RAS_MIN {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_RAS_MAX {
pub const offset: u32 = 8;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_FAW {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR2PRE {
pub const offset: u32 = 24;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG1 {
pub mod T_RC {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD2PRE {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_XP {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG2 {
pub mod WR2RD {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD2WR {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod READ_LATENCY {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WRITE_LATENCY {
pub const offset: u32 = 24;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG3 {
pub mod T_MOD {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_MRD {
pub const offset: u32 = 12;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_MRW {
pub const offset: u32 = 20;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG4 {
pub mod T_RP {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_RRD {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_CCD {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_RCD {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG5 {
pub mod T_CKE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_CKESR {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_CKSRE {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_CKSRX {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG6 {
pub mod T_CKCSX {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_CKDPDX {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_CKDPDE {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG7 {
pub mod T_CKPDX {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_CKPDE {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG8 {
pub mod T_XS_X32 {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_XS_DLL_X32 {
pub const offset: u32 = 8;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG14 {
pub mod T_XSR {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DRAMTMG15 {
pub mod T_STAB_X32 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EN_DFI_LP_T_STAB {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ZQCTL0 {
pub mod T_ZQ_SHORT_NOP {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_ZQ_LONG_NOP {
pub const offset: u32 = 16;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ZQ_RESISTOR_SHARED {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_SRX_ZQCL {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_AUTO_ZQ {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ZQCTL1 {
pub mod T_ZQ_SHORT_INTERVAL_X1024 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod T_ZQ_RESET_NOP {
pub const offset: u32 = 20;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ZQCTL2 {
pub mod ZQ_RESET {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ZQSTAT {
pub mod ZQ_RESET_BUSY {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFITMG0 {
pub mod DFI_TPHY_WRLAT {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_TPHY_WRDATA {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_T_RDDATA_EN {
pub const offset: u32 = 16;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_T_CTRL_DELAY {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFITMG1 {
pub mod DFI_T_DRAM_CLK_ENABLE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_T_DRAM_CLK_DISABLE {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_T_WRDATA_DELAY {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFILPCFG0 {
pub mod DFI_LP_EN_PD {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_LP_WAKEUP_PD {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_LP_EN_SR {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_LP_WAKEUP_SR {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_LP_EN_DPD {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_LP_WAKEUP_DPD {
pub const offset: u32 = 20;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_TLP_RESP {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFIUPD0 {
pub mod DFI_T_CTRLUP_MIN {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_T_CTRLUP_MAX {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTRLUPD_PRE_SRX {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_AUTO_CTRLUPD_SRX {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_AUTO_CTRLUPD {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFIUPD1 {
pub mod DFI_T_CTRLUPD_INTERVAL_MAX_X1024 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_T_CTRLUPD_INTERVAL_MIN_X1024 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFIUPD2 {
pub mod DFI_PHYUPD_EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFIMISC {
pub mod DFI_INIT_COMPLETE_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTL_IDLE_EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_INIT_START {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_FREQUENCY {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFISTAT {
pub mod DFI_INIT_COMPLETE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DFI_LP_ACK {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DFIPHYMSTR {
pub mod DFI_PHYMSTR_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP1 {
pub mod ADDRMAP_BANK_B0 {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_BANK_B1 {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_BANK_B2 {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP2 {
pub mod ADDRMAP_COL_B2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_COL_B3 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_COL_B4 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_COL_B5 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP3 {
pub mod ADDRMAP_COL_B6 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_COL_B7 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_COL_B8 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_COL_B9 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP4 {
pub mod ADDRMAP_COL_B10 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_COL_B11 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP5 {
pub mod ADDRMAP_ROW_B0 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B1 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B2_10 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B11 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP6 {
pub mod ADDRMAP_ROW_B12 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B13 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B14 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B15 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPDDR3_6GB_12GB {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP9 {
pub mod ADDRMAP_ROW_B2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B3 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B4 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B5 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP10 {
pub mod ADDRMAP_ROW_B6 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B7 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B8 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDRMAP_ROW_B9 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ADDRMAP11 {
pub mod ADDRMAP_ROW_B10 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ODTCFG {
pub mod RD_ODT_DELAY {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_ODT_HOLD {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_ODT_DELAY {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_ODT_HOLD {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_ODTMAP {
pub mod RANK0_WR_ODT {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RANK0_RD_ODT {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_SCHED {
pub mod FORCE_LOW_PRI_N {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PREFER_WRITE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PAGECLOSE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPR_NUM_ENTRIES {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GO2CRITICAL_HYSTERESIS {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RDWR_IDLE_GAP {
pub const offset: u32 = 24;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_SCHED1 {
pub mod PAGECLOSE_TIMER {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PERFHPR1 {
pub mod HPR_MAX_STARVE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HPR_XACT_RUN_LENGTH {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PERFLPR1 {
pub mod LPR_MAX_STARVE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPR_XACT_RUN_LENGTH {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PERFWR1 {
pub mod W_MAX_STARVE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod W_XACT_RUN_LENGTH {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DBG0 {
pub mod DIS_WC {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_COLLISION_PAGE_OPT {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DBG1 {
pub mod DIS_DQ {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_HIF {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DBGCAM {
pub mod DBG_HPR_Q_DEPTH {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBG_LPR_Q_DEPTH {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBG_W_Q_DEPTH {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBG_STALL {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBG_RD_Q_EMPTY {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBG_WR_Q_EMPTY {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_DATA_PIPELINE_EMPTY {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_DATA_PIPELINE_EMPTY {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DBGCMD {
pub mod RANK0_REFRESH {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ZQ_CALIB_SHORT {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTRLUPD {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_DBGSTAT {
pub mod RANK0_REFRESH_BUSY {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ZQ_CALIB_SHORT_BUSY {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTRLUPD_BUSY {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_SWCTL {
pub mod SW_DONE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_SWSTAT {
pub mod SW_DONE_ACK {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_POISONCFG {
pub mod WR_POISON_SLVERR_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_POISON_INTR_EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_POISON_INTR_CLR {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_POISON_SLVERR_EN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_POISON_INTR_EN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_POISON_INTR_CLR {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_POISONSTAT {
pub mod WR_POISON_INTR_0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_POISON_INTR_1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_POISON_INTR_0 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_POISON_INTR_1 {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PSTAT {
pub mod RD_PORT_BUSY_0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_PORT_BUSY_1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_PORT_BUSY_0 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_PORT_BUSY_1 {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCCFG {
pub mod GO2CRITICAL_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PAGEMATCH_LIMIT {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BL_EXP_MODE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCFGR_0 {
pub mod RD_PORT_PRIORITY {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_PORT_AGING_EN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_PORT_URGENT_EN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RD_PORT_PAGEMATCH_EN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RDWR_ORDERED_EN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCFGW_0 {
pub mod WR_PORT_PRIORITY {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_PORT_AGING_EN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_PORT_URGENT_EN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WR_PORT_PAGEMATCH_EN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCTRL_0 {
pub mod PORT_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCFGQOS0_0 {
pub mod RQOS_MAP_LEVEL1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RQOS_MAP_LEVEL2 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RQOS_MAP_REGION0 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RQOS_MAP_REGION1 {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RQOS_MAP_REGION2 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCFGQOS1_0 {
pub mod RQOS_MAP_TIMEOUTB {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RQOS_MAP_TIMEOUTR {
pub const offset: u32 = 16;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCFGWQOS0_0 {
pub mod WQOS_MAP_LEVEL1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WQOS_MAP_LEVEL2 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WQOS_MAP_REGION0 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WQOS_MAP_REGION1 {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WQOS_MAP_REGION2 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCFGWQOS1_0 {
pub mod WQOS_MAP_TIMEOUT1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WQOS_MAP_TIMEOUT2 {
pub const offset: u32 = 16;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DDRCTRL_PCFGR_1 {
pub use super::DDRCTRL_PCFGR_0::RDWR_ORDERED_EN;
pub use super::DDRCTRL_PCFGR_0::RD_PORT_AGING_EN;
pub use super::DDRCTRL_PCFGR_0::RD_PORT_PAGEMATCH_EN;
pub use super::DDRCTRL_PCFGR_0::RD_PORT_PRIORITY;
pub use super::DDRCTRL_PCFGR_0::RD_PORT_URGENT_EN;
}
pub mod DDRCTRL_PCFGW_1 {
pub use super::DDRCTRL_PCFGW_0::WR_PORT_AGING_EN;
pub use super::DDRCTRL_PCFGW_0::WR_PORT_PAGEMATCH_EN;
pub use super::DDRCTRL_PCFGW_0::WR_PORT_PRIORITY;
pub use super::DDRCTRL_PCFGW_0::WR_PORT_URGENT_EN;
}
pub mod DDRCTRL_PCTRL_1 {
pub use super::DDRCTRL_PCTRL_0::PORT_EN;
}
pub mod DDRCTRL_PCFGQOS0_1 {
pub use super::DDRCTRL_PCFGQOS0_0::RQOS_MAP_LEVEL1;
pub use super::DDRCTRL_PCFGQOS0_0::RQOS_MAP_LEVEL2;
pub use super::DDRCTRL_PCFGQOS0_0::RQOS_MAP_REGION0;
pub use super::DDRCTRL_PCFGQOS0_0::RQOS_MAP_REGION1;
pub use super::DDRCTRL_PCFGQOS0_0::RQOS_MAP_REGION2;
}
pub mod DDRCTRL_PCFGQOS1_1 {
pub use super::DDRCTRL_PCFGQOS1_0::RQOS_MAP_TIMEOUTB;
pub use super::DDRCTRL_PCFGQOS1_0::RQOS_MAP_TIMEOUTR;
}
pub mod DDRCTRL_PCFGWQOS0_1 {
pub use super::DDRCTRL_PCFGWQOS0_0::WQOS_MAP_LEVEL1;
pub use super::DDRCTRL_PCFGWQOS0_0::WQOS_MAP_LEVEL2;
pub use super::DDRCTRL_PCFGWQOS0_0::WQOS_MAP_REGION0;
pub use super::DDRCTRL_PCFGWQOS0_0::WQOS_MAP_REGION1;
pub use super::DDRCTRL_PCFGWQOS0_0::WQOS_MAP_REGION2;
}
pub mod DDRCTRL_PCFGWQOS1_1 {
pub use super::DDRCTRL_PCFGWQOS1_0::WQOS_MAP_TIMEOUT1;
pub use super::DDRCTRL_PCFGWQOS1_0::WQOS_MAP_TIMEOUT2;
}
#[repr(C)]
pub struct RegisterBlock {
pub DDRCTRL_MSTR: RWRegister<u32>,
pub DDRCTRL_STAT: RORegister<u32>,
_reserved1: [u32; 2],
pub DDRCTRL_MRCTRL0: RWRegister<u32>,
pub DDRCTRL_MRCTRL1: RWRegister<u32>,
pub DDRCTRL_MRSTAT: RORegister<u32>,
_reserved2: [u32; 1],
pub DDRCTRL_DERATEEN: RWRegister<u32>,
pub DDRCTRL_DERATEINT: RWRegister<u32>,
_reserved3: [u32; 2],
pub DDRCTRL_PWRCTL: RWRegister<u32>,
pub DDRCTRL_PWRTMG: RWRegister<u32>,
pub DDRCTRL_HWLPCTL: RWRegister<u32>,
_reserved4: [u32; 5],
pub DDRCTRL_RFSHCTL0: RWRegister<u32>,
_reserved5: [u32; 3],
pub DDRCTRL_RFSHCTL3: RWRegister<u32>,
pub DDRCTRL_RFSHTMG: RWRegister<u32>,
_reserved6: [u32; 22],
pub DDRCTRL_CRCPARCTL0: RWRegister<u32>,
_reserved7: [u32; 2],
pub DDRCTRL_CRCPARSTAT: RORegister<u32>,
pub DDRCTRL_INIT0: RWRegister<u32>,
pub DDRCTRL_INIT1: RWRegister<u32>,
pub DDRCTRL_INIT2: RWRegister<u32>,
pub DDRCTRL_INIT3: RWRegister<u32>,
pub DDRCTRL_INIT4: RWRegister<u32>,
pub DDRCTRL_INIT5: RWRegister<u32>,
_reserved8: [u32; 2],
pub DDRCTRL_DIMMCTL: RWRegister<u32>,
_reserved9: [u32; 3],
pub DDRCTRL_DRAMTMG0: RWRegister<u32>,
pub DDRCTRL_DRAMTMG1: RWRegister<u32>,
pub DDRCTRL_DRAMTMG2: RWRegister<u32>,
pub DDRCTRL_DRAMTMG3: RWRegister<u32>,
pub DDRCTRL_DRAMTMG4: RWRegister<u32>,
pub DDRCTRL_DRAMTMG5: RWRegister<u32>,
pub DDRCTRL_DRAMTMG6: RWRegister<u32>,
pub DDRCTRL_DRAMTMG7: RWRegister<u32>,
pub DDRCTRL_DRAMTMG8: RWRegister<u32>,
_reserved10: [u32; 5],
pub DDRCTRL_DRAMTMG14: RWRegister<u32>,
pub DDRCTRL_DRAMTMG15: RWRegister<u32>,
_reserved11: [u32; 16],
pub DDRCTRL_ZQCTL0: RWRegister<u32>,
pub DDRCTRL_ZQCTL1: RWRegister<u32>,
pub DDRCTRL_ZQCTL2: RWRegister<u32>,
pub DDRCTRL_ZQSTAT: RORegister<u32>,
pub DDRCTRL_DFITMG0: RWRegister<u32>,
pub DDRCTRL_DFITMG1: RWRegister<u32>,
pub DDRCTRL_DFILPCFG0: RWRegister<u32>,
_reserved12: [u32; 1],
pub DDRCTRL_DFIUPD0: RWRegister<u32>,
pub DDRCTRL_DFIUPD1: RWRegister<u32>,
pub DDRCTRL_DFIUPD2: RWRegister<u32>,
_reserved13: [u32; 1],
pub DDRCTRL_DFIMISC: RWRegister<u32>,
_reserved14: [u32; 2],
pub DDRCTRL_DFISTAT: RORegister<u32>,
_reserved15: [u32; 1],
pub DDRCTRL_DFIPHYMSTR: RWRegister<u32>,
_reserved16: [u32; 15],
pub DDRCTRL_ADDRMAP1: RWRegister<u32>,
pub DDRCTRL_ADDRMAP2: RWRegister<u32>,
pub DDRCTRL_ADDRMAP3: RWRegister<u32>,
pub DDRCTRL_ADDRMAP4: RWRegister<u32>,
pub DDRCTRL_ADDRMAP5: RWRegister<u32>,
pub DDRCTRL_ADDRMAP6: RWRegister<u32>,
_reserved17: [u32; 2],
pub DDRCTRL_ADDRMAP9: RWRegister<u32>,
pub DDRCTRL_ADDRMAP10: RWRegister<u32>,
pub DDRCTRL_ADDRMAP11: RWRegister<u32>,
_reserved18: [u32; 4],
pub DDRCTRL_ODTCFG: RWRegister<u32>,
pub DDRCTRL_ODTMAP: RWRegister<u32>,
_reserved19: [u32; 2],
pub DDRCTRL_SCHED: RWRegister<u32>,
pub DDRCTRL_SCHED1: RWRegister<u32>,
_reserved20: [u32; 1],
pub DDRCTRL_PERFHPR1: RWRegister<u32>,
_reserved21: [u32; 1],
pub DDRCTRL_PERFLPR1: RWRegister<u32>,
_reserved22: [u32; 1],
pub DDRCTRL_PERFWR1: RWRegister<u32>,
_reserved23: [u32; 36],
pub DDRCTRL_DBG0: RWRegister<u32>,
pub DDRCTRL_DBG1: RWRegister<u32>,
pub DDRCTRL_DBGCAM: RORegister<u32>,
pub DDRCTRL_DBGCMD: RWRegister<u32>,
pub DDRCTRL_DBGSTAT: RORegister<u32>,
_reserved24: [u32; 3],
pub DDRCTRL_SWCTL: RWRegister<u32>,
pub DDRCTRL_SWSTAT: RORegister<u32>,
_reserved25: [u32; 17],
pub DDRCTRL_POISONCFG: RWRegister<u32>,
pub DDRCTRL_POISONSTAT: RORegister<u32>,
_reserved26: [u32; 34],
pub DDRCTRL_PSTAT: RORegister<u32>,
pub DDRCTRL_PCCFG: RWRegister<u32>,
pub DDRCTRL_PCFGR_0: RWRegister<u32>,
pub DDRCTRL_PCFGW_0: RWRegister<u32>,
_reserved27: [u32; 33],
pub DDRCTRL_PCTRL_0: RWRegister<u32>,
pub DDRCTRL_PCFGQOS0_0: RWRegister<u32>,
pub DDRCTRL_PCFGQOS1_0: RWRegister<u32>,
pub DDRCTRL_PCFGWQOS0_0: RWRegister<u32>,
pub DDRCTRL_PCFGWQOS1_0: RWRegister<u32>,
_reserved28: [u32; 4],
pub DDRCTRL_PCFGR_1: RWRegister<u32>,
pub DDRCTRL_PCFGW_1: RWRegister<u32>,
_reserved29: [u32; 33],
pub DDRCTRL_PCTRL_1: RWRegister<u32>,
pub DDRCTRL_PCFGQOS0_1: RWRegister<u32>,
pub DDRCTRL_PCFGQOS1_1: RWRegister<u32>,
pub DDRCTRL_PCFGWQOS0_1: RWRegister<u32>,
pub DDRCTRL_PCFGWQOS1_1: RWRegister<u32>,
}
pub struct ResetValues {
pub DDRCTRL_MSTR: u32,
pub DDRCTRL_STAT: u32,
pub DDRCTRL_MRCTRL0: u32,
pub DDRCTRL_MRCTRL1: u32,
pub DDRCTRL_MRSTAT: u32,
pub DDRCTRL_DERATEEN: u32,
pub DDRCTRL_DERATEINT: u32,
pub DDRCTRL_PWRCTL: u32,
pub DDRCTRL_PWRTMG: u32,
pub DDRCTRL_HWLPCTL: u32,
pub DDRCTRL_RFSHCTL0: u32,
pub DDRCTRL_RFSHCTL3: u32,
pub DDRCTRL_RFSHTMG: u32,
pub DDRCTRL_CRCPARCTL0: u32,
pub DDRCTRL_CRCPARSTAT: u32,
pub DDRCTRL_INIT0: u32,
pub DDRCTRL_INIT1: u32,
pub DDRCTRL_INIT2: u32,
pub DDRCTRL_INIT3: u32,
pub DDRCTRL_INIT4: u32,
pub DDRCTRL_INIT5: u32,
pub DDRCTRL_DIMMCTL: u32,
pub DDRCTRL_DRAMTMG0: u32,
pub DDRCTRL_DRAMTMG1: u32,
pub DDRCTRL_DRAMTMG2: u32,
pub DDRCTRL_DRAMTMG3: u32,
pub DDRCTRL_DRAMTMG4: u32,
pub DDRCTRL_DRAMTMG5: u32,
pub DDRCTRL_DRAMTMG6: u32,
pub DDRCTRL_DRAMTMG7: u32,
pub DDRCTRL_DRAMTMG8: u32,
pub DDRCTRL_DRAMTMG14: u32,
pub DDRCTRL_DRAMTMG15: u32,
pub DDRCTRL_ZQCTL0: u32,
pub DDRCTRL_ZQCTL1: u32,
pub DDRCTRL_ZQCTL2: u32,
pub DDRCTRL_ZQSTAT: u32,
pub DDRCTRL_DFITMG0: u32,
pub DDRCTRL_DFITMG1: u32,
pub DDRCTRL_DFILPCFG0: u32,
pub DDRCTRL_DFIUPD0: u32,
pub DDRCTRL_DFIUPD1: u32,
pub DDRCTRL_DFIUPD2: u32,
pub DDRCTRL_DFIMISC: u32,
pub DDRCTRL_DFISTAT: u32,
pub DDRCTRL_DFIPHYMSTR: u32,
pub DDRCTRL_ADDRMAP1: u32,
pub DDRCTRL_ADDRMAP2: u32,
pub DDRCTRL_ADDRMAP3: u32,
pub DDRCTRL_ADDRMAP4: u32,
pub DDRCTRL_ADDRMAP5: u32,
pub DDRCTRL_ADDRMAP6: u32,
pub DDRCTRL_ADDRMAP9: u32,
pub DDRCTRL_ADDRMAP10: u32,
pub DDRCTRL_ADDRMAP11: u32,
pub DDRCTRL_ODTCFG: u32,
pub DDRCTRL_ODTMAP: u32,
pub DDRCTRL_SCHED: u32,
pub DDRCTRL_SCHED1: u32,
pub DDRCTRL_PERFHPR1: u32,
pub DDRCTRL_PERFLPR1: u32,
pub DDRCTRL_PERFWR1: u32,
pub DDRCTRL_DBG0: u32,
pub DDRCTRL_DBG1: u32,
pub DDRCTRL_DBGCAM: u32,
pub DDRCTRL_DBGCMD: u32,
pub DDRCTRL_DBGSTAT: u32,
pub DDRCTRL_SWCTL: u32,
pub DDRCTRL_SWSTAT: u32,
pub DDRCTRL_POISONCFG: u32,
pub DDRCTRL_POISONSTAT: u32,
pub DDRCTRL_PSTAT: u32,
pub DDRCTRL_PCCFG: u32,
pub DDRCTRL_PCFGR_0: u32,
pub DDRCTRL_PCFGW_0: u32,
pub DDRCTRL_PCTRL_0: u32,
pub DDRCTRL_PCFGQOS0_0: u32,
pub DDRCTRL_PCFGQOS1_0: u32,
pub DDRCTRL_PCFGWQOS0_0: u32,
pub DDRCTRL_PCFGWQOS1_0: u32,
pub DDRCTRL_PCFGR_1: u32,
pub DDRCTRL_PCFGW_1: u32,
pub DDRCTRL_PCTRL_1: u32,
pub DDRCTRL_PCFGQOS0_1: u32,
pub DDRCTRL_PCFGQOS1_1: u32,
pub DDRCTRL_PCFGWQOS0_1: u32,
pub DDRCTRL_PCFGWQOS1_1: 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 {}
pub mod DDRCTRL {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x5a003000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
DDRCTRL_MSTR: 0x00040001,
DDRCTRL_STAT: 0x00000000,
DDRCTRL_MRCTRL0: 0x00000010,
DDRCTRL_MRCTRL1: 0x00000000,
DDRCTRL_MRSTAT: 0x00000000,
DDRCTRL_DERATEEN: 0x00000000,
DDRCTRL_DERATEINT: 0x00800000,
DDRCTRL_PWRCTL: 0x00000000,
DDRCTRL_PWRTMG: 0x00402010,
DDRCTRL_HWLPCTL: 0x00000003,
DDRCTRL_RFSHCTL0: 0x00210000,
DDRCTRL_RFSHCTL3: 0x00000000,
DDRCTRL_RFSHTMG: 0x0062008C,
DDRCTRL_CRCPARCTL0: 0x00000000,
DDRCTRL_CRCPARSTAT: 0x00000000,
DDRCTRL_INIT0: 0x0002004E,
DDRCTRL_INIT1: 0x00000000,
DDRCTRL_INIT2: 0x00000D05,
DDRCTRL_INIT3: 0x00000510,
DDRCTRL_INIT4: 0x00000000,
DDRCTRL_INIT5: 0x00100004,
DDRCTRL_DIMMCTL: 0x00000000,
DDRCTRL_DRAMTMG0: 0x0F101B0F,
DDRCTRL_DRAMTMG1: 0x00080414,
DDRCTRL_DRAMTMG2: 0x0305060D,
DDRCTRL_DRAMTMG3: 0x0050400C,
DDRCTRL_DRAMTMG4: 0x05040405,
DDRCTRL_DRAMTMG5: 0x05050403,
DDRCTRL_DRAMTMG6: 0x02020005,
DDRCTRL_DRAMTMG7: 0x00000202,
DDRCTRL_DRAMTMG8: 0x00004405,
DDRCTRL_DRAMTMG14: 0x000000A0,
DDRCTRL_DRAMTMG15: 0x00000000,
DDRCTRL_ZQCTL0: 0x02000040,
DDRCTRL_ZQCTL1: 0x02000100,
DDRCTRL_ZQCTL2: 0x00000000,
DDRCTRL_ZQSTAT: 0x00000000,
DDRCTRL_DFITMG0: 0x07020002,
DDRCTRL_DFITMG1: 0x00000404,
DDRCTRL_DFILPCFG0: 0x07000000,
DDRCTRL_DFIUPD0: 0x00400003,
DDRCTRL_DFIUPD1: 0x00010001,
DDRCTRL_DFIUPD2: 0x80000000,
DDRCTRL_DFIMISC: 0x00000001,
DDRCTRL_DFISTAT: 0x00000000,
DDRCTRL_DFIPHYMSTR: 0x00000001,
DDRCTRL_ADDRMAP1: 0x00000000,
DDRCTRL_ADDRMAP2: 0x00000000,
DDRCTRL_ADDRMAP3: 0x00000000,
DDRCTRL_ADDRMAP4: 0x00000000,
DDRCTRL_ADDRMAP5: 0x00000000,
DDRCTRL_ADDRMAP6: 0x00000000,
DDRCTRL_ADDRMAP9: 0x00000000,
DDRCTRL_ADDRMAP10: 0x00000000,
DDRCTRL_ADDRMAP11: 0x00000000,
DDRCTRL_ODTCFG: 0x04000400,
DDRCTRL_ODTMAP: 0x00000011,
DDRCTRL_SCHED: 0x00000805,
DDRCTRL_SCHED1: 0x00000000,
DDRCTRL_PERFHPR1: 0x0F000001,
DDRCTRL_PERFLPR1: 0x0F00007F,
DDRCTRL_PERFWR1: 0x0F00007F,
DDRCTRL_DBG0: 0x00000000,
DDRCTRL_DBG1: 0x00000000,
DDRCTRL_DBGCAM: 0x00000000,
DDRCTRL_DBGCMD: 0x00000000,
DDRCTRL_DBGSTAT: 0x00000000,
DDRCTRL_SWCTL: 0x00000001,
DDRCTRL_SWSTAT: 0x00000001,
DDRCTRL_POISONCFG: 0x00110011,
DDRCTRL_POISONSTAT: 0x00000000,
DDRCTRL_PSTAT: 0x00000000,
DDRCTRL_PCCFG: 0x00000000,
DDRCTRL_PCFGR_0: 0x00004000,
DDRCTRL_PCFGW_0: 0x00004000,
DDRCTRL_PCTRL_0: 0x00000000,
DDRCTRL_PCFGQOS0_0: 0x02000E00,
DDRCTRL_PCFGQOS1_0: 0x00000000,
DDRCTRL_PCFGWQOS0_0: 0x00000E00,
DDRCTRL_PCFGWQOS1_0: 0x00000000,
DDRCTRL_PCFGR_1: 0x00004000,
DDRCTRL_PCFGW_1: 0x00004000,
DDRCTRL_PCTRL_1: 0x00000000,
DDRCTRL_PCFGQOS0_1: 0x02000E00,
DDRCTRL_PCFGQOS1_1: 0x00000000,
DDRCTRL_PCFGWQOS0_1: 0x00000E00,
DDRCTRL_PCFGWQOS1_1: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut DDRCTRL_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if DDRCTRL_TAKEN {
None
} else {
DDRCTRL_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if DDRCTRL_TAKEN && inst.addr == INSTANCE.addr {
DDRCTRL_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
DDRCTRL_TAKEN = true;
INSTANCE
}
}
pub const DDRCTRL: *const RegisterBlock = 0x5a003000 as *const _;