xmc4200/
scu_general.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    id: ID,
5    idchip: IDCHIP,
6    idmanuf: IDMANUF,
7    _reserved3: [u8; 0x04],
8    stcon: STCON,
9    _reserved4: [u8; 0x18],
10    gpr0: GPR0,
11    gpr1: GPR1,
12    _reserved6: [u8; 0x18],
13    ccucon: CCUCON,
14    _reserved7: [u8; 0x3c],
15    dtscon: DTSCON,
16    dtsstat: DTSSTAT,
17    _reserved9: [u8; 0x0c],
18    g0orcen: G0ORCEN,
19    g1orcen: G1ORCEN,
20    dtemplim: DTEMPLIM,
21    dtempalarm: DTEMPALARM,
22    _reserved13: [u8; 0x14],
23    mirrsts: MIRRSTS,
24    rmacr: RMACR,
25    rmdata: RMDATA,
26    mirrallstat: MIRRALLSTAT,
27    mirrallreq: MIRRALLREQ,
28}
29impl RegisterBlock {
30    #[doc = "0x00 - SCU Module ID Register"]
31    #[inline(always)]
32    pub const fn id(&self) -> &ID {
33        &self.id
34    }
35    #[doc = "0x04 - Chip ID Register"]
36    #[inline(always)]
37    pub const fn idchip(&self) -> &IDCHIP {
38        &self.idchip
39    }
40    #[doc = "0x08 - Manufactory ID Register"]
41    #[inline(always)]
42    pub const fn idmanuf(&self) -> &IDMANUF {
43        &self.idmanuf
44    }
45    #[doc = "0x10 - Startup Configuration Register"]
46    #[inline(always)]
47    pub const fn stcon(&self) -> &STCON {
48        &self.stcon
49    }
50    #[doc = "0x2c - General Purpose Register 0"]
51    #[inline(always)]
52    pub const fn gpr0(&self) -> &GPR0 {
53        &self.gpr0
54    }
55    #[doc = "0x30 - General Purpose Register 1"]
56    #[inline(always)]
57    pub const fn gpr1(&self) -> &GPR1 {
58        &self.gpr1
59    }
60    #[doc = "0x4c - CCU Control Register"]
61    #[inline(always)]
62    pub const fn ccucon(&self) -> &CCUCON {
63        &self.ccucon
64    }
65    #[doc = "0x8c - Die Temperature Sensor Control Register"]
66    #[inline(always)]
67    pub const fn dtscon(&self) -> &DTSCON {
68        &self.dtscon
69    }
70    #[doc = "0x90 - Die Temperature Sensor Status Register"]
71    #[inline(always)]
72    pub const fn dtsstat(&self) -> &DTSSTAT {
73        &self.dtsstat
74    }
75    #[doc = "0xa0 - Out of Range Comparator Enable Register 0"]
76    #[inline(always)]
77    pub const fn g0orcen(&self) -> &G0ORCEN {
78        &self.g0orcen
79    }
80    #[doc = "0xa4 - Out of Range Comparator Enable Register 1"]
81    #[inline(always)]
82    pub const fn g1orcen(&self) -> &G1ORCEN {
83        &self.g1orcen
84    }
85    #[doc = "0xa8 - Die Temperature Sensor Limit Register"]
86    #[inline(always)]
87    pub const fn dtemplim(&self) -> &DTEMPLIM {
88        &self.dtemplim
89    }
90    #[doc = "0xac - Die Temperature Sensor Alarm Register"]
91    #[inline(always)]
92    pub const fn dtempalarm(&self) -> &DTEMPALARM {
93        &self.dtempalarm
94    }
95    #[doc = "0xc4 - Mirror Write Status Register"]
96    #[inline(always)]
97    pub const fn mirrsts(&self) -> &MIRRSTS {
98        &self.mirrsts
99    }
100    #[doc = "0xc8 - Retention Memory Access Control Register"]
101    #[inline(always)]
102    pub const fn rmacr(&self) -> &RMACR {
103        &self.rmacr
104    }
105    #[doc = "0xcc - Retention Memory Access Data Register"]
106    #[inline(always)]
107    pub const fn rmdata(&self) -> &RMDATA {
108        &self.rmdata
109    }
110    #[doc = "0xd0 - Mirror All Status"]
111    #[inline(always)]
112    pub const fn mirrallstat(&self) -> &MIRRALLSTAT {
113        &self.mirrallstat
114    }
115    #[doc = "0xd4 - Mirror All Request"]
116    #[inline(always)]
117    pub const fn mirrallreq(&self) -> &MIRRALLREQ {
118        &self.mirrallreq
119    }
120}
121#[doc = "ID (r) register accessor: SCU Module ID Register\n\nYou can [`read`](crate::Reg::read) this register and get [`id::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id`]
122module"]
123pub type ID = crate::Reg<id::ID_SPEC>;
124#[doc = "SCU Module ID Register"]
125pub mod id;
126#[doc = "IDCHIP (r) register accessor: Chip ID Register\n\nYou can [`read`](crate::Reg::read) this register and get [`idchip::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@idchip`]
127module"]
128pub type IDCHIP = crate::Reg<idchip::IDCHIP_SPEC>;
129#[doc = "Chip ID Register"]
130pub mod idchip;
131#[doc = "IDMANUF (r) register accessor: Manufactory ID Register\n\nYou can [`read`](crate::Reg::read) this register and get [`idmanuf::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@idmanuf`]
132module"]
133pub type IDMANUF = crate::Reg<idmanuf::IDMANUF_SPEC>;
134#[doc = "Manufactory ID Register"]
135pub mod idmanuf;
136#[doc = "STCON (rw) register accessor: Startup Configuration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`stcon::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`stcon::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@stcon`]
137module"]
138pub type STCON = crate::Reg<stcon::STCON_SPEC>;
139#[doc = "Startup Configuration Register"]
140pub mod stcon;
141#[doc = "GPR0 (rw) register accessor: General Purpose Register 0\n\nYou can [`read`](crate::Reg::read) this register and get [`gpr0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpr0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpr0`]
142module"]
143pub type GPR0 = crate::Reg<gpr0::GPR0_SPEC>;
144#[doc = "General Purpose Register 0"]
145pub mod gpr0;
146#[doc = "GPR1 (rw) register accessor: General Purpose Register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`gpr1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpr1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gpr1`]
147module"]
148pub type GPR1 = crate::Reg<gpr1::GPR1_SPEC>;
149#[doc = "General Purpose Register 1"]
150pub mod gpr1;
151#[doc = "CCUCON (rw) register accessor: CCU Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ccucon::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccucon::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ccucon`]
152module"]
153pub type CCUCON = crate::Reg<ccucon::CCUCON_SPEC>;
154#[doc = "CCU Control Register"]
155pub mod ccucon;
156#[doc = "DTSCON (rw) register accessor: Die Temperature Sensor Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dtscon::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dtscon::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dtscon`]
157module"]
158pub type DTSCON = crate::Reg<dtscon::DTSCON_SPEC>;
159#[doc = "Die Temperature Sensor Control Register"]
160pub mod dtscon;
161#[doc = "DTSSTAT (r) register accessor: Die Temperature Sensor Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dtsstat::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dtsstat`]
162module"]
163pub type DTSSTAT = crate::Reg<dtsstat::DTSSTAT_SPEC>;
164#[doc = "Die Temperature Sensor Status Register"]
165pub mod dtsstat;
166#[doc = "G0ORCEN (rw) register accessor: Out of Range Comparator Enable Register 0\n\nYou can [`read`](crate::Reg::read) this register and get [`g0orcen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`g0orcen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@g0orcen`]
167module"]
168pub type G0ORCEN = crate::Reg<g0orcen::G0ORCEN_SPEC>;
169#[doc = "Out of Range Comparator Enable Register 0"]
170pub mod g0orcen;
171#[doc = "G1ORCEN (rw) register accessor: Out of Range Comparator Enable Register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`g1orcen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`g1orcen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@g1orcen`]
172module"]
173pub type G1ORCEN = crate::Reg<g1orcen::G1ORCEN_SPEC>;
174#[doc = "Out of Range Comparator Enable Register 1"]
175pub mod g1orcen;
176#[doc = "DTEMPLIM (rw) register accessor: Die Temperature Sensor Limit Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dtemplim::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dtemplim::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dtemplim`]
177module"]
178pub type DTEMPLIM = crate::Reg<dtemplim::DTEMPLIM_SPEC>;
179#[doc = "Die Temperature Sensor Limit Register"]
180pub mod dtemplim;
181#[doc = "DTEMPALARM (r) register accessor: Die Temperature Sensor Alarm Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dtempalarm::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dtempalarm`]
182module"]
183pub type DTEMPALARM = crate::Reg<dtempalarm::DTEMPALARM_SPEC>;
184#[doc = "Die Temperature Sensor Alarm Register"]
185pub mod dtempalarm;
186#[doc = "MIRRSTS (r) register accessor: Mirror Write Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`mirrsts::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mirrsts`]
187module"]
188pub type MIRRSTS = crate::Reg<mirrsts::MIRRSTS_SPEC>;
189#[doc = "Mirror Write Status Register"]
190pub mod mirrsts;
191#[doc = "RMACR (rw) register accessor: Retention Memory Access Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`rmacr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rmacr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rmacr`]
192module"]
193pub type RMACR = crate::Reg<rmacr::RMACR_SPEC>;
194#[doc = "Retention Memory Access Control Register"]
195pub mod rmacr;
196#[doc = "RMDATA (rw) register accessor: Retention Memory Access Data Register\n\nYou can [`read`](crate::Reg::read) this register and get [`rmdata::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rmdata::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rmdata`]
197module"]
198pub type RMDATA = crate::Reg<rmdata::RMDATA_SPEC>;
199#[doc = "Retention Memory Access Data Register"]
200pub mod rmdata;
201#[doc = "MIRRALLSTAT (r) register accessor: Mirror All Status\n\nYou can [`read`](crate::Reg::read) this register and get [`mirrallstat::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mirrallstat`]
202module"]
203pub type MIRRALLSTAT = crate::Reg<mirrallstat::MIRRALLSTAT_SPEC>;
204#[doc = "Mirror All Status"]
205pub mod mirrallstat;
206#[doc = "MIRRALLREQ (w) register accessor: Mirror All Request\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mirrallreq::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mirrallreq`]
207module"]
208pub type MIRRALLREQ = crate::Reg<mirrallreq::MIRRALLREQ_SPEC>;
209#[doc = "Mirror All Request"]
210pub mod mirrallreq;