1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - SCT configuration register"]
5 pub config: crate::Reg<config::CONFIG_SPEC>,
6 #[doc = "0x04 - SCT control register"]
7 pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
8 #[doc = "0x08 - SCT limit event select register"]
9 pub limit: crate::Reg<limit::LIMIT_SPEC>,
10 #[doc = "0x0c - SCT halt event select register"]
11 pub halt: crate::Reg<halt::HALT_SPEC>,
12 #[doc = "0x10 - SCT stop event select register"]
13 pub stop: crate::Reg<stop::STOP_SPEC>,
14 #[doc = "0x14 - SCT start event select register"]
15 pub start: crate::Reg<start::START_SPEC>,
16 _reserved6: [u8; 0x28],
17 #[doc = "0x40 - SCT counter register"]
18 pub count: crate::Reg<count::COUNT_SPEC>,
19 #[doc = "0x44 - SCT state register"]
20 pub state: crate::Reg<state::STATE_SPEC>,
21 #[doc = "0x48 - SCT input register"]
22 pub input: crate::Reg<input::INPUT_SPEC>,
23 #[doc = "0x4c - SCT match/capture mode register"]
24 pub regmode: crate::Reg<regmode::REGMODE_SPEC>,
25 #[doc = "0x50 - SCT output register"]
26 pub output: crate::Reg<output::OUTPUT_SPEC>,
27 #[doc = "0x54 - SCT output counter direction control register"]
28 pub outputdirctrl: crate::Reg<outputdirctrl::OUTPUTDIRCTRL_SPEC>,
29 #[doc = "0x58 - SCT conflict resolution register"]
30 pub res: crate::Reg<res::RES_SPEC>,
31 #[doc = "0x5c - SCT DMA request 0 register"]
32 pub dma0request: crate::Reg<dma0request::DMA0REQUEST_SPEC>,
33 #[doc = "0x60 - SCT DMA request 1 register"]
34 pub dma1request: crate::Reg<dma1request::DMA1REQUEST_SPEC>,
35 _reserved15: [u8; 0x8c],
36 #[doc = "0xf0 - SCT event interrupt enable register"]
37 pub even: crate::Reg<even::EVEN_SPEC>,
38 #[doc = "0xf4 - SCT event flag register"]
39 pub evflag: crate::Reg<evflag::EVFLAG_SPEC>,
40 #[doc = "0xf8 - SCT conflict interrupt enable register"]
41 pub conen: crate::Reg<conen::CONEN_SPEC>,
42 #[doc = "0xfc - SCT conflict flag register"]
43 pub conflag: crate::Reg<conflag::CONFLAG_SPEC>,
44 _reserved_19_cap_match: [u8; 0x20],
45 _reserved20: [u8; 0xe0],
46 _reserved_20_capctrl_matchrel: [u8; 0x20],
47 _reserved21: [u8; 0xe0],
48 #[doc = "0x300..0x340 - no description available"]
49 pub event: [EVENT; 8],
50 _reserved22: [u8; 0x01c0],
51 #[doc = "0x500..0x538 - no description available"]
52 pub out: [OUT; 7],
53}
54impl RegisterBlock {
55 #[doc = "0x100..0x120 - SCT match value register of match channels"]
56 #[inline(always)]
57 pub fn cap_match_sctmatch(
58 &self,
59 ) -> &[crate::Reg<cap_match_sctmatch::CAP_MATCH_SCTMATCH_SPEC>; 8] {
60 unsafe {
61 &*(((self as *const Self) as *const u8).add(256usize)
62 as *const [crate::Reg<cap_match_sctmatch::CAP_MATCH_SCTMATCH_SPEC>; 8])
63 }
64 }
65 #[doc = "0x100..0x120 - SCT capture register of capture channel"]
66 #[inline(always)]
67 pub fn cap_match_sctcap(&self) -> &[crate::Reg<cap_match_sctcap::CAP_MATCH_SCTCAP_SPEC>; 8] {
68 unsafe {
69 &*(((self as *const Self) as *const u8).add(256usize)
70 as *const [crate::Reg<cap_match_sctcap::CAP_MATCH_SCTCAP_SPEC>; 8])
71 }
72 }
73 #[doc = "0x200..0x220 - SCT match reload value register"]
74 #[inline(always)]
75 pub fn capctrl_matchrel_sctmatchrel(
76 &self,
77 ) -> &[crate::Reg<capctrl_matchrel_sctmatchrel::CAPCTRL_MATCHREL_SCTMATCHREL_SPEC>; 8] {
78 unsafe {
79 &*(((self as *const Self) as *const u8).add(512usize)
80 as *const [crate::Reg<
81 capctrl_matchrel_sctmatchrel::CAPCTRL_MATCHREL_SCTMATCHREL_SPEC,
82 >; 8])
83 }
84 }
85 #[doc = "0x200..0x220 - SCT capture control register"]
86 #[inline(always)]
87 pub fn capctrl_matchrel_sctcapctrl(
88 &self,
89 ) -> &[crate::Reg<capctrl_matchrel_sctcapctrl::CAPCTRL_MATCHREL_SCTCAPCTRL_SPEC>; 8] {
90 unsafe {
91 &*(((self as *const Self) as *const u8).add(512usize)
92 as *const [crate::Reg<
93 capctrl_matchrel_sctcapctrl::CAPCTRL_MATCHREL_SCTCAPCTRL_SPEC,
94 >; 8])
95 }
96 }
97}
98#[doc = r"Register block"]
99#[repr(C)]
100pub struct EVENT {
101 #[doc = "0x00 - SCT event state register 0"]
102 pub state: crate::Reg<self::event::state::STATE_SPEC>,
103 #[doc = "0x04 - SCT event control register 0"]
104 pub ctrl: crate::Reg<self::event::ctrl::CTRL_SPEC>,
105}
106#[doc = r"Register block"]
107#[doc = "no description available"]
108pub mod event;
109#[doc = r"Register block"]
110#[repr(C)]
111pub struct OUT {
112 #[doc = "0x00 - SCT output 0 set register"]
113 pub set: crate::Reg<self::out::set::SET_SPEC>,
114 #[doc = "0x04 - SCT output 0 clear register"]
115 pub clr: crate::Reg<self::out::clr::CLR_SPEC>,
116}
117#[doc = r"Register block"]
118#[doc = "no description available"]
119pub mod out;
120#[doc = "CONFIG register accessor: an alias for `Reg<CONFIG_SPEC>`"]
121pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
122#[doc = "SCT configuration register"]
123pub mod config;
124#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
125pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
126#[doc = "SCT control register"]
127pub mod ctrl;
128#[doc = "LIMIT register accessor: an alias for `Reg<LIMIT_SPEC>`"]
129pub type LIMIT = crate::Reg<limit::LIMIT_SPEC>;
130#[doc = "SCT limit event select register"]
131pub mod limit;
132#[doc = "HALT register accessor: an alias for `Reg<HALT_SPEC>`"]
133pub type HALT = crate::Reg<halt::HALT_SPEC>;
134#[doc = "SCT halt event select register"]
135pub mod halt;
136#[doc = "STOP register accessor: an alias for `Reg<STOP_SPEC>`"]
137pub type STOP = crate::Reg<stop::STOP_SPEC>;
138#[doc = "SCT stop event select register"]
139pub mod stop;
140#[doc = "START register accessor: an alias for `Reg<START_SPEC>`"]
141pub type START = crate::Reg<start::START_SPEC>;
142#[doc = "SCT start event select register"]
143pub mod start;
144#[doc = "COUNT register accessor: an alias for `Reg<COUNT_SPEC>`"]
145pub type COUNT = crate::Reg<count::COUNT_SPEC>;
146#[doc = "SCT counter register"]
147pub mod count;
148#[doc = "STATE register accessor: an alias for `Reg<STATE_SPEC>`"]
149pub type STATE = crate::Reg<state::STATE_SPEC>;
150#[doc = "SCT state register"]
151pub mod state;
152#[doc = "INPUT register accessor: an alias for `Reg<INPUT_SPEC>`"]
153pub type INPUT = crate::Reg<input::INPUT_SPEC>;
154#[doc = "SCT input register"]
155pub mod input;
156#[doc = "REGMODE register accessor: an alias for `Reg<REGMODE_SPEC>`"]
157pub type REGMODE = crate::Reg<regmode::REGMODE_SPEC>;
158#[doc = "SCT match/capture mode register"]
159pub mod regmode;
160#[doc = "OUTPUT register accessor: an alias for `Reg<OUTPUT_SPEC>`"]
161pub type OUTPUT = crate::Reg<output::OUTPUT_SPEC>;
162#[doc = "SCT output register"]
163pub mod output;
164#[doc = "OUTPUTDIRCTRL register accessor: an alias for `Reg<OUTPUTDIRCTRL_SPEC>`"]
165pub type OUTPUTDIRCTRL = crate::Reg<outputdirctrl::OUTPUTDIRCTRL_SPEC>;
166#[doc = "SCT output counter direction control register"]
167pub mod outputdirctrl;
168#[doc = "RES register accessor: an alias for `Reg<RES_SPEC>`"]
169pub type RES = crate::Reg<res::RES_SPEC>;
170#[doc = "SCT conflict resolution register"]
171pub mod res;
172#[doc = "DMA0REQUEST register accessor: an alias for `Reg<DMA0REQUEST_SPEC>`"]
173pub type DMA0REQUEST = crate::Reg<dma0request::DMA0REQUEST_SPEC>;
174#[doc = "SCT DMA request 0 register"]
175pub mod dma0request;
176#[doc = "DMA1REQUEST register accessor: an alias for `Reg<DMA1REQUEST_SPEC>`"]
177pub type DMA1REQUEST = crate::Reg<dma1request::DMA1REQUEST_SPEC>;
178#[doc = "SCT DMA request 1 register"]
179pub mod dma1request;
180#[doc = "EVEN register accessor: an alias for `Reg<EVEN_SPEC>`"]
181pub type EVEN = crate::Reg<even::EVEN_SPEC>;
182#[doc = "SCT event interrupt enable register"]
183pub mod even;
184#[doc = "EVFLAG register accessor: an alias for `Reg<EVFLAG_SPEC>`"]
185pub type EVFLAG = crate::Reg<evflag::EVFLAG_SPEC>;
186#[doc = "SCT event flag register"]
187pub mod evflag;
188#[doc = "CONEN register accessor: an alias for `Reg<CONEN_SPEC>`"]
189pub type CONEN = crate::Reg<conen::CONEN_SPEC>;
190#[doc = "SCT conflict interrupt enable register"]
191pub mod conen;
192#[doc = "CONFLAG register accessor: an alias for `Reg<CONFLAG_SPEC>`"]
193pub type CONFLAG = crate::Reg<conflag::CONFLAG_SPEC>;
194#[doc = "SCT conflict flag register"]
195pub mod conflag;
196#[doc = "CAP_MATCH_SCTCAP register accessor: an alias for `Reg<CAP_MATCH_SCTCAP_SPEC>`"]
197pub type CAP_MATCH_SCTCAP = crate::Reg<cap_match_sctcap::CAP_MATCH_SCTCAP_SPEC>;
198#[doc = "SCT capture register of capture channel"]
199pub mod cap_match_sctcap;
200#[doc = "CAP_MATCH_SCTMATCH register accessor: an alias for `Reg<CAP_MATCH_SCTMATCH_SPEC>`"]
201pub type CAP_MATCH_SCTMATCH = crate::Reg<cap_match_sctmatch::CAP_MATCH_SCTMATCH_SPEC>;
202#[doc = "SCT match value register of match channels"]
203pub mod cap_match_sctmatch;
204#[doc = "CAPCTRL_MATCHREL_SCTCAPCTRL register accessor: an alias for `Reg<CAPCTRL_MATCHREL_SCTCAPCTRL_SPEC>`"]
205pub type CAPCTRL_MATCHREL_SCTCAPCTRL =
206 crate::Reg<capctrl_matchrel_sctcapctrl::CAPCTRL_MATCHREL_SCTCAPCTRL_SPEC>;
207#[doc = "SCT capture control register"]
208pub mod capctrl_matchrel_sctcapctrl;
209#[doc = "CAPCTRL_MATCHREL_SCTMATCHREL register accessor: an alias for `Reg<CAPCTRL_MATCHREL_SCTMATCHREL_SPEC>`"]
210pub type CAPCTRL_MATCHREL_SCTMATCHREL =
211 crate::Reg<capctrl_matchrel_sctmatchrel::CAPCTRL_MATCHREL_SCTMATCHREL_SPEC>;
212#[doc = "SCT match reload value register"]
213pub mod capctrl_matchrel_sctmatchrel;