1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - control register"]
    pub cr: crate::Reg<cr::CR_SPEC>,
    #[doc = "0x04 - interrupt enable register"]
    pub ier: crate::Reg<ier::IER_SPEC>,
    #[doc = "0x08 - interrupt clear register"]
    pub icr: crate::Reg<icr::ICR_SPEC>,
    #[doc = "0x0c - interrupt status register"]
    pub isr: crate::Reg<isr::ISR_SPEC>,
    #[doc = "0x10 - I/O hysteresis control register"]
    pub iohcr: crate::Reg<iohcr::IOHCR_SPEC>,
    _reserved5: [u8; 0x04],
    #[doc = "0x18 - I/O analog switch control register"]
    pub ioascr: crate::Reg<ioascr::IOASCR_SPEC>,
    _reserved6: [u8; 0x04],
    #[doc = "0x20 - I/O sampling control register"]
    pub ioscr: crate::Reg<ioscr::IOSCR_SPEC>,
    _reserved7: [u8; 0x04],
    #[doc = "0x28 - I/O channel control register"]
    pub ioccr: crate::Reg<ioccr::IOCCR_SPEC>,
    _reserved8: [u8; 0x04],
    #[doc = "0x30 - I/O group control status register"]
    pub iogcsr: crate::Reg<iogcsr::IOGCSR_SPEC>,
    #[doc = "0x34..0x54 - I/O group x counter register"]
    pub iogcr: [crate::Reg<iogcr::IOGCR_SPEC>; 8],
}
impl RegisterBlock {
    #[doc = "0x34 - I/O group x counter register"]
    #[inline(always)]
    pub fn iog1cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[0]
    }
    #[doc = "0x38 - I/O group x counter register"]
    #[inline(always)]
    pub fn iog2cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[1]
    }
    #[doc = "0x3c - I/O group x counter register"]
    #[inline(always)]
    pub fn iog3cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[2]
    }
    #[doc = "0x40 - I/O group x counter register"]
    #[inline(always)]
    pub fn iog4cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[3]
    }
    #[doc = "0x44 - I/O group x counter register"]
    #[inline(always)]
    pub fn iog5cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[4]
    }
    #[doc = "0x48 - I/O group x counter register"]
    #[inline(always)]
    pub fn iog6cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[5]
    }
    #[doc = "0x4c - I/O group x counter register"]
    #[inline(always)]
    pub fn iog7cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[6]
    }
    #[doc = "0x50 - I/O group x counter register"]
    #[inline(always)]
    pub fn iog8cr(&self) -> &crate::Reg<iogcr::IOGCR_SPEC> {
        &self.iogcr[7]
    }
}
#[doc = "CR register accessor: an alias for `Reg<CR_SPEC>`"]
pub type CR = crate::Reg<cr::CR_SPEC>;
#[doc = "control register"]
pub mod cr;
#[doc = "IER register accessor: an alias for `Reg<IER_SPEC>`"]
pub type IER = crate::Reg<ier::IER_SPEC>;
#[doc = "interrupt enable register"]
pub mod ier;
#[doc = "ICR register accessor: an alias for `Reg<ICR_SPEC>`"]
pub type ICR = crate::Reg<icr::ICR_SPEC>;
#[doc = "interrupt clear register"]
pub mod icr;
#[doc = "ISR register accessor: an alias for `Reg<ISR_SPEC>`"]
pub type ISR = crate::Reg<isr::ISR_SPEC>;
#[doc = "interrupt status register"]
pub mod isr;
#[doc = "IOHCR register accessor: an alias for `Reg<IOHCR_SPEC>`"]
pub type IOHCR = crate::Reg<iohcr::IOHCR_SPEC>;
#[doc = "I/O hysteresis control register"]
pub mod iohcr;
#[doc = "IOASCR register accessor: an alias for `Reg<IOASCR_SPEC>`"]
pub type IOASCR = crate::Reg<ioascr::IOASCR_SPEC>;
#[doc = "I/O analog switch control register"]
pub mod ioascr;
#[doc = "IOSCR register accessor: an alias for `Reg<IOSCR_SPEC>`"]
pub type IOSCR = crate::Reg<ioscr::IOSCR_SPEC>;
#[doc = "I/O sampling control register"]
pub mod ioscr;
#[doc = "IOCCR register accessor: an alias for `Reg<IOCCR_SPEC>`"]
pub type IOCCR = crate::Reg<ioccr::IOCCR_SPEC>;
#[doc = "I/O channel control register"]
pub mod ioccr;
#[doc = "IOGCSR register accessor: an alias for `Reg<IOGCSR_SPEC>`"]
pub type IOGCSR = crate::Reg<iogcsr::IOGCSR_SPEC>;
#[doc = "I/O group control status register"]
pub mod iogcsr;
#[doc = "IOGCR register accessor: an alias for `Reg<IOGCR_SPEC>`"]
pub type IOGCR = crate::Reg<iogcr::IOGCR_SPEC>;
#[doc = "I/O group x counter register"]
pub mod iogcr;