rp2040_pac/
spi0.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    sspcr0: SSPCR0,
5    sspcr1: SSPCR1,
6    sspdr: SSPDR,
7    sspsr: SSPSR,
8    sspcpsr: SSPCPSR,
9    sspimsc: SSPIMSC,
10    sspris: SSPRIS,
11    sspmis: SSPMIS,
12    sspicr: SSPICR,
13    sspdmacr: SSPDMACR,
14    _reserved10: [u8; 0x0fb8],
15    sspperiphid0: SSPPERIPHID0,
16    sspperiphid1: SSPPERIPHID1,
17    sspperiphid2: SSPPERIPHID2,
18    sspperiphid3: SSPPERIPHID3,
19    ssppcellid0: SSPPCELLID0,
20    ssppcellid1: SSPPCELLID1,
21    ssppcellid2: SSPPCELLID2,
22    ssppcellid3: SSPPCELLID3,
23}
24impl RegisterBlock {
25    #[doc = "0x00 - Control register 0, SSPCR0 on page 3-4"]
26    #[inline(always)]
27    pub const fn sspcr0(&self) -> &SSPCR0 {
28        &self.sspcr0
29    }
30    #[doc = "0x04 - Control register 1, SSPCR1 on page 3-5"]
31    #[inline(always)]
32    pub const fn sspcr1(&self) -> &SSPCR1 {
33        &self.sspcr1
34    }
35    #[doc = "0x08 - Data register, SSPDR on page 3-6"]
36    #[inline(always)]
37    pub const fn sspdr(&self) -> &SSPDR {
38        &self.sspdr
39    }
40    #[doc = "0x0c - Status register, SSPSR on page 3-7"]
41    #[inline(always)]
42    pub const fn sspsr(&self) -> &SSPSR {
43        &self.sspsr
44    }
45    #[doc = "0x10 - Clock prescale register, SSPCPSR on page 3-8"]
46    #[inline(always)]
47    pub const fn sspcpsr(&self) -> &SSPCPSR {
48        &self.sspcpsr
49    }
50    #[doc = "0x14 - Interrupt mask set or clear register, SSPIMSC on page 3-9"]
51    #[inline(always)]
52    pub const fn sspimsc(&self) -> &SSPIMSC {
53        &self.sspimsc
54    }
55    #[doc = "0x18 - Raw interrupt status register, SSPRIS on page 3-10"]
56    #[inline(always)]
57    pub const fn sspris(&self) -> &SSPRIS {
58        &self.sspris
59    }
60    #[doc = "0x1c - Masked interrupt status register, SSPMIS on page 3-11"]
61    #[inline(always)]
62    pub const fn sspmis(&self) -> &SSPMIS {
63        &self.sspmis
64    }
65    #[doc = "0x20 - Interrupt clear register, SSPICR on page 3-11"]
66    #[inline(always)]
67    pub const fn sspicr(&self) -> &SSPICR {
68        &self.sspicr
69    }
70    #[doc = "0x24 - DMA control register, SSPDMACR on page 3-12"]
71    #[inline(always)]
72    pub const fn sspdmacr(&self) -> &SSPDMACR {
73        &self.sspdmacr
74    }
75    #[doc = "0xfe0 - Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
76    #[inline(always)]
77    pub const fn sspperiphid0(&self) -> &SSPPERIPHID0 {
78        &self.sspperiphid0
79    }
80    #[doc = "0xfe4 - Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
81    #[inline(always)]
82    pub const fn sspperiphid1(&self) -> &SSPPERIPHID1 {
83        &self.sspperiphid1
84    }
85    #[doc = "0xfe8 - Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
86    #[inline(always)]
87    pub const fn sspperiphid2(&self) -> &SSPPERIPHID2 {
88        &self.sspperiphid2
89    }
90    #[doc = "0xfec - Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
91    #[inline(always)]
92    pub const fn sspperiphid3(&self) -> &SSPPERIPHID3 {
93        &self.sspperiphid3
94    }
95    #[doc = "0xff0 - PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
96    #[inline(always)]
97    pub const fn ssppcellid0(&self) -> &SSPPCELLID0 {
98        &self.ssppcellid0
99    }
100    #[doc = "0xff4 - PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
101    #[inline(always)]
102    pub const fn ssppcellid1(&self) -> &SSPPCELLID1 {
103        &self.ssppcellid1
104    }
105    #[doc = "0xff8 - PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
106    #[inline(always)]
107    pub const fn ssppcellid2(&self) -> &SSPPCELLID2 {
108        &self.ssppcellid2
109    }
110    #[doc = "0xffc - PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
111    #[inline(always)]
112    pub const fn ssppcellid3(&self) -> &SSPPCELLID3 {
113        &self.ssppcellid3
114    }
115}
116#[doc = "SSPCR0 (rw) register accessor: Control register 0, SSPCR0 on page 3-4  
117
118You can [`read`](crate::generic::Reg::read) this register and get [`sspcr0::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 [`sspcr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
119
120For information about available fields see [`mod@sspcr0`]
121module"]
122pub type SSPCR0 = crate::Reg<sspcr0::SSPCR0_SPEC>;
123#[doc = "Control register 0, SSPCR0 on page 3-4"]
124pub mod sspcr0;
125#[doc = "SSPCR1 (rw) register accessor: Control register 1, SSPCR1 on page 3-5  
126
127You can [`read`](crate::generic::Reg::read) this register and get [`sspcr1::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 [`sspcr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
128
129For information about available fields see [`mod@sspcr1`]
130module"]
131pub type SSPCR1 = crate::Reg<sspcr1::SSPCR1_SPEC>;
132#[doc = "Control register 1, SSPCR1 on page 3-5"]
133pub mod sspcr1;
134#[doc = "SSPDR (rw) register accessor: Data register, SSPDR on page 3-6  
135
136You can [`read`](crate::generic::Reg::read) this register and get [`sspdr::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 [`sspdr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
137
138For information about available fields see [`mod@sspdr`]
139module"]
140pub type SSPDR = crate::Reg<sspdr::SSPDR_SPEC>;
141#[doc = "Data register, SSPDR on page 3-6"]
142pub mod sspdr;
143#[doc = "SSPSR (r) register accessor: Status register, SSPSR on page 3-7  
144
145You can [`read`](crate::generic::Reg::read) this register and get [`sspsr::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
146
147For information about available fields see [`mod@sspsr`]
148module"]
149pub type SSPSR = crate::Reg<sspsr::SSPSR_SPEC>;
150#[doc = "Status register, SSPSR on page 3-7"]
151pub mod sspsr;
152#[doc = "SSPCPSR (rw) register accessor: Clock prescale register, SSPCPSR on page 3-8  
153
154You can [`read`](crate::generic::Reg::read) this register and get [`sspcpsr::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 [`sspcpsr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
155
156For information about available fields see [`mod@sspcpsr`]
157module"]
158pub type SSPCPSR = crate::Reg<sspcpsr::SSPCPSR_SPEC>;
159#[doc = "Clock prescale register, SSPCPSR on page 3-8"]
160pub mod sspcpsr;
161#[doc = "SSPIMSC (rw) register accessor: Interrupt mask set or clear register, SSPIMSC on page 3-9  
162
163You can [`read`](crate::generic::Reg::read) this register and get [`sspimsc::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 [`sspimsc::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
164
165For information about available fields see [`mod@sspimsc`]
166module"]
167pub type SSPIMSC = crate::Reg<sspimsc::SSPIMSC_SPEC>;
168#[doc = "Interrupt mask set or clear register, SSPIMSC on page 3-9"]
169pub mod sspimsc;
170#[doc = "SSPRIS (r) register accessor: Raw interrupt status register, SSPRIS on page 3-10  
171
172You can [`read`](crate::generic::Reg::read) this register and get [`sspris::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
173
174For information about available fields see [`mod@sspris`]
175module"]
176pub type SSPRIS = crate::Reg<sspris::SSPRIS_SPEC>;
177#[doc = "Raw interrupt status register, SSPRIS on page 3-10"]
178pub mod sspris;
179#[doc = "SSPMIS (r) register accessor: Masked interrupt status register, SSPMIS on page 3-11  
180
181You can [`read`](crate::generic::Reg::read) this register and get [`sspmis::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
182
183For information about available fields see [`mod@sspmis`]
184module"]
185pub type SSPMIS = crate::Reg<sspmis::SSPMIS_SPEC>;
186#[doc = "Masked interrupt status register, SSPMIS on page 3-11"]
187pub mod sspmis;
188#[doc = "SSPICR (rw) register accessor: Interrupt clear register, SSPICR on page 3-11  
189
190You can [`read`](crate::generic::Reg::read) this register and get [`sspicr::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 [`sspicr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
191
192For information about available fields see [`mod@sspicr`]
193module"]
194pub type SSPICR = crate::Reg<sspicr::SSPICR_SPEC>;
195#[doc = "Interrupt clear register, SSPICR on page 3-11"]
196pub mod sspicr;
197#[doc = "SSPDMACR (rw) register accessor: DMA control register, SSPDMACR on page 3-12  
198
199You can [`read`](crate::generic::Reg::read) this register and get [`sspdmacr::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 [`sspdmacr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
200
201For information about available fields see [`mod@sspdmacr`]
202module"]
203pub type SSPDMACR = crate::Reg<sspdmacr::SSPDMACR_SPEC>;
204#[doc = "DMA control register, SSPDMACR on page 3-12"]
205pub mod sspdmacr;
206#[doc = "SSPPERIPHID0 (r) register accessor: Peripheral identification registers, SSPPeriphID0-3 on page 3-13  
207
208You can [`read`](crate::generic::Reg::read) this register and get [`sspperiphid0::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
209
210For information about available fields see [`mod@sspperiphid0`]
211module"]
212pub type SSPPERIPHID0 = crate::Reg<sspperiphid0::SSPPERIPHID0_SPEC>;
213#[doc = "Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
214pub mod sspperiphid0;
215#[doc = "SSPPERIPHID1 (r) register accessor: Peripheral identification registers, SSPPeriphID0-3 on page 3-13  
216
217You can [`read`](crate::generic::Reg::read) this register and get [`sspperiphid1::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
218
219For information about available fields see [`mod@sspperiphid1`]
220module"]
221pub type SSPPERIPHID1 = crate::Reg<sspperiphid1::SSPPERIPHID1_SPEC>;
222#[doc = "Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
223pub mod sspperiphid1;
224#[doc = "SSPPERIPHID2 (r) register accessor: Peripheral identification registers, SSPPeriphID0-3 on page 3-13  
225
226You can [`read`](crate::generic::Reg::read) this register and get [`sspperiphid2::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
227
228For information about available fields see [`mod@sspperiphid2`]
229module"]
230pub type SSPPERIPHID2 = crate::Reg<sspperiphid2::SSPPERIPHID2_SPEC>;
231#[doc = "Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
232pub mod sspperiphid2;
233#[doc = "SSPPERIPHID3 (r) register accessor: Peripheral identification registers, SSPPeriphID0-3 on page 3-13  
234
235You can [`read`](crate::generic::Reg::read) this register and get [`sspperiphid3::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
236
237For information about available fields see [`mod@sspperiphid3`]
238module"]
239pub type SSPPERIPHID3 = crate::Reg<sspperiphid3::SSPPERIPHID3_SPEC>;
240#[doc = "Peripheral identification registers, SSPPeriphID0-3 on page 3-13"]
241pub mod sspperiphid3;
242#[doc = "SSPPCELLID0 (r) register accessor: PrimeCell identification registers, SSPPCellID0-3 on page 3-16  
243
244You can [`read`](crate::generic::Reg::read) this register and get [`ssppcellid0::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
245
246For information about available fields see [`mod@ssppcellid0`]
247module"]
248pub type SSPPCELLID0 = crate::Reg<ssppcellid0::SSPPCELLID0_SPEC>;
249#[doc = "PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
250pub mod ssppcellid0;
251#[doc = "SSPPCELLID1 (r) register accessor: PrimeCell identification registers, SSPPCellID0-3 on page 3-16  
252
253You can [`read`](crate::generic::Reg::read) this register and get [`ssppcellid1::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
254
255For information about available fields see [`mod@ssppcellid1`]
256module"]
257pub type SSPPCELLID1 = crate::Reg<ssppcellid1::SSPPCELLID1_SPEC>;
258#[doc = "PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
259pub mod ssppcellid1;
260#[doc = "SSPPCELLID2 (r) register accessor: PrimeCell identification registers, SSPPCellID0-3 on page 3-16  
261
262You can [`read`](crate::generic::Reg::read) this register and get [`ssppcellid2::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
263
264For information about available fields see [`mod@ssppcellid2`]
265module"]
266pub type SSPPCELLID2 = crate::Reg<ssppcellid2::SSPPCELLID2_SPEC>;
267#[doc = "PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
268pub mod ssppcellid2;
269#[doc = "SSPPCELLID3 (r) register accessor: PrimeCell identification registers, SSPPCellID0-3 on page 3-16  
270
271You can [`read`](crate::generic::Reg::read) this register and get [`ssppcellid3::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).  
272
273For information about available fields see [`mod@ssppcellid3`]
274module"]
275pub type SSPPCELLID3 = crate::Reg<ssppcellid3::SSPPCELLID3_SPEC>;
276#[doc = "PrimeCell identification registers, SSPPCellID0-3 on page 3-16"]
277pub mod ssppcellid3;