#[doc = "Register `ENF2` reader"]
pub type R = crate::R<Enf2Spec>;
#[doc = "Register `ENF2` writer"]
pub type W = crate::W<Enf2Spec>;
#[doc = "Field `P2_0EF` reader - Enable falling edge interrupt for P2\\[0\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_0efR = crate::BitReader;
#[doc = "Field `P2_0EF` writer - Enable falling edge interrupt for P2\\[0\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_0efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_1EF` reader - Enable falling edge interrupt for P2\\[1\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_1efR = crate::BitReader;
#[doc = "Field `P2_1EF` writer - Enable falling edge interrupt for P2\\[1\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_1efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_2EF` reader - Enable falling edge interrupt for P2\\[2\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_2efR = crate::BitReader;
#[doc = "Field `P2_2EF` writer - Enable falling edge interrupt for P2\\[2\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_2efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_3EF` reader - Enable falling edge interrupt for P2\\[3\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_3efR = crate::BitReader;
#[doc = "Field `P2_3EF` writer - Enable falling edge interrupt for P2\\[3\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_3efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_4EF` reader - Enable falling edge interrupt for P2\\[4\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_4efR = crate::BitReader;
#[doc = "Field `P2_4EF` writer - Enable falling edge interrupt for P2\\[4\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_4efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_5EF` reader - Enable falling edge interrupt for P2\\[5\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_5efR = crate::BitReader;
#[doc = "Field `P2_5EF` writer - Enable falling edge interrupt for P2\\[5\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_5efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_6EF` reader - Enable falling edge interrupt for P2\\[6\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_6efR = crate::BitReader;
#[doc = "Field `P2_6EF` writer - Enable falling edge interrupt for P2\\[6\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_6efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_7EF` reader - Enable falling edge interrupt for P2\\[7\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_7efR = crate::BitReader;
#[doc = "Field `P2_7EF` writer - Enable falling edge interrupt for P2\\[7\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_7efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_8EF` reader - Enable falling edge interrupt for P2\\[8\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_8efR = crate::BitReader;
#[doc = "Field `P2_8EF` writer - Enable falling edge interrupt for P2\\[8\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_8efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_9EF` reader - Enable falling edge interrupt for P2\\[9\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_9efR = crate::BitReader;
#[doc = "Field `P2_9EF` writer - Enable falling edge interrupt for P2\\[9\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_9efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_10EF` reader - Enable falling edge interrupt for P2\\[10\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_10efR = crate::BitReader;
#[doc = "Field `P2_10EF` writer - Enable falling edge interrupt for P2\\[10\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_10efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_11EF` reader - Enable falling edge interrupt for P2\\[11\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_11efR = crate::BitReader;
#[doc = "Field `P2_11EF` writer - Enable falling edge interrupt for P2\\[11\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_11efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_12EF` reader - Enable falling edge interrupt for P2\\[12\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_12efR = crate::BitReader;
#[doc = "Field `P2_12EF` writer - Enable falling edge interrupt for P2\\[12\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_12efW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_13EF` reader - Enable falling edge interrupt for P2\\[13\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_13efR = crate::BitReader;
#[doc = "Field `P2_13EF` writer - Enable falling edge interrupt for P2\\[13\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
pub type P2_13efW<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
    #[doc = "Bit 0 - Enable falling edge interrupt for P2\\[0\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_0ef(&self) -> P2_0efR {
        P2_0efR::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - Enable falling edge interrupt for P2\\[1\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_1ef(&self) -> P2_1efR {
        P2_1efR::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - Enable falling edge interrupt for P2\\[2\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_2ef(&self) -> P2_2efR {
        P2_2efR::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - Enable falling edge interrupt for P2\\[3\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_3ef(&self) -> P2_3efR {
        P2_3efR::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - Enable falling edge interrupt for P2\\[4\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_4ef(&self) -> P2_4efR {
        P2_4efR::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - Enable falling edge interrupt for P2\\[5\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_5ef(&self) -> P2_5efR {
        P2_5efR::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - Enable falling edge interrupt for P2\\[6\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_6ef(&self) -> P2_6efR {
        P2_6efR::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - Enable falling edge interrupt for P2\\[7\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_7ef(&self) -> P2_7efR {
        P2_7efR::new(((self.bits >> 7) & 1) != 0)
    }
    #[doc = "Bit 8 - Enable falling edge interrupt for P2\\[8\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_8ef(&self) -> P2_8efR {
        P2_8efR::new(((self.bits >> 8) & 1) != 0)
    }
    #[doc = "Bit 9 - Enable falling edge interrupt for P2\\[9\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_9ef(&self) -> P2_9efR {
        P2_9efR::new(((self.bits >> 9) & 1) != 0)
    }
    #[doc = "Bit 10 - Enable falling edge interrupt for P2\\[10\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_10ef(&self) -> P2_10efR {
        P2_10efR::new(((self.bits >> 10) & 1) != 0)
    }
    #[doc = "Bit 11 - Enable falling edge interrupt for P2\\[11\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_11ef(&self) -> P2_11efR {
        P2_11efR::new(((self.bits >> 11) & 1) != 0)
    }
    #[doc = "Bit 12 - Enable falling edge interrupt for P2\\[12\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_12ef(&self) -> P2_12efR {
        P2_12efR::new(((self.bits >> 12) & 1) != 0)
    }
    #[doc = "Bit 13 - Enable falling edge interrupt for P2\\[13\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_13ef(&self) -> P2_13efR {
        P2_13efR::new(((self.bits >> 13) & 1) != 0)
    }
}
impl W {
    #[doc = "Bit 0 - Enable falling edge interrupt for P2\\[0\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_0ef(&mut self) -> P2_0efW<'_, Enf2Spec> {
        P2_0efW::new(self, 0)
    }
    #[doc = "Bit 1 - Enable falling edge interrupt for P2\\[1\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_1ef(&mut self) -> P2_1efW<'_, Enf2Spec> {
        P2_1efW::new(self, 1)
    }
    #[doc = "Bit 2 - Enable falling edge interrupt for P2\\[2\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_2ef(&mut self) -> P2_2efW<'_, Enf2Spec> {
        P2_2efW::new(self, 2)
    }
    #[doc = "Bit 3 - Enable falling edge interrupt for P2\\[3\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_3ef(&mut self) -> P2_3efW<'_, Enf2Spec> {
        P2_3efW::new(self, 3)
    }
    #[doc = "Bit 4 - Enable falling edge interrupt for P2\\[4\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_4ef(&mut self) -> P2_4efW<'_, Enf2Spec> {
        P2_4efW::new(self, 4)
    }
    #[doc = "Bit 5 - Enable falling edge interrupt for P2\\[5\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_5ef(&mut self) -> P2_5efW<'_, Enf2Spec> {
        P2_5efW::new(self, 5)
    }
    #[doc = "Bit 6 - Enable falling edge interrupt for P2\\[6\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_6ef(&mut self) -> P2_6efW<'_, Enf2Spec> {
        P2_6efW::new(self, 6)
    }
    #[doc = "Bit 7 - Enable falling edge interrupt for P2\\[7\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_7ef(&mut self) -> P2_7efW<'_, Enf2Spec> {
        P2_7efW::new(self, 7)
    }
    #[doc = "Bit 8 - Enable falling edge interrupt for P2\\[8\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_8ef(&mut self) -> P2_8efW<'_, Enf2Spec> {
        P2_8efW::new(self, 8)
    }
    #[doc = "Bit 9 - Enable falling edge interrupt for P2\\[9\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_9ef(&mut self) -> P2_9efW<'_, Enf2Spec> {
        P2_9efW::new(self, 9)
    }
    #[doc = "Bit 10 - Enable falling edge interrupt for P2\\[10\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_10ef(&mut self) -> P2_10efW<'_, Enf2Spec> {
        P2_10efW::new(self, 10)
    }
    #[doc = "Bit 11 - Enable falling edge interrupt for P2\\[11\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_11ef(&mut self) -> P2_11efW<'_, Enf2Spec> {
        P2_11efW::new(self, 11)
    }
    #[doc = "Bit 12 - Enable falling edge interrupt for P2\\[12\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_12ef(&mut self) -> P2_12efW<'_, Enf2Spec> {
        P2_12efW::new(self, 12)
    }
    #[doc = "Bit 13 - Enable falling edge interrupt for P2\\[13\\]. 0 = Disable falling edge interrupt. 1 = Enable falling edge interrupt."]
    #[inline(always)]
    pub fn p2_13ef(&mut self) -> P2_13efW<'_, Enf2Spec> {
        P2_13efW::new(self, 13)
    }
}
#[doc = "GPIO Interrupt Enable for Falling edge for Port 0.\n\nYou can [`read`](crate::Reg::read) this register and get [`enf2::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enf2::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct Enf2Spec;
impl crate::RegisterSpec for Enf2Spec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`enf2::R`](R) reader structure"]
impl crate::Readable for Enf2Spec {}
#[doc = "`write(|w| ..)` method takes [`enf2::W`](W) writer structure"]
impl crate::Writable for Enf2Spec {
    type Safety = crate::Unsafe;
}
#[doc = "`reset()` method sets ENF2 to value 0"]
impl crate::Resettable for Enf2Spec {}
