#[doc = "Register `ABCDSR0` reader"]
pub type R = crate::R<Abcdsr0Spec>;
#[doc = "Register `ABCDSR0` writer"]
pub type W = crate::W<Abcdsr0Spec>;
#[doc = "Field `P0` reader - Peripheral Select."]
pub type P0R = crate::BitReader;
#[doc = "Field `P0` writer - Peripheral Select."]
pub type P0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P1` reader - Peripheral Select."]
pub type P1R = crate::BitReader;
#[doc = "Field `P1` writer - Peripheral Select."]
pub type P1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2` reader - Peripheral Select."]
pub type P2R = crate::BitReader;
#[doc = "Field `P2` writer - Peripheral Select."]
pub type P2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P3` reader - Peripheral Select."]
pub type P3R = crate::BitReader;
#[doc = "Field `P3` writer - Peripheral Select."]
pub type P3W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P4` reader - Peripheral Select."]
pub type P4R = crate::BitReader;
#[doc = "Field `P4` writer - Peripheral Select."]
pub type P4W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P5` reader - Peripheral Select."]
pub type P5R = crate::BitReader;
#[doc = "Field `P5` writer - Peripheral Select."]
pub type P5W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P6` reader - Peripheral Select."]
pub type P6R = crate::BitReader;
#[doc = "Field `P6` writer - Peripheral Select."]
pub type P6W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P7` reader - Peripheral Select."]
pub type P7R = crate::BitReader;
#[doc = "Field `P7` writer - Peripheral Select."]
pub type P7W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P8` reader - Peripheral Select."]
pub type P8R = crate::BitReader;
#[doc = "Field `P8` writer - Peripheral Select."]
pub type P8W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P9` reader - Peripheral Select."]
pub type P9R = crate::BitReader;
#[doc = "Field `P9` writer - Peripheral Select."]
pub type P9W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P10` reader - Peripheral Select."]
pub type P10R = crate::BitReader;
#[doc = "Field `P10` writer - Peripheral Select."]
pub type P10W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P11` reader - Peripheral Select."]
pub type P11R = crate::BitReader;
#[doc = "Field `P11` writer - Peripheral Select."]
pub type P11W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P12` reader - Peripheral Select."]
pub type P12R = crate::BitReader;
#[doc = "Field `P12` writer - Peripheral Select."]
pub type P12W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P13` reader - Peripheral Select."]
pub type P13R = crate::BitReader;
#[doc = "Field `P13` writer - Peripheral Select."]
pub type P13W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P14` reader - Peripheral Select."]
pub type P14R = crate::BitReader;
#[doc = "Field `P14` writer - Peripheral Select."]
pub type P14W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P15` reader - Peripheral Select."]
pub type P15R = crate::BitReader;
#[doc = "Field `P15` writer - Peripheral Select."]
pub type P15W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P16` reader - Peripheral Select."]
pub type P16R = crate::BitReader;
#[doc = "Field `P16` writer - Peripheral Select."]
pub type P16W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P17` reader - Peripheral Select."]
pub type P17R = crate::BitReader;
#[doc = "Field `P17` writer - Peripheral Select."]
pub type P17W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P18` reader - Peripheral Select."]
pub type P18R = crate::BitReader;
#[doc = "Field `P18` writer - Peripheral Select."]
pub type P18W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P19` reader - Peripheral Select."]
pub type P19R = crate::BitReader;
#[doc = "Field `P19` writer - Peripheral Select."]
pub type P19W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P20` reader - Peripheral Select."]
pub type P20R = crate::BitReader;
#[doc = "Field `P20` writer - Peripheral Select."]
pub type P20W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P21` reader - Peripheral Select."]
pub type P21R = crate::BitReader;
#[doc = "Field `P21` writer - Peripheral Select."]
pub type P21W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P22` reader - Peripheral Select."]
pub type P22R = crate::BitReader;
#[doc = "Field `P22` writer - Peripheral Select."]
pub type P22W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P23` reader - Peripheral Select."]
pub type P23R = crate::BitReader;
#[doc = "Field `P23` writer - Peripheral Select."]
pub type P23W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P24` reader - Peripheral Select."]
pub type P24R = crate::BitReader;
#[doc = "Field `P24` writer - Peripheral Select."]
pub type P24W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P25` reader - Peripheral Select."]
pub type P25R = crate::BitReader;
#[doc = "Field `P25` writer - Peripheral Select."]
pub type P25W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P26` reader - Peripheral Select."]
pub type P26R = crate::BitReader;
#[doc = "Field `P26` writer - Peripheral Select."]
pub type P26W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P27` reader - Peripheral Select."]
pub type P27R = crate::BitReader;
#[doc = "Field `P27` writer - Peripheral Select."]
pub type P27W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P28` reader - Peripheral Select."]
pub type P28R = crate::BitReader;
#[doc = "Field `P28` writer - Peripheral Select."]
pub type P28W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P29` reader - Peripheral Select."]
pub type P29R = crate::BitReader;
#[doc = "Field `P29` writer - Peripheral Select."]
pub type P29W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P30` reader - Peripheral Select."]
pub type P30R = crate::BitReader;
#[doc = "Field `P30` writer - Peripheral Select."]
pub type P30W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P31` reader - Peripheral Select."]
pub type P31R = crate::BitReader;
#[doc = "Field `P31` writer - Peripheral Select."]
pub type P31W<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
    #[doc = "Bit 0 - Peripheral Select."]
    #[inline(always)]
    pub fn p0(&self) -> P0R {
        P0R::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - Peripheral Select."]
    #[inline(always)]
    pub fn p1(&self) -> P1R {
        P1R::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - Peripheral Select."]
    #[inline(always)]
    pub fn p2(&self) -> P2R {
        P2R::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - Peripheral Select."]
    #[inline(always)]
    pub fn p3(&self) -> P3R {
        P3R::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - Peripheral Select."]
    #[inline(always)]
    pub fn p4(&self) -> P4R {
        P4R::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - Peripheral Select."]
    #[inline(always)]
    pub fn p5(&self) -> P5R {
        P5R::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - Peripheral Select."]
    #[inline(always)]
    pub fn p6(&self) -> P6R {
        P6R::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - Peripheral Select."]
    #[inline(always)]
    pub fn p7(&self) -> P7R {
        P7R::new(((self.bits >> 7) & 1) != 0)
    }
    #[doc = "Bit 8 - Peripheral Select."]
    #[inline(always)]
    pub fn p8(&self) -> P8R {
        P8R::new(((self.bits >> 8) & 1) != 0)
    }
    #[doc = "Bit 9 - Peripheral Select."]
    #[inline(always)]
    pub fn p9(&self) -> P9R {
        P9R::new(((self.bits >> 9) & 1) != 0)
    }
    #[doc = "Bit 10 - Peripheral Select."]
    #[inline(always)]
    pub fn p10(&self) -> P10R {
        P10R::new(((self.bits >> 10) & 1) != 0)
    }
    #[doc = "Bit 11 - Peripheral Select."]
    #[inline(always)]
    pub fn p11(&self) -> P11R {
        P11R::new(((self.bits >> 11) & 1) != 0)
    }
    #[doc = "Bit 12 - Peripheral Select."]
    #[inline(always)]
    pub fn p12(&self) -> P12R {
        P12R::new(((self.bits >> 12) & 1) != 0)
    }
    #[doc = "Bit 13 - Peripheral Select."]
    #[inline(always)]
    pub fn p13(&self) -> P13R {
        P13R::new(((self.bits >> 13) & 1) != 0)
    }
    #[doc = "Bit 14 - Peripheral Select."]
    #[inline(always)]
    pub fn p14(&self) -> P14R {
        P14R::new(((self.bits >> 14) & 1) != 0)
    }
    #[doc = "Bit 15 - Peripheral Select."]
    #[inline(always)]
    pub fn p15(&self) -> P15R {
        P15R::new(((self.bits >> 15) & 1) != 0)
    }
    #[doc = "Bit 16 - Peripheral Select."]
    #[inline(always)]
    pub fn p16(&self) -> P16R {
        P16R::new(((self.bits >> 16) & 1) != 0)
    }
    #[doc = "Bit 17 - Peripheral Select."]
    #[inline(always)]
    pub fn p17(&self) -> P17R {
        P17R::new(((self.bits >> 17) & 1) != 0)
    }
    #[doc = "Bit 18 - Peripheral Select."]
    #[inline(always)]
    pub fn p18(&self) -> P18R {
        P18R::new(((self.bits >> 18) & 1) != 0)
    }
    #[doc = "Bit 19 - Peripheral Select."]
    #[inline(always)]
    pub fn p19(&self) -> P19R {
        P19R::new(((self.bits >> 19) & 1) != 0)
    }
    #[doc = "Bit 20 - Peripheral Select."]
    #[inline(always)]
    pub fn p20(&self) -> P20R {
        P20R::new(((self.bits >> 20) & 1) != 0)
    }
    #[doc = "Bit 21 - Peripheral Select."]
    #[inline(always)]
    pub fn p21(&self) -> P21R {
        P21R::new(((self.bits >> 21) & 1) != 0)
    }
    #[doc = "Bit 22 - Peripheral Select."]
    #[inline(always)]
    pub fn p22(&self) -> P22R {
        P22R::new(((self.bits >> 22) & 1) != 0)
    }
    #[doc = "Bit 23 - Peripheral Select."]
    #[inline(always)]
    pub fn p23(&self) -> P23R {
        P23R::new(((self.bits >> 23) & 1) != 0)
    }
    #[doc = "Bit 24 - Peripheral Select."]
    #[inline(always)]
    pub fn p24(&self) -> P24R {
        P24R::new(((self.bits >> 24) & 1) != 0)
    }
    #[doc = "Bit 25 - Peripheral Select."]
    #[inline(always)]
    pub fn p25(&self) -> P25R {
        P25R::new(((self.bits >> 25) & 1) != 0)
    }
    #[doc = "Bit 26 - Peripheral Select."]
    #[inline(always)]
    pub fn p26(&self) -> P26R {
        P26R::new(((self.bits >> 26) & 1) != 0)
    }
    #[doc = "Bit 27 - Peripheral Select."]
    #[inline(always)]
    pub fn p27(&self) -> P27R {
        P27R::new(((self.bits >> 27) & 1) != 0)
    }
    #[doc = "Bit 28 - Peripheral Select."]
    #[inline(always)]
    pub fn p28(&self) -> P28R {
        P28R::new(((self.bits >> 28) & 1) != 0)
    }
    #[doc = "Bit 29 - Peripheral Select."]
    #[inline(always)]
    pub fn p29(&self) -> P29R {
        P29R::new(((self.bits >> 29) & 1) != 0)
    }
    #[doc = "Bit 30 - Peripheral Select."]
    #[inline(always)]
    pub fn p30(&self) -> P30R {
        P30R::new(((self.bits >> 30) & 1) != 0)
    }
    #[doc = "Bit 31 - Peripheral Select."]
    #[inline(always)]
    pub fn p31(&self) -> P31R {
        P31R::new(((self.bits >> 31) & 1) != 0)
    }
}
impl W {
    #[doc = "Bit 0 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p0(&mut self) -> P0W<Abcdsr0Spec> {
        P0W::new(self, 0)
    }
    #[doc = "Bit 1 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p1(&mut self) -> P1W<Abcdsr0Spec> {
        P1W::new(self, 1)
    }
    #[doc = "Bit 2 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p2(&mut self) -> P2W<Abcdsr0Spec> {
        P2W::new(self, 2)
    }
    #[doc = "Bit 3 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p3(&mut self) -> P3W<Abcdsr0Spec> {
        P3W::new(self, 3)
    }
    #[doc = "Bit 4 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p4(&mut self) -> P4W<Abcdsr0Spec> {
        P4W::new(self, 4)
    }
    #[doc = "Bit 5 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p5(&mut self) -> P5W<Abcdsr0Spec> {
        P5W::new(self, 5)
    }
    #[doc = "Bit 6 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p6(&mut self) -> P6W<Abcdsr0Spec> {
        P6W::new(self, 6)
    }
    #[doc = "Bit 7 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p7(&mut self) -> P7W<Abcdsr0Spec> {
        P7W::new(self, 7)
    }
    #[doc = "Bit 8 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p8(&mut self) -> P8W<Abcdsr0Spec> {
        P8W::new(self, 8)
    }
    #[doc = "Bit 9 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p9(&mut self) -> P9W<Abcdsr0Spec> {
        P9W::new(self, 9)
    }
    #[doc = "Bit 10 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p10(&mut self) -> P10W<Abcdsr0Spec> {
        P10W::new(self, 10)
    }
    #[doc = "Bit 11 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p11(&mut self) -> P11W<Abcdsr0Spec> {
        P11W::new(self, 11)
    }
    #[doc = "Bit 12 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p12(&mut self) -> P12W<Abcdsr0Spec> {
        P12W::new(self, 12)
    }
    #[doc = "Bit 13 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p13(&mut self) -> P13W<Abcdsr0Spec> {
        P13W::new(self, 13)
    }
    #[doc = "Bit 14 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p14(&mut self) -> P14W<Abcdsr0Spec> {
        P14W::new(self, 14)
    }
    #[doc = "Bit 15 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p15(&mut self) -> P15W<Abcdsr0Spec> {
        P15W::new(self, 15)
    }
    #[doc = "Bit 16 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p16(&mut self) -> P16W<Abcdsr0Spec> {
        P16W::new(self, 16)
    }
    #[doc = "Bit 17 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p17(&mut self) -> P17W<Abcdsr0Spec> {
        P17W::new(self, 17)
    }
    #[doc = "Bit 18 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p18(&mut self) -> P18W<Abcdsr0Spec> {
        P18W::new(self, 18)
    }
    #[doc = "Bit 19 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p19(&mut self) -> P19W<Abcdsr0Spec> {
        P19W::new(self, 19)
    }
    #[doc = "Bit 20 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p20(&mut self) -> P20W<Abcdsr0Spec> {
        P20W::new(self, 20)
    }
    #[doc = "Bit 21 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p21(&mut self) -> P21W<Abcdsr0Spec> {
        P21W::new(self, 21)
    }
    #[doc = "Bit 22 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p22(&mut self) -> P22W<Abcdsr0Spec> {
        P22W::new(self, 22)
    }
    #[doc = "Bit 23 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p23(&mut self) -> P23W<Abcdsr0Spec> {
        P23W::new(self, 23)
    }
    #[doc = "Bit 24 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p24(&mut self) -> P24W<Abcdsr0Spec> {
        P24W::new(self, 24)
    }
    #[doc = "Bit 25 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p25(&mut self) -> P25W<Abcdsr0Spec> {
        P25W::new(self, 25)
    }
    #[doc = "Bit 26 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p26(&mut self) -> P26W<Abcdsr0Spec> {
        P26W::new(self, 26)
    }
    #[doc = "Bit 27 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p27(&mut self) -> P27W<Abcdsr0Spec> {
        P27W::new(self, 27)
    }
    #[doc = "Bit 28 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p28(&mut self) -> P28W<Abcdsr0Spec> {
        P28W::new(self, 28)
    }
    #[doc = "Bit 29 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p29(&mut self) -> P29W<Abcdsr0Spec> {
        P29W::new(self, 29)
    }
    #[doc = "Bit 30 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p30(&mut self) -> P30W<Abcdsr0Spec> {
        P30W::new(self, 30)
    }
    #[doc = "Bit 31 - Peripheral Select."]
    #[inline(always)]
    #[must_use]
    pub fn p31(&mut self) -> P31W<Abcdsr0Spec> {
        P31W::new(self, 31)
    }
}
#[doc = "Peripheral Select Register 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`abcdsr0::R`](R).  You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`abcdsr0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct Abcdsr0Spec;
impl crate::RegisterSpec for Abcdsr0Spec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`abcdsr0::R`](R) reader structure"]
impl crate::Readable for Abcdsr0Spec {}
#[doc = "`write(|w| ..)` method takes [`abcdsr0::W`](W) writer structure"]
impl crate::Writable for Abcdsr0Spec {
    type Safety = crate::Unsafe;
    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
}