mimxrt595s/usbphy/
ctrl_clr.rs

1#[doc = "Register `CTRL_CLR` reader"]
2pub struct R(crate::R<CTRL_CLR_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<CTRL_CLR_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<CTRL_CLR_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<CTRL_CLR_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `CTRL_CLR` writer"]
17pub struct W(crate::W<CTRL_CLR_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<CTRL_CLR_SPEC>;
20    #[inline(always)]
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25impl core::ops::DerefMut for W {
26    #[inline(always)]
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}
31impl From<crate::W<CTRL_CLR_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<CTRL_CLR_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Field `ENHOSTDISCONDETECT` reader - Disconnect detect."]
38pub type ENHOSTDISCONDETECT_R = crate::BitReader<ENHOSTDISCONDETECT_A>;
39#[doc = "Disconnect detect.\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41pub enum ENHOSTDISCONDETECT_A {
42    #[doc = "0: No effect"]
43    DISABLE = 0,
44    #[doc = "1: Clears the corresponding CTRL bit"]
45    ENABLE = 1,
46}
47impl From<ENHOSTDISCONDETECT_A> for bool {
48    #[inline(always)]
49    fn from(variant: ENHOSTDISCONDETECT_A) -> Self {
50        variant as u8 != 0
51    }
52}
53impl ENHOSTDISCONDETECT_R {
54    #[doc = "Get enumerated values variant"]
55    #[inline(always)]
56    pub fn variant(&self) -> ENHOSTDISCONDETECT_A {
57        match self.bits {
58            false => ENHOSTDISCONDETECT_A::DISABLE,
59            true => ENHOSTDISCONDETECT_A::ENABLE,
60        }
61    }
62    #[doc = "Checks if the value of the field is `DISABLE`"]
63    #[inline(always)]
64    pub fn is_disable(&self) -> bool {
65        *self == ENHOSTDISCONDETECT_A::DISABLE
66    }
67    #[doc = "Checks if the value of the field is `ENABLE`"]
68    #[inline(always)]
69    pub fn is_enable(&self) -> bool {
70        *self == ENHOSTDISCONDETECT_A::ENABLE
71    }
72}
73#[doc = "Field `ENHOSTDISCONDETECT` writer - Disconnect detect."]
74pub type ENHOSTDISCONDETECT_W<'a, const O: u8> =
75    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, ENHOSTDISCONDETECT_A, O>;
76impl<'a, const O: u8> ENHOSTDISCONDETECT_W<'a, O> {
77    #[doc = "No effect"]
78    #[inline(always)]
79    pub fn disable(self) -> &'a mut W {
80        self.variant(ENHOSTDISCONDETECT_A::DISABLE)
81    }
82    #[doc = "Clears the corresponding CTRL bit"]
83    #[inline(always)]
84    pub fn enable(self) -> &'a mut W {
85        self.variant(ENHOSTDISCONDETECT_A::ENABLE)
86    }
87}
88#[doc = "Field `HOSTDISCONDETECT_IRQ` reader - Device disconnect indication."]
89pub type HOSTDISCONDETECT_IRQ_R = crate::BitReader<HOSTDISCONDETECT_IRQ_A>;
90#[doc = "Device disconnect indication.\n\nValue on reset: 0"]
91#[derive(Clone, Copy, Debug, PartialEq, Eq)]
92pub enum HOSTDISCONDETECT_IRQ_A {
93    #[doc = "0: No effect"]
94    DISABLE = 0,
95    #[doc = "1: Clears the corresponding CTRL bit"]
96    ENABLE = 1,
97}
98impl From<HOSTDISCONDETECT_IRQ_A> for bool {
99    #[inline(always)]
100    fn from(variant: HOSTDISCONDETECT_IRQ_A) -> Self {
101        variant as u8 != 0
102    }
103}
104impl HOSTDISCONDETECT_IRQ_R {
105    #[doc = "Get enumerated values variant"]
106    #[inline(always)]
107    pub fn variant(&self) -> HOSTDISCONDETECT_IRQ_A {
108        match self.bits {
109            false => HOSTDISCONDETECT_IRQ_A::DISABLE,
110            true => HOSTDISCONDETECT_IRQ_A::ENABLE,
111        }
112    }
113    #[doc = "Checks if the value of the field is `DISABLE`"]
114    #[inline(always)]
115    pub fn is_disable(&self) -> bool {
116        *self == HOSTDISCONDETECT_IRQ_A::DISABLE
117    }
118    #[doc = "Checks if the value of the field is `ENABLE`"]
119    #[inline(always)]
120    pub fn is_enable(&self) -> bool {
121        *self == HOSTDISCONDETECT_IRQ_A::ENABLE
122    }
123}
124#[doc = "Field `HOSTDISCONDETECT_IRQ` writer - Device disconnect indication."]
125pub type HOSTDISCONDETECT_IRQ_W<'a, const O: u8> =
126    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, HOSTDISCONDETECT_IRQ_A, O>;
127impl<'a, const O: u8> HOSTDISCONDETECT_IRQ_W<'a, O> {
128    #[doc = "No effect"]
129    #[inline(always)]
130    pub fn disable(self) -> &'a mut W {
131        self.variant(HOSTDISCONDETECT_IRQ_A::DISABLE)
132    }
133    #[doc = "Clears the corresponding CTRL bit"]
134    #[inline(always)]
135    pub fn enable(self) -> &'a mut W {
136        self.variant(HOSTDISCONDETECT_IRQ_A::ENABLE)
137    }
138}
139#[doc = "Field `ENDEVPLUGINDET` reader - Enables non-standard resistive plugged-in detection."]
140pub type ENDEVPLUGINDET_R = crate::BitReader<ENDEVPLUGINDET_A>;
141#[doc = "Enables non-standard resistive plugged-in detection.\n\nValue on reset: 0"]
142#[derive(Clone, Copy, Debug, PartialEq, Eq)]
143pub enum ENDEVPLUGINDET_A {
144    #[doc = "0: No effect"]
145    DISABLE = 0,
146    #[doc = "1: Clears the corresponding CTRL bit"]
147    ENABLE = 1,
148}
149impl From<ENDEVPLUGINDET_A> for bool {
150    #[inline(always)]
151    fn from(variant: ENDEVPLUGINDET_A) -> Self {
152        variant as u8 != 0
153    }
154}
155impl ENDEVPLUGINDET_R {
156    #[doc = "Get enumerated values variant"]
157    #[inline(always)]
158    pub fn variant(&self) -> ENDEVPLUGINDET_A {
159        match self.bits {
160            false => ENDEVPLUGINDET_A::DISABLE,
161            true => ENDEVPLUGINDET_A::ENABLE,
162        }
163    }
164    #[doc = "Checks if the value of the field is `DISABLE`"]
165    #[inline(always)]
166    pub fn is_disable(&self) -> bool {
167        *self == ENDEVPLUGINDET_A::DISABLE
168    }
169    #[doc = "Checks if the value of the field is `ENABLE`"]
170    #[inline(always)]
171    pub fn is_enable(&self) -> bool {
172        *self == ENDEVPLUGINDET_A::ENABLE
173    }
174}
175#[doc = "Field `ENDEVPLUGINDET` writer - Enables non-standard resistive plugged-in detection."]
176pub type ENDEVPLUGINDET_W<'a, const O: u8> =
177    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, ENDEVPLUGINDET_A, O>;
178impl<'a, const O: u8> ENDEVPLUGINDET_W<'a, O> {
179    #[doc = "No effect"]
180    #[inline(always)]
181    pub fn disable(self) -> &'a mut W {
182        self.variant(ENDEVPLUGINDET_A::DISABLE)
183    }
184    #[doc = "Clears the corresponding CTRL bit"]
185    #[inline(always)]
186    pub fn enable(self) -> &'a mut W {
187        self.variant(ENDEVPLUGINDET_A::ENABLE)
188    }
189}
190#[doc = "Field `DEVPLUGIN_IRQ` reader - Device connected indicator"]
191pub type DEVPLUGIN_IRQ_R = crate::BitReader<DEVPLUGIN_IRQ_A>;
192#[doc = "Device connected indicator\n\nValue on reset: 0"]
193#[derive(Clone, Copy, Debug, PartialEq, Eq)]
194pub enum DEVPLUGIN_IRQ_A {
195    #[doc = "0: No effect"]
196    DISABLE = 0,
197    #[doc = "1: Clears the corresponding CTRL bit"]
198    ENABLE = 1,
199}
200impl From<DEVPLUGIN_IRQ_A> for bool {
201    #[inline(always)]
202    fn from(variant: DEVPLUGIN_IRQ_A) -> Self {
203        variant as u8 != 0
204    }
205}
206impl DEVPLUGIN_IRQ_R {
207    #[doc = "Get enumerated values variant"]
208    #[inline(always)]
209    pub fn variant(&self) -> DEVPLUGIN_IRQ_A {
210        match self.bits {
211            false => DEVPLUGIN_IRQ_A::DISABLE,
212            true => DEVPLUGIN_IRQ_A::ENABLE,
213        }
214    }
215    #[doc = "Checks if the value of the field is `DISABLE`"]
216    #[inline(always)]
217    pub fn is_disable(&self) -> bool {
218        *self == DEVPLUGIN_IRQ_A::DISABLE
219    }
220    #[doc = "Checks if the value of the field is `ENABLE`"]
221    #[inline(always)]
222    pub fn is_enable(&self) -> bool {
223        *self == DEVPLUGIN_IRQ_A::ENABLE
224    }
225}
226#[doc = "Field `DEVPLUGIN_IRQ` writer - Device connected indicator"]
227pub type DEVPLUGIN_IRQ_W<'a, const O: u8> =
228    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, DEVPLUGIN_IRQ_A, O>;
229impl<'a, const O: u8> DEVPLUGIN_IRQ_W<'a, O> {
230    #[doc = "No effect"]
231    #[inline(always)]
232    pub fn disable(self) -> &'a mut W {
233        self.variant(DEVPLUGIN_IRQ_A::DISABLE)
234    }
235    #[doc = "Clears the corresponding CTRL bit"]
236    #[inline(always)]
237    pub fn enable(self) -> &'a mut W {
238        self.variant(DEVPLUGIN_IRQ_A::ENABLE)
239    }
240}
241#[doc = "Field `ENUTMILEVEL2` reader - Enable level 2 operation"]
242pub type ENUTMILEVEL2_R = crate::BitReader<ENUTMILEVEL2_A>;
243#[doc = "Enable level 2 operation\n\nValue on reset: 0"]
244#[derive(Clone, Copy, Debug, PartialEq, Eq)]
245pub enum ENUTMILEVEL2_A {
246    #[doc = "0: No effect"]
247    DISABLE = 0,
248    #[doc = "1: Clears the corresponding CTRL bit"]
249    ENABLE = 1,
250}
251impl From<ENUTMILEVEL2_A> for bool {
252    #[inline(always)]
253    fn from(variant: ENUTMILEVEL2_A) -> Self {
254        variant as u8 != 0
255    }
256}
257impl ENUTMILEVEL2_R {
258    #[doc = "Get enumerated values variant"]
259    #[inline(always)]
260    pub fn variant(&self) -> ENUTMILEVEL2_A {
261        match self.bits {
262            false => ENUTMILEVEL2_A::DISABLE,
263            true => ENUTMILEVEL2_A::ENABLE,
264        }
265    }
266    #[doc = "Checks if the value of the field is `DISABLE`"]
267    #[inline(always)]
268    pub fn is_disable(&self) -> bool {
269        *self == ENUTMILEVEL2_A::DISABLE
270    }
271    #[doc = "Checks if the value of the field is `ENABLE`"]
272    #[inline(always)]
273    pub fn is_enable(&self) -> bool {
274        *self == ENUTMILEVEL2_A::ENABLE
275    }
276}
277#[doc = "Field `ENUTMILEVEL2` writer - Enable level 2 operation"]
278pub type ENUTMILEVEL2_W<'a, const O: u8> =
279    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, ENUTMILEVEL2_A, O>;
280impl<'a, const O: u8> ENUTMILEVEL2_W<'a, O> {
281    #[doc = "No effect"]
282    #[inline(always)]
283    pub fn disable(self) -> &'a mut W {
284        self.variant(ENUTMILEVEL2_A::DISABLE)
285    }
286    #[doc = "Clears the corresponding CTRL bit"]
287    #[inline(always)]
288    pub fn enable(self) -> &'a mut W {
289        self.variant(ENUTMILEVEL2_A::ENABLE)
290    }
291}
292#[doc = "Field `ENUTMILEVEL3` reader - Enable level 2 operation"]
293pub type ENUTMILEVEL3_R = crate::BitReader<ENUTMILEVEL3_A>;
294#[doc = "Enable level 2 operation\n\nValue on reset: 0"]
295#[derive(Clone, Copy, Debug, PartialEq, Eq)]
296pub enum ENUTMILEVEL3_A {
297    #[doc = "0: No effect"]
298    DISABLE = 0,
299    #[doc = "1: Clears the corresponding CTRL bit"]
300    ENABLE = 1,
301}
302impl From<ENUTMILEVEL3_A> for bool {
303    #[inline(always)]
304    fn from(variant: ENUTMILEVEL3_A) -> Self {
305        variant as u8 != 0
306    }
307}
308impl ENUTMILEVEL3_R {
309    #[doc = "Get enumerated values variant"]
310    #[inline(always)]
311    pub fn variant(&self) -> ENUTMILEVEL3_A {
312        match self.bits {
313            false => ENUTMILEVEL3_A::DISABLE,
314            true => ENUTMILEVEL3_A::ENABLE,
315        }
316    }
317    #[doc = "Checks if the value of the field is `DISABLE`"]
318    #[inline(always)]
319    pub fn is_disable(&self) -> bool {
320        *self == ENUTMILEVEL3_A::DISABLE
321    }
322    #[doc = "Checks if the value of the field is `ENABLE`"]
323    #[inline(always)]
324    pub fn is_enable(&self) -> bool {
325        *self == ENUTMILEVEL3_A::ENABLE
326    }
327}
328#[doc = "Field `ENUTMILEVEL3` writer - Enable level 2 operation"]
329pub type ENUTMILEVEL3_W<'a, const O: u8> =
330    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, ENUTMILEVEL3_A, O>;
331impl<'a, const O: u8> ENUTMILEVEL3_W<'a, O> {
332    #[doc = "No effect"]
333    #[inline(always)]
334    pub fn disable(self) -> &'a mut W {
335        self.variant(ENUTMILEVEL3_A::DISABLE)
336    }
337    #[doc = "Clears the corresponding CTRL bit"]
338    #[inline(always)]
339    pub fn enable(self) -> &'a mut W {
340        self.variant(ENUTMILEVEL3_A::ENABLE)
341    }
342}
343#[doc = "Field `AUTORESUME_EN` reader - Enable autoresume"]
344pub type AUTORESUME_EN_R = crate::BitReader<AUTORESUME_EN_A>;
345#[doc = "Enable autoresume\n\nValue on reset: 0"]
346#[derive(Clone, Copy, Debug, PartialEq, Eq)]
347pub enum AUTORESUME_EN_A {
348    #[doc = "0: No effect"]
349    DISABLE = 0,
350    #[doc = "1: Clears the corresponding CTRL bit"]
351    ENABLE = 1,
352}
353impl From<AUTORESUME_EN_A> for bool {
354    #[inline(always)]
355    fn from(variant: AUTORESUME_EN_A) -> Self {
356        variant as u8 != 0
357    }
358}
359impl AUTORESUME_EN_R {
360    #[doc = "Get enumerated values variant"]
361    #[inline(always)]
362    pub fn variant(&self) -> AUTORESUME_EN_A {
363        match self.bits {
364            false => AUTORESUME_EN_A::DISABLE,
365            true => AUTORESUME_EN_A::ENABLE,
366        }
367    }
368    #[doc = "Checks if the value of the field is `DISABLE`"]
369    #[inline(always)]
370    pub fn is_disable(&self) -> bool {
371        *self == AUTORESUME_EN_A::DISABLE
372    }
373    #[doc = "Checks if the value of the field is `ENABLE`"]
374    #[inline(always)]
375    pub fn is_enable(&self) -> bool {
376        *self == AUTORESUME_EN_A::ENABLE
377    }
378}
379#[doc = "Field `AUTORESUME_EN` writer - Enable autoresume"]
380pub type AUTORESUME_EN_W<'a, const O: u8> =
381    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, AUTORESUME_EN_A, O>;
382impl<'a, const O: u8> AUTORESUME_EN_W<'a, O> {
383    #[doc = "No effect"]
384    #[inline(always)]
385    pub fn disable(self) -> &'a mut W {
386        self.variant(AUTORESUME_EN_A::DISABLE)
387    }
388    #[doc = "Clears the corresponding CTRL bit"]
389    #[inline(always)]
390    pub fn enable(self) -> &'a mut W {
391        self.variant(AUTORESUME_EN_A::ENABLE)
392    }
393}
394#[doc = "Field `ENAUTOCLR_CLKGATE` reader - Autoclear clock gate."]
395pub type ENAUTOCLR_CLKGATE_R = crate::BitReader<ENAUTOCLR_CLKGATE_A>;
396#[doc = "Autoclear clock gate.\n\nValue on reset: 0"]
397#[derive(Clone, Copy, Debug, PartialEq, Eq)]
398pub enum ENAUTOCLR_CLKGATE_A {
399    #[doc = "0: No effect"]
400    DISABLE = 0,
401    #[doc = "1: Clears the corresponding CTRL bit"]
402    ENABLE = 1,
403}
404impl From<ENAUTOCLR_CLKGATE_A> for bool {
405    #[inline(always)]
406    fn from(variant: ENAUTOCLR_CLKGATE_A) -> Self {
407        variant as u8 != 0
408    }
409}
410impl ENAUTOCLR_CLKGATE_R {
411    #[doc = "Get enumerated values variant"]
412    #[inline(always)]
413    pub fn variant(&self) -> ENAUTOCLR_CLKGATE_A {
414        match self.bits {
415            false => ENAUTOCLR_CLKGATE_A::DISABLE,
416            true => ENAUTOCLR_CLKGATE_A::ENABLE,
417        }
418    }
419    #[doc = "Checks if the value of the field is `DISABLE`"]
420    #[inline(always)]
421    pub fn is_disable(&self) -> bool {
422        *self == ENAUTOCLR_CLKGATE_A::DISABLE
423    }
424    #[doc = "Checks if the value of the field is `ENABLE`"]
425    #[inline(always)]
426    pub fn is_enable(&self) -> bool {
427        *self == ENAUTOCLR_CLKGATE_A::ENABLE
428    }
429}
430#[doc = "Field `ENAUTOCLR_CLKGATE` writer - Autoclear clock gate."]
431pub type ENAUTOCLR_CLKGATE_W<'a, const O: u8> =
432    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, ENAUTOCLR_CLKGATE_A, O>;
433impl<'a, const O: u8> ENAUTOCLR_CLKGATE_W<'a, O> {
434    #[doc = "No effect"]
435    #[inline(always)]
436    pub fn disable(self) -> &'a mut W {
437        self.variant(ENAUTOCLR_CLKGATE_A::DISABLE)
438    }
439    #[doc = "Clears the corresponding CTRL bit"]
440    #[inline(always)]
441    pub fn enable(self) -> &'a mut W {
442        self.variant(ENAUTOCLR_CLKGATE_A::ENABLE)
443    }
444}
445#[doc = "Field `ENAUTOCLR_PHY_PWD` reader - Autoclear PWD register bits."]
446pub type ENAUTOCLR_PHY_PWD_R = crate::BitReader<ENAUTOCLR_PHY_PWD_A>;
447#[doc = "Autoclear PWD register bits.\n\nValue on reset: 0"]
448#[derive(Clone, Copy, Debug, PartialEq, Eq)]
449pub enum ENAUTOCLR_PHY_PWD_A {
450    #[doc = "0: No effect"]
451    DISABLE = 0,
452    #[doc = "1: Clears the corresponding CTRL bit"]
453    ENABLE = 1,
454}
455impl From<ENAUTOCLR_PHY_PWD_A> for bool {
456    #[inline(always)]
457    fn from(variant: ENAUTOCLR_PHY_PWD_A) -> Self {
458        variant as u8 != 0
459    }
460}
461impl ENAUTOCLR_PHY_PWD_R {
462    #[doc = "Get enumerated values variant"]
463    #[inline(always)]
464    pub fn variant(&self) -> ENAUTOCLR_PHY_PWD_A {
465        match self.bits {
466            false => ENAUTOCLR_PHY_PWD_A::DISABLE,
467            true => ENAUTOCLR_PHY_PWD_A::ENABLE,
468        }
469    }
470    #[doc = "Checks if the value of the field is `DISABLE`"]
471    #[inline(always)]
472    pub fn is_disable(&self) -> bool {
473        *self == ENAUTOCLR_PHY_PWD_A::DISABLE
474    }
475    #[doc = "Checks if the value of the field is `ENABLE`"]
476    #[inline(always)]
477    pub fn is_enable(&self) -> bool {
478        *self == ENAUTOCLR_PHY_PWD_A::ENABLE
479    }
480}
481#[doc = "Field `ENAUTOCLR_PHY_PWD` writer - Autoclear PWD register bits."]
482pub type ENAUTOCLR_PHY_PWD_W<'a, const O: u8> =
483    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, ENAUTOCLR_PHY_PWD_A, O>;
484impl<'a, const O: u8> ENAUTOCLR_PHY_PWD_W<'a, O> {
485    #[doc = "No effect"]
486    #[inline(always)]
487    pub fn disable(self) -> &'a mut W {
488        self.variant(ENAUTOCLR_PHY_PWD_A::DISABLE)
489    }
490    #[doc = "Clears the corresponding CTRL bit"]
491    #[inline(always)]
492    pub fn enable(self) -> &'a mut W {
493        self.variant(ENAUTOCLR_PHY_PWD_A::ENABLE)
494    }
495}
496#[doc = "Field `FSDLL_RST_EN` reader - Reset FSDLL lock"]
497pub type FSDLL_RST_EN_R = crate::BitReader<FSDLL_RST_EN_A>;
498#[doc = "Reset FSDLL lock\n\nValue on reset: 0"]
499#[derive(Clone, Copy, Debug, PartialEq, Eq)]
500pub enum FSDLL_RST_EN_A {
501    #[doc = "0: No effect"]
502    DISABLE = 0,
503    #[doc = "1: Clears the corresponding CTRL bit"]
504    ENABLE = 1,
505}
506impl From<FSDLL_RST_EN_A> for bool {
507    #[inline(always)]
508    fn from(variant: FSDLL_RST_EN_A) -> Self {
509        variant as u8 != 0
510    }
511}
512impl FSDLL_RST_EN_R {
513    #[doc = "Get enumerated values variant"]
514    #[inline(always)]
515    pub fn variant(&self) -> FSDLL_RST_EN_A {
516        match self.bits {
517            false => FSDLL_RST_EN_A::DISABLE,
518            true => FSDLL_RST_EN_A::ENABLE,
519        }
520    }
521    #[doc = "Checks if the value of the field is `DISABLE`"]
522    #[inline(always)]
523    pub fn is_disable(&self) -> bool {
524        *self == FSDLL_RST_EN_A::DISABLE
525    }
526    #[doc = "Checks if the value of the field is `ENABLE`"]
527    #[inline(always)]
528    pub fn is_enable(&self) -> bool {
529        *self == FSDLL_RST_EN_A::ENABLE
530    }
531}
532#[doc = "Field `FSDLL_RST_EN` writer - Reset FSDLL lock"]
533pub type FSDLL_RST_EN_W<'a, const O: u8> =
534    crate::BitWriter<'a, u32, CTRL_CLR_SPEC, FSDLL_RST_EN_A, O>;
535impl<'a, const O: u8> FSDLL_RST_EN_W<'a, O> {
536    #[doc = "No effect"]
537    #[inline(always)]
538    pub fn disable(self) -> &'a mut W {
539        self.variant(FSDLL_RST_EN_A::DISABLE)
540    }
541    #[doc = "Clears the corresponding CTRL bit"]
542    #[inline(always)]
543    pub fn enable(self) -> &'a mut W {
544        self.variant(FSDLL_RST_EN_A::ENABLE)
545    }
546}
547#[doc = "Field `HOST_FORCE_LS_SE0` reader - FS EOP low-speed timing"]
548pub type HOST_FORCE_LS_SE0_R = crate::BitReader<bool>;
549#[doc = "Field `HOST_FORCE_LS_SE0` writer - FS EOP low-speed timing"]
550pub type HOST_FORCE_LS_SE0_W<'a, const O: u8> = crate::BitWriter<'a, u32, CTRL_CLR_SPEC, bool, O>;
551#[doc = "Field `UTMI_SUSPENDM` reader - UTMI suspend"]
552pub type UTMI_SUSPENDM_R = crate::BitReader<UTMI_SUSPENDM_A>;
553#[doc = "UTMI suspend\n\nValue on reset: 0"]
554#[derive(Clone, Copy, Debug, PartialEq, Eq)]
555pub enum UTMI_SUSPENDM_A {
556    #[doc = "0: No effect"]
557    DISABLE = 0,
558    #[doc = "1: Clears the corresponding CTRL bit"]
559    ENABLE = 1,
560}
561impl From<UTMI_SUSPENDM_A> for bool {
562    #[inline(always)]
563    fn from(variant: UTMI_SUSPENDM_A) -> Self {
564        variant as u8 != 0
565    }
566}
567impl UTMI_SUSPENDM_R {
568    #[doc = "Get enumerated values variant"]
569    #[inline(always)]
570    pub fn variant(&self) -> UTMI_SUSPENDM_A {
571        match self.bits {
572            false => UTMI_SUSPENDM_A::DISABLE,
573            true => UTMI_SUSPENDM_A::ENABLE,
574        }
575    }
576    #[doc = "Checks if the value of the field is `DISABLE`"]
577    #[inline(always)]
578    pub fn is_disable(&self) -> bool {
579        *self == UTMI_SUSPENDM_A::DISABLE
580    }
581    #[doc = "Checks if the value of the field is `ENABLE`"]
582    #[inline(always)]
583    pub fn is_enable(&self) -> bool {
584        *self == UTMI_SUSPENDM_A::ENABLE
585    }
586}
587#[doc = "Field `CLKGATE` reader - UTMI clock gate"]
588pub type CLKGATE_R = crate::BitReader<CLKGATE_A>;
589#[doc = "UTMI clock gate\n\nValue on reset: 1"]
590#[derive(Clone, Copy, Debug, PartialEq, Eq)]
591pub enum CLKGATE_A {
592    #[doc = "0: No effect"]
593    DISABLE = 0,
594    #[doc = "1: Clears the corresponding CTRL bit"]
595    ENABLE = 1,
596}
597impl From<CLKGATE_A> for bool {
598    #[inline(always)]
599    fn from(variant: CLKGATE_A) -> Self {
600        variant as u8 != 0
601    }
602}
603impl CLKGATE_R {
604    #[doc = "Get enumerated values variant"]
605    #[inline(always)]
606    pub fn variant(&self) -> CLKGATE_A {
607        match self.bits {
608            false => CLKGATE_A::DISABLE,
609            true => CLKGATE_A::ENABLE,
610        }
611    }
612    #[doc = "Checks if the value of the field is `DISABLE`"]
613    #[inline(always)]
614    pub fn is_disable(&self) -> bool {
615        *self == CLKGATE_A::DISABLE
616    }
617    #[doc = "Checks if the value of the field is `ENABLE`"]
618    #[inline(always)]
619    pub fn is_enable(&self) -> bool {
620        *self == CLKGATE_A::ENABLE
621    }
622}
623#[doc = "Field `CLKGATE` writer - UTMI clock gate"]
624pub type CLKGATE_W<'a, const O: u8> = crate::BitWriter<'a, u32, CTRL_CLR_SPEC, CLKGATE_A, O>;
625impl<'a, const O: u8> CLKGATE_W<'a, O> {
626    #[doc = "No effect"]
627    #[inline(always)]
628    pub fn disable(self) -> &'a mut W {
629        self.variant(CLKGATE_A::DISABLE)
630    }
631    #[doc = "Clears the corresponding CTRL bit"]
632    #[inline(always)]
633    pub fn enable(self) -> &'a mut W {
634        self.variant(CLKGATE_A::ENABLE)
635    }
636}
637#[doc = "Field `SFTRST` reader - Software reset"]
638pub type SFTRST_R = crate::BitReader<SFTRST_A>;
639#[doc = "Software reset\n\nValue on reset: 1"]
640#[derive(Clone, Copy, Debug, PartialEq, Eq)]
641pub enum SFTRST_A {
642    #[doc = "0: No effect"]
643    DISABLE = 0,
644    #[doc = "1: Clears the corresponding CTRL bit"]
645    ENABLE = 1,
646}
647impl From<SFTRST_A> for bool {
648    #[inline(always)]
649    fn from(variant: SFTRST_A) -> Self {
650        variant as u8 != 0
651    }
652}
653impl SFTRST_R {
654    #[doc = "Get enumerated values variant"]
655    #[inline(always)]
656    pub fn variant(&self) -> SFTRST_A {
657        match self.bits {
658            false => SFTRST_A::DISABLE,
659            true => SFTRST_A::ENABLE,
660        }
661    }
662    #[doc = "Checks if the value of the field is `DISABLE`"]
663    #[inline(always)]
664    pub fn is_disable(&self) -> bool {
665        *self == SFTRST_A::DISABLE
666    }
667    #[doc = "Checks if the value of the field is `ENABLE`"]
668    #[inline(always)]
669    pub fn is_enable(&self) -> bool {
670        *self == SFTRST_A::ENABLE
671    }
672}
673#[doc = "Field `SFTRST` writer - Software reset"]
674pub type SFTRST_W<'a, const O: u8> = crate::BitWriter<'a, u32, CTRL_CLR_SPEC, SFTRST_A, O>;
675impl<'a, const O: u8> SFTRST_W<'a, O> {
676    #[doc = "No effect"]
677    #[inline(always)]
678    pub fn disable(self) -> &'a mut W {
679        self.variant(SFTRST_A::DISABLE)
680    }
681    #[doc = "Clears the corresponding CTRL bit"]
682    #[inline(always)]
683    pub fn enable(self) -> &'a mut W {
684        self.variant(SFTRST_A::ENABLE)
685    }
686}
687impl R {
688    #[doc = "Bit 1 - Disconnect detect."]
689    #[inline(always)]
690    pub fn enhostdiscondetect(&self) -> ENHOSTDISCONDETECT_R {
691        ENHOSTDISCONDETECT_R::new(((self.bits >> 1) & 1) != 0)
692    }
693    #[doc = "Bit 3 - Device disconnect indication."]
694    #[inline(always)]
695    pub fn hostdiscondetect_irq(&self) -> HOSTDISCONDETECT_IRQ_R {
696        HOSTDISCONDETECT_IRQ_R::new(((self.bits >> 3) & 1) != 0)
697    }
698    #[doc = "Bit 4 - Enables non-standard resistive plugged-in detection."]
699    #[inline(always)]
700    pub fn endevplugindet(&self) -> ENDEVPLUGINDET_R {
701        ENDEVPLUGINDET_R::new(((self.bits >> 4) & 1) != 0)
702    }
703    #[doc = "Bit 12 - Device connected indicator"]
704    #[inline(always)]
705    pub fn devplugin_irq(&self) -> DEVPLUGIN_IRQ_R {
706        DEVPLUGIN_IRQ_R::new(((self.bits >> 12) & 1) != 0)
707    }
708    #[doc = "Bit 14 - Enable level 2 operation"]
709    #[inline(always)]
710    pub fn enutmilevel2(&self) -> ENUTMILEVEL2_R {
711        ENUTMILEVEL2_R::new(((self.bits >> 14) & 1) != 0)
712    }
713    #[doc = "Bit 15 - Enable level 2 operation"]
714    #[inline(always)]
715    pub fn enutmilevel3(&self) -> ENUTMILEVEL3_R {
716        ENUTMILEVEL3_R::new(((self.bits >> 15) & 1) != 0)
717    }
718    #[doc = "Bit 18 - Enable autoresume"]
719    #[inline(always)]
720    pub fn autoresume_en(&self) -> AUTORESUME_EN_R {
721        AUTORESUME_EN_R::new(((self.bits >> 18) & 1) != 0)
722    }
723    #[doc = "Bit 19 - Autoclear clock gate."]
724    #[inline(always)]
725    pub fn enautoclr_clkgate(&self) -> ENAUTOCLR_CLKGATE_R {
726        ENAUTOCLR_CLKGATE_R::new(((self.bits >> 19) & 1) != 0)
727    }
728    #[doc = "Bit 20 - Autoclear PWD register bits."]
729    #[inline(always)]
730    pub fn enautoclr_phy_pwd(&self) -> ENAUTOCLR_PHY_PWD_R {
731        ENAUTOCLR_PHY_PWD_R::new(((self.bits >> 20) & 1) != 0)
732    }
733    #[doc = "Bit 24 - Reset FSDLL lock"]
734    #[inline(always)]
735    pub fn fsdll_rst_en(&self) -> FSDLL_RST_EN_R {
736        FSDLL_RST_EN_R::new(((self.bits >> 24) & 1) != 0)
737    }
738    #[doc = "Bit 28 - FS EOP low-speed timing"]
739    #[inline(always)]
740    pub fn host_force_ls_se0(&self) -> HOST_FORCE_LS_SE0_R {
741        HOST_FORCE_LS_SE0_R::new(((self.bits >> 28) & 1) != 0)
742    }
743    #[doc = "Bit 29 - UTMI suspend"]
744    #[inline(always)]
745    pub fn utmi_suspendm(&self) -> UTMI_SUSPENDM_R {
746        UTMI_SUSPENDM_R::new(((self.bits >> 29) & 1) != 0)
747    }
748    #[doc = "Bit 30 - UTMI clock gate"]
749    #[inline(always)]
750    pub fn clkgate(&self) -> CLKGATE_R {
751        CLKGATE_R::new(((self.bits >> 30) & 1) != 0)
752    }
753    #[doc = "Bit 31 - Software reset"]
754    #[inline(always)]
755    pub fn sftrst(&self) -> SFTRST_R {
756        SFTRST_R::new(((self.bits >> 31) & 1) != 0)
757    }
758}
759impl W {
760    #[doc = "Bit 1 - Disconnect detect."]
761    #[inline(always)]
762    #[must_use]
763    pub fn enhostdiscondetect(&mut self) -> ENHOSTDISCONDETECT_W<1> {
764        ENHOSTDISCONDETECT_W::new(self)
765    }
766    #[doc = "Bit 3 - Device disconnect indication."]
767    #[inline(always)]
768    #[must_use]
769    pub fn hostdiscondetect_irq(&mut self) -> HOSTDISCONDETECT_IRQ_W<3> {
770        HOSTDISCONDETECT_IRQ_W::new(self)
771    }
772    #[doc = "Bit 4 - Enables non-standard resistive plugged-in detection."]
773    #[inline(always)]
774    #[must_use]
775    pub fn endevplugindet(&mut self) -> ENDEVPLUGINDET_W<4> {
776        ENDEVPLUGINDET_W::new(self)
777    }
778    #[doc = "Bit 12 - Device connected indicator"]
779    #[inline(always)]
780    #[must_use]
781    pub fn devplugin_irq(&mut self) -> DEVPLUGIN_IRQ_W<12> {
782        DEVPLUGIN_IRQ_W::new(self)
783    }
784    #[doc = "Bit 14 - Enable level 2 operation"]
785    #[inline(always)]
786    #[must_use]
787    pub fn enutmilevel2(&mut self) -> ENUTMILEVEL2_W<14> {
788        ENUTMILEVEL2_W::new(self)
789    }
790    #[doc = "Bit 15 - Enable level 2 operation"]
791    #[inline(always)]
792    #[must_use]
793    pub fn enutmilevel3(&mut self) -> ENUTMILEVEL3_W<15> {
794        ENUTMILEVEL3_W::new(self)
795    }
796    #[doc = "Bit 18 - Enable autoresume"]
797    #[inline(always)]
798    #[must_use]
799    pub fn autoresume_en(&mut self) -> AUTORESUME_EN_W<18> {
800        AUTORESUME_EN_W::new(self)
801    }
802    #[doc = "Bit 19 - Autoclear clock gate."]
803    #[inline(always)]
804    #[must_use]
805    pub fn enautoclr_clkgate(&mut self) -> ENAUTOCLR_CLKGATE_W<19> {
806        ENAUTOCLR_CLKGATE_W::new(self)
807    }
808    #[doc = "Bit 20 - Autoclear PWD register bits."]
809    #[inline(always)]
810    #[must_use]
811    pub fn enautoclr_phy_pwd(&mut self) -> ENAUTOCLR_PHY_PWD_W<20> {
812        ENAUTOCLR_PHY_PWD_W::new(self)
813    }
814    #[doc = "Bit 24 - Reset FSDLL lock"]
815    #[inline(always)]
816    #[must_use]
817    pub fn fsdll_rst_en(&mut self) -> FSDLL_RST_EN_W<24> {
818        FSDLL_RST_EN_W::new(self)
819    }
820    #[doc = "Bit 28 - FS EOP low-speed timing"]
821    #[inline(always)]
822    #[must_use]
823    pub fn host_force_ls_se0(&mut self) -> HOST_FORCE_LS_SE0_W<28> {
824        HOST_FORCE_LS_SE0_W::new(self)
825    }
826    #[doc = "Bit 30 - UTMI clock gate"]
827    #[inline(always)]
828    #[must_use]
829    pub fn clkgate(&mut self) -> CLKGATE_W<30> {
830        CLKGATE_W::new(self)
831    }
832    #[doc = "Bit 31 - Software reset"]
833    #[inline(always)]
834    #[must_use]
835    pub fn sftrst(&mut self) -> SFTRST_W<31> {
836        SFTRST_W::new(self)
837    }
838    #[doc = "Writes raw bits to the register."]
839    #[inline(always)]
840    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
841        self.0.bits(bits);
842        self
843    }
844}
845#[doc = "General Purpose Control Clear\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrl_clr](index.html) module"]
846pub struct CTRL_CLR_SPEC;
847impl crate::RegisterSpec for CTRL_CLR_SPEC {
848    type Ux = u32;
849}
850#[doc = "`read()` method returns [ctrl_clr::R](R) reader structure"]
851impl crate::Readable for CTRL_CLR_SPEC {
852    type Reader = R;
853}
854#[doc = "`write(|w| ..)` method takes [ctrl_clr::W](W) writer structure"]
855impl crate::Writable for CTRL_CLR_SPEC {
856    type Writer = W;
857    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
858    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
859}
860#[doc = "`reset()` method sets CTRL_CLR to value 0xc000_0000"]
861impl crate::Resettable for CTRL_CLR_SPEC {
862    const RESET_VALUE: Self::Ux = 0xc000_0000;
863}