#[doc = "Register `DMARST` reader"]
pub type R = crate::R<DmarstSpec>;
#[doc = "Field `EPRST0` reader - Control endpoint OUT (DMA cannot be enabled for this endpoint and EP0 bit must be 0)."]
pub type Eprst0R = crate::BitReader;
#[doc = "Field `EPRST1` reader - Control endpoint IN (DMA cannot be enabled for this endpoint and EP1 bit must be 0)."]
pub type Eprst1R = crate::BitReader;
#[doc = "Field `EPRST2` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst2R = crate::BitReader;
#[doc = "Field `EPRST3` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst3R = crate::BitReader;
#[doc = "Field `EPRST4` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst4R = crate::BitReader;
#[doc = "Field `EPRST5` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst5R = crate::BitReader;
#[doc = "Field `EPRST6` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst6R = crate::BitReader;
#[doc = "Field `EPRST7` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst7R = crate::BitReader;
#[doc = "Field `EPRST8` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst8R = crate::BitReader;
#[doc = "Field `EPRST9` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst9R = crate::BitReader;
#[doc = "Field `EPRST10` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst10R = crate::BitReader;
#[doc = "Field `EPRST11` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst11R = crate::BitReader;
#[doc = "Field `EPRST12` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst12R = crate::BitReader;
#[doc = "Field `EPRST13` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst13R = crate::BitReader;
#[doc = "Field `EPRST14` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst14R = crate::BitReader;
#[doc = "Field `EPRST15` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst15R = crate::BitReader;
#[doc = "Field `EPRST16` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst16R = crate::BitReader;
#[doc = "Field `EPRST17` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst17R = crate::BitReader;
#[doc = "Field `EPRST18` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst18R = crate::BitReader;
#[doc = "Field `EPRST19` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst19R = crate::BitReader;
#[doc = "Field `EPRST20` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst20R = crate::BitReader;
#[doc = "Field `EPRST21` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst21R = crate::BitReader;
#[doc = "Field `EPRST22` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst22R = crate::BitReader;
#[doc = "Field `EPRST23` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst23R = crate::BitReader;
#[doc = "Field `EPRST24` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst24R = crate::BitReader;
#[doc = "Field `EPRST25` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst25R = crate::BitReader;
#[doc = "Field `EPRST26` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst26R = crate::BitReader;
#[doc = "Field `EPRST27` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst27R = crate::BitReader;
#[doc = "Field `EPRST28` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst28R = crate::BitReader;
#[doc = "Field `EPRST29` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst29R = crate::BitReader;
#[doc = "Field `EPRST30` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst30R = crate::BitReader;
#[doc = "Field `EPRST31` reader - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
pub type Eprst31R = crate::BitReader;
impl R {
    #[doc = "Bit 0 - Control endpoint OUT (DMA cannot be enabled for this endpoint and EP0 bit must be 0)."]
    #[inline(always)]
    pub fn eprst0(&self) -> Eprst0R {
        Eprst0R::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - Control endpoint IN (DMA cannot be enabled for this endpoint and EP1 bit must be 0)."]
    #[inline(always)]
    pub fn eprst1(&self) -> Eprst1R {
        Eprst1R::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst2(&self) -> Eprst2R {
        Eprst2R::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst3(&self) -> Eprst3R {
        Eprst3R::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst4(&self) -> Eprst4R {
        Eprst4R::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst5(&self) -> Eprst5R {
        Eprst5R::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst6(&self) -> Eprst6R {
        Eprst6R::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst7(&self) -> Eprst7R {
        Eprst7R::new(((self.bits >> 7) & 1) != 0)
    }
    #[doc = "Bit 8 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst8(&self) -> Eprst8R {
        Eprst8R::new(((self.bits >> 8) & 1) != 0)
    }
    #[doc = "Bit 9 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst9(&self) -> Eprst9R {
        Eprst9R::new(((self.bits >> 9) & 1) != 0)
    }
    #[doc = "Bit 10 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst10(&self) -> Eprst10R {
        Eprst10R::new(((self.bits >> 10) & 1) != 0)
    }
    #[doc = "Bit 11 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst11(&self) -> Eprst11R {
        Eprst11R::new(((self.bits >> 11) & 1) != 0)
    }
    #[doc = "Bit 12 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst12(&self) -> Eprst12R {
        Eprst12R::new(((self.bits >> 12) & 1) != 0)
    }
    #[doc = "Bit 13 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst13(&self) -> Eprst13R {
        Eprst13R::new(((self.bits >> 13) & 1) != 0)
    }
    #[doc = "Bit 14 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst14(&self) -> Eprst14R {
        Eprst14R::new(((self.bits >> 14) & 1) != 0)
    }
    #[doc = "Bit 15 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst15(&self) -> Eprst15R {
        Eprst15R::new(((self.bits >> 15) & 1) != 0)
    }
    #[doc = "Bit 16 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst16(&self) -> Eprst16R {
        Eprst16R::new(((self.bits >> 16) & 1) != 0)
    }
    #[doc = "Bit 17 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst17(&self) -> Eprst17R {
        Eprst17R::new(((self.bits >> 17) & 1) != 0)
    }
    #[doc = "Bit 18 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst18(&self) -> Eprst18R {
        Eprst18R::new(((self.bits >> 18) & 1) != 0)
    }
    #[doc = "Bit 19 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst19(&self) -> Eprst19R {
        Eprst19R::new(((self.bits >> 19) & 1) != 0)
    }
    #[doc = "Bit 20 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst20(&self) -> Eprst20R {
        Eprst20R::new(((self.bits >> 20) & 1) != 0)
    }
    #[doc = "Bit 21 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst21(&self) -> Eprst21R {
        Eprst21R::new(((self.bits >> 21) & 1) != 0)
    }
    #[doc = "Bit 22 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst22(&self) -> Eprst22R {
        Eprst22R::new(((self.bits >> 22) & 1) != 0)
    }
    #[doc = "Bit 23 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst23(&self) -> Eprst23R {
        Eprst23R::new(((self.bits >> 23) & 1) != 0)
    }
    #[doc = "Bit 24 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst24(&self) -> Eprst24R {
        Eprst24R::new(((self.bits >> 24) & 1) != 0)
    }
    #[doc = "Bit 25 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst25(&self) -> Eprst25R {
        Eprst25R::new(((self.bits >> 25) & 1) != 0)
    }
    #[doc = "Bit 26 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst26(&self) -> Eprst26R {
        Eprst26R::new(((self.bits >> 26) & 1) != 0)
    }
    #[doc = "Bit 27 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst27(&self) -> Eprst27R {
        Eprst27R::new(((self.bits >> 27) & 1) != 0)
    }
    #[doc = "Bit 28 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst28(&self) -> Eprst28R {
        Eprst28R::new(((self.bits >> 28) & 1) != 0)
    }
    #[doc = "Bit 29 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst29(&self) -> Eprst29R {
        Eprst29R::new(((self.bits >> 29) & 1) != 0)
    }
    #[doc = "Bit 30 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst30(&self) -> Eprst30R {
        Eprst30R::new(((self.bits >> 30) & 1) != 0)
    }
    #[doc = "Bit 31 - Endpoint xx (2 <= xx <= 31) DMA request. 0 = DMA not requested by endpoint xx. 1 = DMA requested by endpoint xx."]
    #[inline(always)]
    pub fn eprst31(&self) -> Eprst31R {
        Eprst31R::new(((self.bits >> 31) & 1) != 0)
    }
}
#[doc = "USB DMA Request Status\n\nYou can [`read`](crate::Reg::read) this register and get [`dmarst::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct DmarstSpec;
impl crate::RegisterSpec for DmarstSpec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`dmarst::R`](R) reader structure"]
impl crate::Readable for DmarstSpec {}
#[doc = "`reset()` method sets DMARST to value 0"]
impl crate::Resettable for DmarstSpec {}
