rp2040_pac/syscfg/
proc_in_sync_bypass.rs

1#[doc = "Register `PROC_IN_SYNC_BYPASS` reader"]
2pub type R = crate::R<PROC_IN_SYNC_BYPASS_SPEC>;
3#[doc = "Register `PROC_IN_SYNC_BYPASS` writer"]
4pub type W = crate::W<PROC_IN_SYNC_BYPASS_SPEC>;
5#[doc = "Field `PROC_IN_SYNC_BYPASS` reader - "]
6pub type PROC_IN_SYNC_BYPASS_R = crate::FieldReader<u32>;
7#[doc = "Field `PROC_IN_SYNC_BYPASS` writer - "]
8pub type PROC_IN_SYNC_BYPASS_W<'a, REG> = crate::FieldWriter<'a, REG, 30, u32>;
9impl R {
10    #[doc = "Bits 0:29"]
11    #[inline(always)]
12    pub fn proc_in_sync_bypass(&self) -> PROC_IN_SYNC_BYPASS_R {
13        PROC_IN_SYNC_BYPASS_R::new(self.bits & 0x3fff_ffff)
14    }
15}
16impl W {
17    #[doc = "Bits 0:29"]
18    #[inline(always)]
19    #[must_use]
20    pub fn proc_in_sync_bypass(&mut self) -> PROC_IN_SYNC_BYPASS_W<PROC_IN_SYNC_BYPASS_SPEC> {
21        PROC_IN_SYNC_BYPASS_W::new(self, 0)
22    }
23    #[doc = r" Writes raw bits to the register."]
24    #[doc = r""]
25    #[doc = r" # Safety"]
26    #[doc = r""]
27    #[doc = r" Passing incorrect value can cause undefined behaviour. See reference manual"]
28    #[inline(always)]
29    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
30        self.bits = bits;
31        self
32    }
33}
34#[doc = "For each bit, if 1, bypass the input synchronizer between that GPIO  
35 and the GPIO input register in the SIO. The input synchronizers should  
36 generally be unbypassed, to avoid injecting metastabilities into processors.  
37 If you're feeling brave, you can bypass to save two cycles of input  
38 latency. This register applies to GPIO 0...29.  
39
40You can [`read`](crate::generic::Reg::read) this register and get [`proc_in_sync_bypass::R`](R).  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`proc_in_sync_bypass::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
41pub struct PROC_IN_SYNC_BYPASS_SPEC;
42impl crate::RegisterSpec for PROC_IN_SYNC_BYPASS_SPEC {
43    type Ux = u32;
44}
45#[doc = "`read()` method returns [`proc_in_sync_bypass::R`](R) reader structure"]
46impl crate::Readable for PROC_IN_SYNC_BYPASS_SPEC {}
47#[doc = "`write(|w| ..)` method takes [`proc_in_sync_bypass::W`](W) writer structure"]
48impl crate::Writable for PROC_IN_SYNC_BYPASS_SPEC {
49    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
50    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
51}
52#[doc = "`reset()` method sets PROC_IN_SYNC_BYPASS to value 0"]
53impl crate::Resettable for PROC_IN_SYNC_BYPASS_SPEC {
54    const RESET_VALUE: u32 = 0;
55}