1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 mp_csr: MpCsr,
6 mp_es: MpEs,
7 mp_int: MpInt,
8 mp_hrs: MpHrs,
9 _reserved4: [u8; 0xf0],
10 ch_grpri: [ChGrpri; 8],
11}
12impl RegisterBlock {
13 #[doc = "0x00 - Management Page Control"]
14 #[inline(always)]
15 pub const fn mp_csr(&self) -> &MpCsr {
16 &self.mp_csr
17 }
18 #[doc = "0x04 - Management Page Error Status"]
19 #[inline(always)]
20 pub const fn mp_es(&self) -> &MpEs {
21 &self.mp_es
22 }
23 #[doc = "0x08 - Management Page Interrupt Request Status"]
24 #[inline(always)]
25 pub const fn mp_int(&self) -> &MpInt {
26 &self.mp_int
27 }
28 #[doc = "0x0c - Management Page Hardware Request Status"]
29 #[inline(always)]
30 pub const fn mp_hrs(&self) -> &MpHrs {
31 &self.mp_hrs
32 }
33 #[doc = "0x100..0x120 - Channel Arbitration Group"]
34 #[inline(always)]
35 pub const fn ch_grpri(&self, n: usize) -> &ChGrpri {
36 &self.ch_grpri[n]
37 }
38 #[doc = "Iterator for array of:"]
39 #[doc = "0x100..0x120 - Channel Arbitration Group"]
40 #[inline(always)]
41 pub fn ch_grpri_iter(&self) -> impl Iterator<Item = &ChGrpri> {
42 self.ch_grpri.iter()
43 }
44}
45#[doc = "MP_CSR (rw) register accessor: Management Page Control\n\nYou can [`read`](crate::Reg::read) this register and get [`mp_csr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mp_csr::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@mp_csr`] module"]
46#[doc(alias = "MP_CSR")]
47pub type MpCsr = crate::Reg<mp_csr::MpCsrSpec>;
48#[doc = "Management Page Control"]
49pub mod mp_csr;
50#[doc = "MP_ES (r) register accessor: Management Page Error Status\n\nYou can [`read`](crate::Reg::read) this register and get [`mp_es::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mp_es`] module"]
51#[doc(alias = "MP_ES")]
52pub type MpEs = crate::Reg<mp_es::MpEsSpec>;
53#[doc = "Management Page Error Status"]
54pub mod mp_es;
55#[doc = "MP_INT (r) register accessor: Management Page Interrupt Request Status\n\nYou can [`read`](crate::Reg::read) this register and get [`mp_int::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mp_int`] module"]
56#[doc(alias = "MP_INT")]
57pub type MpInt = crate::Reg<mp_int::MpIntSpec>;
58#[doc = "Management Page Interrupt Request Status"]
59pub mod mp_int;
60#[doc = "MP_HRS (r) register accessor: Management Page Hardware Request Status\n\nYou can [`read`](crate::Reg::read) this register and get [`mp_hrs::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mp_hrs`] module"]
61#[doc(alias = "MP_HRS")]
62pub type MpHrs = crate::Reg<mp_hrs::MpHrsSpec>;
63#[doc = "Management Page Hardware Request Status"]
64pub mod mp_hrs;
65#[doc = "CH_GRPRI (rw) register accessor: Channel Arbitration Group\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_grpri::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ch_grpri::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@ch_grpri`] module"]
66#[doc(alias = "CH_GRPRI")]
67pub type ChGrpri = crate::Reg<ch_grpri::ChGrpriSpec>;
68#[doc = "Channel Arbitration Group"]
69pub mod ch_grpri;