s32k142_pac/
ftm3.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Status And Control"]
5    pub sc: crate::Reg<sc::SC_SPEC>,
6    #[doc = "0x04 - Counter"]
7    pub cnt: crate::Reg<cnt::CNT_SPEC>,
8    #[doc = "0x08 - Modulo"]
9    pub mod_: crate::Reg<mod_::MOD_SPEC>,
10    #[doc = "0x0c - Channel (n) Status And Control"]
11    pub c0sc: crate::Reg<c0sc::C0SC_SPEC>,
12    #[doc = "0x10 - Channel (n) Value"]
13    pub c0v: crate::Reg<c0v::C0V_SPEC>,
14    #[doc = "0x14 - Channel (n) Status And Control"]
15    pub c1sc: crate::Reg<c1sc::C1SC_SPEC>,
16    #[doc = "0x18 - Channel (n) Value"]
17    pub c1v: crate::Reg<c1v::C1V_SPEC>,
18    #[doc = "0x1c - Channel (n) Status And Control"]
19    pub c2sc: crate::Reg<c2sc::C2SC_SPEC>,
20    #[doc = "0x20 - Channel (n) Value"]
21    pub c2v: crate::Reg<c2v::C2V_SPEC>,
22    #[doc = "0x24 - Channel (n) Status And Control"]
23    pub c3sc: crate::Reg<c3sc::C3SC_SPEC>,
24    #[doc = "0x28 - Channel (n) Value"]
25    pub c3v: crate::Reg<c3v::C3V_SPEC>,
26    #[doc = "0x2c - Channel (n) Status And Control"]
27    pub c4sc: crate::Reg<c4sc::C4SC_SPEC>,
28    #[doc = "0x30 - Channel (n) Value"]
29    pub c4v: crate::Reg<c4v::C4V_SPEC>,
30    #[doc = "0x34 - Channel (n) Status And Control"]
31    pub c5sc: crate::Reg<c5sc::C5SC_SPEC>,
32    #[doc = "0x38 - Channel (n) Value"]
33    pub c5v: crate::Reg<c5v::C5V_SPEC>,
34    #[doc = "0x3c - Channel (n) Status And Control"]
35    pub c6sc: crate::Reg<c6sc::C6SC_SPEC>,
36    #[doc = "0x40 - Channel (n) Value"]
37    pub c6v: crate::Reg<c6v::C6V_SPEC>,
38    #[doc = "0x44 - Channel (n) Status And Control"]
39    pub c7sc: crate::Reg<c7sc::C7SC_SPEC>,
40    #[doc = "0x48 - Channel (n) Value"]
41    pub c7v: crate::Reg<c7v::C7V_SPEC>,
42    #[doc = "0x4c - Counter Initial Value"]
43    pub cntin: crate::Reg<cntin::CNTIN_SPEC>,
44    #[doc = "0x50 - Capture And Compare Status"]
45    pub status: crate::Reg<status::STATUS_SPEC>,
46    #[doc = "0x54 - Features Mode Selection"]
47    pub mode: crate::Reg<mode::MODE_SPEC>,
48    #[doc = "0x58 - Synchronization"]
49    pub sync: crate::Reg<sync::SYNC_SPEC>,
50    #[doc = "0x5c - Initial State For Channels Output"]
51    pub outinit: crate::Reg<outinit::OUTINIT_SPEC>,
52    #[doc = "0x60 - Output Mask"]
53    pub outmask: crate::Reg<outmask::OUTMASK_SPEC>,
54    #[doc = "0x64 - Function For Linked Channels"]
55    pub combine: crate::Reg<combine::COMBINE_SPEC>,
56    #[doc = "0x68 - Deadtime Configuration"]
57    pub deadtime: crate::Reg<deadtime::DEADTIME_SPEC>,
58    #[doc = "0x6c - FTM External Trigger"]
59    pub exttrig: crate::Reg<exttrig::EXTTRIG_SPEC>,
60    #[doc = "0x70 - Channels Polarity"]
61    pub pol: crate::Reg<pol::POL_SPEC>,
62    #[doc = "0x74 - Fault Mode Status"]
63    pub fms: crate::Reg<fms::FMS_SPEC>,
64    #[doc = "0x78 - Input Capture Filter Control"]
65    pub filter: crate::Reg<filter::FILTER_SPEC>,
66    #[doc = "0x7c - Fault Control"]
67    pub fltctrl: crate::Reg<fltctrl::FLTCTRL_SPEC>,
68    #[doc = "0x80 - Quadrature Decoder Control And Status"]
69    pub qdctrl: crate::Reg<qdctrl::QDCTRL_SPEC>,
70    #[doc = "0x84 - Configuration"]
71    pub conf: crate::Reg<conf::CONF_SPEC>,
72    #[doc = "0x88 - FTM Fault Input Polarity"]
73    pub fltpol: crate::Reg<fltpol::FLTPOL_SPEC>,
74    #[doc = "0x8c - Synchronization Configuration"]
75    pub synconf: crate::Reg<synconf::SYNCONF_SPEC>,
76    #[doc = "0x90 - FTM Inverting Control"]
77    pub invctrl: crate::Reg<invctrl::INVCTRL_SPEC>,
78    #[doc = "0x94 - FTM Software Output Control"]
79    pub swoctrl: crate::Reg<swoctrl::SWOCTRL_SPEC>,
80    #[doc = "0x98 - FTM PWM Load"]
81    pub pwmload: crate::Reg<pwmload::PWMLOAD_SPEC>,
82    #[doc = "0x9c - Half Cycle Register"]
83    pub hcr: crate::Reg<hcr::HCR_SPEC>,
84    #[doc = "0xa0 - Pair 0 Deadtime Configuration"]
85    pub pair0deadtime: crate::Reg<pair0deadtime::PAIR0DEADTIME_SPEC>,
86    _reserved41: [u8; 0x04],
87    #[doc = "0xa8 - Pair 1 Deadtime Configuration"]
88    pub pair1deadtime: crate::Reg<pair1deadtime::PAIR1DEADTIME_SPEC>,
89    _reserved42: [u8; 0x04],
90    #[doc = "0xb0 - Pair 2 Deadtime Configuration"]
91    pub pair2deadtime: crate::Reg<pair2deadtime::PAIR2DEADTIME_SPEC>,
92    _reserved43: [u8; 0x04],
93    #[doc = "0xb8 - Pair 3 Deadtime Configuration"]
94    pub pair3deadtime: crate::Reg<pair3deadtime::PAIR3DEADTIME_SPEC>,
95    _reserved44: [u8; 0x0144],
96    #[doc = "0x200 - Mirror of Modulo Value"]
97    pub mod_mirror: crate::Reg<mod_mirror::MOD_MIRROR_SPEC>,
98    #[doc = "0x204 - Mirror of Channel (n) Match Value"]
99    pub c0v_mirror: crate::Reg<c0v_mirror::C0V_MIRROR_SPEC>,
100    #[doc = "0x208 - Mirror of Channel (n) Match Value"]
101    pub c1v_mirror: crate::Reg<c1v_mirror::C1V_MIRROR_SPEC>,
102    #[doc = "0x20c - Mirror of Channel (n) Match Value"]
103    pub c2v_mirror: crate::Reg<c2v_mirror::C2V_MIRROR_SPEC>,
104    #[doc = "0x210 - Mirror of Channel (n) Match Value"]
105    pub c3v_mirror: crate::Reg<c3v_mirror::C3V_MIRROR_SPEC>,
106    #[doc = "0x214 - Mirror of Channel (n) Match Value"]
107    pub c4v_mirror: crate::Reg<c4v_mirror::C4V_MIRROR_SPEC>,
108    #[doc = "0x218 - Mirror of Channel (n) Match Value"]
109    pub c5v_mirror: crate::Reg<c5v_mirror::C5V_MIRROR_SPEC>,
110    #[doc = "0x21c - Mirror of Channel (n) Match Value"]
111    pub c6v_mirror: crate::Reg<c6v_mirror::C6V_MIRROR_SPEC>,
112    #[doc = "0x220 - Mirror of Channel (n) Match Value"]
113    pub c7v_mirror: crate::Reg<c7v_mirror::C7V_MIRROR_SPEC>,
114}
115#[doc = "SC register accessor: an alias for `Reg<SC_SPEC>`"]
116pub type SC = crate::Reg<sc::SC_SPEC>;
117#[doc = "Status And Control"]
118pub mod sc;
119#[doc = "CNT register accessor: an alias for `Reg<CNT_SPEC>`"]
120pub type CNT = crate::Reg<cnt::CNT_SPEC>;
121#[doc = "Counter"]
122pub mod cnt;
123#[doc = "MOD register accessor: an alias for `Reg<MOD_SPEC>`"]
124pub type MOD = crate::Reg<mod_::MOD_SPEC>;
125#[doc = "Modulo"]
126pub mod mod_;
127#[doc = "C0SC register accessor: an alias for `Reg<C0SC_SPEC>`"]
128pub type C0SC = crate::Reg<c0sc::C0SC_SPEC>;
129#[doc = "Channel (n) Status And Control"]
130pub mod c0sc;
131#[doc = "C0V register accessor: an alias for `Reg<C0V_SPEC>`"]
132pub type C0V = crate::Reg<c0v::C0V_SPEC>;
133#[doc = "Channel (n) Value"]
134pub mod c0v;
135#[doc = "C1SC register accessor: an alias for `Reg<C1SC_SPEC>`"]
136pub type C1SC = crate::Reg<c1sc::C1SC_SPEC>;
137#[doc = "Channel (n) Status And Control"]
138pub mod c1sc;
139#[doc = "C1V register accessor: an alias for `Reg<C1V_SPEC>`"]
140pub type C1V = crate::Reg<c1v::C1V_SPEC>;
141#[doc = "Channel (n) Value"]
142pub mod c1v;
143#[doc = "C2SC register accessor: an alias for `Reg<C2SC_SPEC>`"]
144pub type C2SC = crate::Reg<c2sc::C2SC_SPEC>;
145#[doc = "Channel (n) Status And Control"]
146pub mod c2sc;
147#[doc = "C2V register accessor: an alias for `Reg<C2V_SPEC>`"]
148pub type C2V = crate::Reg<c2v::C2V_SPEC>;
149#[doc = "Channel (n) Value"]
150pub mod c2v;
151#[doc = "C3SC register accessor: an alias for `Reg<C3SC_SPEC>`"]
152pub type C3SC = crate::Reg<c3sc::C3SC_SPEC>;
153#[doc = "Channel (n) Status And Control"]
154pub mod c3sc;
155#[doc = "C3V register accessor: an alias for `Reg<C3V_SPEC>`"]
156pub type C3V = crate::Reg<c3v::C3V_SPEC>;
157#[doc = "Channel (n) Value"]
158pub mod c3v;
159#[doc = "C4SC register accessor: an alias for `Reg<C4SC_SPEC>`"]
160pub type C4SC = crate::Reg<c4sc::C4SC_SPEC>;
161#[doc = "Channel (n) Status And Control"]
162pub mod c4sc;
163#[doc = "C4V register accessor: an alias for `Reg<C4V_SPEC>`"]
164pub type C4V = crate::Reg<c4v::C4V_SPEC>;
165#[doc = "Channel (n) Value"]
166pub mod c4v;
167#[doc = "C5SC register accessor: an alias for `Reg<C5SC_SPEC>`"]
168pub type C5SC = crate::Reg<c5sc::C5SC_SPEC>;
169#[doc = "Channel (n) Status And Control"]
170pub mod c5sc;
171#[doc = "C5V register accessor: an alias for `Reg<C5V_SPEC>`"]
172pub type C5V = crate::Reg<c5v::C5V_SPEC>;
173#[doc = "Channel (n) Value"]
174pub mod c5v;
175#[doc = "C6SC register accessor: an alias for `Reg<C6SC_SPEC>`"]
176pub type C6SC = crate::Reg<c6sc::C6SC_SPEC>;
177#[doc = "Channel (n) Status And Control"]
178pub mod c6sc;
179#[doc = "C6V register accessor: an alias for `Reg<C6V_SPEC>`"]
180pub type C6V = crate::Reg<c6v::C6V_SPEC>;
181#[doc = "Channel (n) Value"]
182pub mod c6v;
183#[doc = "C7SC register accessor: an alias for `Reg<C7SC_SPEC>`"]
184pub type C7SC = crate::Reg<c7sc::C7SC_SPEC>;
185#[doc = "Channel (n) Status And Control"]
186pub mod c7sc;
187#[doc = "C7V register accessor: an alias for `Reg<C7V_SPEC>`"]
188pub type C7V = crate::Reg<c7v::C7V_SPEC>;
189#[doc = "Channel (n) Value"]
190pub mod c7v;
191#[doc = "CNTIN register accessor: an alias for `Reg<CNTIN_SPEC>`"]
192pub type CNTIN = crate::Reg<cntin::CNTIN_SPEC>;
193#[doc = "Counter Initial Value"]
194pub mod cntin;
195#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
196pub type STATUS = crate::Reg<status::STATUS_SPEC>;
197#[doc = "Capture And Compare Status"]
198pub mod status;
199#[doc = "MODE register accessor: an alias for `Reg<MODE_SPEC>`"]
200pub type MODE = crate::Reg<mode::MODE_SPEC>;
201#[doc = "Features Mode Selection"]
202pub mod mode;
203#[doc = "SYNC register accessor: an alias for `Reg<SYNC_SPEC>`"]
204pub type SYNC = crate::Reg<sync::SYNC_SPEC>;
205#[doc = "Synchronization"]
206pub mod sync;
207#[doc = "OUTINIT register accessor: an alias for `Reg<OUTINIT_SPEC>`"]
208pub type OUTINIT = crate::Reg<outinit::OUTINIT_SPEC>;
209#[doc = "Initial State For Channels Output"]
210pub mod outinit;
211#[doc = "OUTMASK register accessor: an alias for `Reg<OUTMASK_SPEC>`"]
212pub type OUTMASK = crate::Reg<outmask::OUTMASK_SPEC>;
213#[doc = "Output Mask"]
214pub mod outmask;
215#[doc = "COMBINE register accessor: an alias for `Reg<COMBINE_SPEC>`"]
216pub type COMBINE = crate::Reg<combine::COMBINE_SPEC>;
217#[doc = "Function For Linked Channels"]
218pub mod combine;
219#[doc = "DEADTIME register accessor: an alias for `Reg<DEADTIME_SPEC>`"]
220pub type DEADTIME = crate::Reg<deadtime::DEADTIME_SPEC>;
221#[doc = "Deadtime Configuration"]
222pub mod deadtime;
223#[doc = "EXTTRIG register accessor: an alias for `Reg<EXTTRIG_SPEC>`"]
224pub type EXTTRIG = crate::Reg<exttrig::EXTTRIG_SPEC>;
225#[doc = "FTM External Trigger"]
226pub mod exttrig;
227#[doc = "POL register accessor: an alias for `Reg<POL_SPEC>`"]
228pub type POL = crate::Reg<pol::POL_SPEC>;
229#[doc = "Channels Polarity"]
230pub mod pol;
231#[doc = "FMS register accessor: an alias for `Reg<FMS_SPEC>`"]
232pub type FMS = crate::Reg<fms::FMS_SPEC>;
233#[doc = "Fault Mode Status"]
234pub mod fms;
235#[doc = "FILTER register accessor: an alias for `Reg<FILTER_SPEC>`"]
236pub type FILTER = crate::Reg<filter::FILTER_SPEC>;
237#[doc = "Input Capture Filter Control"]
238pub mod filter;
239#[doc = "FLTCTRL register accessor: an alias for `Reg<FLTCTRL_SPEC>`"]
240pub type FLTCTRL = crate::Reg<fltctrl::FLTCTRL_SPEC>;
241#[doc = "Fault Control"]
242pub mod fltctrl;
243#[doc = "QDCTRL register accessor: an alias for `Reg<QDCTRL_SPEC>`"]
244pub type QDCTRL = crate::Reg<qdctrl::QDCTRL_SPEC>;
245#[doc = "Quadrature Decoder Control And Status"]
246pub mod qdctrl;
247#[doc = "CONF register accessor: an alias for `Reg<CONF_SPEC>`"]
248pub type CONF = crate::Reg<conf::CONF_SPEC>;
249#[doc = "Configuration"]
250pub mod conf;
251#[doc = "FLTPOL register accessor: an alias for `Reg<FLTPOL_SPEC>`"]
252pub type FLTPOL = crate::Reg<fltpol::FLTPOL_SPEC>;
253#[doc = "FTM Fault Input Polarity"]
254pub mod fltpol;
255#[doc = "SYNCONF register accessor: an alias for `Reg<SYNCONF_SPEC>`"]
256pub type SYNCONF = crate::Reg<synconf::SYNCONF_SPEC>;
257#[doc = "Synchronization Configuration"]
258pub mod synconf;
259#[doc = "INVCTRL register accessor: an alias for `Reg<INVCTRL_SPEC>`"]
260pub type INVCTRL = crate::Reg<invctrl::INVCTRL_SPEC>;
261#[doc = "FTM Inverting Control"]
262pub mod invctrl;
263#[doc = "SWOCTRL register accessor: an alias for `Reg<SWOCTRL_SPEC>`"]
264pub type SWOCTRL = crate::Reg<swoctrl::SWOCTRL_SPEC>;
265#[doc = "FTM Software Output Control"]
266pub mod swoctrl;
267#[doc = "PWMLOAD register accessor: an alias for `Reg<PWMLOAD_SPEC>`"]
268pub type PWMLOAD = crate::Reg<pwmload::PWMLOAD_SPEC>;
269#[doc = "FTM PWM Load"]
270pub mod pwmload;
271#[doc = "HCR register accessor: an alias for `Reg<HCR_SPEC>`"]
272pub type HCR = crate::Reg<hcr::HCR_SPEC>;
273#[doc = "Half Cycle Register"]
274pub mod hcr;
275#[doc = "PAIR0DEADTIME register accessor: an alias for `Reg<PAIR0DEADTIME_SPEC>`"]
276pub type PAIR0DEADTIME = crate::Reg<pair0deadtime::PAIR0DEADTIME_SPEC>;
277#[doc = "Pair 0 Deadtime Configuration"]
278pub mod pair0deadtime;
279#[doc = "PAIR1DEADTIME register accessor: an alias for `Reg<PAIR1DEADTIME_SPEC>`"]
280pub type PAIR1DEADTIME = crate::Reg<pair1deadtime::PAIR1DEADTIME_SPEC>;
281#[doc = "Pair 1 Deadtime Configuration"]
282pub mod pair1deadtime;
283#[doc = "PAIR2DEADTIME register accessor: an alias for `Reg<PAIR2DEADTIME_SPEC>`"]
284pub type PAIR2DEADTIME = crate::Reg<pair2deadtime::PAIR2DEADTIME_SPEC>;
285#[doc = "Pair 2 Deadtime Configuration"]
286pub mod pair2deadtime;
287#[doc = "PAIR3DEADTIME register accessor: an alias for `Reg<PAIR3DEADTIME_SPEC>`"]
288pub type PAIR3DEADTIME = crate::Reg<pair3deadtime::PAIR3DEADTIME_SPEC>;
289#[doc = "Pair 3 Deadtime Configuration"]
290pub mod pair3deadtime;
291#[doc = "MOD_MIRROR register accessor: an alias for `Reg<MOD_MIRROR_SPEC>`"]
292pub type MOD_MIRROR = crate::Reg<mod_mirror::MOD_MIRROR_SPEC>;
293#[doc = "Mirror of Modulo Value"]
294pub mod mod_mirror;
295#[doc = "C0V_MIRROR register accessor: an alias for `Reg<C0V_MIRROR_SPEC>`"]
296pub type C0V_MIRROR = crate::Reg<c0v_mirror::C0V_MIRROR_SPEC>;
297#[doc = "Mirror of Channel (n) Match Value"]
298pub mod c0v_mirror;
299#[doc = "C1V_MIRROR register accessor: an alias for `Reg<C1V_MIRROR_SPEC>`"]
300pub type C1V_MIRROR = crate::Reg<c1v_mirror::C1V_MIRROR_SPEC>;
301#[doc = "Mirror of Channel (n) Match Value"]
302pub mod c1v_mirror;
303#[doc = "C2V_MIRROR register accessor: an alias for `Reg<C2V_MIRROR_SPEC>`"]
304pub type C2V_MIRROR = crate::Reg<c2v_mirror::C2V_MIRROR_SPEC>;
305#[doc = "Mirror of Channel (n) Match Value"]
306pub mod c2v_mirror;
307#[doc = "C3V_MIRROR register accessor: an alias for `Reg<C3V_MIRROR_SPEC>`"]
308pub type C3V_MIRROR = crate::Reg<c3v_mirror::C3V_MIRROR_SPEC>;
309#[doc = "Mirror of Channel (n) Match Value"]
310pub mod c3v_mirror;
311#[doc = "C4V_MIRROR register accessor: an alias for `Reg<C4V_MIRROR_SPEC>`"]
312pub type C4V_MIRROR = crate::Reg<c4v_mirror::C4V_MIRROR_SPEC>;
313#[doc = "Mirror of Channel (n) Match Value"]
314pub mod c4v_mirror;
315#[doc = "C5V_MIRROR register accessor: an alias for `Reg<C5V_MIRROR_SPEC>`"]
316pub type C5V_MIRROR = crate::Reg<c5v_mirror::C5V_MIRROR_SPEC>;
317#[doc = "Mirror of Channel (n) Match Value"]
318pub mod c5v_mirror;
319#[doc = "C6V_MIRROR register accessor: an alias for `Reg<C6V_MIRROR_SPEC>`"]
320pub type C6V_MIRROR = crate::Reg<c6v_mirror::C6V_MIRROR_SPEC>;
321#[doc = "Mirror of Channel (n) Match Value"]
322pub mod c6v_mirror;
323#[doc = "C7V_MIRROR register accessor: an alias for `Reg<C7V_MIRROR_SPEC>`"]
324pub type C7V_MIRROR = crate::Reg<c7v_mirror::C7V_MIRROR_SPEC>;
325#[doc = "Mirror of Channel (n) Match Value"]
326pub mod c7v_mirror;