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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#[repr(C)]
#[doc = "Register block"]
pub struct RegisterBlock {
    gpio_swporta_dr: GpioSwportaDr,
    gpio_swporta_ddr: GpioSwportaDdr,
    _reserved2: [u8; 0x28],
    gpio_inten: GpioInten,
    gpio_intmask: GpioIntmask,
    gpio_inttype_level: GpioInttypeLevel,
    gpio_int_polarity: GpioIntPolarity,
    gpio_int_status: GpioIntStatus,
    gpio_int_rawstatus: GpioIntRawstatus,
    gpio_debounce: GpioDebounce,
    gpio_porta_eoi: GpioPortaEoi,
    gpio_ext_porta: GpioExtPorta,
    _reserved11: [u8; 0x0c],
    gpio_ls_sync: GpioLsSync,
}
impl RegisterBlock {
    #[doc = "0x00 - Port A data register"]
    #[inline(always)]
    pub const fn gpio_swporta_dr(&self) -> &GpioSwportaDr {
        &self.gpio_swporta_dr
    }
    #[doc = "0x04 - Port A data direction register"]
    #[inline(always)]
    pub const fn gpio_swporta_ddr(&self) -> &GpioSwportaDdr {
        &self.gpio_swporta_ddr
    }
    #[doc = "0x30 - Interrupt enable register"]
    #[inline(always)]
    pub const fn gpio_inten(&self) -> &GpioInten {
        &self.gpio_inten
    }
    #[doc = "0x34 - Interrupt mask register"]
    #[inline(always)]
    pub const fn gpio_intmask(&self) -> &GpioIntmask {
        &self.gpio_intmask
    }
    #[doc = "0x38 - Interrupt level register"]
    #[inline(always)]
    pub const fn gpio_inttype_level(&self) -> &GpioInttypeLevel {
        &self.gpio_inttype_level
    }
    #[doc = "0x3c - Interrupt polarity register"]
    #[inline(always)]
    pub const fn gpio_int_polarity(&self) -> &GpioIntPolarity {
        &self.gpio_int_polarity
    }
    #[doc = "0x40 - Interrupt status of port A"]
    #[inline(always)]
    pub const fn gpio_int_status(&self) -> &GpioIntStatus {
        &self.gpio_int_status
    }
    #[doc = "0x44 - Raw Interrupt status of port A"]
    #[inline(always)]
    pub const fn gpio_int_rawstatus(&self) -> &GpioIntRawstatus {
        &self.gpio_int_rawstatus
    }
    #[doc = "0x48 - Debounce enable register"]
    #[inline(always)]
    pub const fn gpio_debounce(&self) -> &GpioDebounce {
        &self.gpio_debounce
    }
    #[doc = "0x4c - Port A clear interrupt register"]
    #[inline(always)]
    pub const fn gpio_porta_eoi(&self) -> &GpioPortaEoi {
        &self.gpio_porta_eoi
    }
    #[doc = "0x50 - Port A external port register"]
    #[inline(always)]
    pub const fn gpio_ext_porta(&self) -> &GpioExtPorta {
        &self.gpio_ext_porta
    }
    #[doc = "0x60 - Level_sensitive synchronization enable register"]
    #[inline(always)]
    pub const fn gpio_ls_sync(&self) -> &GpioLsSync {
        &self.gpio_ls_sync
    }
}
#[doc = "GPIO_SWPORTA_DR (rw) register accessor: Port A data register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_swporta_dr::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 [`gpio_swporta_dr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_swporta_dr`]
module"]
#[doc(alias = "GPIO_SWPORTA_DR")]
pub type GpioSwportaDr = crate::Reg<gpio_swporta_dr::GpioSwportaDrSpec>;
#[doc = "Port A data register"]
pub mod gpio_swporta_dr;
#[doc = "GPIO_SWPORTA_DDR (rw) register accessor: Port A data direction register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_swporta_ddr::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 [`gpio_swporta_ddr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_swporta_ddr`]
module"]
#[doc(alias = "GPIO_SWPORTA_DDR")]
pub type GpioSwportaDdr = crate::Reg<gpio_swporta_ddr::GpioSwportaDdrSpec>;
#[doc = "Port A data direction register"]
pub mod gpio_swporta_ddr;
#[doc = "GPIO_INTEN (rw) register accessor: Interrupt enable register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_inten::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 [`gpio_inten::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_inten`]
module"]
#[doc(alias = "GPIO_INTEN")]
pub type GpioInten = crate::Reg<gpio_inten::GpioIntenSpec>;
#[doc = "Interrupt enable register"]
pub mod gpio_inten;
#[doc = "GPIO_INTMASK (rw) register accessor: Interrupt mask register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_intmask::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 [`gpio_intmask::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_intmask`]
module"]
#[doc(alias = "GPIO_INTMASK")]
pub type GpioIntmask = crate::Reg<gpio_intmask::GpioIntmaskSpec>;
#[doc = "Interrupt mask register"]
pub mod gpio_intmask;
#[doc = "GPIO_INTTYPE_LEVEL (rw) register accessor: Interrupt level register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_inttype_level::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 [`gpio_inttype_level::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_inttype_level`]
module"]
#[doc(alias = "GPIO_INTTYPE_LEVEL")]
pub type GpioInttypeLevel = crate::Reg<gpio_inttype_level::GpioInttypeLevelSpec>;
#[doc = "Interrupt level register"]
pub mod gpio_inttype_level;
#[doc = "GPIO_INT_POLARITY (rw) register accessor: Interrupt polarity register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_int_polarity::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 [`gpio_int_polarity::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_int_polarity`]
module"]
#[doc(alias = "GPIO_INT_POLARITY")]
pub type GpioIntPolarity = crate::Reg<gpio_int_polarity::GpioIntPolaritySpec>;
#[doc = "Interrupt polarity register"]
pub mod gpio_int_polarity;
#[doc = "GPIO_INT_STATUS (r) register accessor: Interrupt status of port A\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_int_status::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_int_status`]
module"]
#[doc(alias = "GPIO_INT_STATUS")]
pub type GpioIntStatus = crate::Reg<gpio_int_status::GpioIntStatusSpec>;
#[doc = "Interrupt status of port A"]
pub mod gpio_int_status;
#[doc = "GPIO_INT_RAWSTATUS (r) register accessor: Raw Interrupt status of port A\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_int_rawstatus::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_int_rawstatus`]
module"]
#[doc(alias = "GPIO_INT_RAWSTATUS")]
pub type GpioIntRawstatus = crate::Reg<gpio_int_rawstatus::GpioIntRawstatusSpec>;
#[doc = "Raw Interrupt status of port A"]
pub mod gpio_int_rawstatus;
#[doc = "GPIO_DEBOUNCE (rw) register accessor: Debounce enable register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_debounce::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 [`gpio_debounce::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_debounce`]
module"]
#[doc(alias = "GPIO_DEBOUNCE")]
pub type GpioDebounce = crate::Reg<gpio_debounce::GpioDebounceSpec>;
#[doc = "Debounce enable register"]
pub mod gpio_debounce;
#[doc = "GPIO_PORTA_EOI (w) register accessor: Port A clear interrupt register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`gpio_porta_eoi::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_porta_eoi`]
module"]
#[doc(alias = "GPIO_PORTA_EOI")]
pub type GpioPortaEoi = crate::Reg<gpio_porta_eoi::GpioPortaEoiSpec>;
#[doc = "Port A clear interrupt register"]
pub mod gpio_porta_eoi;
#[doc = "GPIO_EXT_PORTA (r) register accessor: Port A external port register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_ext_porta::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_ext_porta`]
module"]
#[doc(alias = "GPIO_EXT_PORTA")]
pub type GpioExtPorta = crate::Reg<gpio_ext_porta::GpioExtPortaSpec>;
#[doc = "Port A external port register"]
pub mod gpio_ext_porta;
#[doc = "GPIO_LS_SYNC (rw) register accessor: Level_sensitive synchronization enable register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gpio_ls_sync::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 [`gpio_ls_sync::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpio_ls_sync`]
module"]
#[doc(alias = "GPIO_LS_SYNC")]
pub type GpioLsSync = crate::Reg<gpio_ls_sync::GpioLsSyncSpec>;
#[doc = "Level_sensitive synchronization enable register"]
pub mod gpio_ls_sync;