#[doc = "System I/O Configuration register"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct CcfgSysio(pub u32);
impl CcfgSysio {
#[doc = "PC0 or ERASE Assignment"]
#[must_use]
#[inline(always)]
pub const fn sysio12(&self) -> bool {
let val = (self.0 >> 12usize) & 0x01;
val != 0
}
#[doc = "PC0 or ERASE Assignment"]
#[inline(always)]
pub const fn set_sysio12(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize);
}
}
impl Default for CcfgSysio {
#[inline(always)]
fn default() -> CcfgSysio {
CcfgSysio(0)
}
}
impl core::fmt::Debug for CcfgSysio {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CcfgSysio")
.field("sysio12", &self.sysio12())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for CcfgSysio {
fn format(&self, f: defmt::Formatter) {
defmt::write!(f, "CcfgSysio {{ sysio12: {=bool:?} }}", self.sysio12())
}
}
#[doc = "Master Configuration Register"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixMcfg(pub u32);
impl MatrixMcfg {
#[doc = "Undefined Length Burst Type"]
#[must_use]
#[inline(always)]
pub const fn ulbt(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x07;
val as u8
}
#[doc = "Undefined Length Burst Type"]
#[inline(always)]
pub const fn set_ulbt(&mut self, val: u8) {
self.0 = (self.0 & !(0x07 << 0usize)) | (((val as u32) & 0x07) << 0usize);
}
}
impl Default for MatrixMcfg {
#[inline(always)]
fn default() -> MatrixMcfg {
MatrixMcfg(0)
}
}
impl core::fmt::Debug for MatrixMcfg {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixMcfg")
.field("ulbt", &self.ulbt())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixMcfg {
fn format(&self, f: defmt::Formatter) {
defmt::write!(f, "MatrixMcfg {{ ulbt: {=u8:?} }}", self.ulbt())
}
}
#[doc = "Master Remap Control Register"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixMrcr(pub u32);
impl MatrixMrcr {
#[doc = "Remap Command Bit for AHB Master 0"]
#[must_use]
#[inline(always)]
pub const fn rcb0(&self) -> bool {
let val = (self.0 >> 0usize) & 0x01;
val != 0
}
#[doc = "Remap Command Bit for AHB Master 0"]
#[inline(always)]
pub const fn set_rcb0(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize);
}
#[doc = "Remap Command Bit for AHB Master 1"]
#[must_use]
#[inline(always)]
pub const fn rcb1(&self) -> bool {
let val = (self.0 >> 1usize) & 0x01;
val != 0
}
#[doc = "Remap Command Bit for AHB Master 1"]
#[inline(always)]
pub const fn set_rcb1(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize);
}
#[doc = "Remap Command Bit for AHB Master 2"]
#[must_use]
#[inline(always)]
pub const fn rcb2(&self) -> bool {
let val = (self.0 >> 2usize) & 0x01;
val != 0
}
#[doc = "Remap Command Bit for AHB Master 2"]
#[inline(always)]
pub const fn set_rcb2(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize);
}
#[doc = "Remap Command Bit for AHB Master 3"]
#[must_use]
#[inline(always)]
pub const fn rcb3(&self) -> bool {
let val = (self.0 >> 3usize) & 0x01;
val != 0
}
#[doc = "Remap Command Bit for AHB Master 3"]
#[inline(always)]
pub const fn set_rcb3(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize);
}
#[doc = "Remap Command Bit for AHB Master 4"]
#[must_use]
#[inline(always)]
pub const fn rcb4(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Remap Command Bit for AHB Master 4"]
#[inline(always)]
pub const fn set_rcb4(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Remap Command Bit for AHB Master 5"]
#[must_use]
#[inline(always)]
pub const fn rcb5(&self) -> bool {
let val = (self.0 >> 6usize) & 0x01;
val != 0
}
#[doc = "Remap Command Bit for AHB Master 5"]
#[inline(always)]
pub const fn set_rcb5(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize);
}
}
impl Default for MatrixMrcr {
#[inline(always)]
fn default() -> MatrixMrcr {
MatrixMrcr(0)
}
}
impl core::fmt::Debug for MatrixMrcr {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixMrcr")
.field("rcb0", &self.rcb0())
.field("rcb1", &self.rcb1())
.field("rcb2", &self.rcb2())
.field("rcb3", &self.rcb3())
.field("rcb4", &self.rcb4())
.field("rcb5", &self.rcb5())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixMrcr {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixMrcr {{ rcb0: {=bool:?}, rcb1: {=bool:?}, rcb2: {=bool:?}, rcb3: {=bool:?}, rcb4: {=u8:?}, rcb5: {=bool:?} }}",
self.rcb0(),
self.rcb1(),
self.rcb2(),
self.rcb3(),
self.rcb4(),
self.rcb5()
)
}
}
#[doc = "Priority Register A for Slave 0"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras0(pub u32);
impl MatrixPras0 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras0 {
#[inline(always)]
fn default() -> MatrixPras0 {
MatrixPras0(0)
}
}
impl core::fmt::Debug for MatrixPras0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras0")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras0 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras0 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 1"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras1(pub u32);
impl MatrixPras1 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras1 {
#[inline(always)]
fn default() -> MatrixPras1 {
MatrixPras1(0)
}
}
impl core::fmt::Debug for MatrixPras1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras1")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras1 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras1 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 2"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras2(pub u32);
impl MatrixPras2 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras2 {
#[inline(always)]
fn default() -> MatrixPras2 {
MatrixPras2(0)
}
}
impl core::fmt::Debug for MatrixPras2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras2")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras2 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras2 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 3"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras3(pub u32);
impl MatrixPras3 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras3 {
#[inline(always)]
fn default() -> MatrixPras3 {
MatrixPras3(0)
}
}
impl core::fmt::Debug for MatrixPras3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras3")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras3 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras3 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 4"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras4(pub u32);
impl MatrixPras4 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras4 {
#[inline(always)]
fn default() -> MatrixPras4 {
MatrixPras4(0)
}
}
impl core::fmt::Debug for MatrixPras4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras4")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras4 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras4 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 5"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras5(pub u32);
impl MatrixPras5 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras5 {
#[inline(always)]
fn default() -> MatrixPras5 {
MatrixPras5(0)
}
}
impl core::fmt::Debug for MatrixPras5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras5")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras5 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras5 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 6"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras6(pub u32);
impl MatrixPras6 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras6 {
#[inline(always)]
fn default() -> MatrixPras6 {
MatrixPras6(0)
}
}
impl core::fmt::Debug for MatrixPras6 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras6")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras6 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras6 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 7"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras7(pub u32);
impl MatrixPras7 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras7 {
#[inline(always)]
fn default() -> MatrixPras7 {
MatrixPras7(0)
}
}
impl core::fmt::Debug for MatrixPras7 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras7")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras7 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras7 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Priority Register A for Slave 8"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixPras8(pub u32);
impl MatrixPras8 {
#[doc = "Master 0 Priority"]
#[must_use]
#[inline(always)]
pub const fn m0pr(&self) -> u8 {
let val = (self.0 >> 0usize) & 0x03;
val as u8
}
#[doc = "Master 0 Priority"]
#[inline(always)]
pub const fn set_m0pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize);
}
#[doc = "Master 1 Priority"]
#[must_use]
#[inline(always)]
pub const fn m1pr(&self) -> u8 {
let val = (self.0 >> 4usize) & 0x03;
val as u8
}
#[doc = "Master 1 Priority"]
#[inline(always)]
pub const fn set_m1pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 4usize)) | (((val as u32) & 0x03) << 4usize);
}
#[doc = "Master 2 Priority"]
#[must_use]
#[inline(always)]
pub const fn m2pr(&self) -> u8 {
let val = (self.0 >> 8usize) & 0x03;
val as u8
}
#[doc = "Master 2 Priority"]
#[inline(always)]
pub const fn set_m2pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 8usize)) | (((val as u32) & 0x03) << 8usize);
}
#[doc = "Master 3 Priority"]
#[must_use]
#[inline(always)]
pub const fn m3pr(&self) -> u8 {
let val = (self.0 >> 12usize) & 0x03;
val as u8
}
#[doc = "Master 3 Priority"]
#[inline(always)]
pub const fn set_m3pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 12usize)) | (((val as u32) & 0x03) << 12usize);
}
#[doc = "Master 4 Priority"]
#[must_use]
#[inline(always)]
pub const fn m4pr(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Master 4 Priority"]
#[inline(always)]
pub const fn set_m4pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Master 5 Priority"]
#[must_use]
#[inline(always)]
pub const fn m5pr(&self) -> u8 {
let val = (self.0 >> 20usize) & 0x03;
val as u8
}
#[doc = "Master 5 Priority"]
#[inline(always)]
pub const fn set_m5pr(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 20usize)) | (((val as u32) & 0x03) << 20usize);
}
}
impl Default for MatrixPras8 {
#[inline(always)]
fn default() -> MatrixPras8 {
MatrixPras8(0)
}
}
impl core::fmt::Debug for MatrixPras8 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixPras8")
.field("m0pr", &self.m0pr())
.field("m1pr", &self.m1pr())
.field("m2pr", &self.m2pr())
.field("m3pr", &self.m3pr())
.field("m4pr", &self.m4pr())
.field("m5pr", &self.m5pr())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixPras8 {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixPras8 {{ m0pr: {=u8:?}, m1pr: {=u8:?}, m2pr: {=u8:?}, m3pr: {=u8:?}, m4pr: {=u8:?}, m5pr: {=u8:?} }}",
self.m0pr(),
self.m1pr(),
self.m2pr(),
self.m3pr(),
self.m4pr(),
self.m5pr()
)
}
}
#[doc = "Slave Configuration Register"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixScfg(pub u32);
impl MatrixScfg {
#[doc = "Maximum Number of Allowed Cycles for a Burst"]
#[must_use]
#[inline(always)]
pub const fn slot_cycle(&self) -> u8 {
let val = (self.0 >> 0usize) & 0xff;
val as u8
}
#[doc = "Maximum Number of Allowed Cycles for a Burst"]
#[inline(always)]
pub const fn set_slot_cycle(&mut self, val: u8) {
self.0 = (self.0 & !(0xff << 0usize)) | (((val as u32) & 0xff) << 0usize);
}
#[doc = "Default Master Type"]
#[must_use]
#[inline(always)]
pub const fn defmstr_type(&self) -> u8 {
let val = (self.0 >> 16usize) & 0x03;
val as u8
}
#[doc = "Default Master Type"]
#[inline(always)]
pub const fn set_defmstr_type(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 16usize)) | (((val as u32) & 0x03) << 16usize);
}
#[doc = "Fixed Default Master"]
#[must_use]
#[inline(always)]
pub const fn fixed_defmstr(&self) -> u8 {
let val = (self.0 >> 18usize) & 0x07;
val as u8
}
#[doc = "Fixed Default Master"]
#[inline(always)]
pub const fn set_fixed_defmstr(&mut self, val: u8) {
self.0 = (self.0 & !(0x07 << 18usize)) | (((val as u32) & 0x07) << 18usize);
}
#[doc = "Arbitration Type"]
#[must_use]
#[inline(always)]
pub const fn arbt(&self) -> u8 {
let val = (self.0 >> 24usize) & 0x03;
val as u8
}
#[doc = "Arbitration Type"]
#[inline(always)]
pub const fn set_arbt(&mut self, val: u8) {
self.0 = (self.0 & !(0x03 << 24usize)) | (((val as u32) & 0x03) << 24usize);
}
}
impl Default for MatrixScfg {
#[inline(always)]
fn default() -> MatrixScfg {
MatrixScfg(0)
}
}
impl core::fmt::Debug for MatrixScfg {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixScfg")
.field("slot_cycle", &self.slot_cycle())
.field("defmstr_type", &self.defmstr_type())
.field("fixed_defmstr", &self.fixed_defmstr())
.field("arbt", &self.arbt())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixScfg {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixScfg {{ slot_cycle: {=u8:?}, defmstr_type: {=u8:?}, fixed_defmstr: {=u8:?}, arbt: {=u8:?} }}",
self.slot_cycle(),
self.defmstr_type(),
self.fixed_defmstr(),
self.arbt()
)
}
}
#[doc = "Write Protect Mode Register"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixWpmr(pub u32);
impl MatrixWpmr {
#[doc = "Write Protect ENable"]
#[must_use]
#[inline(always)]
pub const fn wpen(&self) -> bool {
let val = (self.0 >> 0usize) & 0x01;
val != 0
}
#[doc = "Write Protect ENable"]
#[inline(always)]
pub const fn set_wpen(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize);
}
#[doc = "Write Protect KEY (Write-only)"]
#[must_use]
#[inline(always)]
pub const fn wpkey(&self) -> u32 {
let val = (self.0 >> 8usize) & 0x00ff_ffff;
val as u32
}
#[doc = "Write Protect KEY (Write-only)"]
#[inline(always)]
pub const fn set_wpkey(&mut self, val: u32) {
self.0 = (self.0 & !(0x00ff_ffff << 8usize)) | (((val as u32) & 0x00ff_ffff) << 8usize);
}
}
impl Default for MatrixWpmr {
#[inline(always)]
fn default() -> MatrixWpmr {
MatrixWpmr(0)
}
}
impl core::fmt::Debug for MatrixWpmr {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixWpmr")
.field("wpen", &self.wpen())
.field("wpkey", &self.wpkey())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixWpmr {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixWpmr {{ wpen: {=bool:?}, wpkey: {=u32:?} }}",
self.wpen(),
self.wpkey()
)
}
}
#[doc = "Write Protect Status Register"]
#[repr(transparent)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct MatrixWpsr(pub u32);
impl MatrixWpsr {
#[doc = "Write Protect Violation Status"]
#[must_use]
#[inline(always)]
pub const fn wpvs(&self) -> bool {
let val = (self.0 >> 0usize) & 0x01;
val != 0
}
#[doc = "Write Protect Violation Status"]
#[inline(always)]
pub const fn set_wpvs(&mut self, val: bool) {
self.0 = (self.0 & !(0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize);
}
#[doc = "Write Protect Violation Source"]
#[must_use]
#[inline(always)]
pub const fn wpvsrc(&self) -> u16 {
let val = (self.0 >> 8usize) & 0xffff;
val as u16
}
#[doc = "Write Protect Violation Source"]
#[inline(always)]
pub const fn set_wpvsrc(&mut self, val: u16) {
self.0 = (self.0 & !(0xffff << 8usize)) | (((val as u32) & 0xffff) << 8usize);
}
}
impl Default for MatrixWpsr {
#[inline(always)]
fn default() -> MatrixWpsr {
MatrixWpsr(0)
}
}
impl core::fmt::Debug for MatrixWpsr {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MatrixWpsr")
.field("wpvs", &self.wpvs())
.field("wpvsrc", &self.wpvsrc())
.finish()
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for MatrixWpsr {
fn format(&self, f: defmt::Formatter) {
defmt::write!(
f,
"MatrixWpsr {{ wpvs: {=bool:?}, wpvsrc: {=u16:?} }}",
self.wpvs(),
self.wpvsrc()
)
}
}