1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#[doc = "Register `smhc_mintsts` reader"]
pub struct R(crate::R<SMHC_MINTSTS_SPEC>);
impl core::ops::Deref for R {
    type Target = crate::R<SMHC_MINTSTS_SPEC>;
    #[inline(always)]
    fn deref(&self) -> &Self::Target {
        &self.0
    }
}
impl From<crate::R<SMHC_MINTSTS_SPEC>> for R {
    #[inline(always)]
    fn from(reader: crate::R<SMHC_MINTSTS_SPEC>) -> Self {
        R(reader)
    }
}
#[doc = "Field `m_re_int` reader - Response Errors"]
pub type M_RE_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_cc_int` reader - Command Complete"]
pub type M_CC_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_dtc_int` reader - Data Transfer Complete"]
pub type M_DTC_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_dtr_int` reader - Data Transmit Request"]
pub type M_DTR_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_drr_int` reader - Data Receive Request"]
pub type M_DRR_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_rce_int` reader - Response CRC Error"]
pub type M_RCE_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_dce_int` reader - Data CRC Error"]
pub type M_DCE_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_rto_back_int` reader - Response Timeout/Boot ACK Received"]
pub type M_RTO_BACK_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_dto_bds_int` reader - Data Timeout/Boot Data Start"]
pub type M_DTO_BDS_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_dsto_vsd_int` reader - Data Starvation Timeout/V1.8 Switch Done"]
pub type M_DSTO_VSD_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_fu_fo_int` reader - FIFO Underrun/Overflow"]
pub type M_FU_FO_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_cb_iw_int` reader - Command Busy and Illegal Write"]
pub type M_CB_IW_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_dse_bc_int` reader - Data Start Error/Busy Clear"]
pub type M_DSE_BC_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_acd_int` reader - Auto Command Done"]
pub type M_ACD_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_dee_int` reader - Data End-bit Error"]
pub type M_DEE_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_sdio_int` reader - SDIO Interrupt"]
pub type M_SDIO_INT_R = crate::BitReader<bool>;
#[doc = "Field `m_card_insert` reader - Card Inserted"]
pub type M_CARD_INSERT_R = crate::BitReader<bool>;
#[doc = "Field `m_card_removal_int` reader - Card Removed"]
pub type M_CARD_REMOVAL_INT_R = crate::BitReader<bool>;
impl R {
    #[doc = "Bit 1 - Response Errors"]
    #[inline(always)]
    pub fn m_re_int(&self) -> M_RE_INT_R {
        M_RE_INT_R::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - Command Complete"]
    #[inline(always)]
    pub fn m_cc_int(&self) -> M_CC_INT_R {
        M_CC_INT_R::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - Data Transfer Complete"]
    #[inline(always)]
    pub fn m_dtc_int(&self) -> M_DTC_INT_R {
        M_DTC_INT_R::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - Data Transmit Request"]
    #[inline(always)]
    pub fn m_dtr_int(&self) -> M_DTR_INT_R {
        M_DTR_INT_R::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - Data Receive Request"]
    #[inline(always)]
    pub fn m_drr_int(&self) -> M_DRR_INT_R {
        M_DRR_INT_R::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - Response CRC Error"]
    #[inline(always)]
    pub fn m_rce_int(&self) -> M_RCE_INT_R {
        M_RCE_INT_R::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - Data CRC Error"]
    #[inline(always)]
    pub fn m_dce_int(&self) -> M_DCE_INT_R {
        M_DCE_INT_R::new(((self.bits >> 7) & 1) != 0)
    }
    #[doc = "Bit 8 - Response Timeout/Boot ACK Received"]
    #[inline(always)]
    pub fn m_rto_back_int(&self) -> M_RTO_BACK_INT_R {
        M_RTO_BACK_INT_R::new(((self.bits >> 8) & 1) != 0)
    }
    #[doc = "Bit 9 - Data Timeout/Boot Data Start"]
    #[inline(always)]
    pub fn m_dto_bds_int(&self) -> M_DTO_BDS_INT_R {
        M_DTO_BDS_INT_R::new(((self.bits >> 9) & 1) != 0)
    }
    #[doc = "Bit 10 - Data Starvation Timeout/V1.8 Switch Done"]
    #[inline(always)]
    pub fn m_dsto_vsd_int(&self) -> M_DSTO_VSD_INT_R {
        M_DSTO_VSD_INT_R::new(((self.bits >> 10) & 1) != 0)
    }
    #[doc = "Bit 11 - FIFO Underrun/Overflow"]
    #[inline(always)]
    pub fn m_fu_fo_int(&self) -> M_FU_FO_INT_R {
        M_FU_FO_INT_R::new(((self.bits >> 11) & 1) != 0)
    }
    #[doc = "Bit 12 - Command Busy and Illegal Write"]
    #[inline(always)]
    pub fn m_cb_iw_int(&self) -> M_CB_IW_INT_R {
        M_CB_IW_INT_R::new(((self.bits >> 12) & 1) != 0)
    }
    #[doc = "Bit 13 - Data Start Error/Busy Clear"]
    #[inline(always)]
    pub fn m_dse_bc_int(&self) -> M_DSE_BC_INT_R {
        M_DSE_BC_INT_R::new(((self.bits >> 13) & 1) != 0)
    }
    #[doc = "Bit 14 - Auto Command Done"]
    #[inline(always)]
    pub fn m_acd_int(&self) -> M_ACD_INT_R {
        M_ACD_INT_R::new(((self.bits >> 14) & 1) != 0)
    }
    #[doc = "Bit 15 - Data End-bit Error"]
    #[inline(always)]
    pub fn m_dee_int(&self) -> M_DEE_INT_R {
        M_DEE_INT_R::new(((self.bits >> 15) & 1) != 0)
    }
    #[doc = "Bit 16 - SDIO Interrupt"]
    #[inline(always)]
    pub fn m_sdio_int(&self) -> M_SDIO_INT_R {
        M_SDIO_INT_R::new(((self.bits >> 16) & 1) != 0)
    }
    #[doc = "Bit 30 - Card Inserted"]
    #[inline(always)]
    pub fn m_card_insert(&self) -> M_CARD_INSERT_R {
        M_CARD_INSERT_R::new(((self.bits >> 30) & 1) != 0)
    }
    #[doc = "Bit 31 - Card Removed"]
    #[inline(always)]
    pub fn m_card_removal_int(&self) -> M_CARD_REMOVAL_INT_R {
        M_CARD_REMOVAL_INT_R::new(((self.bits >> 31) & 1) != 0)
    }
}
#[doc = "Masked Interrupt Status Register\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [smhc_mintsts](index.html) module"]
pub struct SMHC_MINTSTS_SPEC;
impl crate::RegisterSpec for SMHC_MINTSTS_SPEC {
    type Ux = u32;
}
#[doc = "`read()` method returns [smhc_mintsts::R](R) reader structure"]
impl crate::Readable for SMHC_MINTSTS_SPEC {
    type Reader = R;
}
#[doc = "`reset()` method sets smhc_mintsts to value 0"]
impl crate::Resettable for SMHC_MINTSTS_SPEC {
    const RESET_VALUE: Self::Ux = 0;
}