pub type R = crate::R<PMEM3rs>;
pub type W = crate::W<PMEM3rs>;
pub type MEMSETX_R = crate::FieldReader;
pub type MEMSETX_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
pub type MEMWAITX_R = crate::FieldReader;
pub type MEMWAITX_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
pub type MEMHOLDX_R = crate::FieldReader;
pub type MEMHOLDX_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
pub type MEMHIZX_R = crate::FieldReader;
pub type MEMHIZX_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
impl R {
        #[inline(always)]
    pub fn memsetx(&self) -> MEMSETX_R {
        MEMSETX_R::new((self.bits & 0xff) as u8)
    }
        #[inline(always)]
    pub fn memwaitx(&self) -> MEMWAITX_R {
        MEMWAITX_R::new(((self.bits >> 8) & 0xff) as u8)
    }
        #[inline(always)]
    pub fn memholdx(&self) -> MEMHOLDX_R {
        MEMHOLDX_R::new(((self.bits >> 16) & 0xff) as u8)
    }
        #[inline(always)]
    pub fn memhizx(&self) -> MEMHIZX_R {
        MEMHIZX_R::new(((self.bits >> 24) & 0xff) as u8)
    }
}
impl core::fmt::Debug for R {
    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
        f.debug_struct("PMEM3")
            .field("memhizx", &self.memhizx())
            .field("memholdx", &self.memholdx())
            .field("memwaitx", &self.memwaitx())
            .field("memsetx", &self.memsetx())
            .finish()
    }
}
impl W {
        #[inline(always)]
    pub fn memsetx(&mut self) -> MEMSETX_W<PMEM3rs> {
        MEMSETX_W::new(self, 0)
    }
        #[inline(always)]
    pub fn memwaitx(&mut self) -> MEMWAITX_W<PMEM3rs> {
        MEMWAITX_W::new(self, 8)
    }
        #[inline(always)]
    pub fn memholdx(&mut self) -> MEMHOLDX_W<PMEM3rs> {
        MEMHOLDX_W::new(self, 16)
    }
        #[inline(always)]
    pub fn memhizx(&mut self) -> MEMHIZX_W<PMEM3rs> {
        MEMHIZX_W::new(self, 24)
    }
}
pub struct PMEM3rs;
impl crate::RegisterSpec for PMEM3rs {
    type Ux = u32;
}
impl crate::Readable for PMEM3rs {}
impl crate::Writable for PMEM3rs {
    type Safety = crate::Unsafe;
}
impl crate::Resettable for PMEM3rs {
    const RESET_VALUE: u32 = 0xfcfc_fcfc;
}