Skip to main content

mcxa_pac/
smartdma0.rs

1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    _reserved0: [u8; 0x20],
6    bootadr: Bootadr,
7    ctrl: Ctrl,
8    pc: Pc,
9    sp: Sp,
10    break_addr: BreakAddr,
11    break_vect: BreakVect,
12    emer_vect: EmerVect,
13    emer_sel: EmerSel,
14    arm2ezh: Arm2ezh,
15    ezh2arm: Ezh2arm,
16    pendtrap: Pendtrap,
17}
18impl RegisterBlock {
19    #[doc = "0x20 - Boot Address"]
20    #[inline(always)]
21    pub const fn bootadr(&self) -> &Bootadr {
22        &self.bootadr
23    }
24    #[doc = "0x24 - Control"]
25    #[inline(always)]
26    pub const fn ctrl(&self) -> &Ctrl {
27        &self.ctrl
28    }
29    #[doc = "0x28 - Program Counter"]
30    #[inline(always)]
31    pub const fn pc(&self) -> &Pc {
32        &self.pc
33    }
34    #[doc = "0x2c - Stack Pointer"]
35    #[inline(always)]
36    pub const fn sp(&self) -> &Sp {
37        &self.sp
38    }
39    #[doc = "0x30 - Breakpoint Address"]
40    #[inline(always)]
41    pub const fn break_addr(&self) -> &BreakAddr {
42        &self.break_addr
43    }
44    #[doc = "0x34 - Breakpoint Vector"]
45    #[inline(always)]
46    pub const fn break_vect(&self) -> &BreakVect {
47        &self.break_vect
48    }
49    #[doc = "0x38 - Emergency Vector"]
50    #[inline(always)]
51    pub const fn emer_vect(&self) -> &EmerVect {
52        &self.emer_vect
53    }
54    #[doc = "0x3c - Emergency Select"]
55    #[inline(always)]
56    pub const fn emer_sel(&self) -> &EmerSel {
57        &self.emer_sel
58    }
59    #[doc = "0x40 - ARM to EZH Interrupt Control"]
60    #[inline(always)]
61    pub const fn arm2ezh(&self) -> &Arm2ezh {
62        &self.arm2ezh
63    }
64    #[doc = "0x44 - EZH to ARM Trigger"]
65    #[inline(always)]
66    pub const fn ezh2arm(&self) -> &Ezh2arm {
67        &self.ezh2arm
68    }
69    #[doc = "0x48 - Pending Trap Control"]
70    #[inline(always)]
71    pub const fn pendtrap(&self) -> &Pendtrap {
72        &self.pendtrap
73    }
74}
75#[doc = "BOOTADR (rw) register accessor: Boot Address\n\nYou can [`read`](crate::Reg::read) this register and get [`bootadr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bootadr::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@bootadr`] module"]
76#[doc(alias = "BOOTADR")]
77pub type Bootadr = crate::Reg<bootadr::BootadrSpec>;
78#[doc = "Boot Address"]
79pub mod bootadr;
80#[doc = "CTRL (rw) register accessor: Control\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::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@ctrl`] module"]
81#[doc(alias = "CTRL")]
82pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
83#[doc = "Control"]
84pub mod ctrl;
85#[doc = "PC (r) register accessor: Program Counter\n\nYou can [`read`](crate::Reg::read) this register and get [`pc::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pc`] module"]
86#[doc(alias = "PC")]
87pub type Pc = crate::Reg<pc::PcSpec>;
88#[doc = "Program Counter"]
89pub mod pc;
90#[doc = "SP (r) register accessor: Stack Pointer\n\nYou can [`read`](crate::Reg::read) this register and get [`sp::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sp`] module"]
91#[doc(alias = "SP")]
92pub type Sp = crate::Reg<sp::SpSpec>;
93#[doc = "Stack Pointer"]
94pub mod sp;
95#[doc = "BREAK_ADDR (rw) register accessor: Breakpoint Address\n\nYou can [`read`](crate::Reg::read) this register and get [`break_addr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`break_addr::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@break_addr`] module"]
96#[doc(alias = "BREAK_ADDR")]
97pub type BreakAddr = crate::Reg<break_addr::BreakAddrSpec>;
98#[doc = "Breakpoint Address"]
99pub mod break_addr;
100#[doc = "BREAK_VECT (rw) register accessor: Breakpoint Vector\n\nYou can [`read`](crate::Reg::read) this register and get [`break_vect::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`break_vect::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@break_vect`] module"]
101#[doc(alias = "BREAK_VECT")]
102pub type BreakVect = crate::Reg<break_vect::BreakVectSpec>;
103#[doc = "Breakpoint Vector"]
104pub mod break_vect;
105#[doc = "EMER_VECT (rw) register accessor: Emergency Vector\n\nYou can [`read`](crate::Reg::read) this register and get [`emer_vect::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`emer_vect::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@emer_vect`] module"]
106#[doc(alias = "EMER_VECT")]
107pub type EmerVect = crate::Reg<emer_vect::EmerVectSpec>;
108#[doc = "Emergency Vector"]
109pub mod emer_vect;
110#[doc = "EMER_SEL (rw) register accessor: Emergency Select\n\nYou can [`read`](crate::Reg::read) this register and get [`emer_sel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`emer_sel::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@emer_sel`] module"]
111#[doc(alias = "EMER_SEL")]
112pub type EmerSel = crate::Reg<emer_sel::EmerSelSpec>;
113#[doc = "Emergency Select"]
114pub mod emer_sel;
115#[doc = "ARM2EZH (rw) register accessor: ARM to EZH Interrupt Control\n\nYou can [`read`](crate::Reg::read) this register and get [`arm2ezh::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`arm2ezh::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@arm2ezh`] module"]
116#[doc(alias = "ARM2EZH")]
117pub type Arm2ezh = crate::Reg<arm2ezh::Arm2ezhSpec>;
118#[doc = "ARM to EZH Interrupt Control"]
119pub mod arm2ezh;
120#[doc = "EZH2ARM (rw) register accessor: EZH to ARM Trigger\n\nYou can [`read`](crate::Reg::read) this register and get [`ezh2arm::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ezh2arm::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@ezh2arm`] module"]
121#[doc(alias = "EZH2ARM")]
122pub type Ezh2arm = crate::Reg<ezh2arm::Ezh2armSpec>;
123#[doc = "EZH to ARM Trigger"]
124pub mod ezh2arm;
125#[doc = "PENDTRAP (rw) register accessor: Pending Trap Control\n\nYou can [`read`](crate::Reg::read) this register and get [`pendtrap::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pendtrap::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@pendtrap`] module"]
126#[doc(alias = "PENDTRAP")]
127pub type Pendtrap = crate::Reg<pendtrap::PendtrapSpec>;
128#[doc = "Pending Trap Control"]
129pub mod pendtrap;