pub type R = crate::R<AHB3SMENRrs>;
pub type W = crate::W<AHB3SMENRrs>;
pub type FMCSMEN_R = crate::BitReader;
pub type FMCSMEN_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type QSPISMEN_R = crate::BitReader;
pub type QSPISMEN_W<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
        #[inline(always)]
    pub fn fmcsmen(&self) -> FMCSMEN_R {
        FMCSMEN_R::new((self.bits & 1) != 0)
    }
        #[inline(always)]
    pub fn qspismen(&self) -> QSPISMEN_R {
        QSPISMEN_R::new(((self.bits >> 8) & 1) != 0)
    }
}
impl core::fmt::Debug for R {
    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
        f.debug_struct("AHB3SMENR")
            .field("fmcsmen", &self.fmcsmen())
            .field("qspismen", &self.qspismen())
            .finish()
    }
}
impl W {
        #[inline(always)]
    pub fn fmcsmen(&mut self) -> FMCSMEN_W<AHB3SMENRrs> {
        FMCSMEN_W::new(self, 0)
    }
        #[inline(always)]
    pub fn qspismen(&mut self) -> QSPISMEN_W<AHB3SMENRrs> {
        QSPISMEN_W::new(self, 8)
    }
}
pub struct AHB3SMENRrs;
impl crate::RegisterSpec for AHB3SMENRrs {
    type Ux = u32;
}
impl crate::Readable for AHB3SMENRrs {}
impl crate::Writable for AHB3SMENRrs {
    type Safety = crate::Unsafe;
}
impl crate::Resettable for AHB3SMENRrs {
    const RESET_VALUE: u32 = 0x0101;
}