#[doc = "Register `PKC_ACCESS_ERR` reader"]
pub type R = crate::R<PkcAccessErrSpec>;
#[doc = "Field `APB_NOTAV` reader - APB Error"]
pub type ApbNotavR = crate::BitReader;
#[doc = "Field `APB_WRGMD` reader - APB Error"]
pub type ApbWrgmdR = crate::BitReader;
#[doc = "Field `APB_MASTER` reader - APB Master that triggered first APB error (APB_WRGMD or APB_NOTAV)"]
pub type ApbMasterR = crate::FieldReader;
#[doc = "Field `AHB` reader - AHB Error"]
pub type AhbR = crate::BitReader;
#[doc = "Field `PKCC` reader - Error in PKC coprocessor kernel"]
pub type PkccR = crate::BitReader;
#[doc = "Field `FDET` reader - Error due to error detection circuitry"]
pub type FdetR = crate::BitReader;
#[doc = "Field `CTRL` reader - Error in PKC software control"]
pub type CtrlR = crate::BitReader;
#[doc = "Field `UCRC` reader - Error in layer2 CRC check."]
pub type UcrcR = crate::BitReader;
impl R {
    #[doc = "Bit 0 - APB Error"]
    #[inline(always)]
    pub fn apb_notav(&self) -> ApbNotavR {
        ApbNotavR::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - APB Error"]
    #[inline(always)]
    pub fn apb_wrgmd(&self) -> ApbWrgmdR {
        ApbWrgmdR::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bits 4:7 - APB Master that triggered first APB error (APB_WRGMD or APB_NOTAV)"]
    #[inline(always)]
    pub fn apb_master(&self) -> ApbMasterR {
        ApbMasterR::new(((self.bits >> 4) & 0x0f) as u8)
    }
    #[doc = "Bit 10 - AHB Error"]
    #[inline(always)]
    pub fn ahb(&self) -> AhbR {
        AhbR::new(((self.bits >> 10) & 1) != 0)
    }
    #[doc = "Bit 16 - Error in PKC coprocessor kernel"]
    #[inline(always)]
    pub fn pkcc(&self) -> PkccR {
        PkccR::new(((self.bits >> 16) & 1) != 0)
    }
    #[doc = "Bit 17 - Error due to error detection circuitry"]
    #[inline(always)]
    pub fn fdet(&self) -> FdetR {
        FdetR::new(((self.bits >> 17) & 1) != 0)
    }
    #[doc = "Bit 18 - Error in PKC software control"]
    #[inline(always)]
    pub fn ctrl(&self) -> CtrlR {
        CtrlR::new(((self.bits >> 18) & 1) != 0)
    }
    #[doc = "Bit 19 - Error in layer2 CRC check."]
    #[inline(always)]
    pub fn ucrc(&self) -> UcrcR {
        UcrcR::new(((self.bits >> 19) & 1) != 0)
    }
}
#[cfg(feature = "debug")]
impl core::fmt::Debug for R {
    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
        f.debug_struct("PKC_ACCESS_ERR")
            .field("apb_notav", &self.apb_notav())
            .field("apb_wrgmd", &self.apb_wrgmd())
            .field("apb_master", &self.apb_master())
            .field("ahb", &self.ahb())
            .field("pkcc", &self.pkcc())
            .field("fdet", &self.fdet())
            .field("ctrl", &self.ctrl())
            .field("ucrc", &self.ucrc())
            .finish()
    }
}
#[doc = "Access Error\n\nYou can [`read`](crate::Reg::read) this register and get [`pkc_access_err::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct PkcAccessErrSpec;
impl crate::RegisterSpec for PkcAccessErrSpec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`pkc_access_err::R`](R) reader structure"]
impl crate::Readable for PkcAccessErrSpec {}
#[doc = "`reset()` method sets PKC_ACCESS_ERR to value 0"]
impl crate::Resettable for PkcAccessErrSpec {}
