stm32mp1/stm32mp157/ddrctrl/
sched.rs1pub type R = crate::R<SCHEDrs>;
3pub type W = crate::W<SCHEDrs>;
5pub type FORCE_LOW_PRI_N_R = crate::BitReader;
7pub type FORCE_LOW_PRI_N_W<'a, REG> = crate::BitWriter<'a, REG>;
9pub type PREFER_WRITE_R = crate::BitReader;
11pub type PREFER_WRITE_W<'a, REG> = crate::BitWriter<'a, REG>;
13pub type PAGECLOSE_R = crate::BitReader;
15pub type PAGECLOSE_W<'a, REG> = crate::BitWriter<'a, REG>;
17pub type LPR_NUM_ENTRIES_R = crate::FieldReader;
19pub type LPR_NUM_ENTRIES_W<'a, REG> = crate::FieldWriter<'a, REG, 4>;
21pub type GO2CRITICAL_HYSTERESIS_R = crate::FieldReader;
23pub type GO2CRITICAL_HYSTERESIS_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
25pub type RDWR_IDLE_GAP_R = crate::FieldReader;
27pub type RDWR_IDLE_GAP_W<'a, REG> = crate::FieldWriter<'a, REG, 7>;
29impl R {
30 #[inline(always)]
32 pub fn force_low_pri_n(&self) -> FORCE_LOW_PRI_N_R {
33 FORCE_LOW_PRI_N_R::new((self.bits & 1) != 0)
34 }
35 #[inline(always)]
37 pub fn prefer_write(&self) -> PREFER_WRITE_R {
38 PREFER_WRITE_R::new(((self.bits >> 1) & 1) != 0)
39 }
40 #[inline(always)]
42 pub fn pageclose(&self) -> PAGECLOSE_R {
43 PAGECLOSE_R::new(((self.bits >> 2) & 1) != 0)
44 }
45 #[inline(always)]
47 pub fn lpr_num_entries(&self) -> LPR_NUM_ENTRIES_R {
48 LPR_NUM_ENTRIES_R::new(((self.bits >> 8) & 0x0f) as u8)
49 }
50 #[inline(always)]
52 pub fn go2critical_hysteresis(&self) -> GO2CRITICAL_HYSTERESIS_R {
53 GO2CRITICAL_HYSTERESIS_R::new(((self.bits >> 16) & 0xff) as u8)
54 }
55 #[inline(always)]
57 pub fn rdwr_idle_gap(&self) -> RDWR_IDLE_GAP_R {
58 RDWR_IDLE_GAP_R::new(((self.bits >> 24) & 0x7f) as u8)
59 }
60}
61impl core::fmt::Debug for R {
62 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
63 f.debug_struct("SCHED")
64 .field("force_low_pri_n", &self.force_low_pri_n())
65 .field("prefer_write", &self.prefer_write())
66 .field("pageclose", &self.pageclose())
67 .field("lpr_num_entries", &self.lpr_num_entries())
68 .field("go2critical_hysteresis", &self.go2critical_hysteresis())
69 .field("rdwr_idle_gap", &self.rdwr_idle_gap())
70 .finish()
71 }
72}
73impl W {
74 #[inline(always)]
76 pub fn force_low_pri_n(&mut self) -> FORCE_LOW_PRI_N_W<SCHEDrs> {
77 FORCE_LOW_PRI_N_W::new(self, 0)
78 }
79 #[inline(always)]
81 pub fn prefer_write(&mut self) -> PREFER_WRITE_W<SCHEDrs> {
82 PREFER_WRITE_W::new(self, 1)
83 }
84 #[inline(always)]
86 pub fn pageclose(&mut self) -> PAGECLOSE_W<SCHEDrs> {
87 PAGECLOSE_W::new(self, 2)
88 }
89 #[inline(always)]
91 pub fn lpr_num_entries(&mut self) -> LPR_NUM_ENTRIES_W<SCHEDrs> {
92 LPR_NUM_ENTRIES_W::new(self, 8)
93 }
94 #[inline(always)]
96 pub fn go2critical_hysteresis(&mut self) -> GO2CRITICAL_HYSTERESIS_W<SCHEDrs> {
97 GO2CRITICAL_HYSTERESIS_W::new(self, 16)
98 }
99 #[inline(always)]
101 pub fn rdwr_idle_gap(&mut self) -> RDWR_IDLE_GAP_W<SCHEDrs> {
102 RDWR_IDLE_GAP_W::new(self, 24)
103 }
104}
105pub struct SCHEDrs;
111impl crate::RegisterSpec for SCHEDrs {
112 type Ux = u32;
113}
114impl crate::Readable for SCHEDrs {}
116impl crate::Writable for SCHEDrs {
118 type Safety = crate::Unsafe;
119}
120impl crate::Resettable for SCHEDrs {
122 const RESET_VALUE: u32 = 0x0805;
123}