1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
#[doc = "Reader of register SDRAMCR1"] pub type R = crate::R<u32, super::SDRAMCR1>; #[doc = "Writer for register SDRAMCR1"] pub type W = crate::W<u32, super::SDRAMCR1>; #[doc = "Register SDRAMCR1 `reset()`'s with value 0x0099_4934"] impl crate::ResetValue for super::SDRAMCR1 { type Type = u32; #[inline(always)] fn reset_value() -> Self::Type { 0x0099_4934 } } #[doc = "Reader of field `PRE2ACT`"] pub type PRE2ACT_R = crate::R<u8, u8>; #[doc = "Write proxy for field `PRE2ACT`"] pub struct PRE2ACT_W<'a> { w: &'a mut W, } impl<'a> PRE2ACT_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !0x0f) | ((value as u32) & 0x0f); self.w } } #[doc = "Reader of field `ACT2RW`"] pub type ACT2RW_R = crate::R<u8, u8>; #[doc = "Write proxy for field `ACT2RW`"] pub struct ACT2RW_W<'a> { w: &'a mut W, } impl<'a> ACT2RW_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4); self.w } } #[doc = "Reader of field `RFRC`"] pub type RFRC_R = crate::R<u8, u8>; #[doc = "Write proxy for field `RFRC`"] pub struct RFRC_W<'a> { w: &'a mut W, } impl<'a> RFRC_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x1f << 8)) | (((value as u32) & 0x1f) << 8); self.w } } #[doc = "Reader of field `WRC`"] pub type WRC_R = crate::R<u8, u8>; #[doc = "Write proxy for field `WRC`"] pub struct WRC_W<'a> { w: &'a mut W, } impl<'a> WRC_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x07 << 13)) | (((value as u32) & 0x07) << 13); self.w } } #[doc = "Reader of field `CKEOFF`"] pub type CKEOFF_R = crate::R<u8, u8>; #[doc = "Write proxy for field `CKEOFF`"] pub struct CKEOFF_W<'a> { w: &'a mut W, } impl<'a> CKEOFF_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x0f << 16)) | (((value as u32) & 0x0f) << 16); self.w } } #[doc = "Reader of field `ACT2PRE`"] pub type ACT2PRE_R = crate::R<u8, u8>; #[doc = "Write proxy for field `ACT2PRE`"] pub struct ACT2PRE_W<'a> { w: &'a mut W, } impl<'a> ACT2PRE_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x0f << 20)) | (((value as u32) & 0x0f) << 20); self.w } } impl R { #[doc = "Bits 0:3 - PRECHARGE to ACT/Refresh wait time"] #[inline(always)] pub fn pre2act(&self) -> PRE2ACT_R { PRE2ACT_R::new((self.bits & 0x0f) as u8) } #[doc = "Bits 4:7 - ACT to Read/Write wait time"] #[inline(always)] pub fn act2rw(&self) -> ACT2RW_R { ACT2RW_R::new(((self.bits >> 4) & 0x0f) as u8) } #[doc = "Bits 8:12 - Refresh recovery time"] #[inline(always)] pub fn rfrc(&self) -> RFRC_R { RFRC_R::new(((self.bits >> 8) & 0x1f) as u8) } #[doc = "Bits 13:15 - Write recovery time"] #[inline(always)] pub fn wrc(&self) -> WRC_R { WRC_R::new(((self.bits >> 13) & 0x07) as u8) } #[doc = "Bits 16:19 - CKE OFF minimum time"] #[inline(always)] pub fn ckeoff(&self) -> CKEOFF_R { CKEOFF_R::new(((self.bits >> 16) & 0x0f) as u8) } #[doc = "Bits 20:23 - ACT to Precharge minimum time"] #[inline(always)] pub fn act2pre(&self) -> ACT2PRE_R { ACT2PRE_R::new(((self.bits >> 20) & 0x0f) as u8) } } impl W { #[doc = "Bits 0:3 - PRECHARGE to ACT/Refresh wait time"] #[inline(always)] pub fn pre2act(&mut self) -> PRE2ACT_W { PRE2ACT_W { w: self } } #[doc = "Bits 4:7 - ACT to Read/Write wait time"] #[inline(always)] pub fn act2rw(&mut self) -> ACT2RW_W { ACT2RW_W { w: self } } #[doc = "Bits 8:12 - Refresh recovery time"] #[inline(always)] pub fn rfrc(&mut self) -> RFRC_W { RFRC_W { w: self } } #[doc = "Bits 13:15 - Write recovery time"] #[inline(always)] pub fn wrc(&mut self) -> WRC_W { WRC_W { w: self } } #[doc = "Bits 16:19 - CKE OFF minimum time"] #[inline(always)] pub fn ckeoff(&mut self) -> CKEOFF_W { CKEOFF_W { w: self } } #[doc = "Bits 20:23 - ACT to Precharge minimum time"] #[inline(always)] pub fn act2pre(&mut self) -> ACT2PRE_W { ACT2PRE_W { w: self } } }