use memoffset::offset_of;
use static_assertions::const_assert_eq;
pub mod ctrlcfg;
pub mod fpgaportrst;
crate::declare_volatile_struct! {
#[repr(C)]
pub struct SdramCtrl {
[padding] _reserved_0x0_0x5000: [u8; 0x5000],
ctrlcfg: ctrlcfg::CtrlCfg,
dramtiming1: u32,
dramtiming2: u32,
dramtiming3: u32,
dramtiming4: u32,
lowpwrtiming: u32,
dramodt: u32,
[padding] _pad_0x501c_0x502c: [u32; 4],
dramaddrw: u32,
dramifwidth: u32,
[padding] _pad_0x5034_0x5038: [u32; 1],
dramsts: u32,
dramintr: u32,
sbecount: u32,
dbecount: u32,
erraddr: u32,
dropcount: u32,
dropaddr: u32,
lowpwreq: u32,
lowpwrack: u32,
staticcfg: u32,
ctrlwidth: u32,
[padding] _pad_0x5064_0x507c: [u32; 6],
portcfg: u32,
fpgaportrst: fpgaportrst::FpgaPortRst,
[padding] _pad_0x5084_0x508c: [u32; 2],
protportdefault: u32,
protruleaddr: u32,
protruleid: u32,
protruledata: u32,
protrulerdwr: u32,
mppriority: u32,
mpweight_0_4: u32,
mpweight_1_4: u32,
mpweight_2_4: u32,
mpweight_3_4: u32,
[padding] _pad_0x50c0_0x50e0: [u32; 11],
remappriority: u32,
}
}
const_assert_eq!(offset_of!(SdramCtrl, ctrlcfg), 0x5000);
const_assert_eq!(offset_of!(SdramCtrl, erraddr), 0x5048);
const_assert_eq!(offset_of!(SdramCtrl, portcfg), 0x507C);
const_assert_eq!(offset_of!(SdramCtrl, protruledata), 0x5098);
const_assert_eq!(offset_of!(SdramCtrl, remappriority), 0x50E0);
const_assert_eq!(core::mem::size_of::<SdramCtrl>(), 0x50E4);