d1_pac/tve/
tve_notch_dac_delay.rs

1#[doc = "Register `tve_notch_dac_delay` reader"]
2pub type R = crate::R<TVE_NOTCH_DAC_DELAY_SPEC>;
3#[doc = "Register `tve_notch_dac_delay` writer"]
4pub type W = crate::W<TVE_NOTCH_DAC_DELAY_SPEC>;
5#[doc = "Field `c_delay_before_dither` reader - "]
6pub type C_DELAY_BEFORE_DITHER_R = crate::FieldReader;
7#[doc = "Field `c_delay_before_dither` writer - "]
8pub type C_DELAY_BEFORE_DITHER_W<'a, REG> = crate::FieldWriter<'a, REG, 4>;
9#[doc = "Field `notch_en` reader - Luma notch filter on/off selection\n\nNote: This bit selects if the luma notch filter is operating or bypassed."]
10pub type NOTCH_EN_R = crate::BitReader<NOTCH_EN_A>;
11#[doc = "Luma notch filter on/off selection\n\nNote: This bit selects if the luma notch filter is operating or bypassed.\n\nValue on reset: 1"]
12#[derive(Clone, Copy, Debug, PartialEq, Eq)]
13pub enum NOTCH_EN_A {
14    #[doc = "0: The luma notch filter is bypassed"]
15    BYPASSED = 0,
16    #[doc = "1: The luma notch filter is operating"]
17    OPERATING = 1,
18}
19impl From<NOTCH_EN_A> for bool {
20    #[inline(always)]
21    fn from(variant: NOTCH_EN_A) -> Self {
22        variant as u8 != 0
23    }
24}
25impl NOTCH_EN_R {
26    #[doc = "Get enumerated values variant"]
27    #[inline(always)]
28    pub const fn variant(&self) -> NOTCH_EN_A {
29        match self.bits {
30            false => NOTCH_EN_A::BYPASSED,
31            true => NOTCH_EN_A::OPERATING,
32        }
33    }
34    #[doc = "The luma notch filter is bypassed"]
35    #[inline(always)]
36    pub fn is_bypassed(&self) -> bool {
37        *self == NOTCH_EN_A::BYPASSED
38    }
39    #[doc = "The luma notch filter is operating"]
40    #[inline(always)]
41    pub fn is_operating(&self) -> bool {
42        *self == NOTCH_EN_A::OPERATING
43    }
44}
45#[doc = "Field `notch_en` writer - Luma notch filter on/off selection\n\nNote: This bit selects if the luma notch filter is operating or bypassed."]
46pub type NOTCH_EN_W<'a, REG> = crate::BitWriter<'a, REG, NOTCH_EN_A>;
47impl<'a, REG> NOTCH_EN_W<'a, REG>
48where
49    REG: crate::Writable + crate::RegisterSpec,
50{
51    #[doc = "The luma notch filter is bypassed"]
52    #[inline(always)]
53    pub fn bypassed(self) -> &'a mut crate::W<REG> {
54        self.variant(NOTCH_EN_A::BYPASSED)
55    }
56    #[doc = "The luma notch filter is operating"]
57    #[inline(always)]
58    pub fn operating(self) -> &'a mut crate::W<REG> {
59        self.variant(NOTCH_EN_A::OPERATING)
60    }
61}
62#[doc = "Field `luma_filter_bypass` reader - "]
63pub type LUMA_FILTER_BYPASS_R = crate::BitReader<LUMA_FILTER_BYPASS_A>;
64#[doc = "\n\nValue on reset: 0"]
65#[derive(Clone, Copy, Debug, PartialEq, Eq)]
66pub enum LUMA_FILTER_BYPASS_A {
67    #[doc = "0: Luma Filter Enable"]
68    ENABLE = 0,
69    #[doc = "1: Luma Filter bypass"]
70    BYPASS = 1,
71}
72impl From<LUMA_FILTER_BYPASS_A> for bool {
73    #[inline(always)]
74    fn from(variant: LUMA_FILTER_BYPASS_A) -> Self {
75        variant as u8 != 0
76    }
77}
78impl LUMA_FILTER_BYPASS_R {
79    #[doc = "Get enumerated values variant"]
80    #[inline(always)]
81    pub const fn variant(&self) -> LUMA_FILTER_BYPASS_A {
82        match self.bits {
83            false => LUMA_FILTER_BYPASS_A::ENABLE,
84            true => LUMA_FILTER_BYPASS_A::BYPASS,
85        }
86    }
87    #[doc = "Luma Filter Enable"]
88    #[inline(always)]
89    pub fn is_enable(&self) -> bool {
90        *self == LUMA_FILTER_BYPASS_A::ENABLE
91    }
92    #[doc = "Luma Filter bypass"]
93    #[inline(always)]
94    pub fn is_bypass(&self) -> bool {
95        *self == LUMA_FILTER_BYPASS_A::BYPASS
96    }
97}
98#[doc = "Field `luma_filter_bypass` writer - "]
99pub type LUMA_FILTER_BYPASS_W<'a, REG> = crate::BitWriter<'a, REG, LUMA_FILTER_BYPASS_A>;
100impl<'a, REG> LUMA_FILTER_BYPASS_W<'a, REG>
101where
102    REG: crate::Writable + crate::RegisterSpec,
103{
104    #[doc = "Luma Filter Enable"]
105    #[inline(always)]
106    pub fn enable(self) -> &'a mut crate::W<REG> {
107        self.variant(LUMA_FILTER_BYPASS_A::ENABLE)
108    }
109    #[doc = "Luma Filter bypass"]
110    #[inline(always)]
111    pub fn bypass(self) -> &'a mut crate::W<REG> {
112        self.variant(LUMA_FILTER_BYPASS_A::BYPASS)
113    }
114}
115#[doc = "Field `chroma_filter_stage__bypass[3,2,1]` reader - "]
116pub type CHROMA_FILTER_STAGE__BYPASS_R = crate::BitReader<CHROMA_FILTER_STAGE__BYPASS_A>;
117#[doc = "\n\nValue on reset: 0"]
118#[derive(Clone, Copy, Debug, PartialEq, Eq)]
119pub enum CHROMA_FILTER_STAGE__BYPASS_A {
120    #[doc = "0: Chroma Filter Stage \\[i\\] Enable"]
121    ENABLE = 0,
122    #[doc = "1: Chroma Filter Stage \\[i\\] bypass"]
123    BYPASS = 1,
124}
125impl From<CHROMA_FILTER_STAGE__BYPASS_A> for bool {
126    #[inline(always)]
127    fn from(variant: CHROMA_FILTER_STAGE__BYPASS_A) -> Self {
128        variant as u8 != 0
129    }
130}
131impl CHROMA_FILTER_STAGE__BYPASS_R {
132    #[doc = "Get enumerated values variant"]
133    #[inline(always)]
134    pub const fn variant(&self) -> CHROMA_FILTER_STAGE__BYPASS_A {
135        match self.bits {
136            false => CHROMA_FILTER_STAGE__BYPASS_A::ENABLE,
137            true => CHROMA_FILTER_STAGE__BYPASS_A::BYPASS,
138        }
139    }
140    #[doc = "Chroma Filter Stage \\[i\\] Enable"]
141    #[inline(always)]
142    pub fn is_enable(&self) -> bool {
143        *self == CHROMA_FILTER_STAGE__BYPASS_A::ENABLE
144    }
145    #[doc = "Chroma Filter Stage \\[i\\] bypass"]
146    #[inline(always)]
147    pub fn is_bypass(&self) -> bool {
148        *self == CHROMA_FILTER_STAGE__BYPASS_A::BYPASS
149    }
150}
151#[doc = "Field `chroma_filter_stage__bypass[3,2,1]` writer - "]
152pub type CHROMA_FILTER_STAGE__BYPASS_W<'a, REG> =
153    crate::BitWriter<'a, REG, CHROMA_FILTER_STAGE__BYPASS_A>;
154impl<'a, REG> CHROMA_FILTER_STAGE__BYPASS_W<'a, REG>
155where
156    REG: crate::Writable + crate::RegisterSpec,
157{
158    #[doc = "Chroma Filter Stage \\[i\\] Enable"]
159    #[inline(always)]
160    pub fn enable(self) -> &'a mut crate::W<REG> {
161        self.variant(CHROMA_FILTER_STAGE__BYPASS_A::ENABLE)
162    }
163    #[doc = "Chroma Filter Stage \\[i\\] bypass"]
164    #[inline(always)]
165    pub fn bypass(self) -> &'a mut crate::W<REG> {
166        self.variant(CHROMA_FILTER_STAGE__BYPASS_A::BYPASS)
167    }
168}
169#[doc = "Field `chroma_hd_mode_filter_en` reader - "]
170pub type CHROMA_HD_MODE_FILTER_EN_R = crate::BitReader<CHROMA_HD_MODE_FILTER_EN_A>;
171#[doc = "\n\nValue on reset: 0"]
172#[derive(Clone, Copy, Debug, PartialEq, Eq)]
173pub enum CHROMA_HD_MODE_FILTER_EN_A {
174    #[doc = "0: Chroma HD Filter Disable"]
175    DISABLE = 0,
176    #[doc = "1: Chroma HD Filter Enable"]
177    ENABLE = 1,
178}
179impl From<CHROMA_HD_MODE_FILTER_EN_A> for bool {
180    #[inline(always)]
181    fn from(variant: CHROMA_HD_MODE_FILTER_EN_A) -> Self {
182        variant as u8 != 0
183    }
184}
185impl CHROMA_HD_MODE_FILTER_EN_R {
186    #[doc = "Get enumerated values variant"]
187    #[inline(always)]
188    pub const fn variant(&self) -> CHROMA_HD_MODE_FILTER_EN_A {
189        match self.bits {
190            false => CHROMA_HD_MODE_FILTER_EN_A::DISABLE,
191            true => CHROMA_HD_MODE_FILTER_EN_A::ENABLE,
192        }
193    }
194    #[doc = "Chroma HD Filter Disable"]
195    #[inline(always)]
196    pub fn is_disable(&self) -> bool {
197        *self == CHROMA_HD_MODE_FILTER_EN_A::DISABLE
198    }
199    #[doc = "Chroma HD Filter Enable"]
200    #[inline(always)]
201    pub fn is_enable(&self) -> bool {
202        *self == CHROMA_HD_MODE_FILTER_EN_A::ENABLE
203    }
204}
205#[doc = "Field `chroma_hd_mode_filter_en` writer - "]
206pub type CHROMA_HD_MODE_FILTER_EN_W<'a, REG> =
207    crate::BitWriter<'a, REG, CHROMA_HD_MODE_FILTER_EN_A>;
208impl<'a, REG> CHROMA_HD_MODE_FILTER_EN_W<'a, REG>
209where
210    REG: crate::Writable + crate::RegisterSpec,
211{
212    #[doc = "Chroma HD Filter Disable"]
213    #[inline(always)]
214    pub fn disable(self) -> &'a mut crate::W<REG> {
215        self.variant(CHROMA_HD_MODE_FILTER_EN_A::DISABLE)
216    }
217    #[doc = "Chroma HD Filter Enable"]
218    #[inline(always)]
219    pub fn enable(self) -> &'a mut crate::W<REG> {
220        self.variant(CHROMA_HD_MODE_FILTER_EN_A::ENABLE)
221    }
222}
223#[doc = "Field `chroma_filter_1_444_en` reader - "]
224pub type CHROMA_FILTER_1_444_EN_R = crate::BitReader<CHROMA_FILTER_1_444_EN_A>;
225#[doc = "\n\nValue on reset: 0"]
226#[derive(Clone, Copy, Debug, PartialEq, Eq)]
227pub enum CHROMA_FILTER_1_444_EN_A {
228    #[doc = "0: Chroma Filter 1 444 Disable"]
229    DISABLE = 0,
230    #[doc = "1: Chroma Filter 1 444 Enable"]
231    ENABLE = 1,
232}
233impl From<CHROMA_FILTER_1_444_EN_A> for bool {
234    #[inline(always)]
235    fn from(variant: CHROMA_FILTER_1_444_EN_A) -> Self {
236        variant as u8 != 0
237    }
238}
239impl CHROMA_FILTER_1_444_EN_R {
240    #[doc = "Get enumerated values variant"]
241    #[inline(always)]
242    pub const fn variant(&self) -> CHROMA_FILTER_1_444_EN_A {
243        match self.bits {
244            false => CHROMA_FILTER_1_444_EN_A::DISABLE,
245            true => CHROMA_FILTER_1_444_EN_A::ENABLE,
246        }
247    }
248    #[doc = "Chroma Filter 1 444 Disable"]
249    #[inline(always)]
250    pub fn is_disable(&self) -> bool {
251        *self == CHROMA_FILTER_1_444_EN_A::DISABLE
252    }
253    #[doc = "Chroma Filter 1 444 Enable"]
254    #[inline(always)]
255    pub fn is_enable(&self) -> bool {
256        *self == CHROMA_FILTER_1_444_EN_A::ENABLE
257    }
258}
259#[doc = "Field `chroma_filter_1_444_en` writer - "]
260pub type CHROMA_FILTER_1_444_EN_W<'a, REG> = crate::BitWriter<'a, REG, CHROMA_FILTER_1_444_EN_A>;
261impl<'a, REG> CHROMA_FILTER_1_444_EN_W<'a, REG>
262where
263    REG: crate::Writable + crate::RegisterSpec,
264{
265    #[doc = "Chroma Filter 1 444 Disable"]
266    #[inline(always)]
267    pub fn disable(self) -> &'a mut crate::W<REG> {
268        self.variant(CHROMA_FILTER_1_444_EN_A::DISABLE)
269    }
270    #[doc = "Chroma Filter 1 444 Enable"]
271    #[inline(always)]
272    pub fn enable(self) -> &'a mut crate::W<REG> {
273        self.variant(CHROMA_FILTER_1_444_EN_A::ENABLE)
274    }
275}
276#[doc = "Field `hd_mode_cr_filter_bypass` reader - "]
277pub type HD_MODE_CR_FILTER_BYPASS_R = crate::BitReader<HD_MODE_CR_FILTER_BYPASS_A>;
278#[doc = "\n\nValue on reset: 0"]
279#[derive(Clone, Copy, Debug, PartialEq, Eq)]
280pub enum HD_MODE_CR_FILTER_BYPASS_A {
281    #[doc = "0: Bypass Enable"]
282    ENABLE = 0,
283    #[doc = "1: Bypass Disable"]
284    DISABLE = 1,
285}
286impl From<HD_MODE_CR_FILTER_BYPASS_A> for bool {
287    #[inline(always)]
288    fn from(variant: HD_MODE_CR_FILTER_BYPASS_A) -> Self {
289        variant as u8 != 0
290    }
291}
292impl HD_MODE_CR_FILTER_BYPASS_R {
293    #[doc = "Get enumerated values variant"]
294    #[inline(always)]
295    pub const fn variant(&self) -> HD_MODE_CR_FILTER_BYPASS_A {
296        match self.bits {
297            false => HD_MODE_CR_FILTER_BYPASS_A::ENABLE,
298            true => HD_MODE_CR_FILTER_BYPASS_A::DISABLE,
299        }
300    }
301    #[doc = "Bypass Enable"]
302    #[inline(always)]
303    pub fn is_enable(&self) -> bool {
304        *self == HD_MODE_CR_FILTER_BYPASS_A::ENABLE
305    }
306    #[doc = "Bypass Disable"]
307    #[inline(always)]
308    pub fn is_disable(&self) -> bool {
309        *self == HD_MODE_CR_FILTER_BYPASS_A::DISABLE
310    }
311}
312#[doc = "Field `hd_mode_cr_filter_bypass` writer - "]
313pub type HD_MODE_CR_FILTER_BYPASS_W<'a, REG> =
314    crate::BitWriter<'a, REG, HD_MODE_CR_FILTER_BYPASS_A>;
315impl<'a, REG> HD_MODE_CR_FILTER_BYPASS_W<'a, REG>
316where
317    REG: crate::Writable + crate::RegisterSpec,
318{
319    #[doc = "Bypass Enable"]
320    #[inline(always)]
321    pub fn enable(self) -> &'a mut crate::W<REG> {
322        self.variant(HD_MODE_CR_FILTER_BYPASS_A::ENABLE)
323    }
324    #[doc = "Bypass Disable"]
325    #[inline(always)]
326    pub fn disable(self) -> &'a mut crate::W<REG> {
327        self.variant(HD_MODE_CR_FILTER_BYPASS_A::DISABLE)
328    }
329}
330#[doc = "Field `hd_mode_cb_filter_bypass` reader - "]
331pub type HD_MODE_CB_FILTER_BYPASS_R = crate::BitReader<HD_MODE_CB_FILTER_BYPASS_A>;
332#[doc = "\n\nValue on reset: 0"]
333#[derive(Clone, Copy, Debug, PartialEq, Eq)]
334pub enum HD_MODE_CB_FILTER_BYPASS_A {
335    #[doc = "0: Bypass Enable"]
336    ENABLE = 0,
337    #[doc = "1: Bypass Disable"]
338    DISABLE = 1,
339}
340impl From<HD_MODE_CB_FILTER_BYPASS_A> for bool {
341    #[inline(always)]
342    fn from(variant: HD_MODE_CB_FILTER_BYPASS_A) -> Self {
343        variant as u8 != 0
344    }
345}
346impl HD_MODE_CB_FILTER_BYPASS_R {
347    #[doc = "Get enumerated values variant"]
348    #[inline(always)]
349    pub const fn variant(&self) -> HD_MODE_CB_FILTER_BYPASS_A {
350        match self.bits {
351            false => HD_MODE_CB_FILTER_BYPASS_A::ENABLE,
352            true => HD_MODE_CB_FILTER_BYPASS_A::DISABLE,
353        }
354    }
355    #[doc = "Bypass Enable"]
356    #[inline(always)]
357    pub fn is_enable(&self) -> bool {
358        *self == HD_MODE_CB_FILTER_BYPASS_A::ENABLE
359    }
360    #[doc = "Bypass Disable"]
361    #[inline(always)]
362    pub fn is_disable(&self) -> bool {
363        *self == HD_MODE_CB_FILTER_BYPASS_A::DISABLE
364    }
365}
366#[doc = "Field `hd_mode_cb_filter_bypass` writer - "]
367pub type HD_MODE_CB_FILTER_BYPASS_W<'a, REG> =
368    crate::BitWriter<'a, REG, HD_MODE_CB_FILTER_BYPASS_A>;
369impl<'a, REG> HD_MODE_CB_FILTER_BYPASS_W<'a, REG>
370where
371    REG: crate::Writable + crate::RegisterSpec,
372{
373    #[doc = "Bypass Enable"]
374    #[inline(always)]
375    pub fn enable(self) -> &'a mut crate::W<REG> {
376        self.variant(HD_MODE_CB_FILTER_BYPASS_A::ENABLE)
377    }
378    #[doc = "Bypass Disable"]
379    #[inline(always)]
380    pub fn disable(self) -> &'a mut crate::W<REG> {
381        self.variant(HD_MODE_CB_FILTER_BYPASS_A::DISABLE)
382    }
383}
384#[doc = "Field `y_delay_before_dither` reader - "]
385pub type Y_DELAY_BEFORE_DITHER_R = crate::FieldReader;
386#[doc = "Field `y_delay_before_dither` writer - "]
387pub type Y_DELAY_BEFORE_DITHER_W<'a, REG> = crate::FieldWriter<'a, REG, 3>;
388#[doc = "Field `luma_filter_lti_enable` reader - "]
389pub type LUMA_FILTER_LTI_ENABLE_R = crate::BitReader<LUMA_FILTER_LTI_ENABLE_A>;
390#[doc = "\n\nValue on reset: 0"]
391#[derive(Clone, Copy, Debug, PartialEq, Eq)]
392pub enum LUMA_FILTER_LTI_ENABLE_A {
393    #[doc = "0: Disable Luma filter lti"]
394    DISABLE = 0,
395    #[doc = "1: Enable Luma filter lti"]
396    ENABLE = 1,
397}
398impl From<LUMA_FILTER_LTI_ENABLE_A> for bool {
399    #[inline(always)]
400    fn from(variant: LUMA_FILTER_LTI_ENABLE_A) -> Self {
401        variant as u8 != 0
402    }
403}
404impl LUMA_FILTER_LTI_ENABLE_R {
405    #[doc = "Get enumerated values variant"]
406    #[inline(always)]
407    pub const fn variant(&self) -> LUMA_FILTER_LTI_ENABLE_A {
408        match self.bits {
409            false => LUMA_FILTER_LTI_ENABLE_A::DISABLE,
410            true => LUMA_FILTER_LTI_ENABLE_A::ENABLE,
411        }
412    }
413    #[doc = "Disable Luma filter lti"]
414    #[inline(always)]
415    pub fn is_disable(&self) -> bool {
416        *self == LUMA_FILTER_LTI_ENABLE_A::DISABLE
417    }
418    #[doc = "Enable Luma filter lti"]
419    #[inline(always)]
420    pub fn is_enable(&self) -> bool {
421        *self == LUMA_FILTER_LTI_ENABLE_A::ENABLE
422    }
423}
424#[doc = "Field `luma_filter_lti_enable` writer - "]
425pub type LUMA_FILTER_LTI_ENABLE_W<'a, REG> = crate::BitWriter<'a, REG, LUMA_FILTER_LTI_ENABLE_A>;
426impl<'a, REG> LUMA_FILTER_LTI_ENABLE_W<'a, REG>
427where
428    REG: crate::Writable + crate::RegisterSpec,
429{
430    #[doc = "Disable Luma filter lti"]
431    #[inline(always)]
432    pub fn disable(self) -> &'a mut crate::W<REG> {
433        self.variant(LUMA_FILTER_LTI_ENABLE_A::DISABLE)
434    }
435    #[doc = "Enable Luma filter lti"]
436    #[inline(always)]
437    pub fn enable(self) -> &'a mut crate::W<REG> {
438        self.variant(LUMA_FILTER_LTI_ENABLE_A::ENABLE)
439    }
440}
441#[doc = "Field `chroma_filter_active_valid` reader - "]
442pub type CHROMA_FILTER_ACTIVE_VALID_R = crate::BitReader<CHROMA_FILTER_ACTIVE_VALID_A>;
443#[doc = "\n\nValue on reset: 0"]
444#[derive(Clone, Copy, Debug, PartialEq, Eq)]
445pub enum CHROMA_FILTER_ACTIVE_VALID_A {
446    #[doc = "0: Disable"]
447    DISABLE = 0,
448    #[doc = "1: Enable"]
449    ENABLE = 1,
450}
451impl From<CHROMA_FILTER_ACTIVE_VALID_A> for bool {
452    #[inline(always)]
453    fn from(variant: CHROMA_FILTER_ACTIVE_VALID_A) -> Self {
454        variant as u8 != 0
455    }
456}
457impl CHROMA_FILTER_ACTIVE_VALID_R {
458    #[doc = "Get enumerated values variant"]
459    #[inline(always)]
460    pub const fn variant(&self) -> CHROMA_FILTER_ACTIVE_VALID_A {
461        match self.bits {
462            false => CHROMA_FILTER_ACTIVE_VALID_A::DISABLE,
463            true => CHROMA_FILTER_ACTIVE_VALID_A::ENABLE,
464        }
465    }
466    #[doc = "Disable"]
467    #[inline(always)]
468    pub fn is_disable(&self) -> bool {
469        *self == CHROMA_FILTER_ACTIVE_VALID_A::DISABLE
470    }
471    #[doc = "Enable"]
472    #[inline(always)]
473    pub fn is_enable(&self) -> bool {
474        *self == CHROMA_FILTER_ACTIVE_VALID_A::ENABLE
475    }
476}
477#[doc = "Field `chroma_filter_active_valid` writer - "]
478pub type CHROMA_FILTER_ACTIVE_VALID_W<'a, REG> =
479    crate::BitWriter<'a, REG, CHROMA_FILTER_ACTIVE_VALID_A>;
480impl<'a, REG> CHROMA_FILTER_ACTIVE_VALID_W<'a, REG>
481where
482    REG: crate::Writable + crate::RegisterSpec,
483{
484    #[doc = "Disable"]
485    #[inline(always)]
486    pub fn disable(self) -> &'a mut crate::W<REG> {
487        self.variant(CHROMA_FILTER_ACTIVE_VALID_A::DISABLE)
488    }
489    #[doc = "Enable"]
490    #[inline(always)]
491    pub fn enable(self) -> &'a mut crate::W<REG> {
492        self.variant(CHROMA_FILTER_ACTIVE_VALID_A::ENABLE)
493    }
494}
495impl R {
496    #[doc = "Bits 12:15"]
497    #[inline(always)]
498    pub fn c_delay_before_dither(&self) -> C_DELAY_BEFORE_DITHER_R {
499        C_DELAY_BEFORE_DITHER_R::new(((self.bits >> 12) & 0x0f) as u8)
500    }
501    #[doc = "Bit 16 - Luma notch filter on/off selection\n\nNote: This bit selects if the luma notch filter is operating or bypassed."]
502    #[inline(always)]
503    pub fn notch_en(&self) -> NOTCH_EN_R {
504        NOTCH_EN_R::new(((self.bits >> 16) & 1) != 0)
505    }
506    #[doc = "Bit 17"]
507    #[inline(always)]
508    pub fn luma_filter_bypass(&self) -> LUMA_FILTER_BYPASS_R {
509        LUMA_FILTER_BYPASS_R::new(((self.bits >> 17) & 1) != 0)
510    }
511    #[doc = "\n\nNOTE: `n` is number of field in register. `n == 0` corresponds to `chroma_filter_stage_3_bypass` field"]
512    #[inline(always)]
513    pub fn chroma_filter_stage__bypass(&self, n: u8) -> CHROMA_FILTER_STAGE__BYPASS_R {
514        #[allow(clippy::no_effect)]
515        [(); 3][n as usize];
516        CHROMA_FILTER_STAGE__BYPASS_R::new(((self.bits >> (n + 18)) & 1) != 0)
517    }
518    #[doc = "Bit 18 - chroma_filter_stage_3_bypass"]
519    #[inline(always)]
520    pub fn chroma_filter_stage_3_bypass(&self) -> CHROMA_FILTER_STAGE__BYPASS_R {
521        CHROMA_FILTER_STAGE__BYPASS_R::new(((self.bits >> 18) & 1) != 0)
522    }
523    #[doc = "Bit 19 - chroma_filter_stage_2_bypass"]
524    #[inline(always)]
525    pub fn chroma_filter_stage_2_bypass(&self) -> CHROMA_FILTER_STAGE__BYPASS_R {
526        CHROMA_FILTER_STAGE__BYPASS_R::new(((self.bits >> 19) & 1) != 0)
527    }
528    #[doc = "Bit 20 - chroma_filter_stage_1_bypass"]
529    #[inline(always)]
530    pub fn chroma_filter_stage_1_bypass(&self) -> CHROMA_FILTER_STAGE__BYPASS_R {
531        CHROMA_FILTER_STAGE__BYPASS_R::new(((self.bits >> 20) & 1) != 0)
532    }
533    #[doc = "Bit 21"]
534    #[inline(always)]
535    pub fn chroma_hd_mode_filter_en(&self) -> CHROMA_HD_MODE_FILTER_EN_R {
536        CHROMA_HD_MODE_FILTER_EN_R::new(((self.bits >> 21) & 1) != 0)
537    }
538    #[doc = "Bit 22"]
539    #[inline(always)]
540    pub fn chroma_filter_1_444_en(&self) -> CHROMA_FILTER_1_444_EN_R {
541        CHROMA_FILTER_1_444_EN_R::new(((self.bits >> 22) & 1) != 0)
542    }
543    #[doc = "Bit 23"]
544    #[inline(always)]
545    pub fn hd_mode_cr_filter_bypass(&self) -> HD_MODE_CR_FILTER_BYPASS_R {
546        HD_MODE_CR_FILTER_BYPASS_R::new(((self.bits >> 23) & 1) != 0)
547    }
548    #[doc = "Bit 24"]
549    #[inline(always)]
550    pub fn hd_mode_cb_filter_bypass(&self) -> HD_MODE_CB_FILTER_BYPASS_R {
551        HD_MODE_CB_FILTER_BYPASS_R::new(((self.bits >> 24) & 1) != 0)
552    }
553    #[doc = "Bits 25:27"]
554    #[inline(always)]
555    pub fn y_delay_before_dither(&self) -> Y_DELAY_BEFORE_DITHER_R {
556        Y_DELAY_BEFORE_DITHER_R::new(((self.bits >> 25) & 7) as u8)
557    }
558    #[doc = "Bit 30"]
559    #[inline(always)]
560    pub fn luma_filter_lti_enable(&self) -> LUMA_FILTER_LTI_ENABLE_R {
561        LUMA_FILTER_LTI_ENABLE_R::new(((self.bits >> 30) & 1) != 0)
562    }
563    #[doc = "Bit 31"]
564    #[inline(always)]
565    pub fn chroma_filter_active_valid(&self) -> CHROMA_FILTER_ACTIVE_VALID_R {
566        CHROMA_FILTER_ACTIVE_VALID_R::new(((self.bits >> 31) & 1) != 0)
567    }
568}
569impl W {
570    #[doc = "Bits 12:15"]
571    #[inline(always)]
572    #[must_use]
573    pub fn c_delay_before_dither(&mut self) -> C_DELAY_BEFORE_DITHER_W<TVE_NOTCH_DAC_DELAY_SPEC> {
574        C_DELAY_BEFORE_DITHER_W::new(self, 12)
575    }
576    #[doc = "Bit 16 - Luma notch filter on/off selection\n\nNote: This bit selects if the luma notch filter is operating or bypassed."]
577    #[inline(always)]
578    #[must_use]
579    pub fn notch_en(&mut self) -> NOTCH_EN_W<TVE_NOTCH_DAC_DELAY_SPEC> {
580        NOTCH_EN_W::new(self, 16)
581    }
582    #[doc = "Bit 17"]
583    #[inline(always)]
584    #[must_use]
585    pub fn luma_filter_bypass(&mut self) -> LUMA_FILTER_BYPASS_W<TVE_NOTCH_DAC_DELAY_SPEC> {
586        LUMA_FILTER_BYPASS_W::new(self, 17)
587    }
588    #[doc = "\n\nNOTE: `n` is number of field in register. `n == 0` corresponds to `chroma_filter_stage_3_bypass` field"]
589    #[inline(always)]
590    #[must_use]
591    pub fn chroma_filter_stage__bypass(
592        &mut self,
593        n: u8,
594    ) -> CHROMA_FILTER_STAGE__BYPASS_W<TVE_NOTCH_DAC_DELAY_SPEC> {
595        #[allow(clippy::no_effect)]
596        [(); 3][n as usize];
597        CHROMA_FILTER_STAGE__BYPASS_W::new(self, n + 18)
598    }
599    #[doc = "Bit 18 - chroma_filter_stage_3_bypass"]
600    #[inline(always)]
601    #[must_use]
602    pub fn chroma_filter_stage_3_bypass(
603        &mut self,
604    ) -> CHROMA_FILTER_STAGE__BYPASS_W<TVE_NOTCH_DAC_DELAY_SPEC> {
605        CHROMA_FILTER_STAGE__BYPASS_W::new(self, 18)
606    }
607    #[doc = "Bit 19 - chroma_filter_stage_2_bypass"]
608    #[inline(always)]
609    #[must_use]
610    pub fn chroma_filter_stage_2_bypass(
611        &mut self,
612    ) -> CHROMA_FILTER_STAGE__BYPASS_W<TVE_NOTCH_DAC_DELAY_SPEC> {
613        CHROMA_FILTER_STAGE__BYPASS_W::new(self, 19)
614    }
615    #[doc = "Bit 20 - chroma_filter_stage_1_bypass"]
616    #[inline(always)]
617    #[must_use]
618    pub fn chroma_filter_stage_1_bypass(
619        &mut self,
620    ) -> CHROMA_FILTER_STAGE__BYPASS_W<TVE_NOTCH_DAC_DELAY_SPEC> {
621        CHROMA_FILTER_STAGE__BYPASS_W::new(self, 20)
622    }
623    #[doc = "Bit 21"]
624    #[inline(always)]
625    #[must_use]
626    pub fn chroma_hd_mode_filter_en(
627        &mut self,
628    ) -> CHROMA_HD_MODE_FILTER_EN_W<TVE_NOTCH_DAC_DELAY_SPEC> {
629        CHROMA_HD_MODE_FILTER_EN_W::new(self, 21)
630    }
631    #[doc = "Bit 22"]
632    #[inline(always)]
633    #[must_use]
634    pub fn chroma_filter_1_444_en(&mut self) -> CHROMA_FILTER_1_444_EN_W<TVE_NOTCH_DAC_DELAY_SPEC> {
635        CHROMA_FILTER_1_444_EN_W::new(self, 22)
636    }
637    #[doc = "Bit 23"]
638    #[inline(always)]
639    #[must_use]
640    pub fn hd_mode_cr_filter_bypass(
641        &mut self,
642    ) -> HD_MODE_CR_FILTER_BYPASS_W<TVE_NOTCH_DAC_DELAY_SPEC> {
643        HD_MODE_CR_FILTER_BYPASS_W::new(self, 23)
644    }
645    #[doc = "Bit 24"]
646    #[inline(always)]
647    #[must_use]
648    pub fn hd_mode_cb_filter_bypass(
649        &mut self,
650    ) -> HD_MODE_CB_FILTER_BYPASS_W<TVE_NOTCH_DAC_DELAY_SPEC> {
651        HD_MODE_CB_FILTER_BYPASS_W::new(self, 24)
652    }
653    #[doc = "Bits 25:27"]
654    #[inline(always)]
655    #[must_use]
656    pub fn y_delay_before_dither(&mut self) -> Y_DELAY_BEFORE_DITHER_W<TVE_NOTCH_DAC_DELAY_SPEC> {
657        Y_DELAY_BEFORE_DITHER_W::new(self, 25)
658    }
659    #[doc = "Bit 30"]
660    #[inline(always)]
661    #[must_use]
662    pub fn luma_filter_lti_enable(&mut self) -> LUMA_FILTER_LTI_ENABLE_W<TVE_NOTCH_DAC_DELAY_SPEC> {
663        LUMA_FILTER_LTI_ENABLE_W::new(self, 30)
664    }
665    #[doc = "Bit 31"]
666    #[inline(always)]
667    #[must_use]
668    pub fn chroma_filter_active_valid(
669        &mut self,
670    ) -> CHROMA_FILTER_ACTIVE_VALID_W<TVE_NOTCH_DAC_DELAY_SPEC> {
671        CHROMA_FILTER_ACTIVE_VALID_W::new(self, 31)
672    }
673    #[doc = r" Writes raw bits to the register."]
674    #[doc = r""]
675    #[doc = r" # Safety"]
676    #[doc = r""]
677    #[doc = r" Passing incorrect value can cause undefined behaviour. See reference manual"]
678    #[inline(always)]
679    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
680        self.bits = bits;
681        self
682    }
683}
684#[doc = "TV Encoder Notch and DAC Delay Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tve_notch_dac_delay::R`](R).  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tve_notch_dac_delay::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
685pub struct TVE_NOTCH_DAC_DELAY_SPEC;
686impl crate::RegisterSpec for TVE_NOTCH_DAC_DELAY_SPEC {
687    type Ux = u32;
688}
689#[doc = "`read()` method returns [`tve_notch_dac_delay::R`](R) reader structure"]
690impl crate::Readable for TVE_NOTCH_DAC_DELAY_SPEC {}
691#[doc = "`write(|w| ..)` method takes [`tve_notch_dac_delay::W`](W) writer structure"]
692impl crate::Writable for TVE_NOTCH_DAC_DELAY_SPEC {
693    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
694    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
695}
696#[doc = "`reset()` method sets tve_notch_dac_delay to value 0x0201_4924"]
697impl crate::Resettable for TVE_NOTCH_DAC_DELAY_SPEC {
698    const RESET_VALUE: Self::Ux = 0x0201_4924;
699}