pub type R = crate::R<AHB1LPENRrs>;
pub type W = crate::W<AHB1LPENRrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum GPIOALPEN {
DisabledInSleep = 0,
EnabledInSleep = 1,
}
impl From<GPIOALPEN> for bool {
#[inline(always)]
fn from(variant: GPIOALPEN) -> Self {
variant as u8 != 0
}
}
pub type GPIOALPEN_R = crate::BitReader<GPIOALPEN>;
impl GPIOALPEN_R {
#[inline(always)]
pub const fn variant(&self) -> GPIOALPEN {
match self.bits {
false => GPIOALPEN::DisabledInSleep,
true => GPIOALPEN::EnabledInSleep,
}
}
#[inline(always)]
pub fn is_disabled_in_sleep(&self) -> bool {
*self == GPIOALPEN::DisabledInSleep
}
#[inline(always)]
pub fn is_enabled_in_sleep(&self) -> bool {
*self == GPIOALPEN::EnabledInSleep
}
}
pub type GPIOALPEN_W<'a, REG> = crate::BitWriter<'a, REG, GPIOALPEN>;
impl<'a, REG> GPIOALPEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled_in_sleep(self) -> &'a mut crate::W<REG> {
self.variant(GPIOALPEN::DisabledInSleep)
}
#[inline(always)]
pub fn enabled_in_sleep(self) -> &'a mut crate::W<REG> {
self.variant(GPIOALPEN::EnabledInSleep)
}
}
pub use GPIOALPEN_R as GPIOBLPEN_R;
pub use GPIOALPEN_R as GPIOCLPEN_R;
pub use GPIOALPEN_R as GPIODLPEN_R;
pub use GPIOALPEN_R as GPIOELPEN_R;
pub use GPIOALPEN_R as GPIOFLPEN_R;
pub use GPIOALPEN_R as GPIOGLPEN_R;
pub use GPIOALPEN_R as GPIOHLPEN_R;
pub use GPIOALPEN_R as GPIOILPEN_R;
pub use GPIOALPEN_R as GPIOJLPEN_R;
pub use GPIOALPEN_R as GPIOKLPEN_R;
pub use GPIOALPEN_R as CRCLPEN_R;
pub use GPIOALPEN_R as AXILPEN_R;
pub use GPIOALPEN_R as FLITFLPEN_R;
pub use GPIOALPEN_R as SRAM1LPEN_R;
pub use GPIOALPEN_R as SRAM2LPEN_R;
pub use GPIOALPEN_R as BKPSRAMLPEN_R;
pub use GPIOALPEN_R as SRAM3LPEN_R;
pub use GPIOALPEN_R as DTCMLPEN_R;
pub use GPIOALPEN_R as DMA1LPEN_R;
pub use GPIOALPEN_R as DMA2LPEN_R;
pub use GPIOALPEN_R as DMA2DLPEN_R;
pub use GPIOALPEN_R as ETHMACLPEN_R;
pub use GPIOALPEN_R as ETHMACTXLPEN_R;
pub use GPIOALPEN_R as ETHMACRXLPEN_R;
pub use GPIOALPEN_R as ETHMACPTPLPEN_R;
pub use GPIOALPEN_R as OTGHSLPEN_R;
pub use GPIOALPEN_R as OTGHSULPILPEN_R;
pub use GPIOALPEN_W as GPIOBLPEN_W;
pub use GPIOALPEN_W as GPIOCLPEN_W;
pub use GPIOALPEN_W as GPIODLPEN_W;
pub use GPIOALPEN_W as GPIOELPEN_W;
pub use GPIOALPEN_W as GPIOFLPEN_W;
pub use GPIOALPEN_W as GPIOGLPEN_W;
pub use GPIOALPEN_W as GPIOHLPEN_W;
pub use GPIOALPEN_W as GPIOILPEN_W;
pub use GPIOALPEN_W as GPIOJLPEN_W;
pub use GPIOALPEN_W as GPIOKLPEN_W;
pub use GPIOALPEN_W as CRCLPEN_W;
pub use GPIOALPEN_W as AXILPEN_W;
pub use GPIOALPEN_W as FLITFLPEN_W;
pub use GPIOALPEN_W as SRAM1LPEN_W;
pub use GPIOALPEN_W as SRAM2LPEN_W;
pub use GPIOALPEN_W as BKPSRAMLPEN_W;
pub use GPIOALPEN_W as SRAM3LPEN_W;
pub use GPIOALPEN_W as DTCMLPEN_W;
pub use GPIOALPEN_W as DMA1LPEN_W;
pub use GPIOALPEN_W as DMA2LPEN_W;
pub use GPIOALPEN_W as DMA2DLPEN_W;
pub use GPIOALPEN_W as ETHMACLPEN_W;
pub use GPIOALPEN_W as ETHMACTXLPEN_W;
pub use GPIOALPEN_W as ETHMACRXLPEN_W;
pub use GPIOALPEN_W as ETHMACPTPLPEN_W;
pub use GPIOALPEN_W as OTGHSLPEN_W;
pub use GPIOALPEN_W as OTGHSULPILPEN_W;
impl R {
#[inline(always)]
pub fn gpioalpen(&self) -> GPIOALPEN_R {
GPIOALPEN_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn gpioblpen(&self) -> GPIOBLPEN_R {
GPIOBLPEN_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn gpioclpen(&self) -> GPIOCLPEN_R {
GPIOCLPEN_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn gpiodlpen(&self) -> GPIODLPEN_R {
GPIODLPEN_R::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn gpioelpen(&self) -> GPIOELPEN_R {
GPIOELPEN_R::new(((self.bits >> 4) & 1) != 0)
}
#[inline(always)]
pub fn gpioflpen(&self) -> GPIOFLPEN_R {
GPIOFLPEN_R::new(((self.bits >> 5) & 1) != 0)
}
#[inline(always)]
pub fn gpioglpen(&self) -> GPIOGLPEN_R {
GPIOGLPEN_R::new(((self.bits >> 6) & 1) != 0)
}
#[inline(always)]
pub fn gpiohlpen(&self) -> GPIOHLPEN_R {
GPIOHLPEN_R::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn gpioilpen(&self) -> GPIOILPEN_R {
GPIOILPEN_R::new(((self.bits >> 8) & 1) != 0)
}
#[inline(always)]
pub fn gpiojlpen(&self) -> GPIOJLPEN_R {
GPIOJLPEN_R::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn gpioklpen(&self) -> GPIOKLPEN_R {
GPIOKLPEN_R::new(((self.bits >> 10) & 1) != 0)
}
#[inline(always)]
pub fn crclpen(&self) -> CRCLPEN_R {
CRCLPEN_R::new(((self.bits >> 12) & 1) != 0)
}
#[inline(always)]
pub fn axilpen(&self) -> AXILPEN_R {
AXILPEN_R::new(((self.bits >> 13) & 1) != 0)
}
#[inline(always)]
pub fn flitflpen(&self) -> FLITFLPEN_R {
FLITFLPEN_R::new(((self.bits >> 15) & 1) != 0)
}
#[inline(always)]
pub fn sram1lpen(&self) -> SRAM1LPEN_R {
SRAM1LPEN_R::new(((self.bits >> 16) & 1) != 0)
}
#[inline(always)]
pub fn sram2lpen(&self) -> SRAM2LPEN_R {
SRAM2LPEN_R::new(((self.bits >> 17) & 1) != 0)
}
#[inline(always)]
pub fn bkpsramlpen(&self) -> BKPSRAMLPEN_R {
BKPSRAMLPEN_R::new(((self.bits >> 18) & 1) != 0)
}
#[inline(always)]
pub fn sram3lpen(&self) -> SRAM3LPEN_R {
SRAM3LPEN_R::new(((self.bits >> 19) & 1) != 0)
}
#[inline(always)]
pub fn dtcmlpen(&self) -> DTCMLPEN_R {
DTCMLPEN_R::new(((self.bits >> 20) & 1) != 0)
}
#[inline(always)]
pub fn dma1lpen(&self) -> DMA1LPEN_R {
DMA1LPEN_R::new(((self.bits >> 21) & 1) != 0)
}
#[inline(always)]
pub fn dma2lpen(&self) -> DMA2LPEN_R {
DMA2LPEN_R::new(((self.bits >> 22) & 1) != 0)
}
#[inline(always)]
pub fn dma2dlpen(&self) -> DMA2DLPEN_R {
DMA2DLPEN_R::new(((self.bits >> 23) & 1) != 0)
}
#[inline(always)]
pub fn ethmaclpen(&self) -> ETHMACLPEN_R {
ETHMACLPEN_R::new(((self.bits >> 25) & 1) != 0)
}
#[inline(always)]
pub fn ethmactxlpen(&self) -> ETHMACTXLPEN_R {
ETHMACTXLPEN_R::new(((self.bits >> 26) & 1) != 0)
}
#[inline(always)]
pub fn ethmacrxlpen(&self) -> ETHMACRXLPEN_R {
ETHMACRXLPEN_R::new(((self.bits >> 27) & 1) != 0)
}
#[inline(always)]
pub fn ethmacptplpen(&self) -> ETHMACPTPLPEN_R {
ETHMACPTPLPEN_R::new(((self.bits >> 28) & 1) != 0)
}
#[inline(always)]
pub fn otghslpen(&self) -> OTGHSLPEN_R {
OTGHSLPEN_R::new(((self.bits >> 29) & 1) != 0)
}
#[inline(always)]
pub fn otghsulpilpen(&self) -> OTGHSULPILPEN_R {
OTGHSULPILPEN_R::new(((self.bits >> 30) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("AHB1LPENR")
.field("gpioalpen", &self.gpioalpen())
.field("gpioblpen", &self.gpioblpen())
.field("gpioclpen", &self.gpioclpen())
.field("gpiodlpen", &self.gpiodlpen())
.field("gpioelpen", &self.gpioelpen())
.field("gpioflpen", &self.gpioflpen())
.field("gpioglpen", &self.gpioglpen())
.field("gpiohlpen", &self.gpiohlpen())
.field("gpioilpen", &self.gpioilpen())
.field("gpiojlpen", &self.gpiojlpen())
.field("gpioklpen", &self.gpioklpen())
.field("crclpen", &self.crclpen())
.field("flitflpen", &self.flitflpen())
.field("sram1lpen", &self.sram1lpen())
.field("sram2lpen", &self.sram2lpen())
.field("bkpsramlpen", &self.bkpsramlpen())
.field("sram3lpen", &self.sram3lpen())
.field("dma1lpen", &self.dma1lpen())
.field("dma2lpen", &self.dma2lpen())
.field("dma2dlpen", &self.dma2dlpen())
.field("ethmaclpen", &self.ethmaclpen())
.field("ethmactxlpen", &self.ethmactxlpen())
.field("ethmacrxlpen", &self.ethmacrxlpen())
.field("ethmacptplpen", &self.ethmacptplpen())
.field("otghslpen", &self.otghslpen())
.field("otghsulpilpen", &self.otghsulpilpen())
.field("axilpen", &self.axilpen())
.field("dtcmlpen", &self.dtcmlpen())
.finish()
}
}
impl W {
#[inline(always)]
pub fn gpioalpen(&mut self) -> GPIOALPEN_W<AHB1LPENRrs> {
GPIOALPEN_W::new(self, 0)
}
#[inline(always)]
pub fn gpioblpen(&mut self) -> GPIOBLPEN_W<AHB1LPENRrs> {
GPIOBLPEN_W::new(self, 1)
}
#[inline(always)]
pub fn gpioclpen(&mut self) -> GPIOCLPEN_W<AHB1LPENRrs> {
GPIOCLPEN_W::new(self, 2)
}
#[inline(always)]
pub fn gpiodlpen(&mut self) -> GPIODLPEN_W<AHB1LPENRrs> {
GPIODLPEN_W::new(self, 3)
}
#[inline(always)]
pub fn gpioelpen(&mut self) -> GPIOELPEN_W<AHB1LPENRrs> {
GPIOELPEN_W::new(self, 4)
}
#[inline(always)]
pub fn gpioflpen(&mut self) -> GPIOFLPEN_W<AHB1LPENRrs> {
GPIOFLPEN_W::new(self, 5)
}
#[inline(always)]
pub fn gpioglpen(&mut self) -> GPIOGLPEN_W<AHB1LPENRrs> {
GPIOGLPEN_W::new(self, 6)
}
#[inline(always)]
pub fn gpiohlpen(&mut self) -> GPIOHLPEN_W<AHB1LPENRrs> {
GPIOHLPEN_W::new(self, 7)
}
#[inline(always)]
pub fn gpioilpen(&mut self) -> GPIOILPEN_W<AHB1LPENRrs> {
GPIOILPEN_W::new(self, 8)
}
#[inline(always)]
pub fn gpiojlpen(&mut self) -> GPIOJLPEN_W<AHB1LPENRrs> {
GPIOJLPEN_W::new(self, 9)
}
#[inline(always)]
pub fn gpioklpen(&mut self) -> GPIOKLPEN_W<AHB1LPENRrs> {
GPIOKLPEN_W::new(self, 10)
}
#[inline(always)]
pub fn crclpen(&mut self) -> CRCLPEN_W<AHB1LPENRrs> {
CRCLPEN_W::new(self, 12)
}
#[inline(always)]
pub fn axilpen(&mut self) -> AXILPEN_W<AHB1LPENRrs> {
AXILPEN_W::new(self, 13)
}
#[inline(always)]
pub fn flitflpen(&mut self) -> FLITFLPEN_W<AHB1LPENRrs> {
FLITFLPEN_W::new(self, 15)
}
#[inline(always)]
pub fn sram1lpen(&mut self) -> SRAM1LPEN_W<AHB1LPENRrs> {
SRAM1LPEN_W::new(self, 16)
}
#[inline(always)]
pub fn sram2lpen(&mut self) -> SRAM2LPEN_W<AHB1LPENRrs> {
SRAM2LPEN_W::new(self, 17)
}
#[inline(always)]
pub fn bkpsramlpen(&mut self) -> BKPSRAMLPEN_W<AHB1LPENRrs> {
BKPSRAMLPEN_W::new(self, 18)
}
#[inline(always)]
pub fn sram3lpen(&mut self) -> SRAM3LPEN_W<AHB1LPENRrs> {
SRAM3LPEN_W::new(self, 19)
}
#[inline(always)]
pub fn dtcmlpen(&mut self) -> DTCMLPEN_W<AHB1LPENRrs> {
DTCMLPEN_W::new(self, 20)
}
#[inline(always)]
pub fn dma1lpen(&mut self) -> DMA1LPEN_W<AHB1LPENRrs> {
DMA1LPEN_W::new(self, 21)
}
#[inline(always)]
pub fn dma2lpen(&mut self) -> DMA2LPEN_W<AHB1LPENRrs> {
DMA2LPEN_W::new(self, 22)
}
#[inline(always)]
pub fn dma2dlpen(&mut self) -> DMA2DLPEN_W<AHB1LPENRrs> {
DMA2DLPEN_W::new(self, 23)
}
#[inline(always)]
pub fn ethmaclpen(&mut self) -> ETHMACLPEN_W<AHB1LPENRrs> {
ETHMACLPEN_W::new(self, 25)
}
#[inline(always)]
pub fn ethmactxlpen(&mut self) -> ETHMACTXLPEN_W<AHB1LPENRrs> {
ETHMACTXLPEN_W::new(self, 26)
}
#[inline(always)]
pub fn ethmacrxlpen(&mut self) -> ETHMACRXLPEN_W<AHB1LPENRrs> {
ETHMACRXLPEN_W::new(self, 27)
}
#[inline(always)]
pub fn ethmacptplpen(&mut self) -> ETHMACPTPLPEN_W<AHB1LPENRrs> {
ETHMACPTPLPEN_W::new(self, 28)
}
#[inline(always)]
pub fn otghslpen(&mut self) -> OTGHSLPEN_W<AHB1LPENRrs> {
OTGHSLPEN_W::new(self, 29)
}
#[inline(always)]
pub fn otghsulpilpen(&mut self) -> OTGHSULPILPEN_W<AHB1LPENRrs> {
OTGHSULPILPEN_W::new(self, 30)
}
}
pub struct AHB1LPENRrs;
impl crate::RegisterSpec for AHB1LPENRrs {
type Ux = u32;
}
impl crate::Readable for AHB1LPENRrs {}
impl crate::Writable for AHB1LPENRrs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for AHB1LPENRrs {
const RESET_VALUE: u32 = 0x7e67_91ff;
}