Skip to main content

ra2a2_pac/
slcdc.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.20.02, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:01:00 +0000
19
20#![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"Segment LCD Controller"]
28unsafe impl ::core::marker::Send for super::Slcdc {}
29unsafe impl ::core::marker::Sync for super::Slcdc {}
30impl super::Slcdc {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "LCD Mode Register 0"]
38    #[inline(always)]
39    pub const fn lcdm0(&self) -> &'static crate::common::Reg<self::Lcdm0_SPEC, crate::common::RW> {
40        unsafe {
41            crate::common::Reg::<self::Lcdm0_SPEC, crate::common::RW>::from_ptr(
42                self._svd2pac_as_ptr().add(0usize),
43            )
44        }
45    }
46
47    #[doc = "LCD Mode Register 1"]
48    #[inline(always)]
49    pub const fn lcdm1(&self) -> &'static crate::common::Reg<self::Lcdm1_SPEC, crate::common::RW> {
50        unsafe {
51            crate::common::Reg::<self::Lcdm1_SPEC, crate::common::RW>::from_ptr(
52                self._svd2pac_as_ptr().add(1usize),
53            )
54        }
55    }
56
57    #[doc = "LCD Clock Control Register 0"]
58    #[inline(always)]
59    pub const fn lcdc0(&self) -> &'static crate::common::Reg<self::Lcdc0_SPEC, crate::common::RW> {
60        unsafe {
61            crate::common::Reg::<self::Lcdc0_SPEC, crate::common::RW>::from_ptr(
62                self._svd2pac_as_ptr().add(2usize),
63            )
64        }
65    }
66
67    #[doc = "LCD Boost Level Control Register"]
68    #[inline(always)]
69    pub const fn vlcd(&self) -> &'static crate::common::Reg<self::Vlcd_SPEC, crate::common::RW> {
70        unsafe {
71            crate::common::Reg::<self::Vlcd_SPEC, crate::common::RW>::from_ptr(
72                self._svd2pac_as_ptr().add(3usize),
73            )
74        }
75    }
76
77    #[doc = "LCD Display Data Register %s"]
78    #[inline(always)]
79    pub const fn seg(
80        &self,
81    ) -> &'static crate::common::ClusterRegisterArray<
82        crate::common::Reg<self::Seg_SPEC, crate::common::RW>,
83        45,
84        0x1,
85    > {
86        unsafe {
87            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
88        }
89    }
90}
91#[doc(hidden)]
92#[derive(Copy, Clone, Eq, PartialEq)]
93pub struct Lcdm0_SPEC;
94impl crate::sealed::RegSpec for Lcdm0_SPEC {
95    type DataType = u8;
96}
97
98#[doc = "LCD Mode Register 0"]
99pub type Lcdm0 = crate::RegValueT<Lcdm0_SPEC>;
100
101impl Lcdm0 {
102    #[doc = "LCD Display Bias Method Select"]
103    #[inline(always)]
104    pub fn lbas(
105        self,
106    ) -> crate::common::RegisterField<
107        0,
108        0x3,
109        1,
110        0,
111        lcdm0::Lbas,
112        lcdm0::Lbas,
113        Lcdm0_SPEC,
114        crate::common::RW,
115    > {
116        crate::common::RegisterField::<
117            0,
118            0x3,
119            1,
120            0,
121            lcdm0::Lbas,
122            lcdm0::Lbas,
123            Lcdm0_SPEC,
124            crate::common::RW,
125        >::from_register(self, 0)
126    }
127
128    #[doc = "Time Slice of LCD Display Select"]
129    #[inline(always)]
130    pub fn ldty(
131        self,
132    ) -> crate::common::RegisterField<
133        2,
134        0x7,
135        1,
136        0,
137        lcdm0::Ldty,
138        lcdm0::Ldty,
139        Lcdm0_SPEC,
140        crate::common::RW,
141    > {
142        crate::common::RegisterField::<
143            2,
144            0x7,
145            1,
146            0,
147            lcdm0::Ldty,
148            lcdm0::Ldty,
149            Lcdm0_SPEC,
150            crate::common::RW,
151        >::from_register(self, 0)
152    }
153
154    #[doc = "LCD Display Waveform Select"]
155    #[inline(always)]
156    pub fn lwave(
157        self,
158    ) -> crate::common::RegisterField<
159        5,
160        0x1,
161        1,
162        0,
163        lcdm0::Lwave,
164        lcdm0::Lwave,
165        Lcdm0_SPEC,
166        crate::common::RW,
167    > {
168        crate::common::RegisterField::<
169            5,
170            0x1,
171            1,
172            0,
173            lcdm0::Lwave,
174            lcdm0::Lwave,
175            Lcdm0_SPEC,
176            crate::common::RW,
177        >::from_register(self, 0)
178    }
179
180    #[doc = "LCD Drive Voltage Generator Select"]
181    #[inline(always)]
182    pub fn mdset(
183        self,
184    ) -> crate::common::RegisterField<
185        6,
186        0x3,
187        1,
188        0,
189        lcdm0::Mdset,
190        lcdm0::Mdset,
191        Lcdm0_SPEC,
192        crate::common::RW,
193    > {
194        crate::common::RegisterField::<
195            6,
196            0x3,
197            1,
198            0,
199            lcdm0::Mdset,
200            lcdm0::Mdset,
201            Lcdm0_SPEC,
202            crate::common::RW,
203        >::from_register(self, 0)
204    }
205}
206impl ::core::default::Default for Lcdm0 {
207    #[inline(always)]
208    fn default() -> Lcdm0 {
209        <crate::RegValueT<Lcdm0_SPEC> as RegisterValue<_>>::new(0)
210    }
211}
212pub mod lcdm0 {
213
214    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
215    pub struct Lbas_SPEC;
216    pub type Lbas = crate::EnumBitfieldStruct<u8, Lbas_SPEC>;
217    impl Lbas {
218        #[doc = "1/2 bias method"]
219        pub const _00: Self = Self::new(0);
220
221        #[doc = "1/3 bias method"]
222        pub const _01: Self = Self::new(1);
223
224        #[doc = "1/4 bias method"]
225        pub const _10: Self = Self::new(2);
226
227        #[doc = "Setting prohibited"]
228        pub const _11: Self = Self::new(3);
229    }
230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
231    pub struct Ldty_SPEC;
232    pub type Ldty = crate::EnumBitfieldStruct<u8, Ldty_SPEC>;
233    impl Ldty {
234        #[doc = "Static"]
235        pub const _000: Self = Self::new(0);
236
237        #[doc = "2-time slice"]
238        pub const _001: Self = Self::new(1);
239
240        #[doc = "3-time slice"]
241        pub const _010: Self = Self::new(2);
242
243        #[doc = "4-time slice"]
244        pub const _011: Self = Self::new(3);
245
246        #[doc = "6-time slice"]
247        pub const _100: Self = Self::new(4);
248
249        #[doc = "8-time slice"]
250        pub const _101: Self = Self::new(5);
251    }
252    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
253    pub struct Lwave_SPEC;
254    pub type Lwave = crate::EnumBitfieldStruct<u8, Lwave_SPEC>;
255    impl Lwave {
256        #[doc = "Waveform A"]
257        pub const _0: Self = Self::new(0);
258
259        #[doc = "Waveform B"]
260        pub const _1: Self = Self::new(1);
261    }
262    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
263    pub struct Mdset_SPEC;
264    pub type Mdset = crate::EnumBitfieldStruct<u8, Mdset_SPEC>;
265    impl Mdset {
266        #[doc = "External resistance division method"]
267        pub const _00: Self = Self::new(0);
268
269        #[doc = "Internal voltage boosting method"]
270        pub const _01: Self = Self::new(1);
271
272        #[doc = "Capacitor split method"]
273        pub const _10: Self = Self::new(2);
274
275        #[doc = "Setting prohibited"]
276        pub const _11: Self = Self::new(3);
277    }
278}
279#[doc(hidden)]
280#[derive(Copy, Clone, Eq, PartialEq)]
281pub struct Lcdm1_SPEC;
282impl crate::sealed::RegSpec for Lcdm1_SPEC {
283    type DataType = u8;
284}
285
286#[doc = "LCD Mode Register 1"]
287pub type Lcdm1 = crate::RegValueT<Lcdm1_SPEC>;
288
289impl Lcdm1 {
290    #[doc = "Voltage Boosting Pin Initial Value Switching Control"]
291    #[inline(always)]
292    pub fn lcdvlm(
293        self,
294    ) -> crate::common::RegisterField<
295        0,
296        0x1,
297        1,
298        0,
299        lcdm1::Lcdvlm,
300        lcdm1::Lcdvlm,
301        Lcdm1_SPEC,
302        crate::common::RW,
303    > {
304        crate::common::RegisterField::<
305            0,
306            0x1,
307            1,
308            0,
309            lcdm1::Lcdvlm,
310            lcdm1::Lcdvlm,
311            Lcdm1_SPEC,
312            crate::common::RW,
313        >::from_register(self, 0)
314    }
315
316    #[doc = "Display Area Data Selection"]
317    #[inline(always)]
318    pub fn lcdsel(
319        self,
320    ) -> crate::common::RegisterField<
321        3,
322        0x1,
323        1,
324        0,
325        lcdm1::Lcdsel,
326        lcdm1::Lcdsel,
327        Lcdm1_SPEC,
328        crate::common::RW,
329    > {
330        crate::common::RegisterField::<
331            3,
332            0x1,
333            1,
334            0,
335            lcdm1::Lcdsel,
336            lcdm1::Lcdsel,
337            Lcdm1_SPEC,
338            crate::common::RW,
339        >::from_register(self, 0)
340    }
341
342    #[doc = "Alternately Display A-pattern and B-pattern Area Data (blinking display) Control"]
343    #[inline(always)]
344    pub fn blon(
345        self,
346    ) -> crate::common::RegisterField<
347        4,
348        0x1,
349        1,
350        0,
351        lcdm1::Blon,
352        lcdm1::Blon,
353        Lcdm1_SPEC,
354        crate::common::RW,
355    > {
356        crate::common::RegisterField::<
357            4,
358            0x1,
359            1,
360            0,
361            lcdm1::Blon,
362            lcdm1::Blon,
363            Lcdm1_SPEC,
364            crate::common::RW,
365        >::from_register(self, 0)
366    }
367
368    #[doc = "Voltage Boost Circuit or Capacitor Split Circuit Operation Enable/Disable"]
369    #[inline(always)]
370    pub fn vlcon(
371        self,
372    ) -> crate::common::RegisterField<
373        5,
374        0x1,
375        1,
376        0,
377        lcdm1::Vlcon,
378        lcdm1::Vlcon,
379        Lcdm1_SPEC,
380        crate::common::RW,
381    > {
382        crate::common::RegisterField::<
383            5,
384            0x1,
385            1,
386            0,
387            lcdm1::Vlcon,
388            lcdm1::Vlcon,
389            Lcdm1_SPEC,
390            crate::common::RW,
391        >::from_register(self, 0)
392    }
393
394    #[doc = "LCD Display Enable/Disable"]
395    #[inline(always)]
396    pub fn scoc(
397        self,
398    ) -> crate::common::RegisterField<
399        6,
400        0x1,
401        1,
402        0,
403        lcdm1::Scoc,
404        lcdm1::Scoc,
405        Lcdm1_SPEC,
406        crate::common::RW,
407    > {
408        crate::common::RegisterField::<
409            6,
410            0x1,
411            1,
412            0,
413            lcdm1::Scoc,
414            lcdm1::Scoc,
415            Lcdm1_SPEC,
416            crate::common::RW,
417        >::from_register(self, 0)
418    }
419
420    #[doc = "LCD Display Enable/Disable"]
421    #[inline(always)]
422    pub fn lcdon(
423        self,
424    ) -> crate::common::RegisterField<
425        7,
426        0x1,
427        1,
428        0,
429        lcdm1::Lcdon,
430        lcdm1::Lcdon,
431        Lcdm1_SPEC,
432        crate::common::RW,
433    > {
434        crate::common::RegisterField::<
435            7,
436            0x1,
437            1,
438            0,
439            lcdm1::Lcdon,
440            lcdm1::Lcdon,
441            Lcdm1_SPEC,
442            crate::common::RW,
443        >::from_register(self, 0)
444    }
445}
446impl ::core::default::Default for Lcdm1 {
447    #[inline(always)]
448    fn default() -> Lcdm1 {
449        <crate::RegValueT<Lcdm1_SPEC> as RegisterValue<_>>::new(0)
450    }
451}
452pub mod lcdm1 {
453
454    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
455    pub struct Lcdvlm_SPEC;
456    pub type Lcdvlm = crate::EnumBitfieldStruct<u8, Lcdvlm_SPEC>;
457    impl Lcdvlm {
458        #[doc = "Set when VCC ≥ 2.7 V"]
459        pub const _0: Self = Self::new(0);
460
461        #[doc = "Set when VCC ≤ 4.2 V"]
462        pub const _1: Self = Self::new(1);
463    }
464    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
465    pub struct Lcdsel_SPEC;
466    pub type Lcdsel = crate::EnumBitfieldStruct<u8, Lcdsel_SPEC>;
467    impl Lcdsel {
468        #[doc = "Display an A-pattern area data (lower 4 bits of LCD display data register)"]
469        pub const _0: Self = Self::new(0);
470
471        #[doc = "Display a B-pattern area data (higher 4 bits of LCD display data register)"]
472        pub const _1: Self = Self::new(1);
473    }
474    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
475    pub struct Blon_SPEC;
476    pub type Blon = crate::EnumBitfieldStruct<u8, Blon_SPEC>;
477    impl Blon {
478        #[doc = "Alternately display A-pattern and B-pattern area data (blinking display) disabled"]
479        pub const _0: Self = Self::new(0);
480
481        #[doc = "Alternately display A-pattern and B-pattern area data (blinking display corresponding to the periodic interrupt (RTC_PRD) timing of the Realtime Clock (RTC))."]
482        pub const _1: Self = Self::new(1);
483    }
484    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
485    pub struct Vlcon_SPEC;
486    pub type Vlcon = crate::EnumBitfieldStruct<u8, Vlcon_SPEC>;
487    impl Vlcon {
488        #[doc = "Disable voltage boost circuit or capacitor split circuit operation"]
489        pub const _0: Self = Self::new(0);
490
491        #[doc = "Enable voltage boost circuit or capacitor split circuit operation"]
492        pub const _1: Self = Self::new(1);
493    }
494    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
495    pub struct Scoc_SPEC;
496    pub type Scoc = crate::EnumBitfieldStruct<u8, Scoc_SPEC>;
497    impl Scoc {
498        #[doc = "Output ground level to segment/common pin"]
499        pub const _0: Self = Self::new(0);
500
501        #[doc = "Display data to segment/common pin"]
502        pub const _1: Self = Self::new(1);
503    }
504    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
505    pub struct Lcdon_SPEC;
506    pub type Lcdon = crate::EnumBitfieldStruct<u8, Lcdon_SPEC>;
507    impl Lcdon {
508        #[doc = "Display off"]
509        pub const _0: Self = Self::new(0);
510
511        #[doc = "Display on"]
512        pub const _1: Self = Self::new(1);
513    }
514}
515#[doc(hidden)]
516#[derive(Copy, Clone, Eq, PartialEq)]
517pub struct Lcdc0_SPEC;
518impl crate::sealed::RegSpec for Lcdc0_SPEC {
519    type DataType = u8;
520}
521
522#[doc = "LCD Clock Control Register 0"]
523pub type Lcdc0 = crate::RegValueT<Lcdc0_SPEC>;
524
525impl Lcdc0 {
526    #[doc = "LCD Clock (LCDCL) Setting"]
527    #[inline(always)]
528    pub fn lcdc0(
529        self,
530    ) -> crate::common::RegisterField<
531        0,
532        0x3f,
533        1,
534        0,
535        lcdc0::Lcdc0,
536        lcdc0::Lcdc0,
537        Lcdc0_SPEC,
538        crate::common::RW,
539    > {
540        crate::common::RegisterField::<
541            0,
542            0x3f,
543            1,
544            0,
545            lcdc0::Lcdc0,
546            lcdc0::Lcdc0,
547            Lcdc0_SPEC,
548            crate::common::RW,
549        >::from_register(self, 0)
550    }
551}
552impl ::core::default::Default for Lcdc0 {
553    #[inline(always)]
554    fn default() -> Lcdc0 {
555        <crate::RegValueT<Lcdc0_SPEC> as RegisterValue<_>>::new(0)
556    }
557}
558pub mod lcdc0 {
559
560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
561    pub struct Lcdc0_SPEC;
562    pub type Lcdc0 = crate::EnumBitfieldStruct<u8, Lcdc0_SPEC>;
563    impl Lcdc0 {
564        #[doc = "(SOSC)/22 or (LOCO)/22"]
565        pub const _0_X_1: Self = Self::new(1);
566
567        #[doc = "(SOSC)/23 or (LOCO)/23"]
568        pub const _0_X_2: Self = Self::new(2);
569
570        #[doc = "(SOSC)/24 or (LOCO)/24"]
571        pub const _0_X_3: Self = Self::new(3);
572
573        #[doc = "(SOSC)/25 or (LOCO)/25"]
574        pub const _0_X_4: Self = Self::new(4);
575
576        #[doc = "(SOSC)/26 or (LOCO)/26"]
577        pub const _0_X_5: Self = Self::new(5);
578
579        #[doc = "(SOSC)/27 or (LOCO)/27"]
580        pub const _0_X_6: Self = Self::new(6);
581
582        #[doc = "(SOSC)/28 or (LOCO)/28"]
583        pub const _0_X_7: Self = Self::new(7);
584
585        #[doc = "(SOSC)/29 or (LOCO)/29"]
586        pub const _0_X_8: Self = Self::new(8);
587
588        #[doc = "(SOSC)/210 or (LOCO)/210"]
589        pub const _0_X_9: Self = Self::new(9);
590
591        #[doc = "(MOSC)/28, (HOCO)/28, or (MOCO)/28"]
592        pub const _0_X_11: Self = Self::new(17);
593
594        #[doc = "(MOSC)/29, (HOCO)/29, or (MOCO)/29"]
595        pub const _0_X_12: Self = Self::new(18);
596
597        #[doc = "(MOSC)/210, (HOCO)/210, or (MOCO)/210"]
598        pub const _0_X_13: Self = Self::new(19);
599
600        #[doc = "(MOSC)/211, (HOCO)/211, or (MOCO)/211"]
601        pub const _0_X_14: Self = Self::new(20);
602
603        #[doc = "(MOSC)/212, (HOCO)/212, or (MOCO)/212"]
604        pub const _0_X_15: Self = Self::new(21);
605
606        #[doc = "(MOSC)/213, (HOCO)/213, or (MOCO)/213"]
607        pub const _0_X_16: Self = Self::new(22);
608
609        #[doc = "(MOSC)/214, (HOCO)/214, or (MOCO)/214"]
610        pub const _0_X_17: Self = Self::new(23);
611
612        #[doc = "(MOSC)/215, (HOCO)/215, or (MOCO)/215"]
613        pub const _0_X_18: Self = Self::new(24);
614
615        #[doc = "(MOSC)/216, (HOCO)/216, or (MOCO)/216"]
616        pub const _0_X_19: Self = Self::new(25);
617
618        #[doc = "(MOSC)/217, (HOCO)/217, or (MOCO)/217"]
619        pub const _0_X_1_A: Self = Self::new(26);
620
621        #[doc = "(MOSC)/218, (HOCO)/218, or (MOCO)/218"]
622        pub const _0_X_1_B: Self = Self::new(27);
623
624        #[doc = "(MOSC)/219, (HOCO)/219, or (MOCO)/219"]
625        pub const _0_X_2_B: Self = Self::new(43);
626
627        #[doc = "(MOSC)/220, (HOCO)/220, or (MOCO)/220"]
628        pub const _0_X_3_B: Self = Self::new(59);
629    }
630}
631#[doc(hidden)]
632#[derive(Copy, Clone, Eq, PartialEq)]
633pub struct Vlcd_SPEC;
634impl crate::sealed::RegSpec for Vlcd_SPEC {
635    type DataType = u8;
636}
637
638#[doc = "LCD Boost Level Control Register"]
639pub type Vlcd = crate::RegValueT<Vlcd_SPEC>;
640
641impl Vlcd {
642    #[doc = "Reference Voltage Select (Contrast Adjustment)"]
643    #[inline(always)]
644    pub fn vlcd(
645        self,
646    ) -> crate::common::RegisterField<
647        0,
648        0x1f,
649        1,
650        0,
651        vlcd::Vlcd,
652        vlcd::Vlcd,
653        Vlcd_SPEC,
654        crate::common::RW,
655    > {
656        crate::common::RegisterField::<
657            0,
658            0x1f,
659            1,
660            0,
661            vlcd::Vlcd,
662            vlcd::Vlcd,
663            Vlcd_SPEC,
664            crate::common::RW,
665        >::from_register(self, 0)
666    }
667
668    #[doc = "Reference Voltage Selection"]
669    #[inline(always)]
670    pub fn mdset2(
671        self,
672    ) -> crate::common::RegisterField<
673        7,
674        0x1,
675        1,
676        0,
677        vlcd::Mdset2,
678        vlcd::Mdset2,
679        Vlcd_SPEC,
680        crate::common::RW,
681    > {
682        crate::common::RegisterField::<
683            7,
684            0x1,
685            1,
686            0,
687            vlcd::Mdset2,
688            vlcd::Mdset2,
689            Vlcd_SPEC,
690            crate::common::RW,
691        >::from_register(self, 0)
692    }
693}
694impl ::core::default::Default for Vlcd {
695    #[inline(always)]
696    fn default() -> Vlcd {
697        <crate::RegValueT<Vlcd_SPEC> as RegisterValue<_>>::new(4)
698    }
699}
700pub mod vlcd {
701
702    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
703    pub struct Vlcd_SPEC;
704    pub type Vlcd = crate::EnumBitfieldStruct<u8, Vlcd_SPEC>;
705    impl Vlcd {
706        #[doc = "1.01 V (VL1 reference voltage) 2.02 V (VL2 reference voltage)"]
707        pub const _0_X_4: Self = Self::new(4);
708
709        #[doc = "1.04 V (VL1 reference voltage) 2.09 V (VL2 reference voltage)"]
710        pub const _0_X_5: Self = Self::new(5);
711
712        #[doc = "1.07 V (VL1 reference voltage) 2.16 V (VL2 reference voltage)"]
713        pub const _0_X_6: Self = Self::new(6);
714
715        #[doc = "1.11 V (VL1 reference voltage) 2.22 V (VL2 reference voltage)"]
716        pub const _0_X_7: Self = Self::new(7);
717
718        #[doc = "1.14 V (VL1 reference voltage) 2.29 V (VL2 reference voltage)"]
719        pub const _0_X_8: Self = Self::new(8);
720
721        #[doc = "1.17 V (VL1 reference voltage) 2.36 V (VL2 reference voltage)"]
722        pub const _0_X_9: Self = Self::new(9);
723
724        #[doc = "1.21 V (VL1 reference voltage) 2.42 V (VL2 reference voltage)"]
725        pub const _0_X_A: Self = Self::new(10);
726
727        #[doc = "1.24 V (VL1 reference voltage) 2.49 V (VL2 reference voltage)"]
728        pub const _0_X_B: Self = Self::new(11);
729
730        #[doc = "1.27 V (VL1 reference voltage) 2.56 V (VL2 reference voltage)"]
731        pub const _0_X_C: Self = Self::new(12);
732
733        #[doc = "1.31 V (VL1 reference voltage) 2.62 V (VL2 reference voltage)"]
734        pub const _0_X_D: Self = Self::new(13);
735
736        #[doc = "1.34 V (VL1 reference voltage) 2.69 V (VL2 reference voltage)"]
737        pub const _0_X_E: Self = Self::new(14);
738
739        #[doc = "1.37 V (VL1 reference voltage) 2.76 V (VL2 reference voltage)"]
740        pub const _0_X_F: Self = Self::new(15);
741
742        #[doc = "1.40 V (VL1 reference voltage) 2.82 V (VL2 reference voltage)"]
743        pub const _0_X_10: Self = Self::new(16);
744
745        #[doc = "1.44 V (VL1 reference voltage) 2.89 V (VL2 reference voltage)"]
746        pub const _0_X_11: Self = Self::new(17);
747
748        #[doc = "1.47 V (VL1 reference voltage) 2.96 V (VL2 reference voltage)"]
749        pub const _0_X_12: Self = Self::new(18);
750
751        #[doc = "1.50 V (VL1 reference voltage) 3.02 V (VL2 reference voltage)"]
752        pub const _0_X_13: Self = Self::new(19);
753
754        #[doc = "1.54 V (VL1 reference voltage) 3.09 V (VL2 reference voltage)"]
755        pub const _0_X_14: Self = Self::new(20);
756
757        #[doc = "1.57 V (VL1 reference voltage) 3.15 V (VL2 reference voltage)"]
758        pub const _0_X_15: Self = Self::new(21);
759
760        #[doc = "1.60 V (VL1 reference voltage) 3.22 V (VL2 reference voltage)"]
761        pub const _0_X_16: Self = Self::new(22);
762
763        #[doc = "1.64 V (VL1 reference voltage) 3.29 V (VL2 reference voltage)"]
764        pub const _0_X_17: Self = Self::new(23);
765
766        #[doc = "1.67 V (VL1 reference voltage) 3.35 V (VL2 reference voltage)"]
767        pub const _0_X_18: Self = Self::new(24);
768
769        #[doc = "1.70 V (VL1 reference voltage) 3.42 V (VL2 reference voltage)"]
770        pub const _0_X_19: Self = Self::new(25);
771
772        #[doc = "1.74 V (VL1 reference voltage) 3.49 V (VL2 reference voltage)"]
773        pub const _0_X_1_A: Self = Self::new(26);
774    }
775    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
776    pub struct Mdset2_SPEC;
777    pub type Mdset2 = crate::EnumBitfieldStruct<u8, Mdset2_SPEC>;
778    impl Mdset2 {
779        #[doc = "External resistance division method or VL1 reference mode of internal voltage boosting method or VCC reference mode of capacitor split method"]
780        pub const _0: Self = Self::new(0);
781
782        #[doc = "VL2 reference mode of internal voltage boosting method or VL4 reference mode of capacitor split method"]
783        pub const _1: Self = Self::new(1);
784    }
785}
786#[doc(hidden)]
787#[derive(Copy, Clone, Eq, PartialEq)]
788pub struct Seg_SPEC;
789impl crate::sealed::RegSpec for Seg_SPEC {
790    type DataType = u8;
791}
792
793#[doc = "LCD Display Data Register %s"]
794pub type Seg = crate::RegValueT<Seg_SPEC>;
795
796impl NoBitfieldReg<Seg_SPEC> for Seg {}
797impl ::core::default::Default for Seg {
798    #[inline(always)]
799    fn default() -> Seg {
800        <crate::RegValueT<Seg_SPEC> as RegisterValue<_>>::new(0)
801    }
802}