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 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
#[doc = "Reader of register MAC_LPI_CTRL_STAT"] pub type R = crate::R<u32, super::MAC_LPI_CTRL_STAT>; #[doc = "Writer for register MAC_LPI_CTRL_STAT"] pub type W = crate::W<u32, super::MAC_LPI_CTRL_STAT>; #[doc = "Register MAC_LPI_CTRL_STAT `reset()`'s with value 0"] impl crate::ResetValue for super::MAC_LPI_CTRL_STAT { type Type = u32; #[inline(always)] fn reset_value() -> Self::Type { 0 } } #[doc = "Reader of field `TLPIEN`"] pub type TLPIEN_R = crate::R<bool, bool>; #[doc = "Reader of field `TLPIEX`"] pub type TLPIEX_R = crate::R<bool, bool>; #[doc = "Reader of field `RLPIEN`"] pub type RLPIEN_R = crate::R<bool, bool>; #[doc = "Reader of field `RLPIEX`"] pub type RLPIEX_R = crate::R<bool, bool>; #[doc = "Reader of field `TLPIST`"] pub type TLPIST_R = crate::R<bool, bool>; #[doc = "Reader of field `RLPIST`"] pub type RLPIST_R = crate::R<bool, bool>; #[doc = "Reader of field `LPIEN`"] pub type LPIEN_R = crate::R<bool, bool>; #[doc = "Write proxy for field `LPIEN`"] pub struct LPIEN_W<'a> { w: &'a mut W, } impl<'a> LPIEN_W<'a> { #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16); self.w } } #[doc = "Reader of field `PLS`"] pub type PLS_R = crate::R<bool, bool>; #[doc = "Write proxy for field `PLS`"] pub struct PLS_W<'a> { w: &'a mut W, } impl<'a> PLS_W<'a> { #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 17)) | (((value as u32) & 0x01) << 17); self.w } } #[doc = "Reader of field `LPITXA`"] pub type LPITXA_R = crate::R<bool, bool>; #[doc = "Write proxy for field `LPITXA`"] pub struct LPITXA_W<'a> { w: &'a mut W, } impl<'a> LPITXA_W<'a> { #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 19)) | (((value as u32) & 0x01) << 19); self.w } } #[doc = "Reader of field `LPIATE`"] pub type LPIATE_R = crate::R<bool, bool>; #[doc = "Write proxy for field `LPIATE`"] pub struct LPIATE_W<'a> { w: &'a mut W, } impl<'a> LPIATE_W<'a> { #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 20)) | (((value as u32) & 0x01) << 20); self.w } } #[doc = "Reader of field `LPITCSE`"] pub type LPITCSE_R = crate::R<bool, bool>; #[doc = "Write proxy for field `LPITCSE`"] pub struct LPITCSE_W<'a> { w: &'a mut W, } impl<'a> LPITCSE_W<'a> { #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 21)) | (((value as u32) & 0x01) << 21); self.w } } impl R { #[doc = "Bit 0 - Transmit LPI Entry When this bit is set, it indicates that the MAC Transmitter has entered the LPI state because of the setting of the LPIEN bit."] #[inline(always)] pub fn tlpien(&self) -> TLPIEN_R { TLPIEN_R::new((self.bits & 0x01) != 0) } #[doc = "Bit 1 - Transmit LPI Exit When this bit is set, it indicates that the MAC transmitter exited the LPI state after the application cleared the LPIEN bit and the LPI TW Timer has expired."] #[inline(always)] pub fn tlpiex(&self) -> TLPIEX_R { TLPIEX_R::new(((self.bits >> 1) & 0x01) != 0) } #[doc = "Bit 2 - Receive LPI Entry When this bit is set, it indicates that the MAC Receiver has received an LPI pattern and entered the LPI state."] #[inline(always)] pub fn rlpien(&self) -> RLPIEN_R { RLPIEN_R::new(((self.bits >> 2) & 0x01) != 0) } #[doc = "Bit 3 - Receive LPI Exit When this bit is set, it indicates that the MAC Receiver has stopped receiving the LPI pattern on the MII interface, exited the LPI state, and resumed the normal reception."] #[inline(always)] pub fn rlpiex(&self) -> RLPIEX_R { RLPIEX_R::new(((self.bits >> 3) & 0x01) != 0) } #[doc = "Bit 8 - Transmit LPI State When this bit is set, it indicates that the MAC is transmitting the LPI pattern on the MII interface."] #[inline(always)] pub fn tlpist(&self) -> TLPIST_R { TLPIST_R::new(((self.bits >> 8) & 0x01) != 0) } #[doc = "Bit 9 - Receive LPI State When this bit is set, it indicates that the MAC is receiving the LPI pattern on the MII interface."] #[inline(always)] pub fn rlpist(&self) -> RLPIST_R { RLPIST_R::new(((self.bits >> 9) & 0x01) != 0) } #[doc = "Bit 16 - LPI Enable When this bit is set, it instructs the MAC Transmitter to enter the LPI state."] #[inline(always)] pub fn lpien(&self) -> LPIEN_R { LPIEN_R::new(((self.bits >> 16) & 0x01) != 0) } #[doc = "Bit 17 - PHY Link Status This bit indicates the link status of the PHY."] #[inline(always)] pub fn pls(&self) -> PLS_R { PLS_R::new(((self.bits >> 17) & 0x01) != 0) } #[doc = "Bit 19 - LPI Tx Automate This bit controls the behavior of the MAC when it is entering or coming out of the LPI mode on the Transmit side."] #[inline(always)] pub fn lpitxa(&self) -> LPITXA_R { LPITXA_R::new(((self.bits >> 19) & 0x01) != 0) } #[doc = "Bit 20 - LPI Timer Enable This bit controls the automatic entry of the MAC Transmitter into and exit out of the LPI state."] #[inline(always)] pub fn lpiate(&self) -> LPIATE_R { LPIATE_R::new(((self.bits >> 20) & 0x01) != 0) } #[doc = "Bit 21 - LPI Tx Clock Stop Enable When this bit is set, the MAC asserts LPI Tx Clock Gating Control signal high after it enters Tx LPI mode to indicate that the Tx clock to MAC can be stopped."] #[inline(always)] pub fn lpitcse(&self) -> LPITCSE_R { LPITCSE_R::new(((self.bits >> 21) & 0x01) != 0) } } impl W { #[doc = "Bit 16 - LPI Enable When this bit is set, it instructs the MAC Transmitter to enter the LPI state."] #[inline(always)] pub fn lpien(&mut self) -> LPIEN_W { LPIEN_W { w: self } } #[doc = "Bit 17 - PHY Link Status This bit indicates the link status of the PHY."] #[inline(always)] pub fn pls(&mut self) -> PLS_W { PLS_W { w: self } } #[doc = "Bit 19 - LPI Tx Automate This bit controls the behavior of the MAC when it is entering or coming out of the LPI mode on the Transmit side."] #[inline(always)] pub fn lpitxa(&mut self) -> LPITXA_W { LPITXA_W { w: self } } #[doc = "Bit 20 - LPI Timer Enable This bit controls the automatic entry of the MAC Transmitter into and exit out of the LPI state."] #[inline(always)] pub fn lpiate(&mut self) -> LPIATE_W { LPIATE_W { w: self } } #[doc = "Bit 21 - LPI Tx Clock Stop Enable When this bit is set, the MAC asserts LPI Tx Clock Gating Control signal high after it enters Tx LPI mode to indicate that the Tx clock to MAC can be stopped."] #[inline(always)] pub fn lpitcse(&mut self) -> LPITCSE_W { LPITCSE_W { w: self } } }