#[doc = "Register `DMARCLR` writer"]
pub type W = crate::W<DmarclrSpec>;
#[doc = "Field `EPRCLR0` writer - Control endpoint OUT (DMA cannot be enabled for this endpoint and the EP0 bit must be 0)."]
pub type Eprclr0W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR1` writer - Control endpoint IN (DMA cannot be enabled for this endpoint and the EP1 bit must be 0)."]
pub type Eprclr1W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR2` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR3` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr3W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR4` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr4W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR5` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr5W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR6` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr6W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR7` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr7W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR8` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr8W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR9` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr9W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR10` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr10W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR11` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr11W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR12` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr12W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR13` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr13W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR14` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr14W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR15` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr15W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR16` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr16W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR17` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr17W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR18` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr18W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR19` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr19W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR20` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr20W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR21` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr21W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR22` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr22W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR23` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr23W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR24` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr24W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR25` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr25W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR26` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr26W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR27` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr27W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR28` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr28W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR29` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr29W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR30` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr30W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `EPRCLR31` writer - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
pub type Eprclr31W<'a, REG> = crate::BitWriter<'a, REG>;
impl W {
    #[doc = "Bit 0 - Control endpoint OUT (DMA cannot be enabled for this endpoint and the EP0 bit must be 0)."]
    #[inline(always)]
    pub fn eprclr0(&mut self) -> Eprclr0W<'_, DmarclrSpec> {
        Eprclr0W::new(self, 0)
    }
    #[doc = "Bit 1 - Control endpoint IN (DMA cannot be enabled for this endpoint and the EP1 bit must be 0)."]
    #[inline(always)]
    pub fn eprclr1(&mut self) -> Eprclr1W<'_, DmarclrSpec> {
        Eprclr1W::new(self, 1)
    }
    #[doc = "Bit 2 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr2(&mut self) -> Eprclr2W<'_, DmarclrSpec> {
        Eprclr2W::new(self, 2)
    }
    #[doc = "Bit 3 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr3(&mut self) -> Eprclr3W<'_, DmarclrSpec> {
        Eprclr3W::new(self, 3)
    }
    #[doc = "Bit 4 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr4(&mut self) -> Eprclr4W<'_, DmarclrSpec> {
        Eprclr4W::new(self, 4)
    }
    #[doc = "Bit 5 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr5(&mut self) -> Eprclr5W<'_, DmarclrSpec> {
        Eprclr5W::new(self, 5)
    }
    #[doc = "Bit 6 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr6(&mut self) -> Eprclr6W<'_, DmarclrSpec> {
        Eprclr6W::new(self, 6)
    }
    #[doc = "Bit 7 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr7(&mut self) -> Eprclr7W<'_, DmarclrSpec> {
        Eprclr7W::new(self, 7)
    }
    #[doc = "Bit 8 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr8(&mut self) -> Eprclr8W<'_, DmarclrSpec> {
        Eprclr8W::new(self, 8)
    }
    #[doc = "Bit 9 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr9(&mut self) -> Eprclr9W<'_, DmarclrSpec> {
        Eprclr9W::new(self, 9)
    }
    #[doc = "Bit 10 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr10(&mut self) -> Eprclr10W<'_, DmarclrSpec> {
        Eprclr10W::new(self, 10)
    }
    #[doc = "Bit 11 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr11(&mut self) -> Eprclr11W<'_, DmarclrSpec> {
        Eprclr11W::new(self, 11)
    }
    #[doc = "Bit 12 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr12(&mut self) -> Eprclr12W<'_, DmarclrSpec> {
        Eprclr12W::new(self, 12)
    }
    #[doc = "Bit 13 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr13(&mut self) -> Eprclr13W<'_, DmarclrSpec> {
        Eprclr13W::new(self, 13)
    }
    #[doc = "Bit 14 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr14(&mut self) -> Eprclr14W<'_, DmarclrSpec> {
        Eprclr14W::new(self, 14)
    }
    #[doc = "Bit 15 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr15(&mut self) -> Eprclr15W<'_, DmarclrSpec> {
        Eprclr15W::new(self, 15)
    }
    #[doc = "Bit 16 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr16(&mut self) -> Eprclr16W<'_, DmarclrSpec> {
        Eprclr16W::new(self, 16)
    }
    #[doc = "Bit 17 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr17(&mut self) -> Eprclr17W<'_, DmarclrSpec> {
        Eprclr17W::new(self, 17)
    }
    #[doc = "Bit 18 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr18(&mut self) -> Eprclr18W<'_, DmarclrSpec> {
        Eprclr18W::new(self, 18)
    }
    #[doc = "Bit 19 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr19(&mut self) -> Eprclr19W<'_, DmarclrSpec> {
        Eprclr19W::new(self, 19)
    }
    #[doc = "Bit 20 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr20(&mut self) -> Eprclr20W<'_, DmarclrSpec> {
        Eprclr20W::new(self, 20)
    }
    #[doc = "Bit 21 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr21(&mut self) -> Eprclr21W<'_, DmarclrSpec> {
        Eprclr21W::new(self, 21)
    }
    #[doc = "Bit 22 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr22(&mut self) -> Eprclr22W<'_, DmarclrSpec> {
        Eprclr22W::new(self, 22)
    }
    #[doc = "Bit 23 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr23(&mut self) -> Eprclr23W<'_, DmarclrSpec> {
        Eprclr23W::new(self, 23)
    }
    #[doc = "Bit 24 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr24(&mut self) -> Eprclr24W<'_, DmarclrSpec> {
        Eprclr24W::new(self, 24)
    }
    #[doc = "Bit 25 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr25(&mut self) -> Eprclr25W<'_, DmarclrSpec> {
        Eprclr25W::new(self, 25)
    }
    #[doc = "Bit 26 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr26(&mut self) -> Eprclr26W<'_, DmarclrSpec> {
        Eprclr26W::new(self, 26)
    }
    #[doc = "Bit 27 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr27(&mut self) -> Eprclr27W<'_, DmarclrSpec> {
        Eprclr27W::new(self, 27)
    }
    #[doc = "Bit 28 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr28(&mut self) -> Eprclr28W<'_, DmarclrSpec> {
        Eprclr28W::new(self, 28)
    }
    #[doc = "Bit 29 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr29(&mut self) -> Eprclr29W<'_, DmarclrSpec> {
        Eprclr29W::new(self, 29)
    }
    #[doc = "Bit 30 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr30(&mut self) -> Eprclr30W<'_, DmarclrSpec> {
        Eprclr30W::new(self, 30)
    }
    #[doc = "Bit 31 - Clear the endpoint xx (2 <= xx <= 31) DMA request. 0 = No effect 1 = Clear the corresponding bit in USBDMARSt."]
    #[inline(always)]
    pub fn eprclr31(&mut self) -> Eprclr31W<'_, DmarclrSpec> {
        Eprclr31W::new(self, 31)
    }
}
#[doc = "USB DMA Request Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dmarclr::W`](W). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct DmarclrSpec;
impl crate::RegisterSpec for DmarclrSpec {
    type Ux = u32;
}
#[doc = "`write(|w| ..)` method takes [`dmarclr::W`](W) writer structure"]
impl crate::Writable for DmarclrSpec {
    type Safety = crate::Unsafe;
}
#[doc = "`reset()` method sets DMARCLR to value 0"]
impl crate::Resettable for DmarclrSpec {}
