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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - General Purpose IO Register 0"]
    pub gpior0: GPIOR0,
    _reserved1: [u8; 11usize],
    #[doc = "0x0c - General Purpose IO Register 1"]
    pub gpior1: GPIOR1,
    #[doc = "0x0d - General Purpose IO Register 2"]
    pub gpior2: GPIOR2,
    _reserved3: [u8; 7usize],
    #[doc = "0x15 - Sleep Mode Control Register"]
    pub smcr: SMCR,
    #[doc = "0x16 - MCU Status Register"]
    pub mcusr: MCUSR,
    #[doc = "0x17 - MCU Control Register"]
    pub mcucr: MCUCR,
    _reserved6: [u8; 5usize],
    #[doc = "0x1d - Extended Z-pointer Register for ELPM/SPM"]
    pub rampz: RAMPZ,
    #[doc = "0x1e - Extended Indirect Register"]
    pub eind: EIND,
    _reserved8: [u8; 4usize],
    #[doc = "0x23 - <TBD>"]
    pub clkpr: CLKPR,
    _reserved9: [u8; 2usize],
    #[doc = "0x26 - Power Reduction Register0"]
    pub prr0: PRR0,
    #[doc = "0x27 - Power Reduction Register1"]
    pub prr1: PRR1,
    #[doc = "0x28 - Oscillator Calibration Value"]
    pub osccal: OSCCAL,
    #[doc = "0x29 - Oscillator Control Register"]
    pub rcctrl: RCCTRL,
    _reserved13: [u8; 93usize],
    #[doc = "0x87 - <TBD>"]
    pub clksel0: CLKSEL0,
    #[doc = "0x88 - <TBD>"]
    pub clksel1: CLKSEL1,
    #[doc = "0x89 - <TBD>"]
    pub clksta: CLKSTA,
}
#[doc = "<TBD>\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [clkpr](clkpr) module"]
pub type CLKPR = crate::Reg<u8, _CLKPR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CLKPR;
#[doc = "`read()` method returns [clkpr::R](clkpr::R) reader structure"]
impl crate::Readable for CLKPR {}
#[doc = "`write(|w| ..)` method takes [clkpr::W](clkpr::W) writer structure"]
impl crate::Writable for CLKPR {}
#[doc = "<TBD>"]
pub mod clkpr;
#[doc = "<TBD>\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [clksel0](clksel0) module"]
pub type CLKSEL0 = crate::Reg<u8, _CLKSEL0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CLKSEL0;
#[doc = "`read()` method returns [clksel0::R](clksel0::R) reader structure"]
impl crate::Readable for CLKSEL0 {}
#[doc = "`write(|w| ..)` method takes [clksel0::W](clksel0::W) writer structure"]
impl crate::Writable for CLKSEL0 {}
#[doc = "<TBD>"]
pub mod clksel0;
#[doc = "<TBD>\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [clksel1](clksel1) module"]
pub type CLKSEL1 = crate::Reg<u8, _CLKSEL1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CLKSEL1;
#[doc = "`read()` method returns [clksel1::R](clksel1::R) reader structure"]
impl crate::Readable for CLKSEL1 {}
#[doc = "`write(|w| ..)` method takes [clksel1::W](clksel1::W) writer structure"]
impl crate::Writable for CLKSEL1 {}
#[doc = "<TBD>"]
pub mod clksel1;
#[doc = "<TBD>\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [clksta](clksta) module"]
pub type CLKSTA = crate::Reg<u8, _CLKSTA>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CLKSTA;
#[doc = "`read()` method returns [clksta::R](clksta::R) reader structure"]
impl crate::Readable for CLKSTA {}
#[doc = "<TBD>"]
pub mod clksta;
#[doc = "Extended Indirect Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [eind](eind) module"]
pub type EIND = crate::Reg<u8, _EIND>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EIND;
#[doc = "`read()` method returns [eind::R](eind::R) reader structure"]
impl crate::Readable for EIND {}
#[doc = "`write(|w| ..)` method takes [eind::W](eind::W) writer structure"]
impl crate::Writable for EIND {}
#[doc = "Extended Indirect Register"]
pub mod eind;
#[doc = "General Purpose IO Register 0\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [gpior0](gpior0) module"]
pub type GPIOR0 = crate::Reg<u8, _GPIOR0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _GPIOR0;
#[doc = "`read()` method returns [gpior0::R](gpior0::R) reader structure"]
impl crate::Readable for GPIOR0 {}
#[doc = "`write(|w| ..)` method takes [gpior0::W](gpior0::W) writer structure"]
impl crate::Writable for GPIOR0 {}
#[doc = "General Purpose IO Register 0"]
pub mod gpior0;
#[doc = "General Purpose IO Register 1\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [gpior1](gpior1) module"]
pub type GPIOR1 = crate::Reg<u8, _GPIOR1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _GPIOR1;
#[doc = "`read()` method returns [gpior1::R](gpior1::R) reader structure"]
impl crate::Readable for GPIOR1 {}
#[doc = "`write(|w| ..)` method takes [gpior1::W](gpior1::W) writer structure"]
impl crate::Writable for GPIOR1 {}
#[doc = "General Purpose IO Register 1"]
pub mod gpior1;
#[doc = "General Purpose IO Register 2\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [gpior2](gpior2) module"]
pub type GPIOR2 = crate::Reg<u8, _GPIOR2>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _GPIOR2;
#[doc = "`read()` method returns [gpior2::R](gpior2::R) reader structure"]
impl crate::Readable for GPIOR2 {}
#[doc = "`write(|w| ..)` method takes [gpior2::W](gpior2::W) writer structure"]
impl crate::Writable for GPIOR2 {}
#[doc = "General Purpose IO Register 2"]
pub mod gpior2;
#[doc = "MCU Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [mcucr](mcucr) module"]
pub type MCUCR = crate::Reg<u8, _MCUCR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _MCUCR;
#[doc = "`read()` method returns [mcucr::R](mcucr::R) reader structure"]
impl crate::Readable for MCUCR {}
#[doc = "`write(|w| ..)` method takes [mcucr::W](mcucr::W) writer structure"]
impl crate::Writable for MCUCR {}
#[doc = "MCU Control Register"]
pub mod mcucr;
#[doc = "MCU Status Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [mcusr](mcusr) module"]
pub type MCUSR = crate::Reg<u8, _MCUSR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _MCUSR;
#[doc = "`read()` method returns [mcusr::R](mcusr::R) reader structure"]
impl crate::Readable for MCUSR {}
#[doc = "`write(|w| ..)` method takes [mcusr::W](mcusr::W) writer structure"]
impl crate::Writable for MCUSR {}
#[doc = "MCU Status Register"]
pub mod mcusr;
#[doc = "Oscillator Calibration Value\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [osccal](osccal) module"]
pub type OSCCAL = crate::Reg<u8, _OSCCAL>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _OSCCAL;
#[doc = "`read()` method returns [osccal::R](osccal::R) reader structure"]
impl crate::Readable for OSCCAL {}
#[doc = "`write(|w| ..)` method takes [osccal::W](osccal::W) writer structure"]
impl crate::Writable for OSCCAL {}
#[doc = "Oscillator Calibration Value"]
pub mod osccal;
#[doc = "Power Reduction Register0\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [prr0](prr0) module"]
pub type PRR0 = crate::Reg<u8, _PRR0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _PRR0;
#[doc = "`read()` method returns [prr0::R](prr0::R) reader structure"]
impl crate::Readable for PRR0 {}
#[doc = "`write(|w| ..)` method takes [prr0::W](prr0::W) writer structure"]
impl crate::Writable for PRR0 {}
#[doc = "Power Reduction Register0"]
pub mod prr0;
#[doc = "Power Reduction Register1\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [prr1](prr1) module"]
pub type PRR1 = crate::Reg<u8, _PRR1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _PRR1;
#[doc = "`read()` method returns [prr1::R](prr1::R) reader structure"]
impl crate::Readable for PRR1 {}
#[doc = "`write(|w| ..)` method takes [prr1::W](prr1::W) writer structure"]
impl crate::Writable for PRR1 {}
#[doc = "Power Reduction Register1"]
pub mod prr1;
#[doc = "Extended Z-pointer Register for ELPM/SPM\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rampz](rampz) module"]
pub type RAMPZ = crate::Reg<u8, _RAMPZ>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _RAMPZ;
#[doc = "`read()` method returns [rampz::R](rampz::R) reader structure"]
impl crate::Readable for RAMPZ {}
#[doc = "`write(|w| ..)` method takes [rampz::W](rampz::W) writer structure"]
impl crate::Writable for RAMPZ {}
#[doc = "Extended Z-pointer Register for ELPM/SPM"]
pub mod rampz;
#[doc = "Oscillator Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rcctrl](rcctrl) module"]
pub type RCCTRL = crate::Reg<u8, _RCCTRL>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _RCCTRL;
#[doc = "`read()` method returns [rcctrl::R](rcctrl::R) reader structure"]
impl crate::Readable for RCCTRL {}
#[doc = "`write(|w| ..)` method takes [rcctrl::W](rcctrl::W) writer structure"]
impl crate::Writable for RCCTRL {}
#[doc = "Oscillator Control Register"]
pub mod rcctrl;
#[doc = "Sleep Mode Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [smcr](smcr) module"]
pub type SMCR = crate::Reg<u8, _SMCR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SMCR;
#[doc = "`read()` method returns [smcr::R](smcr::R) reader structure"]
impl crate::Readable for SMCR {}
#[doc = "`write(|w| ..)` method takes [smcr::W](smcr::W) writer structure"]
impl crate::Writable for SMCR {}
#[doc = "Sleep Mode Control Register"]
pub mod smcr;