1#[doc = "Register `HOSTCTRL1` reader"]
2pub struct R(crate::R<HOSTCTRL1_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<HOSTCTRL1_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<HOSTCTRL1_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<HOSTCTRL1_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `HOSTCTRL1` writer"]
17pub struct W(crate::W<HOSTCTRL1_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<HOSTCTRL1_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<HOSTCTRL1_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<HOSTCTRL1_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `LEDCTRL` reader - LED Control"]
38pub type LEDCTRL_R = crate::BitReader<bool>;
39#[doc = "Field `LEDCTRL` writer - LED Control"]
40pub type LEDCTRL_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 0>;
41#[doc = "Field `DATTRANWD` reader - Data Transfer Width 1-bit or 4-bit Mode"]
42pub type DATTRANWD_R = crate::BitReader<bool>;
43#[doc = "Field `DATTRANWD` writer - Data Transfer Width 1-bit or 4-bit Mode"]
44pub type DATTRANWD_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 1>;
45#[doc = "Field `HSEN` reader - High Speed Enable"]
46pub type HSEN_R = crate::BitReader<bool>;
47#[doc = "Field `HSEN` writer - High Speed Enable"]
48pub type HSEN_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 2>;
49#[doc = "DMA Select\n\nValue on reset: 0"]
50#[derive(Clone, Copy, Debug, PartialEq)]
51#[repr(u8)]
52pub enum DMASEL_A {
53 #[doc = "0: SDMA selected"]
54 SDMA = 0,
55 #[doc = "1: 32-bit ADMA1 selected"]
56 ADMA1 = 1,
57 #[doc = "2: 32-bit ADMA2 selected"]
58 ADMA2 = 2,
59 #[doc = "3: 64-bit ADMA2 selected"]
60 _64BITADMA2 = 3,
61}
62impl From<DMASEL_A> for u8 {
63 #[inline(always)]
64 fn from(variant: DMASEL_A) -> Self {
65 variant as _
66 }
67}
68#[doc = "Field `DMASEL` reader - DMA Select"]
69pub type DMASEL_R = crate::FieldReader<u8, DMASEL_A>;
70impl DMASEL_R {
71 #[doc = "Get enumerated values variant"]
72 #[inline(always)]
73 pub fn variant(&self) -> DMASEL_A {
74 match self.bits {
75 0 => DMASEL_A::SDMA,
76 1 => DMASEL_A::ADMA1,
77 2 => DMASEL_A::ADMA2,
78 3 => DMASEL_A::_64BITADMA2,
79 _ => unreachable!(),
80 }
81 }
82 #[doc = "Checks if the value of the field is `SDMA`"]
83 #[inline(always)]
84 pub fn is_sdma(&self) -> bool {
85 *self == DMASEL_A::SDMA
86 }
87 #[doc = "Checks if the value of the field is `ADMA1`"]
88 #[inline(always)]
89 pub fn is_adma1(&self) -> bool {
90 *self == DMASEL_A::ADMA1
91 }
92 #[doc = "Checks if the value of the field is `ADMA2`"]
93 #[inline(always)]
94 pub fn is_adma2(&self) -> bool {
95 *self == DMASEL_A::ADMA2
96 }
97 #[doc = "Checks if the value of the field is `_64BITADMA2`"]
98 #[inline(always)]
99 pub fn is_64bitadma2(&self) -> bool {
100 *self == DMASEL_A::_64BITADMA2
101 }
102}
103#[doc = "Field `DMASEL` writer - DMA Select"]
104pub type DMASEL_W<'a> = crate::FieldWriterSafe<'a, u32, HOSTCTRL1_SPEC, u8, DMASEL_A, 2, 3>;
105impl<'a> DMASEL_W<'a> {
106 #[doc = "SDMA selected"]
107 #[inline(always)]
108 pub fn sdma(self) -> &'a mut W {
109 self.variant(DMASEL_A::SDMA)
110 }
111 #[doc = "32-bit ADMA1 selected"]
112 #[inline(always)]
113 pub fn adma1(self) -> &'a mut W {
114 self.variant(DMASEL_A::ADMA1)
115 }
116 #[doc = "32-bit ADMA2 selected"]
117 #[inline(always)]
118 pub fn adma2(self) -> &'a mut W {
119 self.variant(DMASEL_A::ADMA2)
120 }
121 #[doc = "64-bit ADMA2 selected"]
122 #[inline(always)]
123 pub fn _64bitadma2(self) -> &'a mut W {
124 self.variant(DMASEL_A::_64BITADMA2)
125 }
126}
127#[doc = "Field `EXTDATTRANWD` reader - Extended Data Transfer Width"]
128pub type EXTDATTRANWD_R = crate::BitReader<bool>;
129#[doc = "Field `EXTDATTRANWD` writer - Extended Data Transfer Width"]
130pub type EXTDATTRANWD_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 5>;
131#[doc = "Field `CDTSTLVL` reader - Card Detect Test Level"]
132pub type CDTSTLVL_R = crate::BitReader<bool>;
133#[doc = "Field `CDTSTLVL` writer - Card Detect Test Level"]
134pub type CDTSTLVL_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 6>;
135#[doc = "Field `CDSIGDET` reader - Card Detetct Signal Detection"]
136pub type CDSIGDET_R = crate::BitReader<bool>;
137#[doc = "Field `CDSIGDET` writer - Card Detetct Signal Detection"]
138pub type CDSIGDET_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 7>;
139#[doc = "Field `SDBUSPOWER` reader - SD Bus Power"]
140pub type SDBUSPOWER_R = crate::BitReader<bool>;
141#[doc = "Field `SDBUSPOWER` writer - SD Bus Power"]
142pub type SDBUSPOWER_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 8>;
143#[doc = "SD Bus Voltage Select\n\nValue on reset: 0"]
144#[derive(Clone, Copy, Debug, PartialEq)]
145#[repr(u8)]
146pub enum SDBUSVOLTSEL_A {
147 #[doc = "5: Select 1.8V"]
148 _1P8V = 5,
149 #[doc = "6: Select 3.0V"]
150 _3P0V = 6,
151 #[doc = "7: Select 3.3V"]
152 _3P3V = 7,
153}
154impl From<SDBUSVOLTSEL_A> for u8 {
155 #[inline(always)]
156 fn from(variant: SDBUSVOLTSEL_A) -> Self {
157 variant as _
158 }
159}
160#[doc = "Field `SDBUSVOLTSEL` reader - SD Bus Voltage Select"]
161pub type SDBUSVOLTSEL_R = crate::FieldReader<u8, SDBUSVOLTSEL_A>;
162impl SDBUSVOLTSEL_R {
163 #[doc = "Get enumerated values variant"]
164 #[inline(always)]
165 pub fn variant(&self) -> Option<SDBUSVOLTSEL_A> {
166 match self.bits {
167 5 => Some(SDBUSVOLTSEL_A::_1P8V),
168 6 => Some(SDBUSVOLTSEL_A::_3P0V),
169 7 => Some(SDBUSVOLTSEL_A::_3P3V),
170 _ => None,
171 }
172 }
173 #[doc = "Checks if the value of the field is `_1P8V`"]
174 #[inline(always)]
175 pub fn is_1p8v(&self) -> bool {
176 *self == SDBUSVOLTSEL_A::_1P8V
177 }
178 #[doc = "Checks if the value of the field is `_3P0V`"]
179 #[inline(always)]
180 pub fn is_3p0v(&self) -> bool {
181 *self == SDBUSVOLTSEL_A::_3P0V
182 }
183 #[doc = "Checks if the value of the field is `_3P3V`"]
184 #[inline(always)]
185 pub fn is_3p3v(&self) -> bool {
186 *self == SDBUSVOLTSEL_A::_3P3V
187 }
188}
189#[doc = "Field `SDBUSVOLTSEL` writer - SD Bus Voltage Select"]
190pub type SDBUSVOLTSEL_W<'a> = crate::FieldWriter<'a, u32, HOSTCTRL1_SPEC, u8, SDBUSVOLTSEL_A, 3, 9>;
191impl<'a> SDBUSVOLTSEL_W<'a> {
192 #[doc = "Select 1.8V"]
193 #[inline(always)]
194 pub fn _1p8v(self) -> &'a mut W {
195 self.variant(SDBUSVOLTSEL_A::_1P8V)
196 }
197 #[doc = "Select 3.0V"]
198 #[inline(always)]
199 pub fn _3p0v(self) -> &'a mut W {
200 self.variant(SDBUSVOLTSEL_A::_3P0V)
201 }
202 #[doc = "Select 3.3V"]
203 #[inline(always)]
204 pub fn _3p3v(self) -> &'a mut W {
205 self.variant(SDBUSVOLTSEL_A::_3P3V)
206 }
207}
208#[doc = "Field `HRDRST` reader - Hardware Reset Signal"]
209pub type HRDRST_R = crate::BitReader<bool>;
210#[doc = "Field `HRDRST` writer - Hardware Reset Signal"]
211pub type HRDRST_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 12>;
212#[doc = "Field `STOPATBLKGAPREQ` reader - Stop at Block Gap Request"]
213pub type STOPATBLKGAPREQ_R = crate::BitReader<bool>;
214#[doc = "Field `STOPATBLKGAPREQ` writer - Stop at Block Gap Request"]
215pub type STOPATBLKGAPREQ_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 16>;
216#[doc = "Field `CONTINUEREQ` reader - Continue Request"]
217pub type CONTINUEREQ_R = crate::BitReader<bool>;
218#[doc = "Field `CONTINUEREQ` writer - Continue Request"]
219pub type CONTINUEREQ_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 17>;
220#[doc = "Field `RDWAITCTRL` reader - Read Wait Control"]
221pub type RDWAITCTRL_R = crate::BitReader<bool>;
222#[doc = "Field `RDWAITCTRL` writer - Read Wait Control"]
223pub type RDWAITCTRL_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 18>;
224#[doc = "Field `INTATBLKGAP` reader - Interrupt at Block Gap"]
225pub type INTATBLKGAP_R = crate::BitReader<bool>;
226#[doc = "Field `INTATBLKGAP` writer - Interrupt at Block Gap"]
227pub type INTATBLKGAP_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 19>;
228#[doc = "Field `SPIMODE` reader - SPI Mode Enable"]
229pub type SPIMODE_R = crate::BitReader<bool>;
230#[doc = "Field `SPIMODE` writer - SPI Mode Enable"]
231pub type SPIMODE_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 20>;
232#[doc = "Field `BOOTEN` reader - Boot Enable"]
233pub type BOOTEN_R = crate::BitReader<bool>;
234#[doc = "Field `BOOTEN` writer - Boot Enable"]
235pub type BOOTEN_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 21>;
236#[doc = "Field `ALTBOOTEN` reader - Alternate Boot Enable"]
237pub type ALTBOOTEN_R = crate::BitReader<bool>;
238#[doc = "Field `ALTBOOTEN` writer - Alternate Boot Enable"]
239pub type ALTBOOTEN_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 22>;
240#[doc = "Field `BOOTACKCHK` reader - Boot Ack Check"]
241pub type BOOTACKCHK_R = crate::BitReader<bool>;
242#[doc = "Field `BOOTACKCHK` writer - Boot Ack Check"]
243pub type BOOTACKCHK_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 23>;
244#[doc = "Field `WKUPEVNTENONCARDINT` reader - Wakeup Event Enable on Card Interrupt"]
245pub type WKUPEVNTENONCARDINT_R = crate::BitReader<bool>;
246#[doc = "Field `WKUPEVNTENONCARDINT` writer - Wakeup Event Enable on Card Interrupt"]
247pub type WKUPEVNTENONCARDINT_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 24>;
248#[doc = "Field `WKUPEVNTENONCINS` reader - Wakeup Event Enable on SD Card Insertion"]
249pub type WKUPEVNTENONCINS_R = crate::BitReader<bool>;
250#[doc = "Field `WKUPEVNTENONCINS` writer - Wakeup Event Enable on SD Card Insertion"]
251pub type WKUPEVNTENONCINS_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 25>;
252#[doc = "Field `WKUPEVNTENONCRM` reader - Wakeup Event Enable on SD Card Removal"]
253pub type WKUPEVNTENONCRM_R = crate::BitReader<bool>;
254#[doc = "Field `WKUPEVNTENONCRM` writer - Wakeup Event Enable on SD Card Removal"]
255pub type WKUPEVNTENONCRM_W<'a> = crate::BitWriter<'a, u32, HOSTCTRL1_SPEC, bool, 26>;
256impl R {
257 #[doc = "Bit 0 - LED Control"]
258 #[inline(always)]
259 pub fn ledctrl(&self) -> LEDCTRL_R {
260 LEDCTRL_R::new((self.bits & 1) != 0)
261 }
262 #[doc = "Bit 1 - Data Transfer Width 1-bit or 4-bit Mode"]
263 #[inline(always)]
264 pub fn dattranwd(&self) -> DATTRANWD_R {
265 DATTRANWD_R::new(((self.bits >> 1) & 1) != 0)
266 }
267 #[doc = "Bit 2 - High Speed Enable"]
268 #[inline(always)]
269 pub fn hsen(&self) -> HSEN_R {
270 HSEN_R::new(((self.bits >> 2) & 1) != 0)
271 }
272 #[doc = "Bits 3:4 - DMA Select"]
273 #[inline(always)]
274 pub fn dmasel(&self) -> DMASEL_R {
275 DMASEL_R::new(((self.bits >> 3) & 3) as u8)
276 }
277 #[doc = "Bit 5 - Extended Data Transfer Width"]
278 #[inline(always)]
279 pub fn extdattranwd(&self) -> EXTDATTRANWD_R {
280 EXTDATTRANWD_R::new(((self.bits >> 5) & 1) != 0)
281 }
282 #[doc = "Bit 6 - Card Detect Test Level"]
283 #[inline(always)]
284 pub fn cdtstlvl(&self) -> CDTSTLVL_R {
285 CDTSTLVL_R::new(((self.bits >> 6) & 1) != 0)
286 }
287 #[doc = "Bit 7 - Card Detetct Signal Detection"]
288 #[inline(always)]
289 pub fn cdsigdet(&self) -> CDSIGDET_R {
290 CDSIGDET_R::new(((self.bits >> 7) & 1) != 0)
291 }
292 #[doc = "Bit 8 - SD Bus Power"]
293 #[inline(always)]
294 pub fn sdbuspower(&self) -> SDBUSPOWER_R {
295 SDBUSPOWER_R::new(((self.bits >> 8) & 1) != 0)
296 }
297 #[doc = "Bits 9:11 - SD Bus Voltage Select"]
298 #[inline(always)]
299 pub fn sdbusvoltsel(&self) -> SDBUSVOLTSEL_R {
300 SDBUSVOLTSEL_R::new(((self.bits >> 9) & 7) as u8)
301 }
302 #[doc = "Bit 12 - Hardware Reset Signal"]
303 #[inline(always)]
304 pub fn hrdrst(&self) -> HRDRST_R {
305 HRDRST_R::new(((self.bits >> 12) & 1) != 0)
306 }
307 #[doc = "Bit 16 - Stop at Block Gap Request"]
308 #[inline(always)]
309 pub fn stopatblkgapreq(&self) -> STOPATBLKGAPREQ_R {
310 STOPATBLKGAPREQ_R::new(((self.bits >> 16) & 1) != 0)
311 }
312 #[doc = "Bit 17 - Continue Request"]
313 #[inline(always)]
314 pub fn continuereq(&self) -> CONTINUEREQ_R {
315 CONTINUEREQ_R::new(((self.bits >> 17) & 1) != 0)
316 }
317 #[doc = "Bit 18 - Read Wait Control"]
318 #[inline(always)]
319 pub fn rdwaitctrl(&self) -> RDWAITCTRL_R {
320 RDWAITCTRL_R::new(((self.bits >> 18) & 1) != 0)
321 }
322 #[doc = "Bit 19 - Interrupt at Block Gap"]
323 #[inline(always)]
324 pub fn intatblkgap(&self) -> INTATBLKGAP_R {
325 INTATBLKGAP_R::new(((self.bits >> 19) & 1) != 0)
326 }
327 #[doc = "Bit 20 - SPI Mode Enable"]
328 #[inline(always)]
329 pub fn spimode(&self) -> SPIMODE_R {
330 SPIMODE_R::new(((self.bits >> 20) & 1) != 0)
331 }
332 #[doc = "Bit 21 - Boot Enable"]
333 #[inline(always)]
334 pub fn booten(&self) -> BOOTEN_R {
335 BOOTEN_R::new(((self.bits >> 21) & 1) != 0)
336 }
337 #[doc = "Bit 22 - Alternate Boot Enable"]
338 #[inline(always)]
339 pub fn altbooten(&self) -> ALTBOOTEN_R {
340 ALTBOOTEN_R::new(((self.bits >> 22) & 1) != 0)
341 }
342 #[doc = "Bit 23 - Boot Ack Check"]
343 #[inline(always)]
344 pub fn bootackchk(&self) -> BOOTACKCHK_R {
345 BOOTACKCHK_R::new(((self.bits >> 23) & 1) != 0)
346 }
347 #[doc = "Bit 24 - Wakeup Event Enable on Card Interrupt"]
348 #[inline(always)]
349 pub fn wkupevntenoncardint(&self) -> WKUPEVNTENONCARDINT_R {
350 WKUPEVNTENONCARDINT_R::new(((self.bits >> 24) & 1) != 0)
351 }
352 #[doc = "Bit 25 - Wakeup Event Enable on SD Card Insertion"]
353 #[inline(always)]
354 pub fn wkupevntenoncins(&self) -> WKUPEVNTENONCINS_R {
355 WKUPEVNTENONCINS_R::new(((self.bits >> 25) & 1) != 0)
356 }
357 #[doc = "Bit 26 - Wakeup Event Enable on SD Card Removal"]
358 #[inline(always)]
359 pub fn wkupevntenoncrm(&self) -> WKUPEVNTENONCRM_R {
360 WKUPEVNTENONCRM_R::new(((self.bits >> 26) & 1) != 0)
361 }
362}
363impl W {
364 #[doc = "Bit 0 - LED Control"]
365 #[inline(always)]
366 pub fn ledctrl(&mut self) -> LEDCTRL_W {
367 LEDCTRL_W::new(self)
368 }
369 #[doc = "Bit 1 - Data Transfer Width 1-bit or 4-bit Mode"]
370 #[inline(always)]
371 pub fn dattranwd(&mut self) -> DATTRANWD_W {
372 DATTRANWD_W::new(self)
373 }
374 #[doc = "Bit 2 - High Speed Enable"]
375 #[inline(always)]
376 pub fn hsen(&mut self) -> HSEN_W {
377 HSEN_W::new(self)
378 }
379 #[doc = "Bits 3:4 - DMA Select"]
380 #[inline(always)]
381 pub fn dmasel(&mut self) -> DMASEL_W {
382 DMASEL_W::new(self)
383 }
384 #[doc = "Bit 5 - Extended Data Transfer Width"]
385 #[inline(always)]
386 pub fn extdattranwd(&mut self) -> EXTDATTRANWD_W {
387 EXTDATTRANWD_W::new(self)
388 }
389 #[doc = "Bit 6 - Card Detect Test Level"]
390 #[inline(always)]
391 pub fn cdtstlvl(&mut self) -> CDTSTLVL_W {
392 CDTSTLVL_W::new(self)
393 }
394 #[doc = "Bit 7 - Card Detetct Signal Detection"]
395 #[inline(always)]
396 pub fn cdsigdet(&mut self) -> CDSIGDET_W {
397 CDSIGDET_W::new(self)
398 }
399 #[doc = "Bit 8 - SD Bus Power"]
400 #[inline(always)]
401 pub fn sdbuspower(&mut self) -> SDBUSPOWER_W {
402 SDBUSPOWER_W::new(self)
403 }
404 #[doc = "Bits 9:11 - SD Bus Voltage Select"]
405 #[inline(always)]
406 pub fn sdbusvoltsel(&mut self) -> SDBUSVOLTSEL_W {
407 SDBUSVOLTSEL_W::new(self)
408 }
409 #[doc = "Bit 12 - Hardware Reset Signal"]
410 #[inline(always)]
411 pub fn hrdrst(&mut self) -> HRDRST_W {
412 HRDRST_W::new(self)
413 }
414 #[doc = "Bit 16 - Stop at Block Gap Request"]
415 #[inline(always)]
416 pub fn stopatblkgapreq(&mut self) -> STOPATBLKGAPREQ_W {
417 STOPATBLKGAPREQ_W::new(self)
418 }
419 #[doc = "Bit 17 - Continue Request"]
420 #[inline(always)]
421 pub fn continuereq(&mut self) -> CONTINUEREQ_W {
422 CONTINUEREQ_W::new(self)
423 }
424 #[doc = "Bit 18 - Read Wait Control"]
425 #[inline(always)]
426 pub fn rdwaitctrl(&mut self) -> RDWAITCTRL_W {
427 RDWAITCTRL_W::new(self)
428 }
429 #[doc = "Bit 19 - Interrupt at Block Gap"]
430 #[inline(always)]
431 pub fn intatblkgap(&mut self) -> INTATBLKGAP_W {
432 INTATBLKGAP_W::new(self)
433 }
434 #[doc = "Bit 20 - SPI Mode Enable"]
435 #[inline(always)]
436 pub fn spimode(&mut self) -> SPIMODE_W {
437 SPIMODE_W::new(self)
438 }
439 #[doc = "Bit 21 - Boot Enable"]
440 #[inline(always)]
441 pub fn booten(&mut self) -> BOOTEN_W {
442 BOOTEN_W::new(self)
443 }
444 #[doc = "Bit 22 - Alternate Boot Enable"]
445 #[inline(always)]
446 pub fn altbooten(&mut self) -> ALTBOOTEN_W {
447 ALTBOOTEN_W::new(self)
448 }
449 #[doc = "Bit 23 - Boot Ack Check"]
450 #[inline(always)]
451 pub fn bootackchk(&mut self) -> BOOTACKCHK_W {
452 BOOTACKCHK_W::new(self)
453 }
454 #[doc = "Bit 24 - Wakeup Event Enable on Card Interrupt"]
455 #[inline(always)]
456 pub fn wkupevntenoncardint(&mut self) -> WKUPEVNTENONCARDINT_W {
457 WKUPEVNTENONCARDINT_W::new(self)
458 }
459 #[doc = "Bit 25 - Wakeup Event Enable on SD Card Insertion"]
460 #[inline(always)]
461 pub fn wkupevntenoncins(&mut self) -> WKUPEVNTENONCINS_W {
462 WKUPEVNTENONCINS_W::new(self)
463 }
464 #[doc = "Bit 26 - Wakeup Event Enable on SD Card Removal"]
465 #[inline(always)]
466 pub fn wkupevntenoncrm(&mut self) -> WKUPEVNTENONCRM_W {
467 WKUPEVNTENONCRM_W::new(self)
468 }
469 #[doc = "Writes raw bits to the register."]
470 #[inline(always)]
471 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
472 self.0.bits(bits);
473 self
474 }
475}
476#[doc = "Host Control1, Power, Block Gap and Wakeup-up Control Register\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 [hostctrl1](index.html) module"]
477pub struct HOSTCTRL1_SPEC;
478impl crate::RegisterSpec for HOSTCTRL1_SPEC {
479 type Ux = u32;
480}
481#[doc = "`read()` method returns [hostctrl1::R](R) reader structure"]
482impl crate::Readable for HOSTCTRL1_SPEC {
483 type Reader = R;
484}
485#[doc = "`write(|w| ..)` method takes [hostctrl1::W](W) writer structure"]
486impl crate::Writable for HOSTCTRL1_SPEC {
487 type Writer = W;
488}
489#[doc = "`reset()` method sets HOSTCTRL1 to value 0x0080_0000"]
490impl crate::Resettable for HOSTCTRL1_SPEC {
491 #[inline(always)]
492 fn reset_value() -> Self::Ux {
493 0x0080_0000
494 }
495}