imxrt_ral/blocks/imxrt1011/
wdog.rs

1#[doc = "WDOG"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "Watchdog Control Register"]
5    pub WCR: crate::RWRegister<u16>,
6    #[doc = "Watchdog Service Register"]
7    pub WSR: crate::RWRegister<u16>,
8    #[doc = "Watchdog Reset Status Register"]
9    pub WRSR: crate::RORegister<u16>,
10    #[doc = "Watchdog Interrupt Control Register"]
11    pub WICR: crate::RWRegister<u16>,
12    #[doc = "Watchdog Miscellaneous Control Register"]
13    pub WMCR: crate::RWRegister<u16>,
14}
15#[doc = "Watchdog Control Register"]
16pub mod WCR {
17    #[doc = "WDZST"]
18    pub mod WDZST {
19        pub const offset: u16 = 0;
20        pub const mask: u16 = 0x01 << offset;
21        pub mod R {}
22        pub mod W {}
23        pub mod RW {
24            #[doc = "Continue timer operation (Default)."]
25            pub const WDZST_0: u16 = 0;
26            #[doc = "Suspend the watchdog timer."]
27            pub const WDZST_1: u16 = 0x01;
28        }
29    }
30    #[doc = "WDBG"]
31    pub mod WDBG {
32        pub const offset: u16 = 1;
33        pub const mask: u16 = 0x01 << offset;
34        pub mod R {}
35        pub mod W {}
36        pub mod RW {
37            #[doc = "Continue WDOG timer operation (Default)."]
38            pub const WDBG_0: u16 = 0;
39            #[doc = "Suspend the watchdog timer."]
40            pub const WDBG_1: u16 = 0x01;
41        }
42    }
43    #[doc = "WDE"]
44    pub mod WDE {
45        pub const offset: u16 = 2;
46        pub const mask: u16 = 0x01 << offset;
47        pub mod R {}
48        pub mod W {}
49        pub mod RW {
50            #[doc = "Disable the Watchdog (Default)."]
51            pub const WDE_0: u16 = 0;
52            #[doc = "Enable the Watchdog."]
53            pub const WDE_1: u16 = 0x01;
54        }
55    }
56    #[doc = "WDT"]
57    pub mod WDT {
58        pub const offset: u16 = 3;
59        pub const mask: u16 = 0x01 << offset;
60        pub mod R {}
61        pub mod W {}
62        pub mod RW {
63            #[doc = "No effect on WDOG_B (Default)."]
64            pub const WDT_0: u16 = 0;
65            #[doc = "Assert WDOG_B upon a Watchdog Time-out event."]
66            pub const WDT_1: u16 = 0x01;
67        }
68    }
69    #[doc = "SRS"]
70    pub mod SRS {
71        pub const offset: u16 = 4;
72        pub const mask: u16 = 0x01 << offset;
73        pub mod R {}
74        pub mod W {}
75        pub mod RW {
76            #[doc = "Assert system reset signal."]
77            pub const SRS_0: u16 = 0;
78            #[doc = "No effect on the system (Default)."]
79            pub const SRS_1: u16 = 0x01;
80        }
81    }
82    #[doc = "WDA"]
83    pub mod WDA {
84        pub const offset: u16 = 5;
85        pub const mask: u16 = 0x01 << offset;
86        pub mod R {}
87        pub mod W {}
88        pub mod RW {
89            #[doc = "Assert WDOG_B output."]
90            pub const WDA_0: u16 = 0;
91            #[doc = "No effect on system (Default)."]
92            pub const WDA_1: u16 = 0x01;
93        }
94    }
95    #[doc = "software reset extension, an option way to generate software reset"]
96    pub mod SRE {
97        pub const offset: u16 = 6;
98        pub const mask: u16 = 0x01 << offset;
99        pub mod R {}
100        pub mod W {}
101        pub mod RW {
102            #[doc = "using original way to generate software reset (default)"]
103            pub const SRE_0: u16 = 0;
104            #[doc = "using new way to generate software reset."]
105            pub const SRE_1: u16 = 0x01;
106        }
107    }
108    #[doc = "WDW"]
109    pub mod WDW {
110        pub const offset: u16 = 7;
111        pub const mask: u16 = 0x01 << offset;
112        pub mod R {}
113        pub mod W {}
114        pub mod RW {
115            #[doc = "Continue WDOG timer operation (Default)."]
116            pub const WDW_0: u16 = 0;
117            #[doc = "Suspend WDOG timer operation."]
118            pub const WDW_1: u16 = 0x01;
119        }
120    }
121    #[doc = "WT"]
122    pub mod WT {
123        pub const offset: u16 = 8;
124        pub const mask: u16 = 0xff << offset;
125        pub mod R {}
126        pub mod W {}
127        pub mod RW {
128            #[doc = "- 0.5 Seconds (Default)."]
129            pub const WT_0: u16 = 0;
130            #[doc = "- 1.0 Seconds."]
131            pub const WT_1: u16 = 0x01;
132            #[doc = "- 1.5 Seconds."]
133            pub const WT_2: u16 = 0x02;
134            #[doc = "- 2.0 Seconds."]
135            pub const WT_3: u16 = 0x03;
136            #[doc = "- 128 Seconds."]
137            pub const WT_255: u16 = 0xff;
138        }
139    }
140}
141#[doc = "Watchdog Service Register"]
142pub mod WSR {
143    #[doc = "WSR"]
144    pub mod WSR {
145        pub const offset: u16 = 0;
146        pub const mask: u16 = 0xffff << offset;
147        pub mod R {}
148        pub mod W {}
149        pub mod RW {
150            #[doc = "Write to the Watchdog Service Register (WDOG_WSR)."]
151            pub const WSR_21845: u16 = 0x5555;
152            #[doc = "Write to the Watchdog Service Register (WDOG_WSR)."]
153            pub const WSR_43690: u16 = 0xaaaa;
154        }
155    }
156}
157#[doc = "Watchdog Reset Status Register"]
158pub mod WRSR {
159    #[doc = "SFTW"]
160    pub mod SFTW {
161        pub const offset: u16 = 0;
162        pub const mask: u16 = 0x01 << offset;
163        pub mod R {}
164        pub mod W {}
165        pub mod RW {
166            #[doc = "Reset is not the result of a software reset."]
167            pub const SFTW_0: u16 = 0;
168            #[doc = "Reset is the result of a software reset."]
169            pub const SFTW_1: u16 = 0x01;
170        }
171    }
172    #[doc = "TOUT"]
173    pub mod TOUT {
174        pub const offset: u16 = 1;
175        pub const mask: u16 = 0x01 << offset;
176        pub mod R {}
177        pub mod W {}
178        pub mod RW {
179            #[doc = "Reset is not the result of a WDOG timeout."]
180            pub const TOUT_0: u16 = 0;
181            #[doc = "Reset is the result of a WDOG timeout."]
182            pub const TOUT_1: u16 = 0x01;
183        }
184    }
185    #[doc = "POR"]
186    pub mod POR {
187        pub const offset: u16 = 4;
188        pub const mask: u16 = 0x01 << offset;
189        pub mod R {}
190        pub mod W {}
191        pub mod RW {
192            #[doc = "Reset is not the result of a power on reset."]
193            pub const POR_0: u16 = 0;
194            #[doc = "Reset is the result of a power on reset."]
195            pub const POR_1: u16 = 0x01;
196        }
197    }
198}
199#[doc = "Watchdog Interrupt Control Register"]
200pub mod WICR {
201    #[doc = "WICT"]
202    pub mod WICT {
203        pub const offset: u16 = 0;
204        pub const mask: u16 = 0xff << offset;
205        pub mod R {}
206        pub mod W {}
207        pub mod RW {
208            #[doc = "WICT\\[7:0\\] = Time duration between interrupt and time-out is 0 seconds."]
209            pub const WICT_0: u16 = 0;
210            #[doc = "WICT\\[7:0\\] = Time duration between interrupt and time-out is 0.5 seconds."]
211            pub const WICT_1: u16 = 0x01;
212            #[doc = "WICT\\[7:0\\] = Time duration between interrupt and time-out is 2 seconds (Default)."]
213            pub const WICT_4: u16 = 0x04;
214            #[doc = "WICT\\[7:0\\] = Time duration between interrupt and time-out is 127.5 seconds."]
215            pub const WICT_255: u16 = 0xff;
216        }
217    }
218    #[doc = "WTIS"]
219    pub mod WTIS {
220        pub const offset: u16 = 14;
221        pub const mask: u16 = 0x01 << offset;
222        pub mod R {}
223        pub mod W {}
224        pub mod RW {
225            #[doc = "No interrupt has occurred (Default)."]
226            pub const WTIS_0: u16 = 0;
227            #[doc = "Interrupt has occurred"]
228            pub const WTIS_1: u16 = 0x01;
229        }
230    }
231    #[doc = "WIE"]
232    pub mod WIE {
233        pub const offset: u16 = 15;
234        pub const mask: u16 = 0x01 << offset;
235        pub mod R {}
236        pub mod W {}
237        pub mod RW {
238            #[doc = "Disable Interrupt (Default)."]
239            pub const WIE_0: u16 = 0;
240            #[doc = "Enable Interrupt."]
241            pub const WIE_1: u16 = 0x01;
242        }
243    }
244}
245#[doc = "Watchdog Miscellaneous Control Register"]
246pub mod WMCR {
247    #[doc = "PDE"]
248    pub mod PDE {
249        pub const offset: u16 = 0;
250        pub const mask: u16 = 0x01 << offset;
251        pub mod R {}
252        pub mod W {}
253        pub mod RW {
254            #[doc = "Power Down Counter of WDOG is disabled."]
255            pub const PDE_0: u16 = 0;
256            #[doc = "Power Down Counter of WDOG is enabled (Default)."]
257            pub const PDE_1: u16 = 0x01;
258        }
259    }
260}