#![allow(clippy::identity_op)]
#![allow(clippy::module_inception)]
#![allow(clippy::derivable_impls)]
#[allow(unused_imports)]
use crate::common::sealed;
#[allow(unused_imports)]
use crate::common::*;
#[doc = r"Pmn Pin FunctionPort 1 Control RegistersPmn Pin Function Control Register"]
unsafe impl ::core::marker::Send for super::Port1 {}
unsafe impl ::core::marker::Sync for super::Port1 {}
impl super::Port1 {
    #[allow(unused)]
    #[inline(always)]
    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
        self.ptr
    }
    #[doc = "Port Control Register 1"]
    #[inline(always)]
    pub const fn pcntr1(
        &self,
    ) -> &'static crate::common::Reg<self::Pcntr1_SPEC, crate::common::RW> {
        unsafe {
            crate::common::Reg::<self::Pcntr1_SPEC, crate::common::RW>::from_ptr(
                self._svd2pac_as_ptr().add(0usize),
            )
        }
    }
    #[doc = "Port Control Register 1"]
    #[inline(always)]
    pub const fn podr(&self) -> &'static crate::common::Reg<self::Podr_SPEC, crate::common::RW> {
        unsafe {
            crate::common::Reg::<self::Podr_SPEC, crate::common::RW>::from_ptr(
                self._svd2pac_as_ptr().add(0usize),
            )
        }
    }
    #[doc = "Port Control Register 1"]
    #[inline(always)]
    pub const fn pdr(&self) -> &'static crate::common::Reg<self::Pdr_SPEC, crate::common::RW> {
        unsafe {
            crate::common::Reg::<self::Pdr_SPEC, crate::common::RW>::from_ptr(
                self._svd2pac_as_ptr().add(2usize),
            )
        }
    }
    #[doc = "Port Control Register 2"]
    #[inline(always)]
    pub const fn pcntr2(&self) -> &'static crate::common::Reg<self::Pcntr2_SPEC, crate::common::R> {
        unsafe {
            crate::common::Reg::<self::Pcntr2_SPEC, crate::common::R>::from_ptr(
                self._svd2pac_as_ptr().add(4usize),
            )
        }
    }
    #[doc = "Port Control Register 2"]
    #[inline(always)]
    pub const fn eidr(&self) -> &'static crate::common::Reg<self::Eidr_SPEC, crate::common::R> {
        unsafe {
            crate::common::Reg::<self::Eidr_SPEC, crate::common::R>::from_ptr(
                self._svd2pac_as_ptr().add(4usize),
            )
        }
    }
    #[doc = "Port Control Register 2"]
    #[inline(always)]
    pub const fn pidr(&self) -> &'static crate::common::Reg<self::Pidr_SPEC, crate::common::R> {
        unsafe {
            crate::common::Reg::<self::Pidr_SPEC, crate::common::R>::from_ptr(
                self._svd2pac_as_ptr().add(6usize),
            )
        }
    }
    #[doc = "Port Control Register 3"]
    #[inline(always)]
    pub const fn pcntr3(&self) -> &'static crate::common::Reg<self::Pcntr3_SPEC, crate::common::W> {
        unsafe {
            crate::common::Reg::<self::Pcntr3_SPEC, crate::common::W>::from_ptr(
                self._svd2pac_as_ptr().add(8usize),
            )
        }
    }
    #[doc = "Port Control Register 3"]
    #[inline(always)]
    pub const fn porr(&self) -> &'static crate::common::Reg<self::Porr_SPEC, crate::common::W> {
        unsafe {
            crate::common::Reg::<self::Porr_SPEC, crate::common::W>::from_ptr(
                self._svd2pac_as_ptr().add(8usize),
            )
        }
    }
    #[doc = "Port Control Register 3"]
    #[inline(always)]
    pub const fn posr(&self) -> &'static crate::common::Reg<self::Posr_SPEC, crate::common::W> {
        unsafe {
            crate::common::Reg::<self::Posr_SPEC, crate::common::W>::from_ptr(
                self._svd2pac_as_ptr().add(10usize),
            )
        }
    }
    #[doc = "Port Control Register 4"]
    #[inline(always)]
    pub const fn pcntr4(
        &self,
    ) -> &'static crate::common::Reg<self::Pcntr4_SPEC, crate::common::RW> {
        unsafe {
            crate::common::Reg::<self::Pcntr4_SPEC, crate::common::RW>::from_ptr(
                self._svd2pac_as_ptr().add(12usize),
            )
        }
    }
    #[doc = "Port Control Register 4"]
    #[inline(always)]
    pub const fn eorr(&self) -> &'static crate::common::Reg<self::Eorr_SPEC, crate::common::RW> {
        unsafe {
            crate::common::Reg::<self::Eorr_SPEC, crate::common::RW>::from_ptr(
                self._svd2pac_as_ptr().add(12usize),
            )
        }
    }
    #[doc = "Port Control Register 4"]
    #[inline(always)]
    pub const fn eosr(&self) -> &'static crate::common::Reg<self::Eosr_SPEC, crate::common::RW> {
        unsafe {
            crate::common::Reg::<self::Eosr_SPEC, crate::common::RW>::from_ptr(
                self._svd2pac_as_ptr().add(14usize),
            )
        }
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Pcntr1_SPEC;
impl crate::sealed::RegSpec for Pcntr1_SPEC {
    type DataType = u32;
}
#[doc = "Port Control Register 1"]
pub type Pcntr1 = crate::RegValueT<Pcntr1_SPEC>;
impl Pcntr1 {
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        pcntr1::Pdr00,
        pcntr1::Pdr00,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            pcntr1::Pdr00,
            pcntr1::Pdr00,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        pcntr1::Pdr01,
        pcntr1::Pdr01,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            pcntr1::Pdr01,
            pcntr1::Pdr01,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        pcntr1::Pdr02,
        pcntr1::Pdr02,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            pcntr1::Pdr02,
            pcntr1::Pdr02,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        pcntr1::Pdr03,
        pcntr1::Pdr03,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            pcntr1::Pdr03,
            pcntr1::Pdr03,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        pcntr1::Pdr04,
        pcntr1::Pdr04,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            pcntr1::Pdr04,
            pcntr1::Pdr04,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        pcntr1::Pdr05,
        pcntr1::Pdr05,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            pcntr1::Pdr05,
            pcntr1::Pdr05,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        pcntr1::Pdr06,
        pcntr1::Pdr06,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            pcntr1::Pdr06,
            pcntr1::Pdr06,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        pcntr1::Pdr07,
        pcntr1::Pdr07,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            pcntr1::Pdr07,
            pcntr1::Pdr07,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        pcntr1::Pdr08,
        pcntr1::Pdr08,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            pcntr1::Pdr08,
            pcntr1::Pdr08,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        pcntr1::Pdr09,
        pcntr1::Pdr09,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            pcntr1::Pdr09,
            pcntr1::Pdr09,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        pcntr1::Pdr10,
        pcntr1::Pdr10,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            pcntr1::Pdr10,
            pcntr1::Pdr10,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        pcntr1::Pdr11,
        pcntr1::Pdr11,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            pcntr1::Pdr11,
            pcntr1::Pdr11,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        pcntr1::Pdr12,
        pcntr1::Pdr12,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            pcntr1::Pdr12,
            pcntr1::Pdr12,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        pcntr1::Pdr13,
        pcntr1::Pdr13,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            pcntr1::Pdr13,
            pcntr1::Pdr13,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        pcntr1::Pdr14,
        pcntr1::Pdr14,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            pcntr1::Pdr14,
            pcntr1::Pdr14,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        pcntr1::Pdr15,
        pcntr1::Pdr15,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            pcntr1::Pdr15,
            pcntr1::Pdr15,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr00(
        self,
    ) -> crate::common::RegisterField<
        16,
        0x1,
        1,
        0,
        pcntr1::Podr00,
        pcntr1::Podr00,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            16,
            0x1,
            1,
            0,
            pcntr1::Podr00,
            pcntr1::Podr00,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr01(
        self,
    ) -> crate::common::RegisterField<
        17,
        0x1,
        1,
        0,
        pcntr1::Podr01,
        pcntr1::Podr01,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            17,
            0x1,
            1,
            0,
            pcntr1::Podr01,
            pcntr1::Podr01,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr02(
        self,
    ) -> crate::common::RegisterField<
        18,
        0x1,
        1,
        0,
        pcntr1::Podr02,
        pcntr1::Podr02,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            18,
            0x1,
            1,
            0,
            pcntr1::Podr02,
            pcntr1::Podr02,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr03(
        self,
    ) -> crate::common::RegisterField<
        19,
        0x1,
        1,
        0,
        pcntr1::Podr03,
        pcntr1::Podr03,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            19,
            0x1,
            1,
            0,
            pcntr1::Podr03,
            pcntr1::Podr03,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr04(
        self,
    ) -> crate::common::RegisterField<
        20,
        0x1,
        1,
        0,
        pcntr1::Podr04,
        pcntr1::Podr04,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            20,
            0x1,
            1,
            0,
            pcntr1::Podr04,
            pcntr1::Podr04,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr05(
        self,
    ) -> crate::common::RegisterField<
        21,
        0x1,
        1,
        0,
        pcntr1::Podr05,
        pcntr1::Podr05,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            21,
            0x1,
            1,
            0,
            pcntr1::Podr05,
            pcntr1::Podr05,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr06(
        self,
    ) -> crate::common::RegisterField<
        22,
        0x1,
        1,
        0,
        pcntr1::Podr06,
        pcntr1::Podr06,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            22,
            0x1,
            1,
            0,
            pcntr1::Podr06,
            pcntr1::Podr06,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr07(
        self,
    ) -> crate::common::RegisterField<
        23,
        0x1,
        1,
        0,
        pcntr1::Podr07,
        pcntr1::Podr07,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            23,
            0x1,
            1,
            0,
            pcntr1::Podr07,
            pcntr1::Podr07,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr08(
        self,
    ) -> crate::common::RegisterField<
        24,
        0x1,
        1,
        0,
        pcntr1::Podr08,
        pcntr1::Podr08,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            24,
            0x1,
            1,
            0,
            pcntr1::Podr08,
            pcntr1::Podr08,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr09(
        self,
    ) -> crate::common::RegisterField<
        25,
        0x1,
        1,
        0,
        pcntr1::Podr09,
        pcntr1::Podr09,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            25,
            0x1,
            1,
            0,
            pcntr1::Podr09,
            pcntr1::Podr09,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr10(
        self,
    ) -> crate::common::RegisterField<
        26,
        0x1,
        1,
        0,
        pcntr1::Podr10,
        pcntr1::Podr10,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            26,
            0x1,
            1,
            0,
            pcntr1::Podr10,
            pcntr1::Podr10,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr11(
        self,
    ) -> crate::common::RegisterField<
        27,
        0x1,
        1,
        0,
        pcntr1::Podr11,
        pcntr1::Podr11,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            27,
            0x1,
            1,
            0,
            pcntr1::Podr11,
            pcntr1::Podr11,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr12(
        self,
    ) -> crate::common::RegisterField<
        28,
        0x1,
        1,
        0,
        pcntr1::Podr12,
        pcntr1::Podr12,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            28,
            0x1,
            1,
            0,
            pcntr1::Podr12,
            pcntr1::Podr12,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr13(
        self,
    ) -> crate::common::RegisterField<
        29,
        0x1,
        1,
        0,
        pcntr1::Podr13,
        pcntr1::Podr13,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            29,
            0x1,
            1,
            0,
            pcntr1::Podr13,
            pcntr1::Podr13,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr14(
        self,
    ) -> crate::common::RegisterField<
        30,
        0x1,
        1,
        0,
        pcntr1::Podr14,
        pcntr1::Podr14,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            30,
            0x1,
            1,
            0,
            pcntr1::Podr14,
            pcntr1::Podr14,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr15(
        self,
    ) -> crate::common::RegisterField<
        31,
        0x1,
        1,
        0,
        pcntr1::Podr15,
        pcntr1::Podr15,
        Pcntr1_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            31,
            0x1,
            1,
            0,
            pcntr1::Podr15,
            pcntr1::Podr15,
            Pcntr1_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Pcntr1 {
    #[inline(always)]
    fn default() -> Pcntr1 {
        <crate::RegValueT<Pcntr1_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod pcntr1 {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr00_SPEC;
    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
    impl Pdr00 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr01_SPEC;
    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
    impl Pdr01 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr02_SPEC;
    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
    impl Pdr02 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr03_SPEC;
    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
    impl Pdr03 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr04_SPEC;
    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
    impl Pdr04 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr05_SPEC;
    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
    impl Pdr05 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr06_SPEC;
    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
    impl Pdr06 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr07_SPEC;
    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
    impl Pdr07 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr08_SPEC;
    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
    impl Pdr08 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr09_SPEC;
    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
    impl Pdr09 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr10_SPEC;
    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
    impl Pdr10 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr11_SPEC;
    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
    impl Pdr11 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr12_SPEC;
    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
    impl Pdr12 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr13_SPEC;
    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
    impl Pdr13 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr14_SPEC;
    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
    impl Pdr14 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr15_SPEC;
    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
    impl Pdr15 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr00_SPEC;
    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
    impl Podr00 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr01_SPEC;
    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
    impl Podr01 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr02_SPEC;
    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
    impl Podr02 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr03_SPEC;
    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
    impl Podr03 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr04_SPEC;
    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
    impl Podr04 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr05_SPEC;
    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
    impl Podr05 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr06_SPEC;
    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
    impl Podr06 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr07_SPEC;
    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
    impl Podr07 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr08_SPEC;
    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
    impl Podr08 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr09_SPEC;
    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
    impl Podr09 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr10_SPEC;
    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
    impl Podr10 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr11_SPEC;
    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
    impl Podr11 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr12_SPEC;
    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
    impl Podr12 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr13_SPEC;
    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
    impl Podr13 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr14_SPEC;
    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
    impl Podr14 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr15_SPEC;
    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
    impl Podr15 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Podr_SPEC;
impl crate::sealed::RegSpec for Podr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 1"]
pub type Podr = crate::RegValueT<Podr_SPEC>;
impl Podr {
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        podr::Podr00,
        podr::Podr00,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            podr::Podr00,
            podr::Podr00,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        podr::Podr01,
        podr::Podr01,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            podr::Podr01,
            podr::Podr01,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        podr::Podr02,
        podr::Podr02,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            podr::Podr02,
            podr::Podr02,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        podr::Podr03,
        podr::Podr03,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            podr::Podr03,
            podr::Podr03,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        podr::Podr04,
        podr::Podr04,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            podr::Podr04,
            podr::Podr04,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        podr::Podr05,
        podr::Podr05,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            podr::Podr05,
            podr::Podr05,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        podr::Podr06,
        podr::Podr06,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            podr::Podr06,
            podr::Podr06,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        podr::Podr07,
        podr::Podr07,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            podr::Podr07,
            podr::Podr07,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        podr::Podr08,
        podr::Podr08,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            podr::Podr08,
            podr::Podr08,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        podr::Podr09,
        podr::Podr09,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            podr::Podr09,
            podr::Podr09,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        podr::Podr10,
        podr::Podr10,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            podr::Podr10,
            podr::Podr10,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        podr::Podr11,
        podr::Podr11,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            podr::Podr11,
            podr::Podr11,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        podr::Podr12,
        podr::Podr12,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            podr::Podr12,
            podr::Podr12,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        podr::Podr13,
        podr::Podr13,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            podr::Podr13,
            podr::Podr13,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        podr::Podr14,
        podr::Podr14,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            podr::Podr14,
            podr::Podr14,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Data"]
    #[inline(always)]
    pub fn podr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        podr::Podr15,
        podr::Podr15,
        Podr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            podr::Podr15,
            podr::Podr15,
            Podr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Podr {
    #[inline(always)]
    fn default() -> Podr {
        <crate::RegValueT<Podr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod podr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr00_SPEC;
    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
    impl Podr00 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr01_SPEC;
    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
    impl Podr01 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr02_SPEC;
    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
    impl Podr02 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr03_SPEC;
    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
    impl Podr03 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr04_SPEC;
    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
    impl Podr04 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr05_SPEC;
    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
    impl Podr05 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr06_SPEC;
    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
    impl Podr06 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr07_SPEC;
    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
    impl Podr07 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr08_SPEC;
    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
    impl Podr08 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr09_SPEC;
    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
    impl Podr09 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr10_SPEC;
    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
    impl Podr10 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr11_SPEC;
    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
    impl Podr11 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr12_SPEC;
    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
    impl Podr12 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr13_SPEC;
    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
    impl Podr13 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr14_SPEC;
    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
    impl Podr14 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Podr15_SPEC;
    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
    impl Podr15 {
        #[doc = "Low output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Pdr_SPEC;
impl crate::sealed::RegSpec for Pdr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 1"]
pub type Pdr = crate::RegValueT<Pdr_SPEC>;
impl Pdr {
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        pdr::Pdr00,
        pdr::Pdr00,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            pdr::Pdr00,
            pdr::Pdr00,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        pdr::Pdr01,
        pdr::Pdr01,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            pdr::Pdr01,
            pdr::Pdr01,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        pdr::Pdr02,
        pdr::Pdr02,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            pdr::Pdr02,
            pdr::Pdr02,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        pdr::Pdr03,
        pdr::Pdr03,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            pdr::Pdr03,
            pdr::Pdr03,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        pdr::Pdr04,
        pdr::Pdr04,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            pdr::Pdr04,
            pdr::Pdr04,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        pdr::Pdr05,
        pdr::Pdr05,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            pdr::Pdr05,
            pdr::Pdr05,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        pdr::Pdr06,
        pdr::Pdr06,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            pdr::Pdr06,
            pdr::Pdr06,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        pdr::Pdr07,
        pdr::Pdr07,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            pdr::Pdr07,
            pdr::Pdr07,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        pdr::Pdr08,
        pdr::Pdr08,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            pdr::Pdr08,
            pdr::Pdr08,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        pdr::Pdr09,
        pdr::Pdr09,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            pdr::Pdr09,
            pdr::Pdr09,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        pdr::Pdr10,
        pdr::Pdr10,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            pdr::Pdr10,
            pdr::Pdr10,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        pdr::Pdr11,
        pdr::Pdr11,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            pdr::Pdr11,
            pdr::Pdr11,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        pdr::Pdr12,
        pdr::Pdr12,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            pdr::Pdr12,
            pdr::Pdr12,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        pdr::Pdr13,
        pdr::Pdr13,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            pdr::Pdr13,
            pdr::Pdr13,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        pdr::Pdr14,
        pdr::Pdr14,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            pdr::Pdr14,
            pdr::Pdr14,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Direction"]
    #[inline(always)]
    pub fn pdr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        pdr::Pdr15,
        pdr::Pdr15,
        Pdr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            pdr::Pdr15,
            pdr::Pdr15,
            Pdr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Pdr {
    #[inline(always)]
    fn default() -> Pdr {
        <crate::RegValueT<Pdr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod pdr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr00_SPEC;
    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
    impl Pdr00 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr01_SPEC;
    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
    impl Pdr01 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr02_SPEC;
    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
    impl Pdr02 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr03_SPEC;
    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
    impl Pdr03 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr04_SPEC;
    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
    impl Pdr04 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr05_SPEC;
    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
    impl Pdr05 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr06_SPEC;
    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
    impl Pdr06 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr07_SPEC;
    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
    impl Pdr07 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr08_SPEC;
    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
    impl Pdr08 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr09_SPEC;
    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
    impl Pdr09 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr10_SPEC;
    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
    impl Pdr10 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr11_SPEC;
    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
    impl Pdr11 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr12_SPEC;
    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
    impl Pdr12 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr13_SPEC;
    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
    impl Pdr13 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr14_SPEC;
    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
    impl Pdr14 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pdr15_SPEC;
    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
    impl Pdr15 {
        #[doc = "Input (functions as an input pin)"]
        pub const _0: Self = Self::new(0);
        #[doc = "Output (functions as an output pin)"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Pcntr2_SPEC;
impl crate::sealed::RegSpec for Pcntr2_SPEC {
    type DataType = u32;
}
#[doc = "Port Control Register 2"]
pub type Pcntr2 = crate::RegValueT<Pcntr2_SPEC>;
impl Pcntr2 {
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        pcntr2::Pidr00,
        pcntr2::Pidr00,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            pcntr2::Pidr00,
            pcntr2::Pidr00,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        pcntr2::Pidr01,
        pcntr2::Pidr01,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            pcntr2::Pidr01,
            pcntr2::Pidr01,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        pcntr2::Pidr02,
        pcntr2::Pidr02,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            pcntr2::Pidr02,
            pcntr2::Pidr02,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        pcntr2::Pidr03,
        pcntr2::Pidr03,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            pcntr2::Pidr03,
            pcntr2::Pidr03,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        pcntr2::Pidr04,
        pcntr2::Pidr04,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            pcntr2::Pidr04,
            pcntr2::Pidr04,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        pcntr2::Pidr05,
        pcntr2::Pidr05,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            pcntr2::Pidr05,
            pcntr2::Pidr05,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        pcntr2::Pidr06,
        pcntr2::Pidr06,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            pcntr2::Pidr06,
            pcntr2::Pidr06,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        pcntr2::Pidr07,
        pcntr2::Pidr07,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            pcntr2::Pidr07,
            pcntr2::Pidr07,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        pcntr2::Pidr08,
        pcntr2::Pidr08,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            pcntr2::Pidr08,
            pcntr2::Pidr08,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        pcntr2::Pidr09,
        pcntr2::Pidr09,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            pcntr2::Pidr09,
            pcntr2::Pidr09,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        pcntr2::Pidr10,
        pcntr2::Pidr10,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            pcntr2::Pidr10,
            pcntr2::Pidr10,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        pcntr2::Pidr11,
        pcntr2::Pidr11,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            pcntr2::Pidr11,
            pcntr2::Pidr11,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        pcntr2::Pidr12,
        pcntr2::Pidr12,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            pcntr2::Pidr12,
            pcntr2::Pidr12,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        pcntr2::Pidr13,
        pcntr2::Pidr13,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            pcntr2::Pidr13,
            pcntr2::Pidr13,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        pcntr2::Pidr14,
        pcntr2::Pidr14,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            pcntr2::Pidr14,
            pcntr2::Pidr14,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        pcntr2::Pidr15,
        pcntr2::Pidr15,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            pcntr2::Pidr15,
            pcntr2::Pidr15,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr00(
        self,
    ) -> crate::common::RegisterField<
        16,
        0x1,
        1,
        0,
        pcntr2::Eidr00,
        pcntr2::Eidr00,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            16,
            0x1,
            1,
            0,
            pcntr2::Eidr00,
            pcntr2::Eidr00,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr01(
        self,
    ) -> crate::common::RegisterField<
        17,
        0x1,
        1,
        0,
        pcntr2::Eidr01,
        pcntr2::Eidr01,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            17,
            0x1,
            1,
            0,
            pcntr2::Eidr01,
            pcntr2::Eidr01,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr02(
        self,
    ) -> crate::common::RegisterField<
        18,
        0x1,
        1,
        0,
        pcntr2::Eidr02,
        pcntr2::Eidr02,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            18,
            0x1,
            1,
            0,
            pcntr2::Eidr02,
            pcntr2::Eidr02,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr03(
        self,
    ) -> crate::common::RegisterField<
        19,
        0x1,
        1,
        0,
        pcntr2::Eidr03,
        pcntr2::Eidr03,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            19,
            0x1,
            1,
            0,
            pcntr2::Eidr03,
            pcntr2::Eidr03,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr04(
        self,
    ) -> crate::common::RegisterField<
        20,
        0x1,
        1,
        0,
        pcntr2::Eidr04,
        pcntr2::Eidr04,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            20,
            0x1,
            1,
            0,
            pcntr2::Eidr04,
            pcntr2::Eidr04,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr05(
        self,
    ) -> crate::common::RegisterField<
        21,
        0x1,
        1,
        0,
        pcntr2::Eidr05,
        pcntr2::Eidr05,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            21,
            0x1,
            1,
            0,
            pcntr2::Eidr05,
            pcntr2::Eidr05,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr06(
        self,
    ) -> crate::common::RegisterField<
        22,
        0x1,
        1,
        0,
        pcntr2::Eidr06,
        pcntr2::Eidr06,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            22,
            0x1,
            1,
            0,
            pcntr2::Eidr06,
            pcntr2::Eidr06,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr07(
        self,
    ) -> crate::common::RegisterField<
        23,
        0x1,
        1,
        0,
        pcntr2::Eidr07,
        pcntr2::Eidr07,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            23,
            0x1,
            1,
            0,
            pcntr2::Eidr07,
            pcntr2::Eidr07,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr08(
        self,
    ) -> crate::common::RegisterField<
        24,
        0x1,
        1,
        0,
        pcntr2::Eidr08,
        pcntr2::Eidr08,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            24,
            0x1,
            1,
            0,
            pcntr2::Eidr08,
            pcntr2::Eidr08,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr09(
        self,
    ) -> crate::common::RegisterField<
        25,
        0x1,
        1,
        0,
        pcntr2::Eidr09,
        pcntr2::Eidr09,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            25,
            0x1,
            1,
            0,
            pcntr2::Eidr09,
            pcntr2::Eidr09,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr10(
        self,
    ) -> crate::common::RegisterField<
        26,
        0x1,
        1,
        0,
        pcntr2::Eidr10,
        pcntr2::Eidr10,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            26,
            0x1,
            1,
            0,
            pcntr2::Eidr10,
            pcntr2::Eidr10,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr11(
        self,
    ) -> crate::common::RegisterField<
        27,
        0x1,
        1,
        0,
        pcntr2::Eidr11,
        pcntr2::Eidr11,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            27,
            0x1,
            1,
            0,
            pcntr2::Eidr11,
            pcntr2::Eidr11,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr12(
        self,
    ) -> crate::common::RegisterField<
        28,
        0x1,
        1,
        0,
        pcntr2::Eidr12,
        pcntr2::Eidr12,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            28,
            0x1,
            1,
            0,
            pcntr2::Eidr12,
            pcntr2::Eidr12,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr13(
        self,
    ) -> crate::common::RegisterField<
        29,
        0x1,
        1,
        0,
        pcntr2::Eidr13,
        pcntr2::Eidr13,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            29,
            0x1,
            1,
            0,
            pcntr2::Eidr13,
            pcntr2::Eidr13,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr14(
        self,
    ) -> crate::common::RegisterField<
        30,
        0x1,
        1,
        0,
        pcntr2::Eidr14,
        pcntr2::Eidr14,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            30,
            0x1,
            1,
            0,
            pcntr2::Eidr14,
            pcntr2::Eidr14,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr15(
        self,
    ) -> crate::common::RegisterField<
        31,
        0x1,
        1,
        0,
        pcntr2::Eidr15,
        pcntr2::Eidr15,
        Pcntr2_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            31,
            0x1,
            1,
            0,
            pcntr2::Eidr15,
            pcntr2::Eidr15,
            Pcntr2_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Pcntr2 {
    #[inline(always)]
    fn default() -> Pcntr2 {
        <crate::RegValueT<Pcntr2_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod pcntr2 {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr00_SPEC;
    pub type Pidr00 = crate::EnumBitfieldStruct<u8, Pidr00_SPEC>;
    impl Pidr00 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr01_SPEC;
    pub type Pidr01 = crate::EnumBitfieldStruct<u8, Pidr01_SPEC>;
    impl Pidr01 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr02_SPEC;
    pub type Pidr02 = crate::EnumBitfieldStruct<u8, Pidr02_SPEC>;
    impl Pidr02 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr03_SPEC;
    pub type Pidr03 = crate::EnumBitfieldStruct<u8, Pidr03_SPEC>;
    impl Pidr03 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr04_SPEC;
    pub type Pidr04 = crate::EnumBitfieldStruct<u8, Pidr04_SPEC>;
    impl Pidr04 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr05_SPEC;
    pub type Pidr05 = crate::EnumBitfieldStruct<u8, Pidr05_SPEC>;
    impl Pidr05 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr06_SPEC;
    pub type Pidr06 = crate::EnumBitfieldStruct<u8, Pidr06_SPEC>;
    impl Pidr06 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr07_SPEC;
    pub type Pidr07 = crate::EnumBitfieldStruct<u8, Pidr07_SPEC>;
    impl Pidr07 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr08_SPEC;
    pub type Pidr08 = crate::EnumBitfieldStruct<u8, Pidr08_SPEC>;
    impl Pidr08 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr09_SPEC;
    pub type Pidr09 = crate::EnumBitfieldStruct<u8, Pidr09_SPEC>;
    impl Pidr09 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr10_SPEC;
    pub type Pidr10 = crate::EnumBitfieldStruct<u8, Pidr10_SPEC>;
    impl Pidr10 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr11_SPEC;
    pub type Pidr11 = crate::EnumBitfieldStruct<u8, Pidr11_SPEC>;
    impl Pidr11 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr12_SPEC;
    pub type Pidr12 = crate::EnumBitfieldStruct<u8, Pidr12_SPEC>;
    impl Pidr12 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr13_SPEC;
    pub type Pidr13 = crate::EnumBitfieldStruct<u8, Pidr13_SPEC>;
    impl Pidr13 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr14_SPEC;
    pub type Pidr14 = crate::EnumBitfieldStruct<u8, Pidr14_SPEC>;
    impl Pidr14 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr15_SPEC;
    pub type Pidr15 = crate::EnumBitfieldStruct<u8, Pidr15_SPEC>;
    impl Pidr15 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr00_SPEC;
    pub type Eidr00 = crate::EnumBitfieldStruct<u8, Eidr00_SPEC>;
    impl Eidr00 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr01_SPEC;
    pub type Eidr01 = crate::EnumBitfieldStruct<u8, Eidr01_SPEC>;
    impl Eidr01 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr02_SPEC;
    pub type Eidr02 = crate::EnumBitfieldStruct<u8, Eidr02_SPEC>;
    impl Eidr02 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr03_SPEC;
    pub type Eidr03 = crate::EnumBitfieldStruct<u8, Eidr03_SPEC>;
    impl Eidr03 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr04_SPEC;
    pub type Eidr04 = crate::EnumBitfieldStruct<u8, Eidr04_SPEC>;
    impl Eidr04 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr05_SPEC;
    pub type Eidr05 = crate::EnumBitfieldStruct<u8, Eidr05_SPEC>;
    impl Eidr05 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr06_SPEC;
    pub type Eidr06 = crate::EnumBitfieldStruct<u8, Eidr06_SPEC>;
    impl Eidr06 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr07_SPEC;
    pub type Eidr07 = crate::EnumBitfieldStruct<u8, Eidr07_SPEC>;
    impl Eidr07 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr08_SPEC;
    pub type Eidr08 = crate::EnumBitfieldStruct<u8, Eidr08_SPEC>;
    impl Eidr08 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr09_SPEC;
    pub type Eidr09 = crate::EnumBitfieldStruct<u8, Eidr09_SPEC>;
    impl Eidr09 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr10_SPEC;
    pub type Eidr10 = crate::EnumBitfieldStruct<u8, Eidr10_SPEC>;
    impl Eidr10 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr11_SPEC;
    pub type Eidr11 = crate::EnumBitfieldStruct<u8, Eidr11_SPEC>;
    impl Eidr11 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr12_SPEC;
    pub type Eidr12 = crate::EnumBitfieldStruct<u8, Eidr12_SPEC>;
    impl Eidr12 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr13_SPEC;
    pub type Eidr13 = crate::EnumBitfieldStruct<u8, Eidr13_SPEC>;
    impl Eidr13 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr14_SPEC;
    pub type Eidr14 = crate::EnumBitfieldStruct<u8, Eidr14_SPEC>;
    impl Eidr14 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr15_SPEC;
    pub type Eidr15 = crate::EnumBitfieldStruct<u8, Eidr15_SPEC>;
    impl Eidr15 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Eidr_SPEC;
impl crate::sealed::RegSpec for Eidr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 2"]
pub type Eidr = crate::RegValueT<Eidr_SPEC>;
impl Eidr {
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        eidr::Eidr00,
        eidr::Eidr00,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            eidr::Eidr00,
            eidr::Eidr00,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        eidr::Eidr01,
        eidr::Eidr01,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            eidr::Eidr01,
            eidr::Eidr01,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        eidr::Eidr02,
        eidr::Eidr02,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            eidr::Eidr02,
            eidr::Eidr02,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        eidr::Eidr03,
        eidr::Eidr03,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            eidr::Eidr03,
            eidr::Eidr03,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        eidr::Eidr04,
        eidr::Eidr04,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            eidr::Eidr04,
            eidr::Eidr04,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        eidr::Eidr05,
        eidr::Eidr05,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            eidr::Eidr05,
            eidr::Eidr05,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        eidr::Eidr06,
        eidr::Eidr06,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            eidr::Eidr06,
            eidr::Eidr06,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        eidr::Eidr07,
        eidr::Eidr07,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            eidr::Eidr07,
            eidr::Eidr07,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        eidr::Eidr08,
        eidr::Eidr08,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            eidr::Eidr08,
            eidr::Eidr08,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        eidr::Eidr09,
        eidr::Eidr09,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            eidr::Eidr09,
            eidr::Eidr09,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        eidr::Eidr10,
        eidr::Eidr10,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            eidr::Eidr10,
            eidr::Eidr10,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        eidr::Eidr11,
        eidr::Eidr11,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            eidr::Eidr11,
            eidr::Eidr11,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        eidr::Eidr12,
        eidr::Eidr12,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            eidr::Eidr12,
            eidr::Eidr12,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        eidr::Eidr13,
        eidr::Eidr13,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            eidr::Eidr13,
            eidr::Eidr13,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        eidr::Eidr14,
        eidr::Eidr14,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            eidr::Eidr14,
            eidr::Eidr14,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Port Event Input Data"]
    #[inline(always)]
    pub fn eidr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        eidr::Eidr15,
        eidr::Eidr15,
        Eidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            eidr::Eidr15,
            eidr::Eidr15,
            Eidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Eidr {
    #[inline(always)]
    fn default() -> Eidr {
        <crate::RegValueT<Eidr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod eidr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr00_SPEC;
    pub type Eidr00 = crate::EnumBitfieldStruct<u8, Eidr00_SPEC>;
    impl Eidr00 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr01_SPEC;
    pub type Eidr01 = crate::EnumBitfieldStruct<u8, Eidr01_SPEC>;
    impl Eidr01 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr02_SPEC;
    pub type Eidr02 = crate::EnumBitfieldStruct<u8, Eidr02_SPEC>;
    impl Eidr02 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr03_SPEC;
    pub type Eidr03 = crate::EnumBitfieldStruct<u8, Eidr03_SPEC>;
    impl Eidr03 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr04_SPEC;
    pub type Eidr04 = crate::EnumBitfieldStruct<u8, Eidr04_SPEC>;
    impl Eidr04 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr05_SPEC;
    pub type Eidr05 = crate::EnumBitfieldStruct<u8, Eidr05_SPEC>;
    impl Eidr05 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr06_SPEC;
    pub type Eidr06 = crate::EnumBitfieldStruct<u8, Eidr06_SPEC>;
    impl Eidr06 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr07_SPEC;
    pub type Eidr07 = crate::EnumBitfieldStruct<u8, Eidr07_SPEC>;
    impl Eidr07 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr08_SPEC;
    pub type Eidr08 = crate::EnumBitfieldStruct<u8, Eidr08_SPEC>;
    impl Eidr08 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr09_SPEC;
    pub type Eidr09 = crate::EnumBitfieldStruct<u8, Eidr09_SPEC>;
    impl Eidr09 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr10_SPEC;
    pub type Eidr10 = crate::EnumBitfieldStruct<u8, Eidr10_SPEC>;
    impl Eidr10 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr11_SPEC;
    pub type Eidr11 = crate::EnumBitfieldStruct<u8, Eidr11_SPEC>;
    impl Eidr11 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr12_SPEC;
    pub type Eidr12 = crate::EnumBitfieldStruct<u8, Eidr12_SPEC>;
    impl Eidr12 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr13_SPEC;
    pub type Eidr13 = crate::EnumBitfieldStruct<u8, Eidr13_SPEC>;
    impl Eidr13 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr14_SPEC;
    pub type Eidr14 = crate::EnumBitfieldStruct<u8, Eidr14_SPEC>;
    impl Eidr14 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eidr15_SPEC;
    pub type Eidr15 = crate::EnumBitfieldStruct<u8, Eidr15_SPEC>;
    impl Eidr15 {
        #[doc = "Low input"]
        pub const _0: Self = Self::new(0);
        #[doc = "High input"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Pidr_SPEC;
impl crate::sealed::RegSpec for Pidr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 2"]
pub type Pidr = crate::RegValueT<Pidr_SPEC>;
impl Pidr {
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        pidr::Pidr00,
        pidr::Pidr00,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            pidr::Pidr00,
            pidr::Pidr00,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        pidr::Pidr01,
        pidr::Pidr01,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            pidr::Pidr01,
            pidr::Pidr01,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        pidr::Pidr02,
        pidr::Pidr02,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            pidr::Pidr02,
            pidr::Pidr02,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        pidr::Pidr03,
        pidr::Pidr03,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            pidr::Pidr03,
            pidr::Pidr03,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        pidr::Pidr04,
        pidr::Pidr04,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            pidr::Pidr04,
            pidr::Pidr04,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        pidr::Pidr05,
        pidr::Pidr05,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            pidr::Pidr05,
            pidr::Pidr05,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        pidr::Pidr06,
        pidr::Pidr06,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            pidr::Pidr06,
            pidr::Pidr06,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        pidr::Pidr07,
        pidr::Pidr07,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            pidr::Pidr07,
            pidr::Pidr07,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        pidr::Pidr08,
        pidr::Pidr08,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            pidr::Pidr08,
            pidr::Pidr08,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        pidr::Pidr09,
        pidr::Pidr09,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            pidr::Pidr09,
            pidr::Pidr09,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        pidr::Pidr10,
        pidr::Pidr10,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            pidr::Pidr10,
            pidr::Pidr10,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        pidr::Pidr11,
        pidr::Pidr11,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            pidr::Pidr11,
            pidr::Pidr11,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        pidr::Pidr12,
        pidr::Pidr12,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            pidr::Pidr12,
            pidr::Pidr12,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        pidr::Pidr13,
        pidr::Pidr13,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            pidr::Pidr13,
            pidr::Pidr13,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        pidr::Pidr14,
        pidr::Pidr14,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            pidr::Pidr14,
            pidr::Pidr14,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
    #[doc = "Pmn State"]
    #[inline(always)]
    pub fn pidr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        pidr::Pidr15,
        pidr::Pidr15,
        Pidr_SPEC,
        crate::common::R,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            pidr::Pidr15,
            pidr::Pidr15,
            Pidr_SPEC,
            crate::common::R,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Pidr {
    #[inline(always)]
    fn default() -> Pidr {
        <crate::RegValueT<Pidr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod pidr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr00_SPEC;
    pub type Pidr00 = crate::EnumBitfieldStruct<u8, Pidr00_SPEC>;
    impl Pidr00 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr01_SPEC;
    pub type Pidr01 = crate::EnumBitfieldStruct<u8, Pidr01_SPEC>;
    impl Pidr01 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr02_SPEC;
    pub type Pidr02 = crate::EnumBitfieldStruct<u8, Pidr02_SPEC>;
    impl Pidr02 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr03_SPEC;
    pub type Pidr03 = crate::EnumBitfieldStruct<u8, Pidr03_SPEC>;
    impl Pidr03 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr04_SPEC;
    pub type Pidr04 = crate::EnumBitfieldStruct<u8, Pidr04_SPEC>;
    impl Pidr04 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr05_SPEC;
    pub type Pidr05 = crate::EnumBitfieldStruct<u8, Pidr05_SPEC>;
    impl Pidr05 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr06_SPEC;
    pub type Pidr06 = crate::EnumBitfieldStruct<u8, Pidr06_SPEC>;
    impl Pidr06 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr07_SPEC;
    pub type Pidr07 = crate::EnumBitfieldStruct<u8, Pidr07_SPEC>;
    impl Pidr07 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr08_SPEC;
    pub type Pidr08 = crate::EnumBitfieldStruct<u8, Pidr08_SPEC>;
    impl Pidr08 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr09_SPEC;
    pub type Pidr09 = crate::EnumBitfieldStruct<u8, Pidr09_SPEC>;
    impl Pidr09 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr10_SPEC;
    pub type Pidr10 = crate::EnumBitfieldStruct<u8, Pidr10_SPEC>;
    impl Pidr10 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr11_SPEC;
    pub type Pidr11 = crate::EnumBitfieldStruct<u8, Pidr11_SPEC>;
    impl Pidr11 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr12_SPEC;
    pub type Pidr12 = crate::EnumBitfieldStruct<u8, Pidr12_SPEC>;
    impl Pidr12 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr13_SPEC;
    pub type Pidr13 = crate::EnumBitfieldStruct<u8, Pidr13_SPEC>;
    impl Pidr13 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr14_SPEC;
    pub type Pidr14 = crate::EnumBitfieldStruct<u8, Pidr14_SPEC>;
    impl Pidr14 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Pidr15_SPEC;
    pub type Pidr15 = crate::EnumBitfieldStruct<u8, Pidr15_SPEC>;
    impl Pidr15 {
        #[doc = "Low level"]
        pub const _0: Self = Self::new(0);
        #[doc = "High level"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Pcntr3_SPEC;
impl crate::sealed::RegSpec for Pcntr3_SPEC {
    type DataType = u32;
}
#[doc = "Port Control Register 3"]
pub type Pcntr3 = crate::RegValueT<Pcntr3_SPEC>;
impl Pcntr3 {
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        pcntr3::Posr00,
        pcntr3::Posr00,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            pcntr3::Posr00,
            pcntr3::Posr00,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        pcntr3::Posr01,
        pcntr3::Posr01,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            pcntr3::Posr01,
            pcntr3::Posr01,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        pcntr3::Posr02,
        pcntr3::Posr02,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            pcntr3::Posr02,
            pcntr3::Posr02,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        pcntr3::Posr03,
        pcntr3::Posr03,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            pcntr3::Posr03,
            pcntr3::Posr03,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        pcntr3::Posr04,
        pcntr3::Posr04,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            pcntr3::Posr04,
            pcntr3::Posr04,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        pcntr3::Posr05,
        pcntr3::Posr05,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            pcntr3::Posr05,
            pcntr3::Posr05,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        pcntr3::Posr06,
        pcntr3::Posr06,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            pcntr3::Posr06,
            pcntr3::Posr06,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        pcntr3::Posr07,
        pcntr3::Posr07,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            pcntr3::Posr07,
            pcntr3::Posr07,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        pcntr3::Posr08,
        pcntr3::Posr08,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            pcntr3::Posr08,
            pcntr3::Posr08,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        pcntr3::Posr09,
        pcntr3::Posr09,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            pcntr3::Posr09,
            pcntr3::Posr09,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        pcntr3::Posr10,
        pcntr3::Posr10,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            pcntr3::Posr10,
            pcntr3::Posr10,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        pcntr3::Posr11,
        pcntr3::Posr11,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            pcntr3::Posr11,
            pcntr3::Posr11,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        pcntr3::Posr12,
        pcntr3::Posr12,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            pcntr3::Posr12,
            pcntr3::Posr12,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        pcntr3::Posr13,
        pcntr3::Posr13,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            pcntr3::Posr13,
            pcntr3::Posr13,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        pcntr3::Posr14,
        pcntr3::Posr14,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            pcntr3::Posr14,
            pcntr3::Posr14,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        pcntr3::Posr15,
        pcntr3::Posr15,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            pcntr3::Posr15,
            pcntr3::Posr15,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr00(
        self,
    ) -> crate::common::RegisterField<
        16,
        0x1,
        1,
        0,
        pcntr3::Porr00,
        pcntr3::Porr00,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            16,
            0x1,
            1,
            0,
            pcntr3::Porr00,
            pcntr3::Porr00,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr01(
        self,
    ) -> crate::common::RegisterField<
        17,
        0x1,
        1,
        0,
        pcntr3::Porr01,
        pcntr3::Porr01,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            17,
            0x1,
            1,
            0,
            pcntr3::Porr01,
            pcntr3::Porr01,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr02(
        self,
    ) -> crate::common::RegisterField<
        18,
        0x1,
        1,
        0,
        pcntr3::Porr02,
        pcntr3::Porr02,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            18,
            0x1,
            1,
            0,
            pcntr3::Porr02,
            pcntr3::Porr02,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr03(
        self,
    ) -> crate::common::RegisterField<
        19,
        0x1,
        1,
        0,
        pcntr3::Porr03,
        pcntr3::Porr03,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            19,
            0x1,
            1,
            0,
            pcntr3::Porr03,
            pcntr3::Porr03,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr04(
        self,
    ) -> crate::common::RegisterField<
        20,
        0x1,
        1,
        0,
        pcntr3::Porr04,
        pcntr3::Porr04,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            20,
            0x1,
            1,
            0,
            pcntr3::Porr04,
            pcntr3::Porr04,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr05(
        self,
    ) -> crate::common::RegisterField<
        21,
        0x1,
        1,
        0,
        pcntr3::Porr05,
        pcntr3::Porr05,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            21,
            0x1,
            1,
            0,
            pcntr3::Porr05,
            pcntr3::Porr05,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr06(
        self,
    ) -> crate::common::RegisterField<
        22,
        0x1,
        1,
        0,
        pcntr3::Porr06,
        pcntr3::Porr06,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            22,
            0x1,
            1,
            0,
            pcntr3::Porr06,
            pcntr3::Porr06,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr07(
        self,
    ) -> crate::common::RegisterField<
        23,
        0x1,
        1,
        0,
        pcntr3::Porr07,
        pcntr3::Porr07,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            23,
            0x1,
            1,
            0,
            pcntr3::Porr07,
            pcntr3::Porr07,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr08(
        self,
    ) -> crate::common::RegisterField<
        24,
        0x1,
        1,
        0,
        pcntr3::Porr08,
        pcntr3::Porr08,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            24,
            0x1,
            1,
            0,
            pcntr3::Porr08,
            pcntr3::Porr08,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr09(
        self,
    ) -> crate::common::RegisterField<
        25,
        0x1,
        1,
        0,
        pcntr3::Porr09,
        pcntr3::Porr09,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            25,
            0x1,
            1,
            0,
            pcntr3::Porr09,
            pcntr3::Porr09,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr10(
        self,
    ) -> crate::common::RegisterField<
        26,
        0x1,
        1,
        0,
        pcntr3::Porr10,
        pcntr3::Porr10,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            26,
            0x1,
            1,
            0,
            pcntr3::Porr10,
            pcntr3::Porr10,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr11(
        self,
    ) -> crate::common::RegisterField<
        27,
        0x1,
        1,
        0,
        pcntr3::Porr11,
        pcntr3::Porr11,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            27,
            0x1,
            1,
            0,
            pcntr3::Porr11,
            pcntr3::Porr11,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr12(
        self,
    ) -> crate::common::RegisterField<
        28,
        0x1,
        1,
        0,
        pcntr3::Porr12,
        pcntr3::Porr12,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            28,
            0x1,
            1,
            0,
            pcntr3::Porr12,
            pcntr3::Porr12,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr13(
        self,
    ) -> crate::common::RegisterField<
        29,
        0x1,
        1,
        0,
        pcntr3::Porr13,
        pcntr3::Porr13,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            29,
            0x1,
            1,
            0,
            pcntr3::Porr13,
            pcntr3::Porr13,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr14(
        self,
    ) -> crate::common::RegisterField<
        30,
        0x1,
        1,
        0,
        pcntr3::Porr14,
        pcntr3::Porr14,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            30,
            0x1,
            1,
            0,
            pcntr3::Porr14,
            pcntr3::Porr14,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr15(
        self,
    ) -> crate::common::RegisterField<
        31,
        0x1,
        1,
        0,
        pcntr3::Porr15,
        pcntr3::Porr15,
        Pcntr3_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            31,
            0x1,
            1,
            0,
            pcntr3::Porr15,
            pcntr3::Porr15,
            Pcntr3_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Pcntr3 {
    #[inline(always)]
    fn default() -> Pcntr3 {
        <crate::RegValueT<Pcntr3_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod pcntr3 {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr00_SPEC;
    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
    impl Posr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr01_SPEC;
    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
    impl Posr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr02_SPEC;
    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
    impl Posr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr03_SPEC;
    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
    impl Posr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr04_SPEC;
    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
    impl Posr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr05_SPEC;
    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
    impl Posr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr06_SPEC;
    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
    impl Posr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr07_SPEC;
    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
    impl Posr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr08_SPEC;
    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
    impl Posr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr09_SPEC;
    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
    impl Posr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr10_SPEC;
    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
    impl Posr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr11_SPEC;
    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
    impl Posr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr12_SPEC;
    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
    impl Posr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr13_SPEC;
    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
    impl Posr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr14_SPEC;
    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
    impl Posr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr15_SPEC;
    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
    impl Posr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr00_SPEC;
    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
    impl Porr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr01_SPEC;
    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
    impl Porr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr02_SPEC;
    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
    impl Porr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr03_SPEC;
    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
    impl Porr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr04_SPEC;
    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
    impl Porr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr05_SPEC;
    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
    impl Porr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr06_SPEC;
    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
    impl Porr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr07_SPEC;
    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
    impl Porr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr08_SPEC;
    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
    impl Porr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr09_SPEC;
    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
    impl Porr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr10_SPEC;
    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
    impl Porr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr11_SPEC;
    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
    impl Porr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr12_SPEC;
    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
    impl Porr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr13_SPEC;
    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
    impl Porr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr14_SPEC;
    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
    impl Porr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr15_SPEC;
    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
    impl Porr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Porr_SPEC;
impl crate::sealed::RegSpec for Porr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 3"]
pub type Porr = crate::RegValueT<Porr_SPEC>;
impl Porr {
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        porr::Porr00,
        porr::Porr00,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            porr::Porr00,
            porr::Porr00,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        porr::Porr01,
        porr::Porr01,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            porr::Porr01,
            porr::Porr01,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        porr::Porr02,
        porr::Porr02,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            porr::Porr02,
            porr::Porr02,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        porr::Porr03,
        porr::Porr03,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            porr::Porr03,
            porr::Porr03,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        porr::Porr04,
        porr::Porr04,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            porr::Porr04,
            porr::Porr04,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        porr::Porr05,
        porr::Porr05,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            porr::Porr05,
            porr::Porr05,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        porr::Porr06,
        porr::Porr06,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            porr::Porr06,
            porr::Porr06,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        porr::Porr07,
        porr::Porr07,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            porr::Porr07,
            porr::Porr07,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        porr::Porr08,
        porr::Porr08,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            porr::Porr08,
            porr::Porr08,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        porr::Porr09,
        porr::Porr09,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            porr::Porr09,
            porr::Porr09,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        porr::Porr10,
        porr::Porr10,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            porr::Porr10,
            porr::Porr10,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        porr::Porr11,
        porr::Porr11,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            porr::Porr11,
            porr::Porr11,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        porr::Porr12,
        porr::Porr12,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            porr::Porr12,
            porr::Porr12,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        porr::Porr13,
        porr::Porr13,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            porr::Porr13,
            porr::Porr13,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        porr::Porr14,
        porr::Porr14,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            porr::Porr14,
            porr::Porr14,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Reset"]
    #[inline(always)]
    pub fn porr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        porr::Porr15,
        porr::Porr15,
        Porr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            porr::Porr15,
            porr::Porr15,
            Porr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Porr {
    #[inline(always)]
    fn default() -> Porr {
        <crate::RegValueT<Porr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod porr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr00_SPEC;
    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
    impl Porr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr01_SPEC;
    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
    impl Porr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr02_SPEC;
    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
    impl Porr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr03_SPEC;
    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
    impl Porr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr04_SPEC;
    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
    impl Porr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr05_SPEC;
    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
    impl Porr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr06_SPEC;
    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
    impl Porr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr07_SPEC;
    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
    impl Porr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr08_SPEC;
    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
    impl Porr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr09_SPEC;
    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
    impl Porr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr10_SPEC;
    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
    impl Porr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr11_SPEC;
    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
    impl Porr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr12_SPEC;
    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
    impl Porr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr13_SPEC;
    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
    impl Porr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr14_SPEC;
    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
    impl Porr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Porr15_SPEC;
    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
    impl Porr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Posr_SPEC;
impl crate::sealed::RegSpec for Posr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 3"]
pub type Posr = crate::RegValueT<Posr_SPEC>;
impl Posr {
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        posr::Posr00,
        posr::Posr00,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            posr::Posr00,
            posr::Posr00,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        posr::Posr01,
        posr::Posr01,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            posr::Posr01,
            posr::Posr01,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        posr::Posr02,
        posr::Posr02,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            posr::Posr02,
            posr::Posr02,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        posr::Posr03,
        posr::Posr03,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            posr::Posr03,
            posr::Posr03,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        posr::Posr04,
        posr::Posr04,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            posr::Posr04,
            posr::Posr04,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        posr::Posr05,
        posr::Posr05,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            posr::Posr05,
            posr::Posr05,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        posr::Posr06,
        posr::Posr06,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            posr::Posr06,
            posr::Posr06,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        posr::Posr07,
        posr::Posr07,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            posr::Posr07,
            posr::Posr07,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        posr::Posr08,
        posr::Posr08,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            posr::Posr08,
            posr::Posr08,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        posr::Posr09,
        posr::Posr09,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            posr::Posr09,
            posr::Posr09,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        posr::Posr10,
        posr::Posr10,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            posr::Posr10,
            posr::Posr10,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        posr::Posr11,
        posr::Posr11,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            posr::Posr11,
            posr::Posr11,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        posr::Posr12,
        posr::Posr12,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            posr::Posr12,
            posr::Posr12,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        posr::Posr13,
        posr::Posr13,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            posr::Posr13,
            posr::Posr13,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        posr::Posr14,
        posr::Posr14,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            posr::Posr14,
            posr::Posr14,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Output Set"]
    #[inline(always)]
    pub fn posr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        posr::Posr15,
        posr::Posr15,
        Posr_SPEC,
        crate::common::W,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            posr::Posr15,
            posr::Posr15,
            Posr_SPEC,
            crate::common::W,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Posr {
    #[inline(always)]
    fn default() -> Posr {
        <crate::RegValueT<Posr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod posr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr00_SPEC;
    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
    impl Posr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr01_SPEC;
    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
    impl Posr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr02_SPEC;
    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
    impl Posr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr03_SPEC;
    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
    impl Posr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr04_SPEC;
    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
    impl Posr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr05_SPEC;
    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
    impl Posr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr06_SPEC;
    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
    impl Posr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr07_SPEC;
    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
    impl Posr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr08_SPEC;
    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
    impl Posr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr09_SPEC;
    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
    impl Posr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr10_SPEC;
    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
    impl Posr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr11_SPEC;
    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
    impl Posr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr12_SPEC;
    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
    impl Posr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr13_SPEC;
    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
    impl Posr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr14_SPEC;
    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
    impl Posr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Posr15_SPEC;
    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
    impl Posr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Pcntr4_SPEC;
impl crate::sealed::RegSpec for Pcntr4_SPEC {
    type DataType = u32;
}
#[doc = "Port Control Register 4"]
pub type Pcntr4 = crate::RegValueT<Pcntr4_SPEC>;
impl Pcntr4 {
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        pcntr4::Eosr00,
        pcntr4::Eosr00,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            pcntr4::Eosr00,
            pcntr4::Eosr00,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        pcntr4::Eosr01,
        pcntr4::Eosr01,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            pcntr4::Eosr01,
            pcntr4::Eosr01,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        pcntr4::Eosr02,
        pcntr4::Eosr02,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            pcntr4::Eosr02,
            pcntr4::Eosr02,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        pcntr4::Eosr03,
        pcntr4::Eosr03,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            pcntr4::Eosr03,
            pcntr4::Eosr03,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        pcntr4::Eosr04,
        pcntr4::Eosr04,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            pcntr4::Eosr04,
            pcntr4::Eosr04,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        pcntr4::Eosr05,
        pcntr4::Eosr05,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            pcntr4::Eosr05,
            pcntr4::Eosr05,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        pcntr4::Eosr06,
        pcntr4::Eosr06,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            pcntr4::Eosr06,
            pcntr4::Eosr06,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        pcntr4::Eosr07,
        pcntr4::Eosr07,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            pcntr4::Eosr07,
            pcntr4::Eosr07,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        pcntr4::Eosr08,
        pcntr4::Eosr08,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            pcntr4::Eosr08,
            pcntr4::Eosr08,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        pcntr4::Eosr09,
        pcntr4::Eosr09,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            pcntr4::Eosr09,
            pcntr4::Eosr09,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        pcntr4::Eosr10,
        pcntr4::Eosr10,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            pcntr4::Eosr10,
            pcntr4::Eosr10,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        pcntr4::Eosr11,
        pcntr4::Eosr11,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            pcntr4::Eosr11,
            pcntr4::Eosr11,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        pcntr4::Eosr12,
        pcntr4::Eosr12,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            pcntr4::Eosr12,
            pcntr4::Eosr12,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        pcntr4::Eosr13,
        pcntr4::Eosr13,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            pcntr4::Eosr13,
            pcntr4::Eosr13,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        pcntr4::Eosr14,
        pcntr4::Eosr14,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            pcntr4::Eosr14,
            pcntr4::Eosr14,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        pcntr4::Eosr15,
        pcntr4::Eosr15,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            pcntr4::Eosr15,
            pcntr4::Eosr15,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr00(
        self,
    ) -> crate::common::RegisterField<
        16,
        0x1,
        1,
        0,
        pcntr4::Eorr00,
        pcntr4::Eorr00,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            16,
            0x1,
            1,
            0,
            pcntr4::Eorr00,
            pcntr4::Eorr00,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr01(
        self,
    ) -> crate::common::RegisterField<
        17,
        0x1,
        1,
        0,
        pcntr4::Eorr01,
        pcntr4::Eorr01,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            17,
            0x1,
            1,
            0,
            pcntr4::Eorr01,
            pcntr4::Eorr01,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr02(
        self,
    ) -> crate::common::RegisterField<
        18,
        0x1,
        1,
        0,
        pcntr4::Eorr02,
        pcntr4::Eorr02,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            18,
            0x1,
            1,
            0,
            pcntr4::Eorr02,
            pcntr4::Eorr02,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr03(
        self,
    ) -> crate::common::RegisterField<
        19,
        0x1,
        1,
        0,
        pcntr4::Eorr03,
        pcntr4::Eorr03,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            19,
            0x1,
            1,
            0,
            pcntr4::Eorr03,
            pcntr4::Eorr03,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr04(
        self,
    ) -> crate::common::RegisterField<
        20,
        0x1,
        1,
        0,
        pcntr4::Eorr04,
        pcntr4::Eorr04,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            20,
            0x1,
            1,
            0,
            pcntr4::Eorr04,
            pcntr4::Eorr04,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr05(
        self,
    ) -> crate::common::RegisterField<
        21,
        0x1,
        1,
        0,
        pcntr4::Eorr05,
        pcntr4::Eorr05,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            21,
            0x1,
            1,
            0,
            pcntr4::Eorr05,
            pcntr4::Eorr05,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr06(
        self,
    ) -> crate::common::RegisterField<
        22,
        0x1,
        1,
        0,
        pcntr4::Eorr06,
        pcntr4::Eorr06,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            22,
            0x1,
            1,
            0,
            pcntr4::Eorr06,
            pcntr4::Eorr06,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr07(
        self,
    ) -> crate::common::RegisterField<
        23,
        0x1,
        1,
        0,
        pcntr4::Eorr07,
        pcntr4::Eorr07,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            23,
            0x1,
            1,
            0,
            pcntr4::Eorr07,
            pcntr4::Eorr07,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr08(
        self,
    ) -> crate::common::RegisterField<
        24,
        0x1,
        1,
        0,
        pcntr4::Eorr08,
        pcntr4::Eorr08,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            24,
            0x1,
            1,
            0,
            pcntr4::Eorr08,
            pcntr4::Eorr08,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr09(
        self,
    ) -> crate::common::RegisterField<
        25,
        0x1,
        1,
        0,
        pcntr4::Eorr09,
        pcntr4::Eorr09,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            25,
            0x1,
            1,
            0,
            pcntr4::Eorr09,
            pcntr4::Eorr09,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr10(
        self,
    ) -> crate::common::RegisterField<
        26,
        0x1,
        1,
        0,
        pcntr4::Eorr10,
        pcntr4::Eorr10,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            26,
            0x1,
            1,
            0,
            pcntr4::Eorr10,
            pcntr4::Eorr10,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr11(
        self,
    ) -> crate::common::RegisterField<
        27,
        0x1,
        1,
        0,
        pcntr4::Eorr11,
        pcntr4::Eorr11,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            27,
            0x1,
            1,
            0,
            pcntr4::Eorr11,
            pcntr4::Eorr11,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr12(
        self,
    ) -> crate::common::RegisterField<
        28,
        0x1,
        1,
        0,
        pcntr4::Eorr12,
        pcntr4::Eorr12,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            28,
            0x1,
            1,
            0,
            pcntr4::Eorr12,
            pcntr4::Eorr12,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr13(
        self,
    ) -> crate::common::RegisterField<
        29,
        0x1,
        1,
        0,
        pcntr4::Eorr13,
        pcntr4::Eorr13,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            29,
            0x1,
            1,
            0,
            pcntr4::Eorr13,
            pcntr4::Eorr13,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr14(
        self,
    ) -> crate::common::RegisterField<
        30,
        0x1,
        1,
        0,
        pcntr4::Eorr14,
        pcntr4::Eorr14,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            30,
            0x1,
            1,
            0,
            pcntr4::Eorr14,
            pcntr4::Eorr14,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr15(
        self,
    ) -> crate::common::RegisterField<
        31,
        0x1,
        1,
        0,
        pcntr4::Eorr15,
        pcntr4::Eorr15,
        Pcntr4_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            31,
            0x1,
            1,
            0,
            pcntr4::Eorr15,
            pcntr4::Eorr15,
            Pcntr4_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Pcntr4 {
    #[inline(always)]
    fn default() -> Pcntr4 {
        <crate::RegValueT<Pcntr4_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod pcntr4 {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr00_SPEC;
    pub type Eosr00 = crate::EnumBitfieldStruct<u8, Eosr00_SPEC>;
    impl Eosr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr01_SPEC;
    pub type Eosr01 = crate::EnumBitfieldStruct<u8, Eosr01_SPEC>;
    impl Eosr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr02_SPEC;
    pub type Eosr02 = crate::EnumBitfieldStruct<u8, Eosr02_SPEC>;
    impl Eosr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr03_SPEC;
    pub type Eosr03 = crate::EnumBitfieldStruct<u8, Eosr03_SPEC>;
    impl Eosr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr04_SPEC;
    pub type Eosr04 = crate::EnumBitfieldStruct<u8, Eosr04_SPEC>;
    impl Eosr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr05_SPEC;
    pub type Eosr05 = crate::EnumBitfieldStruct<u8, Eosr05_SPEC>;
    impl Eosr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr06_SPEC;
    pub type Eosr06 = crate::EnumBitfieldStruct<u8, Eosr06_SPEC>;
    impl Eosr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr07_SPEC;
    pub type Eosr07 = crate::EnumBitfieldStruct<u8, Eosr07_SPEC>;
    impl Eosr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr08_SPEC;
    pub type Eosr08 = crate::EnumBitfieldStruct<u8, Eosr08_SPEC>;
    impl Eosr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr09_SPEC;
    pub type Eosr09 = crate::EnumBitfieldStruct<u8, Eosr09_SPEC>;
    impl Eosr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr10_SPEC;
    pub type Eosr10 = crate::EnumBitfieldStruct<u8, Eosr10_SPEC>;
    impl Eosr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr11_SPEC;
    pub type Eosr11 = crate::EnumBitfieldStruct<u8, Eosr11_SPEC>;
    impl Eosr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr12_SPEC;
    pub type Eosr12 = crate::EnumBitfieldStruct<u8, Eosr12_SPEC>;
    impl Eosr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr13_SPEC;
    pub type Eosr13 = crate::EnumBitfieldStruct<u8, Eosr13_SPEC>;
    impl Eosr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr14_SPEC;
    pub type Eosr14 = crate::EnumBitfieldStruct<u8, Eosr14_SPEC>;
    impl Eosr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr15_SPEC;
    pub type Eosr15 = crate::EnumBitfieldStruct<u8, Eosr15_SPEC>;
    impl Eosr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr00_SPEC;
    pub type Eorr00 = crate::EnumBitfieldStruct<u8, Eorr00_SPEC>;
    impl Eorr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr01_SPEC;
    pub type Eorr01 = crate::EnumBitfieldStruct<u8, Eorr01_SPEC>;
    impl Eorr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr02_SPEC;
    pub type Eorr02 = crate::EnumBitfieldStruct<u8, Eorr02_SPEC>;
    impl Eorr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr03_SPEC;
    pub type Eorr03 = crate::EnumBitfieldStruct<u8, Eorr03_SPEC>;
    impl Eorr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr04_SPEC;
    pub type Eorr04 = crate::EnumBitfieldStruct<u8, Eorr04_SPEC>;
    impl Eorr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr05_SPEC;
    pub type Eorr05 = crate::EnumBitfieldStruct<u8, Eorr05_SPEC>;
    impl Eorr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr06_SPEC;
    pub type Eorr06 = crate::EnumBitfieldStruct<u8, Eorr06_SPEC>;
    impl Eorr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr07_SPEC;
    pub type Eorr07 = crate::EnumBitfieldStruct<u8, Eorr07_SPEC>;
    impl Eorr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr08_SPEC;
    pub type Eorr08 = crate::EnumBitfieldStruct<u8, Eorr08_SPEC>;
    impl Eorr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr09_SPEC;
    pub type Eorr09 = crate::EnumBitfieldStruct<u8, Eorr09_SPEC>;
    impl Eorr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr10_SPEC;
    pub type Eorr10 = crate::EnumBitfieldStruct<u8, Eorr10_SPEC>;
    impl Eorr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr11_SPEC;
    pub type Eorr11 = crate::EnumBitfieldStruct<u8, Eorr11_SPEC>;
    impl Eorr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr12_SPEC;
    pub type Eorr12 = crate::EnumBitfieldStruct<u8, Eorr12_SPEC>;
    impl Eorr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr13_SPEC;
    pub type Eorr13 = crate::EnumBitfieldStruct<u8, Eorr13_SPEC>;
    impl Eorr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr14_SPEC;
    pub type Eorr14 = crate::EnumBitfieldStruct<u8, Eorr14_SPEC>;
    impl Eorr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr15_SPEC;
    pub type Eorr15 = crate::EnumBitfieldStruct<u8, Eorr15_SPEC>;
    impl Eorr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Eorr_SPEC;
impl crate::sealed::RegSpec for Eorr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 4"]
pub type Eorr = crate::RegValueT<Eorr_SPEC>;
impl Eorr {
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        eorr::Eorr00,
        eorr::Eorr00,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            eorr::Eorr00,
            eorr::Eorr00,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        eorr::Eorr01,
        eorr::Eorr01,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            eorr::Eorr01,
            eorr::Eorr01,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        eorr::Eorr02,
        eorr::Eorr02,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            eorr::Eorr02,
            eorr::Eorr02,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        eorr::Eorr03,
        eorr::Eorr03,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            eorr::Eorr03,
            eorr::Eorr03,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        eorr::Eorr04,
        eorr::Eorr04,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            eorr::Eorr04,
            eorr::Eorr04,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        eorr::Eorr05,
        eorr::Eorr05,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            eorr::Eorr05,
            eorr::Eorr05,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        eorr::Eorr06,
        eorr::Eorr06,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            eorr::Eorr06,
            eorr::Eorr06,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        eorr::Eorr07,
        eorr::Eorr07,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            eorr::Eorr07,
            eorr::Eorr07,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        eorr::Eorr08,
        eorr::Eorr08,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            eorr::Eorr08,
            eorr::Eorr08,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        eorr::Eorr09,
        eorr::Eorr09,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            eorr::Eorr09,
            eorr::Eorr09,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        eorr::Eorr10,
        eorr::Eorr10,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            eorr::Eorr10,
            eorr::Eorr10,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        eorr::Eorr11,
        eorr::Eorr11,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            eorr::Eorr11,
            eorr::Eorr11,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        eorr::Eorr12,
        eorr::Eorr12,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            eorr::Eorr12,
            eorr::Eorr12,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        eorr::Eorr13,
        eorr::Eorr13,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            eorr::Eorr13,
            eorr::Eorr13,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        eorr::Eorr14,
        eorr::Eorr14,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            eorr::Eorr14,
            eorr::Eorr14,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Reset"]
    #[inline(always)]
    pub fn eorr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        eorr::Eorr15,
        eorr::Eorr15,
        Eorr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            eorr::Eorr15,
            eorr::Eorr15,
            Eorr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Eorr {
    #[inline(always)]
    fn default() -> Eorr {
        <crate::RegValueT<Eorr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod eorr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr00_SPEC;
    pub type Eorr00 = crate::EnumBitfieldStruct<u8, Eorr00_SPEC>;
    impl Eorr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr01_SPEC;
    pub type Eorr01 = crate::EnumBitfieldStruct<u8, Eorr01_SPEC>;
    impl Eorr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr02_SPEC;
    pub type Eorr02 = crate::EnumBitfieldStruct<u8, Eorr02_SPEC>;
    impl Eorr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr03_SPEC;
    pub type Eorr03 = crate::EnumBitfieldStruct<u8, Eorr03_SPEC>;
    impl Eorr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr04_SPEC;
    pub type Eorr04 = crate::EnumBitfieldStruct<u8, Eorr04_SPEC>;
    impl Eorr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr05_SPEC;
    pub type Eorr05 = crate::EnumBitfieldStruct<u8, Eorr05_SPEC>;
    impl Eorr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr06_SPEC;
    pub type Eorr06 = crate::EnumBitfieldStruct<u8, Eorr06_SPEC>;
    impl Eorr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr07_SPEC;
    pub type Eorr07 = crate::EnumBitfieldStruct<u8, Eorr07_SPEC>;
    impl Eorr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr08_SPEC;
    pub type Eorr08 = crate::EnumBitfieldStruct<u8, Eorr08_SPEC>;
    impl Eorr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr09_SPEC;
    pub type Eorr09 = crate::EnumBitfieldStruct<u8, Eorr09_SPEC>;
    impl Eorr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr10_SPEC;
    pub type Eorr10 = crate::EnumBitfieldStruct<u8, Eorr10_SPEC>;
    impl Eorr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr11_SPEC;
    pub type Eorr11 = crate::EnumBitfieldStruct<u8, Eorr11_SPEC>;
    impl Eorr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr12_SPEC;
    pub type Eorr12 = crate::EnumBitfieldStruct<u8, Eorr12_SPEC>;
    impl Eorr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr13_SPEC;
    pub type Eorr13 = crate::EnumBitfieldStruct<u8, Eorr13_SPEC>;
    impl Eorr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr14_SPEC;
    pub type Eorr14 = crate::EnumBitfieldStruct<u8, Eorr14_SPEC>;
    impl Eorr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eorr15_SPEC;
    pub type Eorr15 = crate::EnumBitfieldStruct<u8, Eorr15_SPEC>;
    impl Eorr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "Low output"]
        pub const _1: Self = Self::new(1);
    }
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Eosr_SPEC;
impl crate::sealed::RegSpec for Eosr_SPEC {
    type DataType = u16;
}
#[doc = "Port Control Register 4"]
pub type Eosr = crate::RegValueT<Eosr_SPEC>;
impl Eosr {
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr00(
        self,
    ) -> crate::common::RegisterField<
        0,
        0x1,
        1,
        0,
        eosr::Eosr00,
        eosr::Eosr00,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            0,
            0x1,
            1,
            0,
            eosr::Eosr00,
            eosr::Eosr00,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr01(
        self,
    ) -> crate::common::RegisterField<
        1,
        0x1,
        1,
        0,
        eosr::Eosr01,
        eosr::Eosr01,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            1,
            0x1,
            1,
            0,
            eosr::Eosr01,
            eosr::Eosr01,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr02(
        self,
    ) -> crate::common::RegisterField<
        2,
        0x1,
        1,
        0,
        eosr::Eosr02,
        eosr::Eosr02,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            2,
            0x1,
            1,
            0,
            eosr::Eosr02,
            eosr::Eosr02,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr03(
        self,
    ) -> crate::common::RegisterField<
        3,
        0x1,
        1,
        0,
        eosr::Eosr03,
        eosr::Eosr03,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            3,
            0x1,
            1,
            0,
            eosr::Eosr03,
            eosr::Eosr03,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr04(
        self,
    ) -> crate::common::RegisterField<
        4,
        0x1,
        1,
        0,
        eosr::Eosr04,
        eosr::Eosr04,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            4,
            0x1,
            1,
            0,
            eosr::Eosr04,
            eosr::Eosr04,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr05(
        self,
    ) -> crate::common::RegisterField<
        5,
        0x1,
        1,
        0,
        eosr::Eosr05,
        eosr::Eosr05,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            5,
            0x1,
            1,
            0,
            eosr::Eosr05,
            eosr::Eosr05,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr06(
        self,
    ) -> crate::common::RegisterField<
        6,
        0x1,
        1,
        0,
        eosr::Eosr06,
        eosr::Eosr06,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            6,
            0x1,
            1,
            0,
            eosr::Eosr06,
            eosr::Eosr06,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr07(
        self,
    ) -> crate::common::RegisterField<
        7,
        0x1,
        1,
        0,
        eosr::Eosr07,
        eosr::Eosr07,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            7,
            0x1,
            1,
            0,
            eosr::Eosr07,
            eosr::Eosr07,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr08(
        self,
    ) -> crate::common::RegisterField<
        8,
        0x1,
        1,
        0,
        eosr::Eosr08,
        eosr::Eosr08,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            8,
            0x1,
            1,
            0,
            eosr::Eosr08,
            eosr::Eosr08,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr09(
        self,
    ) -> crate::common::RegisterField<
        9,
        0x1,
        1,
        0,
        eosr::Eosr09,
        eosr::Eosr09,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            9,
            0x1,
            1,
            0,
            eosr::Eosr09,
            eosr::Eosr09,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr10(
        self,
    ) -> crate::common::RegisterField<
        10,
        0x1,
        1,
        0,
        eosr::Eosr10,
        eosr::Eosr10,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            10,
            0x1,
            1,
            0,
            eosr::Eosr10,
            eosr::Eosr10,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr11(
        self,
    ) -> crate::common::RegisterField<
        11,
        0x1,
        1,
        0,
        eosr::Eosr11,
        eosr::Eosr11,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            11,
            0x1,
            1,
            0,
            eosr::Eosr11,
            eosr::Eosr11,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr12(
        self,
    ) -> crate::common::RegisterField<
        12,
        0x1,
        1,
        0,
        eosr::Eosr12,
        eosr::Eosr12,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            12,
            0x1,
            1,
            0,
            eosr::Eosr12,
            eosr::Eosr12,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr13(
        self,
    ) -> crate::common::RegisterField<
        13,
        0x1,
        1,
        0,
        eosr::Eosr13,
        eosr::Eosr13,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            13,
            0x1,
            1,
            0,
            eosr::Eosr13,
            eosr::Eosr13,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr14(
        self,
    ) -> crate::common::RegisterField<
        14,
        0x1,
        1,
        0,
        eosr::Eosr14,
        eosr::Eosr14,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            14,
            0x1,
            1,
            0,
            eosr::Eosr14,
            eosr::Eosr14,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
    #[doc = "Pmn Event Output Set"]
    #[inline(always)]
    pub fn eosr15(
        self,
    ) -> crate::common::RegisterField<
        15,
        0x1,
        1,
        0,
        eosr::Eosr15,
        eosr::Eosr15,
        Eosr_SPEC,
        crate::common::RW,
    > {
        crate::common::RegisterField::<
            15,
            0x1,
            1,
            0,
            eosr::Eosr15,
            eosr::Eosr15,
            Eosr_SPEC,
            crate::common::RW,
        >::from_register(self, 0)
    }
}
impl ::core::default::Default for Eosr {
    #[inline(always)]
    fn default() -> Eosr {
        <crate::RegValueT<Eosr_SPEC> as RegisterValue<_>>::new(0)
    }
}
pub mod eosr {
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr00_SPEC;
    pub type Eosr00 = crate::EnumBitfieldStruct<u8, Eosr00_SPEC>;
    impl Eosr00 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr01_SPEC;
    pub type Eosr01 = crate::EnumBitfieldStruct<u8, Eosr01_SPEC>;
    impl Eosr01 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr02_SPEC;
    pub type Eosr02 = crate::EnumBitfieldStruct<u8, Eosr02_SPEC>;
    impl Eosr02 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr03_SPEC;
    pub type Eosr03 = crate::EnumBitfieldStruct<u8, Eosr03_SPEC>;
    impl Eosr03 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr04_SPEC;
    pub type Eosr04 = crate::EnumBitfieldStruct<u8, Eosr04_SPEC>;
    impl Eosr04 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr05_SPEC;
    pub type Eosr05 = crate::EnumBitfieldStruct<u8, Eosr05_SPEC>;
    impl Eosr05 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr06_SPEC;
    pub type Eosr06 = crate::EnumBitfieldStruct<u8, Eosr06_SPEC>;
    impl Eosr06 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr07_SPEC;
    pub type Eosr07 = crate::EnumBitfieldStruct<u8, Eosr07_SPEC>;
    impl Eosr07 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr08_SPEC;
    pub type Eosr08 = crate::EnumBitfieldStruct<u8, Eosr08_SPEC>;
    impl Eosr08 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr09_SPEC;
    pub type Eosr09 = crate::EnumBitfieldStruct<u8, Eosr09_SPEC>;
    impl Eosr09 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr10_SPEC;
    pub type Eosr10 = crate::EnumBitfieldStruct<u8, Eosr10_SPEC>;
    impl Eosr10 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr11_SPEC;
    pub type Eosr11 = crate::EnumBitfieldStruct<u8, Eosr11_SPEC>;
    impl Eosr11 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr12_SPEC;
    pub type Eosr12 = crate::EnumBitfieldStruct<u8, Eosr12_SPEC>;
    impl Eosr12 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr13_SPEC;
    pub type Eosr13 = crate::EnumBitfieldStruct<u8, Eosr13_SPEC>;
    impl Eosr13 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr14_SPEC;
    pub type Eosr14 = crate::EnumBitfieldStruct<u8, Eosr14_SPEC>;
    impl Eosr14 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
    pub struct Eosr15_SPEC;
    pub type Eosr15 = crate::EnumBitfieldStruct<u8, Eosr15_SPEC>;
    impl Eosr15 {
        #[doc = "No effect on output"]
        pub const _0: Self = Self::new(0);
        #[doc = "High output"]
        pub const _1: Self = Self::new(1);
    }
}