1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"DCDC registers"]
28unsafe impl ::core::marker::Send for super::Dcdc {}
29unsafe impl ::core::marker::Sync for super::Dcdc {}
30impl super::Dcdc {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "DCDC First Control Register"]
38 #[inline(always)]
39 pub const fn dcdc_ctrl_0_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::DcdcCtrl0Reg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::DcdcCtrl0Reg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(2usize),
45 )
46 }
47 }
48
49 #[doc = "DCDC Second Control Register"]
50 #[inline(always)]
51 pub const fn dcdc_ctrl_1_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::DcdcCtrl1Reg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::DcdcCtrl1Reg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(4usize),
57 )
58 }
59 }
60
61 #[doc = "DCDC Third Control Register"]
62 #[inline(always)]
63 pub const fn dcdc_ctrl_2_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::DcdcCtrl2Reg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::DcdcCtrl2Reg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(6usize),
69 )
70 }
71 }
72
73 #[doc = "DCDC Interrupt Clear Register"]
74 #[inline(always)]
75 pub const fn dcdc_irq_clear_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::DcdcIrqClearReg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::DcdcIrqClearReg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(54usize),
81 )
82 }
83 }
84
85 #[doc = "DCDC Interrupt Clear Register"]
86 #[inline(always)]
87 pub const fn dcdc_irq_mask_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::DcdcIrqMaskReg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::DcdcIrqMaskReg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(56usize),
93 )
94 }
95 }
96
97 #[doc = "DCDC Interrupt Status Register"]
98 #[inline(always)]
99 pub const fn dcdc_irq_status_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::DcdcIrqStatusReg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::DcdcIrqStatusReg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(52usize),
105 )
106 }
107 }
108
109 #[doc = "DCDC First Retention Mode Register"]
110 #[inline(always)]
111 pub const fn dcdc_ret_0_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::DcdcRet0Reg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::DcdcRet0Reg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(24usize),
117 )
118 }
119 }
120
121 #[doc = "DCDC Second Retention Mode Register"]
122 #[inline(always)]
123 pub const fn dcdc_ret_1_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::DcdcRet1Reg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::DcdcRet1Reg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(26usize),
129 )
130 }
131 }
132
133 #[doc = "DCDC First Status Register"]
134 #[inline(always)]
135 pub const fn dcdc_status_0_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::DcdcStatus0Reg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::DcdcStatus0Reg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(34usize),
141 )
142 }
143 }
144
145 #[doc = "DCDC Second Status Register"]
146 #[inline(always)]
147 pub const fn dcdc_status_1_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::DcdcStatus1Reg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::DcdcStatus1Reg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(36usize),
153 )
154 }
155 }
156
157 #[doc = "DCDC Third Status Register"]
158 #[inline(always)]
159 pub const fn dcdc_status_2_reg(
160 &self,
161 ) -> &'static crate::common::Reg<self::DcdcStatus2Reg_SPEC, crate::common::RW> {
162 unsafe {
163 crate::common::Reg::<self::DcdcStatus2Reg_SPEC, crate::common::RW>::from_ptr(
164 self._svd2pac_as_ptr().add(38usize),
165 )
166 }
167 }
168
169 #[doc = "DCDC Fourth Status Register"]
170 #[inline(always)]
171 pub const fn dcdc_status_3_reg(
172 &self,
173 ) -> &'static crate::common::Reg<self::DcdcStatus3Reg_SPEC, crate::common::RW> {
174 unsafe {
175 crate::common::Reg::<self::DcdcStatus3Reg_SPEC, crate::common::RW>::from_ptr(
176 self._svd2pac_as_ptr().add(40usize),
177 )
178 }
179 }
180
181 #[doc = "DCDC Fifth Status Register"]
182 #[inline(always)]
183 pub const fn dcdc_status_4_reg(
184 &self,
185 ) -> &'static crate::common::Reg<self::DcdcStatus4Reg_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::DcdcStatus4Reg_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(42usize),
189 )
190 }
191 }
192
193 #[doc = "DCDC Test Register"]
194 #[inline(always)]
195 pub const fn dcdc_test_0_reg(
196 &self,
197 ) -> &'static crate::common::Reg<self::DcdcTest0Reg_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::DcdcTest0Reg_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(30usize),
201 )
202 }
203 }
204
205 #[doc = "DCDC Test Register"]
206 #[inline(always)]
207 pub const fn dcdc_test_1_reg(
208 &self,
209 ) -> &'static crate::common::Reg<self::DcdcTest1Reg_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::DcdcTest1Reg_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(32usize),
213 )
214 }
215 }
216
217 #[doc = "DCDC V14 Comparator Trim Register"]
218 #[inline(always)]
219 pub const fn dcdc_trim_0_reg(
220 &self,
221 ) -> &'static crate::common::Reg<self::DcdcTrim0Reg_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::DcdcTrim0Reg_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(44usize),
225 )
226 }
227 }
228
229 #[doc = "DCDC V18 Comparator Trim Register"]
230 #[inline(always)]
231 pub const fn dcdc_trim_1_reg(
232 &self,
233 ) -> &'static crate::common::Reg<self::DcdcTrim1Reg_SPEC, crate::common::RW> {
234 unsafe {
235 crate::common::Reg::<self::DcdcTrim1Reg_SPEC, crate::common::RW>::from_ptr(
236 self._svd2pac_as_ptr().add(46usize),
237 )
238 }
239 }
240
241 #[doc = "DCDC VDD Comparator Trim Register"]
242 #[inline(always)]
243 pub const fn dcdc_trim_2_reg(
244 &self,
245 ) -> &'static crate::common::Reg<self::DcdcTrim2Reg_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::DcdcTrim2Reg_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(48usize),
249 )
250 }
251 }
252
253 #[doc = "DCDC VPA Comparator Trim Register"]
254 #[inline(always)]
255 pub const fn dcdc_trim_3_reg(
256 &self,
257 ) -> &'static crate::common::Reg<self::DcdcTrim3Reg_SPEC, crate::common::RW> {
258 unsafe {
259 crate::common::Reg::<self::DcdcTrim3Reg_SPEC, crate::common::RW>::from_ptr(
260 self._svd2pac_as_ptr().add(50usize),
261 )
262 }
263 }
264
265 #[doc = "DCDC Comparator Trim Register"]
266 #[inline(always)]
267 pub const fn dcdc_trim_reg(
268 &self,
269 ) -> &'static crate::common::Reg<self::DcdcTrimReg_SPEC, crate::common::RW> {
270 unsafe {
271 crate::common::Reg::<self::DcdcTrimReg_SPEC, crate::common::RW>::from_ptr(
272 self._svd2pac_as_ptr().add(28usize),
273 )
274 }
275 }
276
277 #[doc = "DCDC V14 First Control Register"]
278 #[inline(always)]
279 pub const fn dcdc_v14_0_reg(
280 &self,
281 ) -> &'static crate::common::Reg<self::DcdcV140Reg_SPEC, crate::common::RW> {
282 unsafe {
283 crate::common::Reg::<self::DcdcV140Reg_SPEC, crate::common::RW>::from_ptr(
284 self._svd2pac_as_ptr().add(8usize),
285 )
286 }
287 }
288
289 #[doc = "DCDC V14 Second Control Register"]
290 #[inline(always)]
291 pub const fn dcdc_v14_1_reg(
292 &self,
293 ) -> &'static crate::common::Reg<self::DcdcV141Reg_SPEC, crate::common::RW> {
294 unsafe {
295 crate::common::Reg::<self::DcdcV141Reg_SPEC, crate::common::RW>::from_ptr(
296 self._svd2pac_as_ptr().add(10usize),
297 )
298 }
299 }
300
301 #[doc = "DCDC VPA First Control Register"]
302 #[inline(always)]
303 pub const fn dcdc_v18p_0_reg(
304 &self,
305 ) -> &'static crate::common::Reg<self::DcdcV18P0Reg_SPEC, crate::common::RW> {
306 unsafe {
307 crate::common::Reg::<self::DcdcV18P0Reg_SPEC, crate::common::RW>::from_ptr(
308 self._svd2pac_as_ptr().add(20usize),
309 )
310 }
311 }
312
313 #[doc = "DCDC VPA Second Control Register"]
314 #[inline(always)]
315 pub const fn dcdc_v18p_1_reg(
316 &self,
317 ) -> &'static crate::common::Reg<self::DcdcV18P1Reg_SPEC, crate::common::RW> {
318 unsafe {
319 crate::common::Reg::<self::DcdcV18P1Reg_SPEC, crate::common::RW>::from_ptr(
320 self._svd2pac_as_ptr().add(22usize),
321 )
322 }
323 }
324
325 #[doc = "DCDC V18 First Control Register"]
326 #[inline(always)]
327 pub const fn dcdc_v18_0_reg(
328 &self,
329 ) -> &'static crate::common::Reg<self::DcdcV180Reg_SPEC, crate::common::RW> {
330 unsafe {
331 crate::common::Reg::<self::DcdcV180Reg_SPEC, crate::common::RW>::from_ptr(
332 self._svd2pac_as_ptr().add(12usize),
333 )
334 }
335 }
336
337 #[doc = "DCDC V18 Second Control Register"]
338 #[inline(always)]
339 pub const fn dcdc_v18_1_reg(
340 &self,
341 ) -> &'static crate::common::Reg<self::DcdcV181Reg_SPEC, crate::common::RW> {
342 unsafe {
343 crate::common::Reg::<self::DcdcV181Reg_SPEC, crate::common::RW>::from_ptr(
344 self._svd2pac_as_ptr().add(14usize),
345 )
346 }
347 }
348
349 #[doc = "DCDC VDD First Control Register"]
350 #[inline(always)]
351 pub const fn dcdc_vdd_0_reg(
352 &self,
353 ) -> &'static crate::common::Reg<self::DcdcVdd0Reg_SPEC, crate::common::RW> {
354 unsafe {
355 crate::common::Reg::<self::DcdcVdd0Reg_SPEC, crate::common::RW>::from_ptr(
356 self._svd2pac_as_ptr().add(16usize),
357 )
358 }
359 }
360
361 #[doc = "DCDC VDD Second Control Register"]
362 #[inline(always)]
363 pub const fn dcdc_vdd_1_reg(
364 &self,
365 ) -> &'static crate::common::Reg<self::DcdcVdd1Reg_SPEC, crate::common::RW> {
366 unsafe {
367 crate::common::Reg::<self::DcdcVdd1Reg_SPEC, crate::common::RW>::from_ptr(
368 self._svd2pac_as_ptr().add(18usize),
369 )
370 }
371 }
372}
373#[doc(hidden)]
374#[derive(Copy, Clone, Eq, PartialEq)]
375pub struct DcdcCtrl0Reg_SPEC;
376impl crate::sealed::RegSpec for DcdcCtrl0Reg_SPEC {
377 type DataType = u16;
378}
379
380#[doc = "DCDC First Control Register"]
381pub type DcdcCtrl0Reg = crate::RegValueT<DcdcCtrl0Reg_SPEC>;
382
383impl DcdcCtrl0Reg {
384 #[doc = "Set current limit to maximum during initial startup"]
385 #[inline(always)]
386 pub fn dcdc_fast_startup(
387 self,
388 ) -> crate::common::RegisterFieldBool<14, 1, 0, DcdcCtrl0Reg_SPEC, crate::common::RW> {
389 crate::common::RegisterFieldBool::<14,1,0,DcdcCtrl0Reg_SPEC,crate::common::RW>::from_register(self,0)
390 }
391
392 #[doc = "Switches to low voltage settings when battery voltage drops below 2.5 V"]
393 #[inline(always)]
394 pub fn dcdc_brownout_lv_mode(
395 self,
396 ) -> crate::common::RegisterFieldBool<13, 1, 0, DcdcCtrl0Reg_SPEC, crate::common::RW> {
397 crate::common::RegisterFieldBool::<13,1,0,DcdcCtrl0Reg_SPEC,crate::common::RW>::from_register(self,0)
398 }
399
400 #[doc = "Idle Clock Divider\n00 = 2\n01 = 4\n10 = 8\n11 = 16"]
401 #[inline(always)]
402 pub fn dcdc_idle_clk_div(
403 self,
404 ) -> crate::common::RegisterField<11, 0x3, 1, 0, u8, u8, DcdcCtrl0Reg_SPEC, crate::common::RW>
405 {
406 crate::common::RegisterField::<11,0x3,1,0,u8,u8,DcdcCtrl0Reg_SPEC,crate::common::RW>::from_register(self,0)
407 }
408
409 #[doc = "Charge priority register (4x 2 bit ID)\nCharge sequence is \\[1:0\\] > \\[3:2\\] > \\[5:4\\] > \\[7:6\\]\nID\\[V14\\] = 00\nID\\[V18\\] = 01\nID\\[VDD\\] = 10\nID\\[V18P\\] = 11"]
410 #[inline(always)]
411 pub fn dcdc_priority(
412 self,
413 ) -> crate::common::RegisterField<3, 0xff, 1, 0, u8, u8, DcdcCtrl0Reg_SPEC, crate::common::RW>
414 {
415 crate::common::RegisterField::<3,0xff,1,0,u8,u8,DcdcCtrl0Reg_SPEC,crate::common::RW>::from_register(self,0)
416 }
417
418 #[doc = "Freewheel switch enable"]
419 #[inline(always)]
420 pub fn dcdc_fw_enable(
421 self,
422 ) -> crate::common::RegisterFieldBool<2, 1, 0, DcdcCtrl0Reg_SPEC, crate::common::RW> {
423 crate::common::RegisterFieldBool::<2,1,0,DcdcCtrl0Reg_SPEC,crate::common::RW>::from_register(self,0)
424 }
425
426 #[doc = "DCDC converter mode\n00 = Disabled\n01 = Active\n10 = Sleep mode\n11 = Disabled"]
427 #[inline(always)]
428 pub fn dcdc_mode(
429 self,
430 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, DcdcCtrl0Reg_SPEC, crate::common::RW>
431 {
432 crate::common::RegisterField::<0,0x3,1,0,u8,u8,DcdcCtrl0Reg_SPEC,crate::common::RW>::from_register(self,0)
433 }
434}
435impl ::core::default::Default for DcdcCtrl0Reg {
436 #[inline(always)]
437 fn default() -> DcdcCtrl0Reg {
438 <crate::RegValueT<DcdcCtrl0Reg_SPEC> as RegisterValue<_>>::new(12068)
439 }
440}
441
442#[doc(hidden)]
443#[derive(Copy, Clone, Eq, PartialEq)]
444pub struct DcdcCtrl1Reg_SPEC;
445impl crate::sealed::RegSpec for DcdcCtrl1Reg_SPEC {
446 type DataType = u16;
447}
448
449#[doc = "DCDC Second Control Register"]
450pub type DcdcCtrl1Reg = crate::RegValueT<DcdcCtrl1Reg_SPEC>;
451
452impl DcdcCtrl1Reg {
453 #[doc = "Delay between turning bias on and converter becoming active\n0 - 31 us, 1 us step size"]
454 #[inline(always)]
455 pub fn dcdc_startup_delay(
456 self,
457 ) -> crate::common::RegisterField<11, 0x1f, 1, 0, u8, u8, DcdcCtrl1Reg_SPEC, crate::common::RW>
458 {
459 crate::common::RegisterField::<11,0x1f,1,0,u8,u8,DcdcCtrl1Reg_SPEC,crate::common::RW>::from_register(self,0)
460 }
461
462 #[doc = "Global maximum idle time\nThe current limit of any output that is idle for this long will be downramped faster than normal\n0 - 7875 ns, 125 ns step size"]
463 #[inline(always)]
464 pub fn dcdc_global_max_idle_time(
465 self,
466 ) -> crate::common::RegisterField<5, 0x3f, 1, 0, u8, u8, DcdcCtrl1Reg_SPEC, crate::common::RW>
467 {
468 crate::common::RegisterField::<5,0x3f,1,0,u8,u8,DcdcCtrl1Reg_SPEC,crate::common::RW>::from_register(self,0)
469 }
470
471 #[doc = "P and N switch timeout, if switch is closed longer than this a timeout is generated and the FSM is forced to the next state\n0 - 1937.5 ns, 62.5 ns step size"]
472 #[inline(always)]
473 pub fn dcdc_timeout(
474 self,
475 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcCtrl1Reg_SPEC, crate::common::RW>
476 {
477 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcCtrl1Reg_SPEC,crate::common::RW>::from_register(self,0)
478 }
479}
480impl ::core::default::Default for DcdcCtrl1Reg {
481 #[inline(always)]
482 fn default() -> DcdcCtrl1Reg {
483 <crate::RegValueT<DcdcCtrl1Reg_SPEC> as RegisterValue<_>>::new(21520)
484 }
485}
486
487#[doc(hidden)]
488#[derive(Copy, Clone, Eq, PartialEq)]
489pub struct DcdcCtrl2Reg_SPEC;
490impl crate::sealed::RegSpec for DcdcCtrl2Reg_SPEC {
491 type DataType = u16;
492}
493
494#[doc = "DCDC Third Control Register"]
495pub type DcdcCtrl2Reg = crate::RegValueT<DcdcCtrl2Reg_SPEC>;
496
497impl DcdcCtrl2Reg {
498 #[doc = "Number of timeout events before timeout interrupt is generated"]
499 #[inline(always)]
500 pub fn dcdc_timeout_irq_trig(
501 self,
502 ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, DcdcCtrl2Reg_SPEC, crate::common::RW>
503 {
504 crate::common::RegisterField::<12,0xf,1,0,u8,u8,DcdcCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
505 }
506
507 #[doc = "Number of successive non-timed out charge events required to clear timeout event counter"]
508 #[inline(always)]
509 pub fn dcdc_timeout_irq_res(
510 self,
511 ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, DcdcCtrl2Reg_SPEC, crate::common::RW>
512 {
513 crate::common::RegisterField::<8,0xf,1,0,u8,u8,DcdcCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
514 }
515
516 #[doc = "Trim current sensing circuitry\n00 = +0 percent\n01 = +4 percent\n10 = +8 percent\n11 = +12 percent"]
517 #[inline(always)]
518 pub fn dcdc_tune(
519 self,
520 ) -> crate::common::RegisterField<6, 0x3, 1, 0, u8, u8, DcdcCtrl2Reg_SPEC, crate::common::RW>
521 {
522 crate::common::RegisterField::<6,0x3,1,0,u8,u8,DcdcCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
523 }
524
525 #[doc = "Trim low side supply voltage\nV = 2 V + 100 mV * N"]
526 #[inline(always)]
527 pub fn dcdc_lssup_trim(
528 self,
529 ) -> crate::common::RegisterField<3, 0x7, 1, 0, u8, u8, DcdcCtrl2Reg_SPEC, crate::common::RW>
530 {
531 crate::common::RegisterField::<3,0x7,1,0,u8,u8,DcdcCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
532 }
533
534 #[doc = "Trim high side ground\nV = VBAT - (2.2 V + 200 mV * N)"]
535 #[inline(always)]
536 pub fn dcdc_hsgnd_trim(
537 self,
538 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, DcdcCtrl2Reg_SPEC, crate::common::RW>
539 {
540 crate::common::RegisterField::<0,0x7,1,0,u8,u8,DcdcCtrl2Reg_SPEC,crate::common::RW>::from_register(self,0)
541 }
542}
543impl ::core::default::Default for DcdcCtrl2Reg {
544 #[inline(always)]
545 fn default() -> DcdcCtrl2Reg {
546 <crate::RegValueT<DcdcCtrl2Reg_SPEC> as RegisterValue<_>>::new(34861)
547 }
548}
549
550#[doc(hidden)]
551#[derive(Copy, Clone, Eq, PartialEq)]
552pub struct DcdcIrqClearReg_SPEC;
553impl crate::sealed::RegSpec for DcdcIrqClearReg_SPEC {
554 type DataType = u16;
555}
556
557#[doc = "DCDC Interrupt Clear Register"]
558pub type DcdcIrqClearReg = crate::RegValueT<DcdcIrqClearReg_SPEC>;
559
560impl DcdcIrqClearReg {
561 #[doc = "Clear brown out interrupt"]
562 #[inline(always)]
563 pub fn dcdc_brown_out_irq_clear(
564 self,
565 ) -> crate::common::RegisterFieldBool<4, 1, 0, DcdcIrqClearReg_SPEC, crate::common::W> {
566 crate::common::RegisterFieldBool::<4,1,0,DcdcIrqClearReg_SPEC,crate::common::W>::from_register(self,0)
567 }
568
569 #[doc = "Clear V18P timeout interrupt"]
570 #[inline(always)]
571 pub fn dcdc_v18p_timeout_irq_clear(
572 self,
573 ) -> crate::common::RegisterFieldBool<3, 1, 0, DcdcIrqClearReg_SPEC, crate::common::W> {
574 crate::common::RegisterFieldBool::<3,1,0,DcdcIrqClearReg_SPEC,crate::common::W>::from_register(self,0)
575 }
576
577 #[doc = "Clear VDD timeout interrupt"]
578 #[inline(always)]
579 pub fn dcdc_vdd_timeout_irq_clear(
580 self,
581 ) -> crate::common::RegisterFieldBool<2, 1, 0, DcdcIrqClearReg_SPEC, crate::common::W> {
582 crate::common::RegisterFieldBool::<2,1,0,DcdcIrqClearReg_SPEC,crate::common::W>::from_register(self,0)
583 }
584
585 #[doc = "Clear V18 timeout interrupt"]
586 #[inline(always)]
587 pub fn dcdc_v18_timeout_irq_clear(
588 self,
589 ) -> crate::common::RegisterFieldBool<1, 1, 0, DcdcIrqClearReg_SPEC, crate::common::W> {
590 crate::common::RegisterFieldBool::<1,1,0,DcdcIrqClearReg_SPEC,crate::common::W>::from_register(self,0)
591 }
592
593 #[doc = "Clear V14 timeout interrupt"]
594 #[inline(always)]
595 pub fn dcdc_v14_timeout_irq_clear(
596 self,
597 ) -> crate::common::RegisterFieldBool<0, 1, 0, DcdcIrqClearReg_SPEC, crate::common::W> {
598 crate::common::RegisterFieldBool::<0,1,0,DcdcIrqClearReg_SPEC,crate::common::W>::from_register(self,0)
599 }
600}
601impl ::core::default::Default for DcdcIrqClearReg {
602 #[inline(always)]
603 fn default() -> DcdcIrqClearReg {
604 <crate::RegValueT<DcdcIrqClearReg_SPEC> as RegisterValue<_>>::new(0)
605 }
606}
607
608#[doc(hidden)]
609#[derive(Copy, Clone, Eq, PartialEq)]
610pub struct DcdcIrqMaskReg_SPEC;
611impl crate::sealed::RegSpec for DcdcIrqMaskReg_SPEC {
612 type DataType = u16;
613}
614
615#[doc = "DCDC Interrupt Clear Register"]
616pub type DcdcIrqMaskReg = crate::RegValueT<DcdcIrqMaskReg_SPEC>;
617
618impl DcdcIrqMaskReg {
619 #[doc = "Mask brown out interrupt"]
620 #[inline(always)]
621 pub fn dcdc_brown_out_irq_mask(
622 self,
623 ) -> crate::common::RegisterFieldBool<4, 1, 0, DcdcIrqMaskReg_SPEC, crate::common::RW> {
624 crate::common::RegisterFieldBool::<4,1,0,DcdcIrqMaskReg_SPEC,crate::common::RW>::from_register(self,0)
625 }
626
627 #[doc = "Mask V18P timeout interrupt"]
628 #[inline(always)]
629 pub fn dcdc_v18p_timeout_irq_mask(
630 self,
631 ) -> crate::common::RegisterFieldBool<3, 1, 0, DcdcIrqMaskReg_SPEC, crate::common::RW> {
632 crate::common::RegisterFieldBool::<3,1,0,DcdcIrqMaskReg_SPEC,crate::common::RW>::from_register(self,0)
633 }
634
635 #[doc = "Mask VDD timeout interrupt"]
636 #[inline(always)]
637 pub fn dcdc_vdd_timeout_irq_mask(
638 self,
639 ) -> crate::common::RegisterFieldBool<2, 1, 0, DcdcIrqMaskReg_SPEC, crate::common::RW> {
640 crate::common::RegisterFieldBool::<2,1,0,DcdcIrqMaskReg_SPEC,crate::common::RW>::from_register(self,0)
641 }
642
643 #[doc = "Mask V18 timeout interrupt"]
644 #[inline(always)]
645 pub fn dcdc_v18_timeout_irq_mask(
646 self,
647 ) -> crate::common::RegisterFieldBool<1, 1, 0, DcdcIrqMaskReg_SPEC, crate::common::RW> {
648 crate::common::RegisterFieldBool::<1,1,0,DcdcIrqMaskReg_SPEC,crate::common::RW>::from_register(self,0)
649 }
650
651 #[doc = "Mask V14 timeout interrupt"]
652 #[inline(always)]
653 pub fn dcdc_v14_timeout_irq_mask(
654 self,
655 ) -> crate::common::RegisterFieldBool<0, 1, 0, DcdcIrqMaskReg_SPEC, crate::common::RW> {
656 crate::common::RegisterFieldBool::<0,1,0,DcdcIrqMaskReg_SPEC,crate::common::RW>::from_register(self,0)
657 }
658}
659impl ::core::default::Default for DcdcIrqMaskReg {
660 #[inline(always)]
661 fn default() -> DcdcIrqMaskReg {
662 <crate::RegValueT<DcdcIrqMaskReg_SPEC> as RegisterValue<_>>::new(0)
663 }
664}
665
666#[doc(hidden)]
667#[derive(Copy, Clone, Eq, PartialEq)]
668pub struct DcdcIrqStatusReg_SPEC;
669impl crate::sealed::RegSpec for DcdcIrqStatusReg_SPEC {
670 type DataType = u16;
671}
672
673#[doc = "DCDC Interrupt Status Register"]
674pub type DcdcIrqStatusReg = crate::RegValueT<DcdcIrqStatusReg_SPEC>;
675
676impl DcdcIrqStatusReg {
677 #[doc = "Brown out detector triggered (battery voltage below 2.5 V)"]
678 #[inline(always)]
679 pub fn dcdc_brown_out_irq_status(
680 self,
681 ) -> crate::common::RegisterFieldBool<4, 1, 0, DcdcIrqStatusReg_SPEC, crate::common::R> {
682 crate::common::RegisterFieldBool::<4,1,0,DcdcIrqStatusReg_SPEC,crate::common::R>::from_register(self,0)
683 }
684
685 #[doc = "Timeout occured on V18P output"]
686 #[inline(always)]
687 pub fn dcdc_v18p_timeout_irq_status(
688 self,
689 ) -> crate::common::RegisterFieldBool<3, 1, 0, DcdcIrqStatusReg_SPEC, crate::common::R> {
690 crate::common::RegisterFieldBool::<3,1,0,DcdcIrqStatusReg_SPEC,crate::common::R>::from_register(self,0)
691 }
692
693 #[doc = "Timeout occured on VDD output"]
694 #[inline(always)]
695 pub fn dcdc_vdd_timeout_irq_status(
696 self,
697 ) -> crate::common::RegisterFieldBool<2, 1, 0, DcdcIrqStatusReg_SPEC, crate::common::R> {
698 crate::common::RegisterFieldBool::<2,1,0,DcdcIrqStatusReg_SPEC,crate::common::R>::from_register(self,0)
699 }
700
701 #[doc = "Timeout occured on V18 output"]
702 #[inline(always)]
703 pub fn dcdc_v18_timeout_irq_status(
704 self,
705 ) -> crate::common::RegisterFieldBool<1, 1, 0, DcdcIrqStatusReg_SPEC, crate::common::R> {
706 crate::common::RegisterFieldBool::<1,1,0,DcdcIrqStatusReg_SPEC,crate::common::R>::from_register(self,0)
707 }
708
709 #[doc = "Timeout occured on V14 output"]
710 #[inline(always)]
711 pub fn dcdc_v14_timeout_irq_status(
712 self,
713 ) -> crate::common::RegisterFieldBool<0, 1, 0, DcdcIrqStatusReg_SPEC, crate::common::R> {
714 crate::common::RegisterFieldBool::<0,1,0,DcdcIrqStatusReg_SPEC,crate::common::R>::from_register(self,0)
715 }
716}
717impl ::core::default::Default for DcdcIrqStatusReg {
718 #[inline(always)]
719 fn default() -> DcdcIrqStatusReg {
720 <crate::RegValueT<DcdcIrqStatusReg_SPEC> as RegisterValue<_>>::new(0)
721 }
722}
723
724#[doc(hidden)]
725#[derive(Copy, Clone, Eq, PartialEq)]
726pub struct DcdcRet0Reg_SPEC;
727impl crate::sealed::RegSpec for DcdcRet0Reg_SPEC {
728 type DataType = u16;
729}
730
731#[doc = "DCDC First Retention Mode Register"]
732pub type DcdcRet0Reg = crate::RegValueT<DcdcRet0Reg_SPEC>;
733
734impl DcdcRet0Reg {
735 #[doc = "Charge cycles for V18P output in sleep mode\nCycles = 1 + 2 * N"]
736 #[inline(always)]
737 pub fn dcdc_v18p_ret_cycles(
738 self,
739 ) -> crate::common::RegisterField<13, 0x7, 1, 0, u8, u8, DcdcRet0Reg_SPEC, crate::common::RW>
740 {
741 crate::common::RegisterField::<13,0x7,1,0,u8,u8,DcdcRet0Reg_SPEC,crate::common::RW>::from_register(self,0)
742 }
743
744 #[doc = "V18P output sleep mode current limit\nI = 30 mA * (1 + N)"]
745 #[inline(always)]
746 pub fn dcdc_v18p_cur_lim_ret(
747 self,
748 ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, DcdcRet0Reg_SPEC, crate::common::RW>
749 {
750 crate::common::RegisterField::<8,0x1f,1,0,u8,u8,DcdcRet0Reg_SPEC,crate::common::RW>::from_register(self,0)
751 }
752
753 #[doc = "Charge cycles for VDD output in sleep mode\nCycles = 1 + 2 * N"]
754 #[inline(always)]
755 pub fn dcdc_vdd_ret_cycles(
756 self,
757 ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, DcdcRet0Reg_SPEC, crate::common::RW>
758 {
759 crate::common::RegisterField::<5,0x7,1,0,u8,u8,DcdcRet0Reg_SPEC,crate::common::RW>::from_register(self,0)
760 }
761
762 #[doc = "VDD output sleep mode current limit\nI = 30 mA * (1 + N)"]
763 #[inline(always)]
764 pub fn dcdc_vdd_cur_lim_ret(
765 self,
766 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcRet0Reg_SPEC, crate::common::RW>
767 {
768 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcRet0Reg_SPEC,crate::common::RW>::from_register(self,0)
769 }
770}
771impl ::core::default::Default for DcdcRet0Reg {
772 #[inline(always)]
773 fn default() -> DcdcRet0Reg {
774 <crate::RegValueT<DcdcRet0Reg_SPEC> as RegisterValue<_>>::new(43686)
775 }
776}
777
778#[doc(hidden)]
779#[derive(Copy, Clone, Eq, PartialEq)]
780pub struct DcdcRet1Reg_SPEC;
781impl crate::sealed::RegSpec for DcdcRet1Reg_SPEC {
782 type DataType = u16;
783}
784
785#[doc = "DCDC Second Retention Mode Register"]
786pub type DcdcRet1Reg = crate::RegValueT<DcdcRet1Reg_SPEC>;
787
788impl DcdcRet1Reg {
789 #[doc = "Charge cycles for V18 output in sleep mode\nCycles = 1 + 2 * N"]
790 #[inline(always)]
791 pub fn dcdc_v18_ret_cycles(
792 self,
793 ) -> crate::common::RegisterField<13, 0x7, 1, 0, u8, u8, DcdcRet1Reg_SPEC, crate::common::RW>
794 {
795 crate::common::RegisterField::<13,0x7,1,0,u8,u8,DcdcRet1Reg_SPEC,crate::common::RW>::from_register(self,0)
796 }
797
798 #[doc = "V18 output sleep mode current limit\nI = 30 mA * (1 + N)"]
799 #[inline(always)]
800 pub fn dcdc_v18_cur_lim_ret(
801 self,
802 ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, DcdcRet1Reg_SPEC, crate::common::RW>
803 {
804 crate::common::RegisterField::<8,0x1f,1,0,u8,u8,DcdcRet1Reg_SPEC,crate::common::RW>::from_register(self,0)
805 }
806
807 #[doc = "Charge cycles for V14 output in sleep mode\nCycles = 1 + 2 * N"]
808 #[inline(always)]
809 pub fn dcdc_v14_ret_cycles(
810 self,
811 ) -> crate::common::RegisterField<5, 0x7, 1, 0, u8, u8, DcdcRet1Reg_SPEC, crate::common::RW>
812 {
813 crate::common::RegisterField::<5,0x7,1,0,u8,u8,DcdcRet1Reg_SPEC,crate::common::RW>::from_register(self,0)
814 }
815
816 #[doc = "V14 output sleep mode current limit\nI = 30 mA * (1 + N)"]
817 #[inline(always)]
818 pub fn dcdc_v14_cur_lim_ret(
819 self,
820 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcRet1Reg_SPEC, crate::common::RW>
821 {
822 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcRet1Reg_SPEC,crate::common::RW>::from_register(self,0)
823 }
824}
825impl ::core::default::Default for DcdcRet1Reg {
826 #[inline(always)]
827 fn default() -> DcdcRet1Reg {
828 <crate::RegValueT<DcdcRet1Reg_SPEC> as RegisterValue<_>>::new(43590)
829 }
830}
831
832#[doc(hidden)]
833#[derive(Copy, Clone, Eq, PartialEq)]
834pub struct DcdcStatus0Reg_SPEC;
835impl crate::sealed::RegSpec for DcdcStatus0Reg_SPEC {
836 type DataType = u16;
837}
838
839#[doc = "DCDC First Status Register"]
840pub type DcdcStatus0Reg = crate::RegValueT<DcdcStatus0Reg_SPEC>;
841
842impl DcdcStatus0Reg {
843 #[doc = "Charge register position 3"]
844 #[inline(always)]
845 pub fn dcdc_charge_reg_3(
846 self,
847 ) -> crate::common::RegisterField<9, 0x7, 1, 0, u8, u8, DcdcStatus0Reg_SPEC, crate::common::R>
848 {
849 crate::common::RegisterField::<9,0x7,1,0,u8,u8,DcdcStatus0Reg_SPEC,crate::common::R>::from_register(self,0)
850 }
851
852 #[doc = "Charge register position 2"]
853 #[inline(always)]
854 pub fn dcdc_charge_reg_2(
855 self,
856 ) -> crate::common::RegisterField<6, 0x7, 1, 0, u8, u8, DcdcStatus0Reg_SPEC, crate::common::R>
857 {
858 crate::common::RegisterField::<6,0x7,1,0,u8,u8,DcdcStatus0Reg_SPEC,crate::common::R>::from_register(self,0)
859 }
860
861 #[doc = "Charge register position 1"]
862 #[inline(always)]
863 pub fn dcdc_charge_reg_1(
864 self,
865 ) -> crate::common::RegisterField<3, 0x7, 1, 0, u8, u8, DcdcStatus0Reg_SPEC, crate::common::R>
866 {
867 crate::common::RegisterField::<3,0x7,1,0,u8,u8,DcdcStatus0Reg_SPEC,crate::common::R>::from_register(self,0)
868 }
869
870 #[doc = "Charge register position 0"]
871 #[inline(always)]
872 pub fn dcdc_charge_reg_0(
873 self,
874 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, DcdcStatus0Reg_SPEC, crate::common::R>
875 {
876 crate::common::RegisterField::<0,0x7,1,0,u8,u8,DcdcStatus0Reg_SPEC,crate::common::R>::from_register(self,0)
877 }
878}
879impl ::core::default::Default for DcdcStatus0Reg {
880 #[inline(always)]
881 fn default() -> DcdcStatus0Reg {
882 <crate::RegValueT<DcdcStatus0Reg_SPEC> as RegisterValue<_>>::new(0)
883 }
884}
885
886#[doc(hidden)]
887#[derive(Copy, Clone, Eq, PartialEq)]
888pub struct DcdcStatus1Reg_SPEC;
889impl crate::sealed::RegSpec for DcdcStatus1Reg_SPEC {
890 type DataType = u16;
891}
892
893#[doc = "DCDC Second Status Register"]
894pub type DcdcStatus1Reg = crate::RegValueT<DcdcStatus1Reg_SPEC>;
895
896impl DcdcStatus1Reg {
897 #[doc = "Indicates whether V18P is available\nRequires that converter is enabled, output is enabled and V_OK and V_NOK have both occured"]
898 #[inline(always)]
899 pub fn dcdc_v18p_available(
900 self,
901 ) -> crate::common::RegisterFieldBool<11, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
902 crate::common::RegisterFieldBool::<11,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
903 }
904
905 #[doc = "Indicates whether VDD is available\nRequires that converter is enabled, output is enabled and V_OK and V_NOK have both occured"]
906 #[inline(always)]
907 pub fn dcdc_vdd_available(
908 self,
909 ) -> crate::common::RegisterFieldBool<10, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
910 crate::common::RegisterFieldBool::<10,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
911 }
912
913 #[doc = "Indicates whether V18 is available\nRequires that converter is enabled, output is enabled and V_OK and V_NOK have both occured"]
914 #[inline(always)]
915 pub fn dcdc_v18_available(
916 self,
917 ) -> crate::common::RegisterFieldBool<9, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
918 crate::common::RegisterFieldBool::<9,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
919 }
920
921 #[doc = "Indicates whether V14 is available\nRequires that converter is enabled, output is enabled and V_OK and V_NOK have both occured"]
922 #[inline(always)]
923 pub fn dcdc_v14_available(
924 self,
925 ) -> crate::common::RegisterFieldBool<8, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
926 crate::common::RegisterFieldBool::<8,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
927 }
928
929 #[doc = "OK output of V18P comparator"]
930 #[inline(always)]
931 pub fn dcdc_v18p_ok(
932 self,
933 ) -> crate::common::RegisterFieldBool<7, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
934 crate::common::RegisterFieldBool::<7,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
935 }
936
937 #[doc = "OK output of VDD comparator"]
938 #[inline(always)]
939 pub fn dcdc_vdd_ok(
940 self,
941 ) -> crate::common::RegisterFieldBool<6, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
942 crate::common::RegisterFieldBool::<6,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
943 }
944
945 #[doc = "OK output of V18 comparator"]
946 #[inline(always)]
947 pub fn dcdc_v18_ok(
948 self,
949 ) -> crate::common::RegisterFieldBool<5, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
950 crate::common::RegisterFieldBool::<5,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
951 }
952
953 #[doc = "OK output of V14 comparator"]
954 #[inline(always)]
955 pub fn dcdc_v14_ok(
956 self,
957 ) -> crate::common::RegisterFieldBool<4, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
958 crate::common::RegisterFieldBool::<4,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
959 }
960
961 #[doc = "NOK output of V18P comparator"]
962 #[inline(always)]
963 pub fn dcdc_v18p_nok(
964 self,
965 ) -> crate::common::RegisterFieldBool<3, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
966 crate::common::RegisterFieldBool::<3,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
967 }
968
969 #[doc = "NOK output of VDD comparator"]
970 #[inline(always)]
971 pub fn dcdc_vdd_nok(
972 self,
973 ) -> crate::common::RegisterFieldBool<2, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
974 crate::common::RegisterFieldBool::<2,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
975 }
976
977 #[doc = "NOK output of V18 comparator"]
978 #[inline(always)]
979 pub fn dcdc_v18_nok(
980 self,
981 ) -> crate::common::RegisterFieldBool<1, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
982 crate::common::RegisterFieldBool::<1,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
983 }
984
985 #[doc = "NOK output of V14 comparator"]
986 #[inline(always)]
987 pub fn dcdc_v14_nok(
988 self,
989 ) -> crate::common::RegisterFieldBool<0, 1, 0, DcdcStatus1Reg_SPEC, crate::common::R> {
990 crate::common::RegisterFieldBool::<0,1,0,DcdcStatus1Reg_SPEC,crate::common::R>::from_register(self,0)
991 }
992}
993impl ::core::default::Default for DcdcStatus1Reg {
994 #[inline(always)]
995 fn default() -> DcdcStatus1Reg {
996 <crate::RegValueT<DcdcStatus1Reg_SPEC> as RegisterValue<_>>::new(0)
997 }
998}
999
1000#[doc(hidden)]
1001#[derive(Copy, Clone, Eq, PartialEq)]
1002pub struct DcdcStatus2Reg_SPEC;
1003impl crate::sealed::RegSpec for DcdcStatus2Reg_SPEC {
1004 type DataType = u16;
1005}
1006
1007#[doc = "DCDC Third Status Register"]
1008pub type DcdcStatus2Reg = crate::RegValueT<DcdcStatus2Reg_SPEC>;
1009
1010impl DcdcStatus2Reg {
1011 #[doc = "DCDC state machine V18P output"]
1012 #[inline(always)]
1013 pub fn dcdc_v18p_sw_state(
1014 self,
1015 ) -> crate::common::RegisterFieldBool<11, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1016 crate::common::RegisterFieldBool::<11,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1017 }
1018
1019 #[doc = "DCDC state machine VDD output"]
1020 #[inline(always)]
1021 pub fn dcdc_vdd_sw_state(
1022 self,
1023 ) -> crate::common::RegisterFieldBool<10, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1024 crate::common::RegisterFieldBool::<10,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1025 }
1026
1027 #[doc = "DCDC state machine V18 output"]
1028 #[inline(always)]
1029 pub fn dcdc_v18_sw_state(
1030 self,
1031 ) -> crate::common::RegisterFieldBool<9, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1032 crate::common::RegisterFieldBool::<9,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1033 }
1034
1035 #[doc = "DCDC state machine V14 output"]
1036 #[inline(always)]
1037 pub fn dcdc_v14_sw_state(
1038 self,
1039 ) -> crate::common::RegisterFieldBool<8, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1040 crate::common::RegisterFieldBool::<8,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1041 }
1042
1043 #[doc = "DCDC state machine NSW output"]
1044 #[inline(always)]
1045 pub fn dcdc_nsw_state(
1046 self,
1047 ) -> crate::common::RegisterFieldBool<7, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1048 crate::common::RegisterFieldBool::<7,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1049 }
1050
1051 #[doc = "DCDC state machine PSW output"]
1052 #[inline(always)]
1053 pub fn dcdc_psw_state(
1054 self,
1055 ) -> crate::common::RegisterFieldBool<6, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1056 crate::common::RegisterFieldBool::<6,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1057 }
1058
1059 #[doc = "DCDC P side dynamic comparator P output"]
1060 #[inline(always)]
1061 pub fn dcdc_p_comp_p(
1062 self,
1063 ) -> crate::common::RegisterFieldBool<5, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1064 crate::common::RegisterFieldBool::<5,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1065 }
1066
1067 #[doc = "DCDC P side dynamic comparator N output"]
1068 #[inline(always)]
1069 pub fn dcdc_p_comp_n(
1070 self,
1071 ) -> crate::common::RegisterFieldBool<4, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1072 crate::common::RegisterFieldBool::<4,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1073 }
1074
1075 #[doc = "DCDC N side dynamic comparator P output"]
1076 #[inline(always)]
1077 pub fn dcdc_n_comp_p(
1078 self,
1079 ) -> crate::common::RegisterFieldBool<3, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1080 crate::common::RegisterFieldBool::<3,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1081 }
1082
1083 #[doc = "DCDC N side dynamic comparator N output"]
1084 #[inline(always)]
1085 pub fn dcdc_n_comp_n(
1086 self,
1087 ) -> crate::common::RegisterFieldBool<2, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1088 crate::common::RegisterFieldBool::<2,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1089 }
1090
1091 #[doc = "DCDC P side continuous time comparator output"]
1092 #[inline(always)]
1093 pub fn dcdc_p_comp(
1094 self,
1095 ) -> crate::common::RegisterFieldBool<1, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1096 crate::common::RegisterFieldBool::<1,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1097 }
1098
1099 #[doc = "DCDC N side continuous time comparator output"]
1100 #[inline(always)]
1101 pub fn dcdc_n_comp(
1102 self,
1103 ) -> crate::common::RegisterFieldBool<0, 1, 0, DcdcStatus2Reg_SPEC, crate::common::R> {
1104 crate::common::RegisterFieldBool::<0,1,0,DcdcStatus2Reg_SPEC,crate::common::R>::from_register(self,0)
1105 }
1106}
1107impl ::core::default::Default for DcdcStatus2Reg {
1108 #[inline(always)]
1109 fn default() -> DcdcStatus2Reg {
1110 <crate::RegValueT<DcdcStatus2Reg_SPEC> as RegisterValue<_>>::new(0)
1111 }
1112}
1113
1114#[doc(hidden)]
1115#[derive(Copy, Clone, Eq, PartialEq)]
1116pub struct DcdcStatus3Reg_SPEC;
1117impl crate::sealed::RegSpec for DcdcStatus3Reg_SPEC {
1118 type DataType = u16;
1119}
1120
1121#[doc = "DCDC Fourth Status Register"]
1122pub type DcdcStatus3Reg = crate::RegValueT<DcdcStatus3Reg_SPEC>;
1123
1124impl DcdcStatus3Reg {
1125 #[doc = "Indicates if the converter is in low battery voltage mode"]
1126 #[inline(always)]
1127 pub fn dcdc_lv_mode(
1128 self,
1129 ) -> crate::common::RegisterFieldBool<10, 1, 0, DcdcStatus3Reg_SPEC, crate::common::R> {
1130 crate::common::RegisterFieldBool::<10,1,0,DcdcStatus3Reg_SPEC,crate::common::R>::from_register(self,0)
1131 }
1132
1133 #[doc = "Actual V18P current limit"]
1134 #[inline(always)]
1135 pub fn dcdc_i_lim_v18p(
1136 self,
1137 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcStatus3Reg_SPEC, crate::common::R>
1138 {
1139 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcStatus3Reg_SPEC,crate::common::R>::from_register(self,0)
1140 }
1141
1142 #[doc = "Actual VDD current limit"]
1143 #[inline(always)]
1144 pub fn dcdc_i_lim_vdd(
1145 self,
1146 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcStatus3Reg_SPEC, crate::common::R>
1147 {
1148 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcStatus3Reg_SPEC,crate::common::R>::from_register(self,0)
1149 }
1150}
1151impl ::core::default::Default for DcdcStatus3Reg {
1152 #[inline(always)]
1153 fn default() -> DcdcStatus3Reg {
1154 <crate::RegValueT<DcdcStatus3Reg_SPEC> as RegisterValue<_>>::new(132)
1155 }
1156}
1157
1158#[doc(hidden)]
1159#[derive(Copy, Clone, Eq, PartialEq)]
1160pub struct DcdcStatus4Reg_SPEC;
1161impl crate::sealed::RegSpec for DcdcStatus4Reg_SPEC {
1162 type DataType = u16;
1163}
1164
1165#[doc = "DCDC Fifth Status Register"]
1166pub type DcdcStatus4Reg = crate::RegValueT<DcdcStatus4Reg_SPEC>;
1167
1168impl DcdcStatus4Reg {
1169 #[doc = "Actual V18 current limit"]
1170 #[inline(always)]
1171 pub fn dcdc_i_lim_v18(
1172 self,
1173 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcStatus4Reg_SPEC, crate::common::R>
1174 {
1175 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcStatus4Reg_SPEC,crate::common::R>::from_register(self,0)
1176 }
1177
1178 #[doc = "Actual V14 current limit"]
1179 #[inline(always)]
1180 pub fn dcdc_i_lim_v14(
1181 self,
1182 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcStatus4Reg_SPEC, crate::common::R>
1183 {
1184 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcStatus4Reg_SPEC,crate::common::R>::from_register(self,0)
1185 }
1186}
1187impl ::core::default::Default for DcdcStatus4Reg {
1188 #[inline(always)]
1189 fn default() -> DcdcStatus4Reg {
1190 <crate::RegValueT<DcdcStatus4Reg_SPEC> as RegisterValue<_>>::new(132)
1191 }
1192}
1193
1194#[doc(hidden)]
1195#[derive(Copy, Clone, Eq, PartialEq)]
1196pub struct DcdcTest0Reg_SPEC;
1197impl crate::sealed::RegSpec for DcdcTest0Reg_SPEC {
1198 type DataType = u16;
1199}
1200
1201#[doc = "DCDC Test Register"]
1202pub type DcdcTest0Reg = crate::RegValueT<DcdcTest0Reg_SPEC>;
1203
1204impl DcdcTest0Reg {
1205 #[doc = "Disables automatic comparator clock, clock lines values based on DCDC_COMP_CLK"]
1206 #[inline(always)]
1207 pub fn dcdc_force_comp_clk(
1208 self,
1209 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1210 crate::common::RegisterFieldBool::<15,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1211 }
1212
1213 #[doc = "Force output current setting"]
1214 #[inline(always)]
1215 pub fn dcdc_force_current(
1216 self,
1217 ) -> crate::common::RegisterFieldBool<14, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1218 crate::common::RegisterFieldBool::<14,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1219 }
1220
1221 #[doc = "Output monitor switch (connect to ADC)\n000 = None\n001 = V14\n010 = V18\n011 = VDD\n100 = VPA\n101 = None\n110 = None\n111 = None"]
1222 #[inline(always)]
1223 pub fn dcdc_output_monitor(
1224 self,
1225 ) -> crate::common::RegisterField<11, 0x7, 1, 0, u8, u8, DcdcTest0Reg_SPEC, crate::common::RW>
1226 {
1227 crate::common::RegisterField::<11,0x7,1,0,u8,u8,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1228 }
1229
1230 #[doc = "Analog test bus\n000 = None\n001 = High side ground\n010 = Low side supply\n011 = 1.2 V buffer output\n100 = None\n101 = None\n110 = None\n111 = None"]
1231 #[inline(always)]
1232 pub fn dcdc_ana_test(
1233 self,
1234 ) -> crate::common::RegisterField<8, 0x7, 1, 0, u8, u8, DcdcTest0Reg_SPEC, crate::common::RW>
1235 {
1236 crate::common::RegisterField::<8,0x7,1,0,u8,u8,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1237 }
1238
1239 #[doc = "Force idle mode"]
1240 #[inline(always)]
1241 pub fn dcdc_force_idle(
1242 self,
1243 ) -> crate::common::RegisterFieldBool<7, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1244 crate::common::RegisterFieldBool::<7,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1245 }
1246
1247 #[doc = "Force V18P switch on"]
1248 #[inline(always)]
1249 pub fn dcdc_force_v18p(
1250 self,
1251 ) -> crate::common::RegisterFieldBool<6, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1252 crate::common::RegisterFieldBool::<6,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1253 }
1254
1255 #[doc = "Force VDD switch on"]
1256 #[inline(always)]
1257 pub fn dcdc_force_vdd(
1258 self,
1259 ) -> crate::common::RegisterFieldBool<5, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1260 crate::common::RegisterFieldBool::<5,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1261 }
1262
1263 #[doc = "Force V18 switch on"]
1264 #[inline(always)]
1265 pub fn dcdc_force_v18(
1266 self,
1267 ) -> crate::common::RegisterFieldBool<4, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1268 crate::common::RegisterFieldBool::<4,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1269 }
1270
1271 #[doc = "Force V14 switch on"]
1272 #[inline(always)]
1273 pub fn dcdc_force_v14(
1274 self,
1275 ) -> crate::common::RegisterFieldBool<3, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1276 crate::common::RegisterFieldBool::<3,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1277 }
1278
1279 #[doc = "Force FW switch on"]
1280 #[inline(always)]
1281 pub fn dcdc_force_fw(
1282 self,
1283 ) -> crate::common::RegisterFieldBool<2, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1284 crate::common::RegisterFieldBool::<2,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1285 }
1286
1287 #[doc = "Force N switch on"]
1288 #[inline(always)]
1289 pub fn dcdc_force_nsw(
1290 self,
1291 ) -> crate::common::RegisterFieldBool<1, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1292 crate::common::RegisterFieldBool::<1,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1293 }
1294
1295 #[doc = "Force P switch on"]
1296 #[inline(always)]
1297 pub fn dcdc_force_psw(
1298 self,
1299 ) -> crate::common::RegisterFieldBool<0, 1, 0, DcdcTest0Reg_SPEC, crate::common::RW> {
1300 crate::common::RegisterFieldBool::<0,1,0,DcdcTest0Reg_SPEC,crate::common::RW>::from_register(self,0)
1301 }
1302}
1303impl ::core::default::Default for DcdcTest0Reg {
1304 #[inline(always)]
1305 fn default() -> DcdcTest0Reg {
1306 <crate::RegValueT<DcdcTest0Reg_SPEC> as RegisterValue<_>>::new(0)
1307 }
1308}
1309
1310#[doc(hidden)]
1311#[derive(Copy, Clone, Eq, PartialEq)]
1312pub struct DcdcTest1Reg_SPEC;
1313impl crate::sealed::RegSpec for DcdcTest1Reg_SPEC {
1314 type DataType = u16;
1315}
1316
1317#[doc = "DCDC Test Register"]
1318pub type DcdcTest1Reg = crate::RegValueT<DcdcTest1Reg_SPEC>;
1319
1320impl DcdcTest1Reg {
1321 #[doc = "Forced clock values for \\[COMP_VPA, COMP_VDD, COMP_V18, COMP_V14\\] (requires DCDC_FORCE_COMP_CLK = 1)"]
1322 #[inline(always)]
1323 pub fn dcdc_comp_clk(
1324 self,
1325 ) -> crate::common::RegisterField<9, 0xf, 1, 0, u8, u8, DcdcTest1Reg_SPEC, crate::common::RW>
1326 {
1327 crate::common::RegisterField::<9,0xf,1,0,u8,u8,DcdcTest1Reg_SPEC,crate::common::RW>::from_register(self,0)
1328 }
1329
1330 #[doc = "Current limit setting when current limit is forced"]
1331 #[inline(always)]
1332 pub fn dcdc_test_current(
1333 self,
1334 ) -> crate::common::RegisterField<4, 0x1f, 1, 0, u8, u8, DcdcTest1Reg_SPEC, crate::common::RW>
1335 {
1336 crate::common::RegisterField::<4,0x1f,1,0,u8,u8,DcdcTest1Reg_SPEC,crate::common::RW>::from_register(self,0)
1337 }
1338
1339 #[doc = "Determines which register appears on the testbus\n0x0 = DCDC_NONE\n0x1 = DCDC_STATUS_0\n0x2 = DCDC_STATUS_1\n0x3 = DCDC_STATUS_2\n0x4 = DCDC_STATUS_3\n0x5 = DCDC_STATUS_4\n0x6 = DCDC_TRIM_0\n0x7 = DCDC_TRIM_1\n0x8 = DCDC_TRIM_2\n0x9 = DCDC_TRIM_3\n0xA-0xF = DCDC_NONE"]
1340 #[inline(always)]
1341 pub fn dcdc_test_reg(
1342 self,
1343 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, DcdcTest1Reg_SPEC, crate::common::RW>
1344 {
1345 crate::common::RegisterField::<0,0xf,1,0,u8,u8,DcdcTest1Reg_SPEC,crate::common::RW>::from_register(self,0)
1346 }
1347}
1348impl ::core::default::Default for DcdcTest1Reg {
1349 #[inline(always)]
1350 fn default() -> DcdcTest1Reg {
1351 <crate::RegValueT<DcdcTest1Reg_SPEC> as RegisterValue<_>>::new(0)
1352 }
1353}
1354
1355#[doc(hidden)]
1356#[derive(Copy, Clone, Eq, PartialEq)]
1357pub struct DcdcTrim0Reg_SPEC;
1358impl crate::sealed::RegSpec for DcdcTrim0Reg_SPEC {
1359 type DataType = u16;
1360}
1361
1362#[doc = "DCDC V14 Comparator Trim Register"]
1363pub type DcdcTrim0Reg = crate::RegValueT<DcdcTrim0Reg_SPEC>;
1364
1365impl DcdcTrim0Reg {
1366 #[doc = "P comparator trim value when V14 is active\nSigned magnitude representation\n011111 = +47 mV\n000000 = 100000 = +16 mV\n111111 = -15 mV"]
1367 #[inline(always)]
1368 pub fn dcdc_v14_trim_p(
1369 self,
1370 ) -> crate::common::RegisterField<6, 0x3f, 1, 0, u8, u8, DcdcTrim0Reg_SPEC, crate::common::R>
1371 {
1372 crate::common::RegisterField::<6,0x3f,1,0,u8,u8,DcdcTrim0Reg_SPEC,crate::common::R>::from_register(self,0)
1373 }
1374
1375 #[doc = "N comparator trim value when V14 is active\nSigned magnitude representation\n011111 = +13 mV\n000000 = 100000 = -22 mV\n111111 = -56 mV"]
1376 #[inline(always)]
1377 pub fn dcdc_v14_trim_n(
1378 self,
1379 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, DcdcTrim0Reg_SPEC, crate::common::R>
1380 {
1381 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,DcdcTrim0Reg_SPEC,crate::common::R>::from_register(self,0)
1382 }
1383}
1384impl ::core::default::Default for DcdcTrim0Reg {
1385 #[inline(always)]
1386 fn default() -> DcdcTrim0Reg {
1387 <crate::RegValueT<DcdcTrim0Reg_SPEC> as RegisterValue<_>>::new(0)
1388 }
1389}
1390
1391#[doc(hidden)]
1392#[derive(Copy, Clone, Eq, PartialEq)]
1393pub struct DcdcTrim1Reg_SPEC;
1394impl crate::sealed::RegSpec for DcdcTrim1Reg_SPEC {
1395 type DataType = u16;
1396}
1397
1398#[doc = "DCDC V18 Comparator Trim Register"]
1399pub type DcdcTrim1Reg = crate::RegValueT<DcdcTrim1Reg_SPEC>;
1400
1401impl DcdcTrim1Reg {
1402 #[doc = "P comparator trim value when V18 is active\nSigned magnitude representation\n011111 = +47 mV\n000000 = 100000 = +16 mV\n111111 = -15 mV"]
1403 #[inline(always)]
1404 pub fn dcdc_v18_trim_p(
1405 self,
1406 ) -> crate::common::RegisterField<6, 0x3f, 1, 0, u8, u8, DcdcTrim1Reg_SPEC, crate::common::R>
1407 {
1408 crate::common::RegisterField::<6,0x3f,1,0,u8,u8,DcdcTrim1Reg_SPEC,crate::common::R>::from_register(self,0)
1409 }
1410
1411 #[doc = "N comparator trim value when V18 is active\nSigned magnitude representation\n011111 = +13 mV\n000000 = 100000 = -22 mV\n111111 = -56 mV"]
1412 #[inline(always)]
1413 pub fn dcdc_v18_trim_n(
1414 self,
1415 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, DcdcTrim1Reg_SPEC, crate::common::R>
1416 {
1417 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,DcdcTrim1Reg_SPEC,crate::common::R>::from_register(self,0)
1418 }
1419}
1420impl ::core::default::Default for DcdcTrim1Reg {
1421 #[inline(always)]
1422 fn default() -> DcdcTrim1Reg {
1423 <crate::RegValueT<DcdcTrim1Reg_SPEC> as RegisterValue<_>>::new(0)
1424 }
1425}
1426
1427#[doc(hidden)]
1428#[derive(Copy, Clone, Eq, PartialEq)]
1429pub struct DcdcTrim2Reg_SPEC;
1430impl crate::sealed::RegSpec for DcdcTrim2Reg_SPEC {
1431 type DataType = u16;
1432}
1433
1434#[doc = "DCDC VDD Comparator Trim Register"]
1435pub type DcdcTrim2Reg = crate::RegValueT<DcdcTrim2Reg_SPEC>;
1436
1437impl DcdcTrim2Reg {
1438 #[doc = "P comparator trim value when VDD is active\nSigned magnitude representation\n011111 = +47 mV\n000000 = 100000 = +16 mV\n111111 = -15 mV"]
1439 #[inline(always)]
1440 pub fn dcdc_vdd_trim_p(
1441 self,
1442 ) -> crate::common::RegisterField<6, 0x3f, 1, 0, u8, u8, DcdcTrim2Reg_SPEC, crate::common::R>
1443 {
1444 crate::common::RegisterField::<6,0x3f,1,0,u8,u8,DcdcTrim2Reg_SPEC,crate::common::R>::from_register(self,0)
1445 }
1446
1447 #[doc = "N comparator trim value when VDD is active\nSigned magnitude representation\n011111 = +13 mV\n000000 = 100000 = -22 mV\n111111 = -56 mV"]
1448 #[inline(always)]
1449 pub fn dcdc_vdd_trim_n(
1450 self,
1451 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, DcdcTrim2Reg_SPEC, crate::common::R>
1452 {
1453 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,DcdcTrim2Reg_SPEC,crate::common::R>::from_register(self,0)
1454 }
1455}
1456impl ::core::default::Default for DcdcTrim2Reg {
1457 #[inline(always)]
1458 fn default() -> DcdcTrim2Reg {
1459 <crate::RegValueT<DcdcTrim2Reg_SPEC> as RegisterValue<_>>::new(0)
1460 }
1461}
1462
1463#[doc(hidden)]
1464#[derive(Copy, Clone, Eq, PartialEq)]
1465pub struct DcdcTrim3Reg_SPEC;
1466impl crate::sealed::RegSpec for DcdcTrim3Reg_SPEC {
1467 type DataType = u16;
1468}
1469
1470#[doc = "DCDC VPA Comparator Trim Register"]
1471pub type DcdcTrim3Reg = crate::RegValueT<DcdcTrim3Reg_SPEC>;
1472
1473impl DcdcTrim3Reg {
1474 #[doc = "P comparator trim value when V18P is active\nSigned magnitude representation\n011111 = +47 mV\n000000 = 100000 = +16 mV\n111111 = -15 mV"]
1475 #[inline(always)]
1476 pub fn dcdc_v18p_trim_p(
1477 self,
1478 ) -> crate::common::RegisterField<6, 0x3f, 1, 0, u8, u8, DcdcTrim3Reg_SPEC, crate::common::R>
1479 {
1480 crate::common::RegisterField::<6,0x3f,1,0,u8,u8,DcdcTrim3Reg_SPEC,crate::common::R>::from_register(self,0)
1481 }
1482
1483 #[doc = "N comparator trim value when V18P is active\nSigned magnitude representation\n011111 = +13 mV\n000000 = 100000 = -22 mV\n111111 = -56 mV"]
1484 #[inline(always)]
1485 pub fn dcdc_v18p_trim_n(
1486 self,
1487 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, DcdcTrim3Reg_SPEC, crate::common::R>
1488 {
1489 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,DcdcTrim3Reg_SPEC,crate::common::R>::from_register(self,0)
1490 }
1491}
1492impl ::core::default::Default for DcdcTrim3Reg {
1493 #[inline(always)]
1494 fn default() -> DcdcTrim3Reg {
1495 <crate::RegValueT<DcdcTrim3Reg_SPEC> as RegisterValue<_>>::new(0)
1496 }
1497}
1498
1499#[doc(hidden)]
1500#[derive(Copy, Clone, Eq, PartialEq)]
1501pub struct DcdcTrimReg_SPEC;
1502impl crate::sealed::RegSpec for DcdcTrimReg_SPEC {
1503 type DataType = u16;
1504}
1505
1506#[doc = "DCDC Comparator Trim Register"]
1507pub type DcdcTrimReg = crate::RegValueT<DcdcTrimReg_SPEC>;
1508
1509impl DcdcTrimReg {
1510 #[doc = "Trim mode for P side comparator\n0 = Automatic\n1 = Manual"]
1511 #[inline(always)]
1512 pub fn dcdc_p_comp_man_trim(
1513 self,
1514 ) -> crate::common::RegisterFieldBool<13, 1, 0, DcdcTrimReg_SPEC, crate::common::RW> {
1515 crate::common::RegisterFieldBool::<13,1,0,DcdcTrimReg_SPEC,crate::common::RW>::from_register(self,0)
1516 }
1517
1518 #[doc = "Manual trim value for P side comparator\nSigned magnitude representation\n011111 = +47 mV\n000000 = 100000 = +16 mV\n111111 = -15 mV"]
1519 #[inline(always)]
1520 pub fn dcdc_p_comp_trim(
1521 self,
1522 ) -> crate::common::RegisterField<7, 0x3f, 1, 0, u8, u8, DcdcTrimReg_SPEC, crate::common::RW>
1523 {
1524 crate::common::RegisterField::<7,0x3f,1,0,u8,u8,DcdcTrimReg_SPEC,crate::common::RW>::from_register(self,0)
1525 }
1526
1527 #[doc = "Trim mode for N side comparator\n0 = Automatic\n1 = Manual"]
1528 #[inline(always)]
1529 pub fn dcdc_n_comp_man_trim(
1530 self,
1531 ) -> crate::common::RegisterFieldBool<6, 1, 0, DcdcTrimReg_SPEC, crate::common::RW> {
1532 crate::common::RegisterFieldBool::<6,1,0,DcdcTrimReg_SPEC,crate::common::RW>::from_register(self,0)
1533 }
1534
1535 #[doc = "Manual trim value for N side comparator\nSigned magnitude representation\n011111 = +13 mV\n000000 = 100000 = -22 mV\n111111 = -56 mV"]
1536 #[inline(always)]
1537 pub fn dcdc_n_comp_trim(
1538 self,
1539 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, DcdcTrimReg_SPEC, crate::common::RW>
1540 {
1541 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,DcdcTrimReg_SPEC,crate::common::RW>::from_register(self,0)
1542 }
1543}
1544impl ::core::default::Default for DcdcTrimReg {
1545 #[inline(always)]
1546 fn default() -> DcdcTrimReg {
1547 <crate::RegValueT<DcdcTrimReg_SPEC> as RegisterValue<_>>::new(0)
1548 }
1549}
1550
1551#[doc(hidden)]
1552#[derive(Copy, Clone, Eq, PartialEq)]
1553pub struct DcdcV140Reg_SPEC;
1554impl crate::sealed::RegSpec for DcdcV140Reg_SPEC {
1555 type DataType = u16;
1556}
1557
1558#[doc = "DCDC V14 First Control Register"]
1559pub type DcdcV140Reg = crate::RegValueT<DcdcV140Reg_SPEC>;
1560
1561impl DcdcV140Reg {
1562 #[doc = "V14 output fast current ramping (improves response time at the cost of more ripple)"]
1563 #[inline(always)]
1564 pub fn dcdc_v14_fast_ramping(
1565 self,
1566 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcV140Reg_SPEC, crate::common::RW> {
1567 crate::common::RegisterFieldBool::<15,1,0,DcdcV140Reg_SPEC,crate::common::RW>::from_register(self,0)
1568 }
1569
1570 #[doc = "V14 output voltage\nV = 1.2 V + 25 mV * N"]
1571 #[inline(always)]
1572 pub fn dcdc_v14_voltage(
1573 self,
1574 ) -> crate::common::RegisterField<10, 0x1f, 1, 0, u8, u8, DcdcV140Reg_SPEC, crate::common::RW>
1575 {
1576 crate::common::RegisterField::<10,0x1f,1,0,u8,u8,DcdcV140Reg_SPEC,crate::common::RW>::from_register(self,0)
1577 }
1578
1579 #[doc = "V14 output maximum current limit (high battery voltage mode)\nI = 30 mA * (1 + N)"]
1580 #[inline(always)]
1581 pub fn dcdc_v14_cur_lim_max_hv(
1582 self,
1583 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcV140Reg_SPEC, crate::common::RW>
1584 {
1585 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcV140Reg_SPEC,crate::common::RW>::from_register(self,0)
1586 }
1587
1588 #[doc = "V14 output minimum current limit\nI = 30 mA * (1 + N)"]
1589 #[inline(always)]
1590 pub fn dcdc_v14_cur_lim_min(
1591 self,
1592 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcV140Reg_SPEC, crate::common::RW>
1593 {
1594 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcV140Reg_SPEC,crate::common::RW>::from_register(self,0)
1595 }
1596}
1597impl ::core::default::Default for DcdcV140Reg {
1598 #[inline(always)]
1599 fn default() -> DcdcV140Reg {
1600 <crate::RegValueT<DcdcV140Reg_SPEC> as RegisterValue<_>>::new(41380)
1601 }
1602}
1603
1604#[doc(hidden)]
1605#[derive(Copy, Clone, Eq, PartialEq)]
1606pub struct DcdcV141Reg_SPEC;
1607impl crate::sealed::RegSpec for DcdcV141Reg_SPEC {
1608 type DataType = u16;
1609}
1610
1611#[doc = "DCDC V14 Second Control Register"]
1612pub type DcdcV141Reg = crate::RegValueT<DcdcV141Reg_SPEC>;
1613
1614impl DcdcV141Reg {
1615 #[doc = "V14 output enable (high battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1616 #[inline(always)]
1617 pub fn dcdc_v14_enable_hv(
1618 self,
1619 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcV141Reg_SPEC, crate::common::RW> {
1620 crate::common::RegisterFieldBool::<15,1,0,DcdcV141Reg_SPEC,crate::common::RW>::from_register(self,0)
1621 }
1622
1623 #[doc = "V14 output enable (low battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1624 #[inline(always)]
1625 pub fn dcdc_v14_enable_lv(
1626 self,
1627 ) -> crate::common::RegisterFieldBool<14, 1, 0, DcdcV141Reg_SPEC, crate::common::RW> {
1628 crate::common::RegisterFieldBool::<14,1,0,DcdcV141Reg_SPEC,crate::common::RW>::from_register(self,0)
1629 }
1630
1631 #[doc = "V14 output maximum current limit low battery voltage mode)\nI = 30 mA * (1 + N)"]
1632 #[inline(always)]
1633 pub fn dcdc_v14_cur_lim_max_lv(
1634 self,
1635 ) -> crate::common::RegisterField<10, 0xf, 1, 0, u8, u8, DcdcV141Reg_SPEC, crate::common::RW>
1636 {
1637 crate::common::RegisterField::<10,0xf,1,0,u8,u8,DcdcV141Reg_SPEC,crate::common::RW>::from_register(self,0)
1638 }
1639
1640 #[doc = "V14 output idle time hysteresis\n0 - 3875 ns, 125 ns step size\nIDLE_MAX = IDLE_MIN + IDLE_HYST\nMaximum idle time before decreasing CUR_LIM"]
1641 #[inline(always)]
1642 pub fn dcdc_v14_idle_hyst(
1643 self,
1644 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcV141Reg_SPEC, crate::common::RW>
1645 {
1646 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcV141Reg_SPEC,crate::common::RW>::from_register(self,0)
1647 }
1648
1649 #[doc = "V14 output minimum idle time\n0 - 3875 ns, 125 ns step size\nMinimum idle time, CUR_LIM is increased if this limit is not reached"]
1650 #[inline(always)]
1651 pub fn dcdc_v14_idle_min(
1652 self,
1653 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcV141Reg_SPEC, crate::common::RW>
1654 {
1655 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcV141Reg_SPEC,crate::common::RW>::from_register(self,0)
1656 }
1657}
1658impl ::core::default::Default for DcdcV141Reg {
1659 #[inline(always)]
1660 fn default() -> DcdcV141Reg {
1661 <crate::RegValueT<DcdcV141Reg_SPEC> as RegisterValue<_>>::new(55440)
1662 }
1663}
1664
1665#[doc(hidden)]
1666#[derive(Copy, Clone, Eq, PartialEq)]
1667pub struct DcdcV18P0Reg_SPEC;
1668impl crate::sealed::RegSpec for DcdcV18P0Reg_SPEC {
1669 type DataType = u16;
1670}
1671
1672#[doc = "DCDC VPA First Control Register"]
1673pub type DcdcV18P0Reg = crate::RegValueT<DcdcV18P0Reg_SPEC>;
1674
1675impl DcdcV18P0Reg {
1676 #[doc = "V18P output fast current ramping (improves response time at the cost of more ripple)"]
1677 #[inline(always)]
1678 pub fn dcdc_v18p_fast_ramping(
1679 self,
1680 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcV18P0Reg_SPEC, crate::common::RW> {
1681 crate::common::RegisterFieldBool::<15,1,0,DcdcV18P0Reg_SPEC,crate::common::RW>::from_register(self,0)
1682 }
1683
1684 #[doc = "V18P output voltage\nV = 1.2 V + 25 mV * N"]
1685 #[inline(always)]
1686 pub fn dcdc_v18p_voltage(
1687 self,
1688 ) -> crate::common::RegisterField<10, 0x1f, 1, 0, u8, u8, DcdcV18P0Reg_SPEC, crate::common::RW>
1689 {
1690 crate::common::RegisterField::<10,0x1f,1,0,u8,u8,DcdcV18P0Reg_SPEC,crate::common::RW>::from_register(self,0)
1691 }
1692
1693 #[doc = "V18P output maximum current limit (high battery voltage mode)\nI = 30 mA * (1 + N)"]
1694 #[inline(always)]
1695 pub fn dcdc_v18p_cur_lim_max_hv(
1696 self,
1697 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcV18P0Reg_SPEC, crate::common::RW>
1698 {
1699 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcV18P0Reg_SPEC,crate::common::RW>::from_register(self,0)
1700 }
1701
1702 #[doc = "V18P output minimum current limit\nI = 30 mA * (1 + N)"]
1703 #[inline(always)]
1704 pub fn dcdc_v18p_cur_lim_min(
1705 self,
1706 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcV18P0Reg_SPEC, crate::common::RW>
1707 {
1708 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcV18P0Reg_SPEC,crate::common::RW>::from_register(self,0)
1709 }
1710}
1711impl ::core::default::Default for DcdcV18P0Reg {
1712 #[inline(always)]
1713 fn default() -> DcdcV18P0Reg {
1714 <crate::RegValueT<DcdcV18P0Reg_SPEC> as RegisterValue<_>>::new(58340)
1715 }
1716}
1717
1718#[doc(hidden)]
1719#[derive(Copy, Clone, Eq, PartialEq)]
1720pub struct DcdcV18P1Reg_SPEC;
1721impl crate::sealed::RegSpec for DcdcV18P1Reg_SPEC {
1722 type DataType = u16;
1723}
1724
1725#[doc = "DCDC VPA Second Control Register"]
1726pub type DcdcV18P1Reg = crate::RegValueT<DcdcV18P1Reg_SPEC>;
1727
1728impl DcdcV18P1Reg {
1729 #[doc = "V18P output enable (high battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1730 #[inline(always)]
1731 pub fn dcdc_v18p_enable_hv(
1732 self,
1733 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcV18P1Reg_SPEC, crate::common::RW> {
1734 crate::common::RegisterFieldBool::<15,1,0,DcdcV18P1Reg_SPEC,crate::common::RW>::from_register(self,0)
1735 }
1736
1737 #[doc = "V18P output enable (low battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1738 #[inline(always)]
1739 pub fn dcdc_v18p_enable_lv(
1740 self,
1741 ) -> crate::common::RegisterFieldBool<14, 1, 0, DcdcV18P1Reg_SPEC, crate::common::RW> {
1742 crate::common::RegisterFieldBool::<14,1,0,DcdcV18P1Reg_SPEC,crate::common::RW>::from_register(self,0)
1743 }
1744
1745 #[doc = "V18P output maximum current limit low battery voltage mode)\nI = 30 mA * (1 + N)"]
1746 #[inline(always)]
1747 pub fn dcdc_v18p_cur_lim_max_lv(
1748 self,
1749 ) -> crate::common::RegisterField<10, 0xf, 1, 0, u8, u8, DcdcV18P1Reg_SPEC, crate::common::RW>
1750 {
1751 crate::common::RegisterField::<10,0xf,1,0,u8,u8,DcdcV18P1Reg_SPEC,crate::common::RW>::from_register(self,0)
1752 }
1753
1754 #[doc = "V18P output idle time hysteresis\n0 - 3875 ns, 125 ns step size\nIDLE_MAX = IDLE_MIN + IDLE_HYST\nMaximum idle time before decreasing CUR_LIM"]
1755 #[inline(always)]
1756 pub fn dcdc_v18p_idle_hyst(
1757 self,
1758 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcV18P1Reg_SPEC, crate::common::RW>
1759 {
1760 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcV18P1Reg_SPEC,crate::common::RW>::from_register(self,0)
1761 }
1762
1763 #[doc = "V18P output minimum idle time\n0 - 3875 ns, 125 ns step size\nMinimum idle time, CUR_LIM is increased if this limit is not reached"]
1764 #[inline(always)]
1765 pub fn dcdc_v18p_idle_min(
1766 self,
1767 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcV18P1Reg_SPEC, crate::common::RW>
1768 {
1769 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcV18P1Reg_SPEC,crate::common::RW>::from_register(self,0)
1770 }
1771}
1772impl ::core::default::Default for DcdcV18P1Reg {
1773 #[inline(always)]
1774 fn default() -> DcdcV18P1Reg {
1775 <crate::RegValueT<DcdcV18P1Reg_SPEC> as RegisterValue<_>>::new(48272)
1776 }
1777}
1778
1779#[doc(hidden)]
1780#[derive(Copy, Clone, Eq, PartialEq)]
1781pub struct DcdcV180Reg_SPEC;
1782impl crate::sealed::RegSpec for DcdcV180Reg_SPEC {
1783 type DataType = u16;
1784}
1785
1786#[doc = "DCDC V18 First Control Register"]
1787pub type DcdcV180Reg = crate::RegValueT<DcdcV180Reg_SPEC>;
1788
1789impl DcdcV180Reg {
1790 #[doc = "V18 output fast current ramping (improves response time at the cost of more ripple)"]
1791 #[inline(always)]
1792 pub fn dcdc_v18_fast_ramping(
1793 self,
1794 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcV180Reg_SPEC, crate::common::RW> {
1795 crate::common::RegisterFieldBool::<15,1,0,DcdcV180Reg_SPEC,crate::common::RW>::from_register(self,0)
1796 }
1797
1798 #[doc = "V18 output voltage\nV = 1.2 V + 25 mV * N"]
1799 #[inline(always)]
1800 pub fn dcdc_v18_voltage(
1801 self,
1802 ) -> crate::common::RegisterField<10, 0x1f, 1, 0, u8, u8, DcdcV180Reg_SPEC, crate::common::RW>
1803 {
1804 crate::common::RegisterField::<10,0x1f,1,0,u8,u8,DcdcV180Reg_SPEC,crate::common::RW>::from_register(self,0)
1805 }
1806
1807 #[doc = "V18 output maximum current limit (high battery voltage mode)\nI = 30 mA * (1 + N)"]
1808 #[inline(always)]
1809 pub fn dcdc_v18_cur_lim_max_hv(
1810 self,
1811 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcV180Reg_SPEC, crate::common::RW>
1812 {
1813 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcV180Reg_SPEC,crate::common::RW>::from_register(self,0)
1814 }
1815
1816 #[doc = "V18 output minimum current limit\nI = 30 mA * (1 + N)"]
1817 #[inline(always)]
1818 pub fn dcdc_v18_cur_lim_min(
1819 self,
1820 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcV180Reg_SPEC, crate::common::RW>
1821 {
1822 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcV180Reg_SPEC,crate::common::RW>::from_register(self,0)
1823 }
1824}
1825impl ::core::default::Default for DcdcV180Reg {
1826 #[inline(always)]
1827 fn default() -> DcdcV180Reg {
1828 <crate::RegValueT<DcdcV180Reg_SPEC> as RegisterValue<_>>::new(58340)
1829 }
1830}
1831
1832#[doc(hidden)]
1833#[derive(Copy, Clone, Eq, PartialEq)]
1834pub struct DcdcV181Reg_SPEC;
1835impl crate::sealed::RegSpec for DcdcV181Reg_SPEC {
1836 type DataType = u16;
1837}
1838
1839#[doc = "DCDC V18 Second Control Register"]
1840pub type DcdcV181Reg = crate::RegValueT<DcdcV181Reg_SPEC>;
1841
1842impl DcdcV181Reg {
1843 #[doc = "V18 output enable (high battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1844 #[inline(always)]
1845 pub fn dcdc_v18_enable_hv(
1846 self,
1847 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcV181Reg_SPEC, crate::common::RW> {
1848 crate::common::RegisterFieldBool::<15,1,0,DcdcV181Reg_SPEC,crate::common::RW>::from_register(self,0)
1849 }
1850
1851 #[doc = "V18 output enable (low battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1852 #[inline(always)]
1853 pub fn dcdc_v18_enable_lv(
1854 self,
1855 ) -> crate::common::RegisterFieldBool<14, 1, 0, DcdcV181Reg_SPEC, crate::common::RW> {
1856 crate::common::RegisterFieldBool::<14,1,0,DcdcV181Reg_SPEC,crate::common::RW>::from_register(self,0)
1857 }
1858
1859 #[doc = "V18 output maximum current limit low battery voltage mode)\nI = 30 mA * (1 + N)"]
1860 #[inline(always)]
1861 pub fn dcdc_v18_cur_lim_max_lv(
1862 self,
1863 ) -> crate::common::RegisterField<10, 0xf, 1, 0, u8, u8, DcdcV181Reg_SPEC, crate::common::RW>
1864 {
1865 crate::common::RegisterField::<10,0xf,1,0,u8,u8,DcdcV181Reg_SPEC,crate::common::RW>::from_register(self,0)
1866 }
1867
1868 #[doc = "V18 output idle time hysteresis\n0 - 3875 ns, 125 ns step size\nIDLE_MAX = IDLE_MIN + IDLE_HYST\nMaximum idle time before decreasing CUR_LIM"]
1869 #[inline(always)]
1870 pub fn dcdc_v18_idle_hyst(
1871 self,
1872 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcV181Reg_SPEC, crate::common::RW>
1873 {
1874 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcV181Reg_SPEC,crate::common::RW>::from_register(self,0)
1875 }
1876
1877 #[doc = "V18 output minimum idle time\n0 - 3875 ns, 125 ns step size\nMinimum idle time, CUR_LIM is increased if this limit is not reached"]
1878 #[inline(always)]
1879 pub fn dcdc_v18_idle_min(
1880 self,
1881 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcV181Reg_SPEC, crate::common::RW>
1882 {
1883 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcV181Reg_SPEC,crate::common::RW>::from_register(self,0)
1884 }
1885}
1886impl ::core::default::Default for DcdcV181Reg {
1887 #[inline(always)]
1888 fn default() -> DcdcV181Reg {
1889 <crate::RegValueT<DcdcV181Reg_SPEC> as RegisterValue<_>>::new(48272)
1890 }
1891}
1892
1893#[doc(hidden)]
1894#[derive(Copy, Clone, Eq, PartialEq)]
1895pub struct DcdcVdd0Reg_SPEC;
1896impl crate::sealed::RegSpec for DcdcVdd0Reg_SPEC {
1897 type DataType = u16;
1898}
1899
1900#[doc = "DCDC VDD First Control Register"]
1901pub type DcdcVdd0Reg = crate::RegValueT<DcdcVdd0Reg_SPEC>;
1902
1903impl DcdcVdd0Reg {
1904 #[doc = "VDD output fast current ramping (improves response time at the cost of more ripple)"]
1905 #[inline(always)]
1906 pub fn dcdc_vdd_fast_ramping(
1907 self,
1908 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcVdd0Reg_SPEC, crate::common::RW> {
1909 crate::common::RegisterFieldBool::<15,1,0,DcdcVdd0Reg_SPEC,crate::common::RW>::from_register(self,0)
1910 }
1911
1912 #[doc = "VDD output voltage\nV = 0.8 V + 25 mV * N"]
1913 #[inline(always)]
1914 pub fn dcdc_vdd_voltage(
1915 self,
1916 ) -> crate::common::RegisterField<10, 0x1f, 1, 0, u8, u8, DcdcVdd0Reg_SPEC, crate::common::RW>
1917 {
1918 crate::common::RegisterField::<10,0x1f,1,0,u8,u8,DcdcVdd0Reg_SPEC,crate::common::RW>::from_register(self,0)
1919 }
1920
1921 #[doc = "VDD output maximum current limit (high battery voltage mode)\nI = 30 mA * (1 + N)"]
1922 #[inline(always)]
1923 pub fn dcdc_vdd_cur_lim_max_hv(
1924 self,
1925 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcVdd0Reg_SPEC, crate::common::RW>
1926 {
1927 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcVdd0Reg_SPEC,crate::common::RW>::from_register(self,0)
1928 }
1929
1930 #[doc = "VDD output minimum current limit\nI = 30 mA * (1 + N)"]
1931 #[inline(always)]
1932 pub fn dcdc_vdd_cur_lim_min(
1933 self,
1934 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcVdd0Reg_SPEC, crate::common::RW>
1935 {
1936 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcVdd0Reg_SPEC,crate::common::RW>::from_register(self,0)
1937 }
1938}
1939impl ::core::default::Default for DcdcVdd0Reg {
1940 #[inline(always)]
1941 fn default() -> DcdcVdd0Reg {
1942 <crate::RegValueT<DcdcVdd0Reg_SPEC> as RegisterValue<_>>::new(49924)
1943 }
1944}
1945
1946#[doc(hidden)]
1947#[derive(Copy, Clone, Eq, PartialEq)]
1948pub struct DcdcVdd1Reg_SPEC;
1949impl crate::sealed::RegSpec for DcdcVdd1Reg_SPEC {
1950 type DataType = u16;
1951}
1952
1953#[doc = "DCDC VDD Second Control Register"]
1954pub type DcdcVdd1Reg = crate::RegValueT<DcdcVdd1Reg_SPEC>;
1955
1956impl DcdcVdd1Reg {
1957 #[doc = "VDD output enable (high battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1958 #[inline(always)]
1959 pub fn dcdc_vdd_enable_hv(
1960 self,
1961 ) -> crate::common::RegisterFieldBool<15, 1, 0, DcdcVdd1Reg_SPEC, crate::common::RW> {
1962 crate::common::RegisterFieldBool::<15,1,0,DcdcVdd1Reg_SPEC,crate::common::RW>::from_register(self,0)
1963 }
1964
1965 #[doc = "VDD output enable (low battery voltage mode)\n0 = Disabled\n1 = Enabled"]
1966 #[inline(always)]
1967 pub fn dcdc_vdd_enable_lv(
1968 self,
1969 ) -> crate::common::RegisterFieldBool<14, 1, 0, DcdcVdd1Reg_SPEC, crate::common::RW> {
1970 crate::common::RegisterFieldBool::<14,1,0,DcdcVdd1Reg_SPEC,crate::common::RW>::from_register(self,0)
1971 }
1972
1973 #[doc = "VDD output maximum current limit low battery voltage mode)\nI = 30 mA * (1 + N)"]
1974 #[inline(always)]
1975 pub fn dcdc_vdd_cur_lim_max_lv(
1976 self,
1977 ) -> crate::common::RegisterField<10, 0xf, 1, 0, u8, u8, DcdcVdd1Reg_SPEC, crate::common::RW>
1978 {
1979 crate::common::RegisterField::<10,0xf,1,0,u8,u8,DcdcVdd1Reg_SPEC,crate::common::RW>::from_register(self,0)
1980 }
1981
1982 #[doc = "VDD output idle time hysteresis\n0 - 3875 ns, 125 ns step size\nIDLE_MAX = IDLE_MIN + IDLE_HYST\nMaximum idle time before decreasing CUR_LIM"]
1983 #[inline(always)]
1984 pub fn dcdc_vdd_idle_hyst(
1985 self,
1986 ) -> crate::common::RegisterField<5, 0x1f, 1, 0, u8, u8, DcdcVdd1Reg_SPEC, crate::common::RW>
1987 {
1988 crate::common::RegisterField::<5,0x1f,1,0,u8,u8,DcdcVdd1Reg_SPEC,crate::common::RW>::from_register(self,0)
1989 }
1990
1991 #[doc = "VDD output minimum idle time\n0 - 3875 ns, 125 ns step size\nMinimum idle time, CUR_LIM is increased if this limit is not reached"]
1992 #[inline(always)]
1993 pub fn dcdc_vdd_idle_min(
1994 self,
1995 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, DcdcVdd1Reg_SPEC, crate::common::RW>
1996 {
1997 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,DcdcVdd1Reg_SPEC,crate::common::RW>::from_register(self,0)
1998 }
1999}
2000impl ::core::default::Default for DcdcVdd1Reg {
2001 #[inline(always)]
2002 fn default() -> DcdcVdd1Reg {
2003 <crate::RegValueT<DcdcVdd1Reg_SPEC> as RegisterValue<_>>::new(60560)
2004 }
2005}