ra6m4/qspi/
sfmsmd.rs

1#[doc = "Register `SFMSMD` reader"]
2pub struct R(crate::R<SFMSMD_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<SFMSMD_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<SFMSMD_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<SFMSMD_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `SFMSMD` writer"]
17pub struct W(crate::W<SFMSMD_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<SFMSMD_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<SFMSMD_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<SFMSMD_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Field `SFMRM` reader - Serial interface read mode select"]
38pub type SFMRM_R = crate::FieldReader<u8, SFMRM_A>;
39#[doc = "Serial interface read mode select\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41#[repr(u8)]
42pub enum SFMRM_A {
43    #[doc = "0: Standard Read"]
44    _000 = 0,
45    #[doc = "1: Fast Read"]
46    _001 = 1,
47    #[doc = "2: Fast Read Dual Output"]
48    _010 = 2,
49    #[doc = "3: Fast Read Dual I/O"]
50    _011 = 3,
51    #[doc = "4: Fast Read Quad Output"]
52    _100 = 4,
53    #[doc = "5: Fast Read Quad I/O"]
54    _101 = 5,
55}
56impl From<SFMRM_A> for u8 {
57    #[inline(always)]
58    fn from(variant: SFMRM_A) -> Self {
59        variant as _
60    }
61}
62impl SFMRM_R {
63    #[doc = "Get enumerated values variant"]
64    #[inline(always)]
65    pub fn variant(&self) -> Option<SFMRM_A> {
66        match self.bits {
67            0 => Some(SFMRM_A::_000),
68            1 => Some(SFMRM_A::_001),
69            2 => Some(SFMRM_A::_010),
70            3 => Some(SFMRM_A::_011),
71            4 => Some(SFMRM_A::_100),
72            5 => Some(SFMRM_A::_101),
73            _ => None,
74        }
75    }
76    #[doc = "Checks if the value of the field is `_000`"]
77    #[inline(always)]
78    pub fn is_000(&self) -> bool {
79        *self == SFMRM_A::_000
80    }
81    #[doc = "Checks if the value of the field is `_001`"]
82    #[inline(always)]
83    pub fn is_001(&self) -> bool {
84        *self == SFMRM_A::_001
85    }
86    #[doc = "Checks if the value of the field is `_010`"]
87    #[inline(always)]
88    pub fn is_010(&self) -> bool {
89        *self == SFMRM_A::_010
90    }
91    #[doc = "Checks if the value of the field is `_011`"]
92    #[inline(always)]
93    pub fn is_011(&self) -> bool {
94        *self == SFMRM_A::_011
95    }
96    #[doc = "Checks if the value of the field is `_100`"]
97    #[inline(always)]
98    pub fn is_100(&self) -> bool {
99        *self == SFMRM_A::_100
100    }
101    #[doc = "Checks if the value of the field is `_101`"]
102    #[inline(always)]
103    pub fn is_101(&self) -> bool {
104        *self == SFMRM_A::_101
105    }
106}
107#[doc = "Field `SFMRM` writer - Serial interface read mode select"]
108pub type SFMRM_W<'a, const O: u8> = crate::FieldWriter<'a, u32, SFMSMD_SPEC, u8, SFMRM_A, 3, O>;
109impl<'a, const O: u8> SFMRM_W<'a, O> {
110    #[doc = "Standard Read"]
111    #[inline(always)]
112    pub fn _000(self) -> &'a mut W {
113        self.variant(SFMRM_A::_000)
114    }
115    #[doc = "Fast Read"]
116    #[inline(always)]
117    pub fn _001(self) -> &'a mut W {
118        self.variant(SFMRM_A::_001)
119    }
120    #[doc = "Fast Read Dual Output"]
121    #[inline(always)]
122    pub fn _010(self) -> &'a mut W {
123        self.variant(SFMRM_A::_010)
124    }
125    #[doc = "Fast Read Dual I/O"]
126    #[inline(always)]
127    pub fn _011(self) -> &'a mut W {
128        self.variant(SFMRM_A::_011)
129    }
130    #[doc = "Fast Read Quad Output"]
131    #[inline(always)]
132    pub fn _100(self) -> &'a mut W {
133        self.variant(SFMRM_A::_100)
134    }
135    #[doc = "Fast Read Quad I/O"]
136    #[inline(always)]
137    pub fn _101(self) -> &'a mut W {
138        self.variant(SFMRM_A::_101)
139    }
140}
141#[doc = "Field `SFMSE` reader - QSSL extension function select after SPI bus access"]
142pub type SFMSE_R = crate::FieldReader<u8, SFMSE_A>;
143#[doc = "QSSL extension function select after SPI bus access\n\nValue on reset: 0"]
144#[derive(Clone, Copy, Debug, PartialEq, Eq)]
145#[repr(u8)]
146pub enum SFMSE_A {
147    #[doc = "0: Do not extend QSSL"]
148    _00 = 0,
149    #[doc = "1: Extend QSSL by 33 QSPCLK"]
150    _01 = 1,
151    #[doc = "2: Extend QSSL by 129 QSPCLK"]
152    _10 = 2,
153    #[doc = "3: Extend QSSL infinitely"]
154    _11 = 3,
155}
156impl From<SFMSE_A> for u8 {
157    #[inline(always)]
158    fn from(variant: SFMSE_A) -> Self {
159        variant as _
160    }
161}
162impl SFMSE_R {
163    #[doc = "Get enumerated values variant"]
164    #[inline(always)]
165    pub fn variant(&self) -> SFMSE_A {
166        match self.bits {
167            0 => SFMSE_A::_00,
168            1 => SFMSE_A::_01,
169            2 => SFMSE_A::_10,
170            3 => SFMSE_A::_11,
171            _ => unreachable!(),
172        }
173    }
174    #[doc = "Checks if the value of the field is `_00`"]
175    #[inline(always)]
176    pub fn is_00(&self) -> bool {
177        *self == SFMSE_A::_00
178    }
179    #[doc = "Checks if the value of the field is `_01`"]
180    #[inline(always)]
181    pub fn is_01(&self) -> bool {
182        *self == SFMSE_A::_01
183    }
184    #[doc = "Checks if the value of the field is `_10`"]
185    #[inline(always)]
186    pub fn is_10(&self) -> bool {
187        *self == SFMSE_A::_10
188    }
189    #[doc = "Checks if the value of the field is `_11`"]
190    #[inline(always)]
191    pub fn is_11(&self) -> bool {
192        *self == SFMSE_A::_11
193    }
194}
195#[doc = "Field `SFMSE` writer - QSSL extension function select after SPI bus access"]
196pub type SFMSE_W<'a, const O: u8> = crate::FieldWriterSafe<'a, u32, SFMSMD_SPEC, u8, SFMSE_A, 2, O>;
197impl<'a, const O: u8> SFMSE_W<'a, O> {
198    #[doc = "Do not extend QSSL"]
199    #[inline(always)]
200    pub fn _00(self) -> &'a mut W {
201        self.variant(SFMSE_A::_00)
202    }
203    #[doc = "Extend QSSL by 33 QSPCLK"]
204    #[inline(always)]
205    pub fn _01(self) -> &'a mut W {
206        self.variant(SFMSE_A::_01)
207    }
208    #[doc = "Extend QSSL by 129 QSPCLK"]
209    #[inline(always)]
210    pub fn _10(self) -> &'a mut W {
211        self.variant(SFMSE_A::_10)
212    }
213    #[doc = "Extend QSSL infinitely"]
214    #[inline(always)]
215    pub fn _11(self) -> &'a mut W {
216        self.variant(SFMSE_A::_11)
217    }
218}
219#[doc = "Field `SFMPFE` reader - Prefetch function select"]
220pub type SFMPFE_R = crate::BitReader<SFMPFE_A>;
221#[doc = "Prefetch function select\n\nValue on reset: 0"]
222#[derive(Clone, Copy, Debug, PartialEq, Eq)]
223pub enum SFMPFE_A {
224    #[doc = "0: Disable function"]
225    _0 = 0,
226    #[doc = "1: Enable function"]
227    _1 = 1,
228}
229impl From<SFMPFE_A> for bool {
230    #[inline(always)]
231    fn from(variant: SFMPFE_A) -> Self {
232        variant as u8 != 0
233    }
234}
235impl SFMPFE_R {
236    #[doc = "Get enumerated values variant"]
237    #[inline(always)]
238    pub fn variant(&self) -> SFMPFE_A {
239        match self.bits {
240            false => SFMPFE_A::_0,
241            true => SFMPFE_A::_1,
242        }
243    }
244    #[doc = "Checks if the value of the field is `_0`"]
245    #[inline(always)]
246    pub fn is_0(&self) -> bool {
247        *self == SFMPFE_A::_0
248    }
249    #[doc = "Checks if the value of the field is `_1`"]
250    #[inline(always)]
251    pub fn is_1(&self) -> bool {
252        *self == SFMPFE_A::_1
253    }
254}
255#[doc = "Field `SFMPFE` writer - Prefetch function select"]
256pub type SFMPFE_W<'a, const O: u8> = crate::BitWriter<'a, u32, SFMSMD_SPEC, SFMPFE_A, O>;
257impl<'a, const O: u8> SFMPFE_W<'a, O> {
258    #[doc = "Disable function"]
259    #[inline(always)]
260    pub fn _0(self) -> &'a mut W {
261        self.variant(SFMPFE_A::_0)
262    }
263    #[doc = "Enable function"]
264    #[inline(always)]
265    pub fn _1(self) -> &'a mut W {
266        self.variant(SFMPFE_A::_1)
267    }
268}
269#[doc = "Field `SFMPAE` reader - Function select for stopping prefetch at locations other than on byte boundaries"]
270pub type SFMPAE_R = crate::BitReader<SFMPAE_A>;
271#[doc = "Function select for stopping prefetch at locations other than on byte boundaries\n\nValue on reset: 0"]
272#[derive(Clone, Copy, Debug, PartialEq, Eq)]
273pub enum SFMPAE_A {
274    #[doc = "0: Disable function"]
275    _0 = 0,
276    #[doc = "1: Enable function"]
277    _1 = 1,
278}
279impl From<SFMPAE_A> for bool {
280    #[inline(always)]
281    fn from(variant: SFMPAE_A) -> Self {
282        variant as u8 != 0
283    }
284}
285impl SFMPAE_R {
286    #[doc = "Get enumerated values variant"]
287    #[inline(always)]
288    pub fn variant(&self) -> SFMPAE_A {
289        match self.bits {
290            false => SFMPAE_A::_0,
291            true => SFMPAE_A::_1,
292        }
293    }
294    #[doc = "Checks if the value of the field is `_0`"]
295    #[inline(always)]
296    pub fn is_0(&self) -> bool {
297        *self == SFMPAE_A::_0
298    }
299    #[doc = "Checks if the value of the field is `_1`"]
300    #[inline(always)]
301    pub fn is_1(&self) -> bool {
302        *self == SFMPAE_A::_1
303    }
304}
305#[doc = "Field `SFMPAE` writer - Function select for stopping prefetch at locations other than on byte boundaries"]
306pub type SFMPAE_W<'a, const O: u8> = crate::BitWriter<'a, u32, SFMSMD_SPEC, SFMPAE_A, O>;
307impl<'a, const O: u8> SFMPAE_W<'a, O> {
308    #[doc = "Disable function"]
309    #[inline(always)]
310    pub fn _0(self) -> &'a mut W {
311        self.variant(SFMPAE_A::_0)
312    }
313    #[doc = "Enable function"]
314    #[inline(always)]
315    pub fn _1(self) -> &'a mut W {
316        self.variant(SFMPAE_A::_1)
317    }
318}
319#[doc = "Field `SFMMD3` reader - SPI mode select."]
320pub type SFMMD3_R = crate::BitReader<SFMMD3_A>;
321#[doc = "SPI mode select.\n\nValue on reset: 0"]
322#[derive(Clone, Copy, Debug, PartialEq, Eq)]
323pub enum SFMMD3_A {
324    #[doc = "0: SPI mode 0"]
325    _0 = 0,
326    #[doc = "1: SPI mode 3"]
327    _1 = 1,
328}
329impl From<SFMMD3_A> for bool {
330    #[inline(always)]
331    fn from(variant: SFMMD3_A) -> Self {
332        variant as u8 != 0
333    }
334}
335impl SFMMD3_R {
336    #[doc = "Get enumerated values variant"]
337    #[inline(always)]
338    pub fn variant(&self) -> SFMMD3_A {
339        match self.bits {
340            false => SFMMD3_A::_0,
341            true => SFMMD3_A::_1,
342        }
343    }
344    #[doc = "Checks if the value of the field is `_0`"]
345    #[inline(always)]
346    pub fn is_0(&self) -> bool {
347        *self == SFMMD3_A::_0
348    }
349    #[doc = "Checks if the value of the field is `_1`"]
350    #[inline(always)]
351    pub fn is_1(&self) -> bool {
352        *self == SFMMD3_A::_1
353    }
354}
355#[doc = "Field `SFMMD3` writer - SPI mode select."]
356pub type SFMMD3_W<'a, const O: u8> = crate::BitWriter<'a, u32, SFMSMD_SPEC, SFMMD3_A, O>;
357impl<'a, const O: u8> SFMMD3_W<'a, O> {
358    #[doc = "SPI mode 0"]
359    #[inline(always)]
360    pub fn _0(self) -> &'a mut W {
361        self.variant(SFMMD3_A::_0)
362    }
363    #[doc = "SPI mode 3"]
364    #[inline(always)]
365    pub fn _1(self) -> &'a mut W {
366        self.variant(SFMMD3_A::_1)
367    }
368}
369#[doc = "Field `SFMOEX` reader - Extension select for the I/O buffer output enable signal for the serial interface"]
370pub type SFMOEX_R = crate::BitReader<SFMOEX_A>;
371#[doc = "Extension select for the I/O buffer output enable signal for the serial interface\n\nValue on reset: 0"]
372#[derive(Clone, Copy, Debug, PartialEq, Eq)]
373pub enum SFMOEX_A {
374    #[doc = "0: Do not extend"]
375    _0 = 0,
376    #[doc = "1: Extend by 1 QSPCLK"]
377    _1 = 1,
378}
379impl From<SFMOEX_A> for bool {
380    #[inline(always)]
381    fn from(variant: SFMOEX_A) -> Self {
382        variant as u8 != 0
383    }
384}
385impl SFMOEX_R {
386    #[doc = "Get enumerated values variant"]
387    #[inline(always)]
388    pub fn variant(&self) -> SFMOEX_A {
389        match self.bits {
390            false => SFMOEX_A::_0,
391            true => SFMOEX_A::_1,
392        }
393    }
394    #[doc = "Checks if the value of the field is `_0`"]
395    #[inline(always)]
396    pub fn is_0(&self) -> bool {
397        *self == SFMOEX_A::_0
398    }
399    #[doc = "Checks if the value of the field is `_1`"]
400    #[inline(always)]
401    pub fn is_1(&self) -> bool {
402        *self == SFMOEX_A::_1
403    }
404}
405#[doc = "Field `SFMOEX` writer - Extension select for the I/O buffer output enable signal for the serial interface"]
406pub type SFMOEX_W<'a, const O: u8> = crate::BitWriter<'a, u32, SFMSMD_SPEC, SFMOEX_A, O>;
407impl<'a, const O: u8> SFMOEX_W<'a, O> {
408    #[doc = "Do not extend"]
409    #[inline(always)]
410    pub fn _0(self) -> &'a mut W {
411        self.variant(SFMOEX_A::_0)
412    }
413    #[doc = "Extend by 1 QSPCLK"]
414    #[inline(always)]
415    pub fn _1(self) -> &'a mut W {
416        self.variant(SFMOEX_A::_1)
417    }
418}
419#[doc = "Field `SFMOHW` reader - Hold time adjustment for serial transmission"]
420pub type SFMOHW_R = crate::BitReader<SFMOHW_A>;
421#[doc = "Hold time adjustment for serial transmission\n\nValue on reset: 0"]
422#[derive(Clone, Copy, Debug, PartialEq, Eq)]
423pub enum SFMOHW_A {
424    #[doc = "0: Do not extend high-level width of QSPCLK during transmission"]
425    _0 = 0,
426    #[doc = "1: Extend high-level width of QSPCLK by 1 PCLKA during transmission"]
427    _1 = 1,
428}
429impl From<SFMOHW_A> for bool {
430    #[inline(always)]
431    fn from(variant: SFMOHW_A) -> Self {
432        variant as u8 != 0
433    }
434}
435impl SFMOHW_R {
436    #[doc = "Get enumerated values variant"]
437    #[inline(always)]
438    pub fn variant(&self) -> SFMOHW_A {
439        match self.bits {
440            false => SFMOHW_A::_0,
441            true => SFMOHW_A::_1,
442        }
443    }
444    #[doc = "Checks if the value of the field is `_0`"]
445    #[inline(always)]
446    pub fn is_0(&self) -> bool {
447        *self == SFMOHW_A::_0
448    }
449    #[doc = "Checks if the value of the field is `_1`"]
450    #[inline(always)]
451    pub fn is_1(&self) -> bool {
452        *self == SFMOHW_A::_1
453    }
454}
455#[doc = "Field `SFMOHW` writer - Hold time adjustment for serial transmission"]
456pub type SFMOHW_W<'a, const O: u8> = crate::BitWriter<'a, u32, SFMSMD_SPEC, SFMOHW_A, O>;
457impl<'a, const O: u8> SFMOHW_W<'a, O> {
458    #[doc = "Do not extend high-level width of QSPCLK during transmission"]
459    #[inline(always)]
460    pub fn _0(self) -> &'a mut W {
461        self.variant(SFMOHW_A::_0)
462    }
463    #[doc = "Extend high-level width of QSPCLK by 1 PCLKA during transmission"]
464    #[inline(always)]
465    pub fn _1(self) -> &'a mut W {
466        self.variant(SFMOHW_A::_1)
467    }
468}
469#[doc = "Field `SFMOSW` reader - Setup time adjustment for serial transmission"]
470pub type SFMOSW_R = crate::BitReader<SFMOSW_A>;
471#[doc = "Setup time adjustment for serial transmission\n\nValue on reset: 0"]
472#[derive(Clone, Copy, Debug, PartialEq, Eq)]
473pub enum SFMOSW_A {
474    #[doc = "0: Do not extend low-level width of QSPCLK during transmission"]
475    _0 = 0,
476    #[doc = "1: Extend low-level width of QSPCLK by 1 PCLKA during transmission"]
477    _1 = 1,
478}
479impl From<SFMOSW_A> for bool {
480    #[inline(always)]
481    fn from(variant: SFMOSW_A) -> Self {
482        variant as u8 != 0
483    }
484}
485impl SFMOSW_R {
486    #[doc = "Get enumerated values variant"]
487    #[inline(always)]
488    pub fn variant(&self) -> SFMOSW_A {
489        match self.bits {
490            false => SFMOSW_A::_0,
491            true => SFMOSW_A::_1,
492        }
493    }
494    #[doc = "Checks if the value of the field is `_0`"]
495    #[inline(always)]
496    pub fn is_0(&self) -> bool {
497        *self == SFMOSW_A::_0
498    }
499    #[doc = "Checks if the value of the field is `_1`"]
500    #[inline(always)]
501    pub fn is_1(&self) -> bool {
502        *self == SFMOSW_A::_1
503    }
504}
505#[doc = "Field `SFMOSW` writer - Setup time adjustment for serial transmission"]
506pub type SFMOSW_W<'a, const O: u8> = crate::BitWriter<'a, u32, SFMSMD_SPEC, SFMOSW_A, O>;
507impl<'a, const O: u8> SFMOSW_W<'a, O> {
508    #[doc = "Do not extend low-level width of QSPCLK during transmission"]
509    #[inline(always)]
510    pub fn _0(self) -> &'a mut W {
511        self.variant(SFMOSW_A::_0)
512    }
513    #[doc = "Extend low-level width of QSPCLK by 1 PCLKA during transmission"]
514    #[inline(always)]
515    pub fn _1(self) -> &'a mut W {
516        self.variant(SFMOSW_A::_1)
517    }
518}
519#[doc = "Field `SFMCCE` reader - Read instruction code select"]
520pub type SFMCCE_R = crate::BitReader<SFMCCE_A>;
521#[doc = "Read instruction code select\n\nValue on reset: 0"]
522#[derive(Clone, Copy, Debug, PartialEq, Eq)]
523pub enum SFMCCE_A {
524    #[doc = "0: Uses automatically generated SPI instruction code"]
525    _0 = 0,
526    #[doc = "1: Use instruction code in the SFMSIC register"]
527    _1 = 1,
528}
529impl From<SFMCCE_A> for bool {
530    #[inline(always)]
531    fn from(variant: SFMCCE_A) -> Self {
532        variant as u8 != 0
533    }
534}
535impl SFMCCE_R {
536    #[doc = "Get enumerated values variant"]
537    #[inline(always)]
538    pub fn variant(&self) -> SFMCCE_A {
539        match self.bits {
540            false => SFMCCE_A::_0,
541            true => SFMCCE_A::_1,
542        }
543    }
544    #[doc = "Checks if the value of the field is `_0`"]
545    #[inline(always)]
546    pub fn is_0(&self) -> bool {
547        *self == SFMCCE_A::_0
548    }
549    #[doc = "Checks if the value of the field is `_1`"]
550    #[inline(always)]
551    pub fn is_1(&self) -> bool {
552        *self == SFMCCE_A::_1
553    }
554}
555#[doc = "Field `SFMCCE` writer - Read instruction code select"]
556pub type SFMCCE_W<'a, const O: u8> = crate::BitWriter<'a, u32, SFMSMD_SPEC, SFMCCE_A, O>;
557impl<'a, const O: u8> SFMCCE_W<'a, O> {
558    #[doc = "Uses automatically generated SPI instruction code"]
559    #[inline(always)]
560    pub fn _0(self) -> &'a mut W {
561        self.variant(SFMCCE_A::_0)
562    }
563    #[doc = "Use instruction code in the SFMSIC register"]
564    #[inline(always)]
565    pub fn _1(self) -> &'a mut W {
566        self.variant(SFMCCE_A::_1)
567    }
568}
569impl R {
570    #[doc = "Bits 0:2 - Serial interface read mode select"]
571    #[inline(always)]
572    pub fn sfmrm(&self) -> SFMRM_R {
573        SFMRM_R::new((self.bits & 7) as u8)
574    }
575    #[doc = "Bits 4:5 - QSSL extension function select after SPI bus access"]
576    #[inline(always)]
577    pub fn sfmse(&self) -> SFMSE_R {
578        SFMSE_R::new(((self.bits >> 4) & 3) as u8)
579    }
580    #[doc = "Bit 6 - Prefetch function select"]
581    #[inline(always)]
582    pub fn sfmpfe(&self) -> SFMPFE_R {
583        SFMPFE_R::new(((self.bits >> 6) & 1) != 0)
584    }
585    #[doc = "Bit 7 - Function select for stopping prefetch at locations other than on byte boundaries"]
586    #[inline(always)]
587    pub fn sfmpae(&self) -> SFMPAE_R {
588        SFMPAE_R::new(((self.bits >> 7) & 1) != 0)
589    }
590    #[doc = "Bit 8 - SPI mode select."]
591    #[inline(always)]
592    pub fn sfmmd3(&self) -> SFMMD3_R {
593        SFMMD3_R::new(((self.bits >> 8) & 1) != 0)
594    }
595    #[doc = "Bit 9 - Extension select for the I/O buffer output enable signal for the serial interface"]
596    #[inline(always)]
597    pub fn sfmoex(&self) -> SFMOEX_R {
598        SFMOEX_R::new(((self.bits >> 9) & 1) != 0)
599    }
600    #[doc = "Bit 10 - Hold time adjustment for serial transmission"]
601    #[inline(always)]
602    pub fn sfmohw(&self) -> SFMOHW_R {
603        SFMOHW_R::new(((self.bits >> 10) & 1) != 0)
604    }
605    #[doc = "Bit 11 - Setup time adjustment for serial transmission"]
606    #[inline(always)]
607    pub fn sfmosw(&self) -> SFMOSW_R {
608        SFMOSW_R::new(((self.bits >> 11) & 1) != 0)
609    }
610    #[doc = "Bit 15 - Read instruction code select"]
611    #[inline(always)]
612    pub fn sfmcce(&self) -> SFMCCE_R {
613        SFMCCE_R::new(((self.bits >> 15) & 1) != 0)
614    }
615}
616impl W {
617    #[doc = "Bits 0:2 - Serial interface read mode select"]
618    #[inline(always)]
619    #[must_use]
620    pub fn sfmrm(&mut self) -> SFMRM_W<0> {
621        SFMRM_W::new(self)
622    }
623    #[doc = "Bits 4:5 - QSSL extension function select after SPI bus access"]
624    #[inline(always)]
625    #[must_use]
626    pub fn sfmse(&mut self) -> SFMSE_W<4> {
627        SFMSE_W::new(self)
628    }
629    #[doc = "Bit 6 - Prefetch function select"]
630    #[inline(always)]
631    #[must_use]
632    pub fn sfmpfe(&mut self) -> SFMPFE_W<6> {
633        SFMPFE_W::new(self)
634    }
635    #[doc = "Bit 7 - Function select for stopping prefetch at locations other than on byte boundaries"]
636    #[inline(always)]
637    #[must_use]
638    pub fn sfmpae(&mut self) -> SFMPAE_W<7> {
639        SFMPAE_W::new(self)
640    }
641    #[doc = "Bit 8 - SPI mode select."]
642    #[inline(always)]
643    #[must_use]
644    pub fn sfmmd3(&mut self) -> SFMMD3_W<8> {
645        SFMMD3_W::new(self)
646    }
647    #[doc = "Bit 9 - Extension select for the I/O buffer output enable signal for the serial interface"]
648    #[inline(always)]
649    #[must_use]
650    pub fn sfmoex(&mut self) -> SFMOEX_W<9> {
651        SFMOEX_W::new(self)
652    }
653    #[doc = "Bit 10 - Hold time adjustment for serial transmission"]
654    #[inline(always)]
655    #[must_use]
656    pub fn sfmohw(&mut self) -> SFMOHW_W<10> {
657        SFMOHW_W::new(self)
658    }
659    #[doc = "Bit 11 - Setup time adjustment for serial transmission"]
660    #[inline(always)]
661    #[must_use]
662    pub fn sfmosw(&mut self) -> SFMOSW_W<11> {
663        SFMOSW_W::new(self)
664    }
665    #[doc = "Bit 15 - Read instruction code select"]
666    #[inline(always)]
667    #[must_use]
668    pub fn sfmcce(&mut self) -> SFMCCE_W<15> {
669        SFMCCE_W::new(self)
670    }
671    #[doc = "Writes raw bits to the register."]
672    #[inline(always)]
673    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
674        self.0.bits(bits);
675        self
676    }
677}
678#[doc = "Transfer Mode 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 [sfmsmd](index.html) module"]
679pub struct SFMSMD_SPEC;
680impl crate::RegisterSpec for SFMSMD_SPEC {
681    type Ux = u32;
682}
683#[doc = "`read()` method returns [sfmsmd::R](R) reader structure"]
684impl crate::Readable for SFMSMD_SPEC {
685    type Reader = R;
686}
687#[doc = "`write(|w| ..)` method takes [sfmsmd::W](W) writer structure"]
688impl crate::Writable for SFMSMD_SPEC {
689    type Writer = W;
690    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
691    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
692}
693#[doc = "`reset()` method sets SFMSMD to value 0"]
694impl crate::Resettable for SFMSMD_SPEC {
695    const RESET_VALUE: Self::Ux = 0;
696}