d1_pac/
dmic.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    dmic_en: DMIC_EN,
5    dmic_sr: DMIC_SR,
6    dmic_ctr: DMIC_CTR,
7    _reserved3: [u8; 0x04],
8    dmic_data: DMIC_DATA,
9    dmic_intc: DMIC_INTC,
10    dmic_ints: DMIC_INTS,
11    dmic_rxfifo_ctr: DMIC_RXFIFO_CTR,
12    dmic_rxfifo_sta: DMIC_RXFIFO_STA,
13    dmic_ch_num: DMIC_CH_NUM,
14    dmic_ch_map: DMIC_CH_MAP,
15    dmic_cnt: DMIC_CNT,
16    data0_data1_vol_ctr: DATA0_DATA1_VOL_CTR,
17    data2_data3_vol_ctr: DATA2_DATA3_VOL_CTR,
18    hpf_en_ctr: HPF_EN_CTR,
19    hpf_coef: HPF_COEF,
20    hpf_gain: HPF_GAIN,
21}
22impl RegisterBlock {
23    #[doc = "0x00 - DMIC Enable Control Register"]
24    #[inline(always)]
25    pub const fn dmic_en(&self) -> &DMIC_EN {
26        &self.dmic_en
27    }
28    #[doc = "0x04 - DMIC Sample Rate Register"]
29    #[inline(always)]
30    pub const fn dmic_sr(&self) -> &DMIC_SR {
31        &self.dmic_sr
32    }
33    #[doc = "0x08 - DMIC Control Register"]
34    #[inline(always)]
35    pub const fn dmic_ctr(&self) -> &DMIC_CTR {
36        &self.dmic_ctr
37    }
38    #[doc = "0x10 - DMIC Data Register"]
39    #[inline(always)]
40    pub const fn dmic_data(&self) -> &DMIC_DATA {
41        &self.dmic_data
42    }
43    #[doc = "0x14 - DMIC Interrupt Control Register"]
44    #[inline(always)]
45    pub const fn dmic_intc(&self) -> &DMIC_INTC {
46        &self.dmic_intc
47    }
48    #[doc = "0x18 - DMIC Interrupt Status Register"]
49    #[inline(always)]
50    pub const fn dmic_ints(&self) -> &DMIC_INTS {
51        &self.dmic_ints
52    }
53    #[doc = "0x1c - DMIC RXFIFO Control Register"]
54    #[inline(always)]
55    pub const fn dmic_rxfifo_ctr(&self) -> &DMIC_RXFIFO_CTR {
56        &self.dmic_rxfifo_ctr
57    }
58    #[doc = "0x20 - DMIC RXFIFO Status Register"]
59    #[inline(always)]
60    pub const fn dmic_rxfifo_sta(&self) -> &DMIC_RXFIFO_STA {
61        &self.dmic_rxfifo_sta
62    }
63    #[doc = "0x24 - DMIC Channel Numbers Register"]
64    #[inline(always)]
65    pub const fn dmic_ch_num(&self) -> &DMIC_CH_NUM {
66        &self.dmic_ch_num
67    }
68    #[doc = "0x28 - DMIC Channel Mapping Register"]
69    #[inline(always)]
70    pub const fn dmic_ch_map(&self) -> &DMIC_CH_MAP {
71        &self.dmic_ch_map
72    }
73    #[doc = "0x2c - DMIC Counter Register"]
74    #[inline(always)]
75    pub const fn dmic_cnt(&self) -> &DMIC_CNT {
76        &self.dmic_cnt
77    }
78    #[doc = "0x30 - Data0 and Data1 Volume Control Register"]
79    #[inline(always)]
80    pub const fn data0_data1_vol_ctr(&self) -> &DATA0_DATA1_VOL_CTR {
81        &self.data0_data1_vol_ctr
82    }
83    #[doc = "0x34 - Data2 And Data3 Volume Control Register"]
84    #[inline(always)]
85    pub const fn data2_data3_vol_ctr(&self) -> &DATA2_DATA3_VOL_CTR {
86        &self.data2_data3_vol_ctr
87    }
88    #[doc = "0x38 - High Pass Filter Enable Control Register"]
89    #[inline(always)]
90    pub const fn hpf_en_ctr(&self) -> &HPF_EN_CTR {
91        &self.hpf_en_ctr
92    }
93    #[doc = "0x3c - High Pass Filter Coefficient Register"]
94    #[inline(always)]
95    pub const fn hpf_coef(&self) -> &HPF_COEF {
96        &self.hpf_coef
97    }
98    #[doc = "0x40 - High Pass Filter Gain Register"]
99    #[inline(always)]
100    pub const fn hpf_gain(&self) -> &HPF_GAIN {
101        &self.hpf_gain
102    }
103}
104#[doc = "dmic_en (rw) register accessor: DMIC Enable Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_en::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_en::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_en`] module"]
105pub type DMIC_EN = crate::Reg<dmic_en::DMIC_EN_SPEC>;
106#[doc = "DMIC Enable Control Register"]
107pub mod dmic_en;
108#[doc = "dmic_sr (rw) register accessor: DMIC Sample Rate Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_sr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_sr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_sr`] module"]
109pub type DMIC_SR = crate::Reg<dmic_sr::DMIC_SR_SPEC>;
110#[doc = "DMIC Sample Rate Register"]
111pub mod dmic_sr;
112#[doc = "dmic_ctr (rw) register accessor: DMIC Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_ctr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_ctr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_ctr`] module"]
113pub type DMIC_CTR = crate::Reg<dmic_ctr::DMIC_CTR_SPEC>;
114#[doc = "DMIC Control Register"]
115pub mod dmic_ctr;
116#[doc = "dmic_data (rw) register accessor: DMIC Data Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_data::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_data::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_data`] module"]
117pub type DMIC_DATA = crate::Reg<dmic_data::DMIC_DATA_SPEC>;
118#[doc = "DMIC Data Register"]
119pub mod dmic_data;
120#[doc = "dmic_intc (rw) register accessor: DMIC Interrupt Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_intc::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_intc::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_intc`] module"]
121pub type DMIC_INTC = crate::Reg<dmic_intc::DMIC_INTC_SPEC>;
122#[doc = "DMIC Interrupt Control Register"]
123pub mod dmic_intc;
124#[doc = "dmic_ints (rw) register accessor: DMIC Interrupt Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_ints::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_ints::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_ints`] module"]
125pub type DMIC_INTS = crate::Reg<dmic_ints::DMIC_INTS_SPEC>;
126#[doc = "DMIC Interrupt Status Register"]
127pub mod dmic_ints;
128#[doc = "dmic_rxfifo_ctr (rw) register accessor: DMIC RXFIFO Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_rxfifo_ctr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_rxfifo_ctr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_rxfifo_ctr`] module"]
129pub type DMIC_RXFIFO_CTR = crate::Reg<dmic_rxfifo_ctr::DMIC_RXFIFO_CTR_SPEC>;
130#[doc = "DMIC RXFIFO Control Register"]
131pub mod dmic_rxfifo_ctr;
132#[doc = "dmic_rxfifo_sta (rw) register accessor: DMIC RXFIFO Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_rxfifo_sta::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_rxfifo_sta::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_rxfifo_sta`] module"]
133pub type DMIC_RXFIFO_STA = crate::Reg<dmic_rxfifo_sta::DMIC_RXFIFO_STA_SPEC>;
134#[doc = "DMIC RXFIFO Status Register"]
135pub mod dmic_rxfifo_sta;
136#[doc = "dmic_ch_num (rw) register accessor: DMIC Channel Numbers Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_ch_num::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_ch_num::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_ch_num`] module"]
137pub type DMIC_CH_NUM = crate::Reg<dmic_ch_num::DMIC_CH_NUM_SPEC>;
138#[doc = "DMIC Channel Numbers Register"]
139pub mod dmic_ch_num;
140#[doc = "dmic_ch_map (rw) register accessor: DMIC Channel Mapping Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_ch_map::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_ch_map::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_ch_map`] module"]
141pub type DMIC_CH_MAP = crate::Reg<dmic_ch_map::DMIC_CH_MAP_SPEC>;
142#[doc = "DMIC Channel Mapping Register"]
143pub mod dmic_ch_map;
144#[doc = "dmic_cnt (rw) register accessor: DMIC Counter Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmic_cnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmic_cnt::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmic_cnt`] module"]
145pub type DMIC_CNT = crate::Reg<dmic_cnt::DMIC_CNT_SPEC>;
146#[doc = "DMIC Counter Register"]
147pub mod dmic_cnt;
148#[doc = "data0_data1_vol_ctr (rw) register accessor: Data0 and Data1 Volume Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_data1_vol_ctr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_data1_vol_ctr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_data1_vol_ctr`] module"]
149pub type DATA0_DATA1_VOL_CTR = crate::Reg<data0_data1_vol_ctr::DATA0_DATA1_VOL_CTR_SPEC>;
150#[doc = "Data0 and Data1 Volume Control Register"]
151pub mod data0_data1_vol_ctr;
152#[doc = "data2_data3_vol_ctr (rw) register accessor: Data2 And Data3 Volume Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_data3_vol_ctr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_data3_vol_ctr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_data3_vol_ctr`] module"]
153pub type DATA2_DATA3_VOL_CTR = crate::Reg<data2_data3_vol_ctr::DATA2_DATA3_VOL_CTR_SPEC>;
154#[doc = "Data2 And Data3 Volume Control Register"]
155pub mod data2_data3_vol_ctr;
156#[doc = "hpf_en_ctr (rw) register accessor: High Pass Filter Enable Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`hpf_en_ctr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`hpf_en_ctr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hpf_en_ctr`] module"]
157pub type HPF_EN_CTR = crate::Reg<hpf_en_ctr::HPF_EN_CTR_SPEC>;
158#[doc = "High Pass Filter Enable Control Register"]
159pub mod hpf_en_ctr;
160#[doc = "hpf_coef (rw) register accessor: High Pass Filter Coefficient Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`hpf_coef::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`hpf_coef::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hpf_coef`] module"]
161pub type HPF_COEF = crate::Reg<hpf_coef::HPF_COEF_SPEC>;
162#[doc = "High Pass Filter Coefficient Register"]
163pub mod hpf_coef;
164#[doc = "hpf_gain (rw) register accessor: High Pass Filter Gain Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`hpf_gain::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`hpf_gain::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hpf_gain`] module"]
165pub type HPF_GAIN = crate::Reg<hpf_gain::HPF_GAIN_SPEC>;
166#[doc = "High Pass Filter Gain Register"]
167pub mod hpf_gain;