35#ifndef _SAM4S_PWM_COMPONENT_
36#define _SAM4S_PWM_COMPONENT_
44#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
64#define PWMCMP_NUMBER 8
65#define PWMCH_NUM_NUMBER 4
117#define PWM_CLK_DIVA_Pos 0
118#define PWM_CLK_DIVA_Msk (0xffu << PWM_CLK_DIVA_Pos)
119#define PWM_CLK_DIVA(value) ((PWM_CLK_DIVA_Msk & ((value) << PWM_CLK_DIVA_Pos)))
120#define PWM_CLK_PREA_Pos 8
121#define PWM_CLK_PREA_Msk (0xfu << PWM_CLK_PREA_Pos)
122#define PWM_CLK_PREA(value) ((PWM_CLK_PREA_Msk & ((value) << PWM_CLK_PREA_Pos)))
123#define PWM_CLK_DIVB_Pos 16
124#define PWM_CLK_DIVB_Msk (0xffu << PWM_CLK_DIVB_Pos)
125#define PWM_CLK_DIVB(value) ((PWM_CLK_DIVB_Msk & ((value) << PWM_CLK_DIVB_Pos)))
126#define PWM_CLK_PREB_Pos 24
127#define PWM_CLK_PREB_Msk (0xfu << PWM_CLK_PREB_Pos)
128#define PWM_CLK_PREB(value) ((PWM_CLK_PREB_Msk & ((value) << PWM_CLK_PREB_Pos)))
130#define PWM_ENA_CHID0 (0x1u << 0)
131#define PWM_ENA_CHID1 (0x1u << 1)
132#define PWM_ENA_CHID2 (0x1u << 2)
133#define PWM_ENA_CHID3 (0x1u << 3)
135#define PWM_DIS_CHID0 (0x1u << 0)
136#define PWM_DIS_CHID1 (0x1u << 1)
137#define PWM_DIS_CHID2 (0x1u << 2)
138#define PWM_DIS_CHID3 (0x1u << 3)
140#define PWM_SR_CHID0 (0x1u << 0)
141#define PWM_SR_CHID1 (0x1u << 1)
142#define PWM_SR_CHID2 (0x1u << 2)
143#define PWM_SR_CHID3 (0x1u << 3)
145#define PWM_IER1_CHID0 (0x1u << 0)
146#define PWM_IER1_CHID1 (0x1u << 1)
147#define PWM_IER1_CHID2 (0x1u << 2)
148#define PWM_IER1_CHID3 (0x1u << 3)
149#define PWM_IER1_FCHID0 (0x1u << 16)
150#define PWM_IER1_FCHID1 (0x1u << 17)
151#define PWM_IER1_FCHID2 (0x1u << 18)
152#define PWM_IER1_FCHID3 (0x1u << 19)
154#define PWM_IDR1_CHID0 (0x1u << 0)
155#define PWM_IDR1_CHID1 (0x1u << 1)
156#define PWM_IDR1_CHID2 (0x1u << 2)
157#define PWM_IDR1_CHID3 (0x1u << 3)
158#define PWM_IDR1_FCHID0 (0x1u << 16)
159#define PWM_IDR1_FCHID1 (0x1u << 17)
160#define PWM_IDR1_FCHID2 (0x1u << 18)
161#define PWM_IDR1_FCHID3 (0x1u << 19)
163#define PWM_IMR1_CHID0 (0x1u << 0)
164#define PWM_IMR1_CHID1 (0x1u << 1)
165#define PWM_IMR1_CHID2 (0x1u << 2)
166#define PWM_IMR1_CHID3 (0x1u << 3)
167#define PWM_IMR1_FCHID0 (0x1u << 16)
168#define PWM_IMR1_FCHID1 (0x1u << 17)
169#define PWM_IMR1_FCHID2 (0x1u << 18)
170#define PWM_IMR1_FCHID3 (0x1u << 19)
172#define PWM_ISR1_CHID0 (0x1u << 0)
173#define PWM_ISR1_CHID1 (0x1u << 1)
174#define PWM_ISR1_CHID2 (0x1u << 2)
175#define PWM_ISR1_CHID3 (0x1u << 3)
176#define PWM_ISR1_FCHID0 (0x1u << 16)
177#define PWM_ISR1_FCHID1 (0x1u << 17)
178#define PWM_ISR1_FCHID2 (0x1u << 18)
179#define PWM_ISR1_FCHID3 (0x1u << 19)
181#define PWM_SCM_SYNC0 (0x1u << 0)
182#define PWM_SCM_SYNC1 (0x1u << 1)
183#define PWM_SCM_SYNC2 (0x1u << 2)
184#define PWM_SCM_SYNC3 (0x1u << 3)
185#define PWM_SCM_UPDM_Pos 16
186#define PWM_SCM_UPDM_Msk (0x3u << PWM_SCM_UPDM_Pos)
187#define PWM_SCM_UPDM_MODE0 (0x0u << 16)
188#define PWM_SCM_UPDM_MODE1 (0x1u << 16)
189#define PWM_SCM_UPDM_MODE2 (0x2u << 16)
190#define PWM_SCM_PTRM (0x1u << 20)
191#define PWM_SCM_PTRCS_Pos 21
192#define PWM_SCM_PTRCS_Msk (0x7u << PWM_SCM_PTRCS_Pos)
193#define PWM_SCM_PTRCS(value) ((PWM_SCM_PTRCS_Msk & ((value) << PWM_SCM_PTRCS_Pos)))
195#define PWM_SCUC_UPDULOCK (0x1u << 0)
197#define PWM_SCUP_UPR_Pos 0
198#define PWM_SCUP_UPR_Msk (0xfu << PWM_SCUP_UPR_Pos)
199#define PWM_SCUP_UPR(value) ((PWM_SCUP_UPR_Msk & ((value) << PWM_SCUP_UPR_Pos)))
200#define PWM_SCUP_UPRCNT_Pos 4
201#define PWM_SCUP_UPRCNT_Msk (0xfu << PWM_SCUP_UPRCNT_Pos)
202#define PWM_SCUP_UPRCNT(value) ((PWM_SCUP_UPRCNT_Msk & ((value) << PWM_SCUP_UPRCNT_Pos)))
204#define PWM_SCUPUPD_UPRUPD_Pos 0
205#define PWM_SCUPUPD_UPRUPD_Msk (0xfu << PWM_SCUPUPD_UPRUPD_Pos)
206#define PWM_SCUPUPD_UPRUPD(value) ((PWM_SCUPUPD_UPRUPD_Msk & ((value) << PWM_SCUPUPD_UPRUPD_Pos)))
208#define PWM_IER2_WRDY (0x1u << 0)
209#define PWM_IER2_ENDTX (0x1u << 1)
210#define PWM_IER2_TXBUFE (0x1u << 2)
211#define PWM_IER2_UNRE (0x1u << 3)
212#define PWM_IER2_CMPM0 (0x1u << 8)
213#define PWM_IER2_CMPM1 (0x1u << 9)
214#define PWM_IER2_CMPM2 (0x1u << 10)
215#define PWM_IER2_CMPM3 (0x1u << 11)
216#define PWM_IER2_CMPM4 (0x1u << 12)
217#define PWM_IER2_CMPM5 (0x1u << 13)
218#define PWM_IER2_CMPM6 (0x1u << 14)
219#define PWM_IER2_CMPM7 (0x1u << 15)
220#define PWM_IER2_CMPU0 (0x1u << 16)
221#define PWM_IER2_CMPU1 (0x1u << 17)
222#define PWM_IER2_CMPU2 (0x1u << 18)
223#define PWM_IER2_CMPU3 (0x1u << 19)
224#define PWM_IER2_CMPU4 (0x1u << 20)
225#define PWM_IER2_CMPU5 (0x1u << 21)
226#define PWM_IER2_CMPU6 (0x1u << 22)
227#define PWM_IER2_CMPU7 (0x1u << 23)
229#define PWM_IDR2_WRDY (0x1u << 0)
230#define PWM_IDR2_ENDTX (0x1u << 1)
231#define PWM_IDR2_TXBUFE (0x1u << 2)
232#define PWM_IDR2_UNRE (0x1u << 3)
233#define PWM_IDR2_CMPM0 (0x1u << 8)
234#define PWM_IDR2_CMPM1 (0x1u << 9)
235#define PWM_IDR2_CMPM2 (0x1u << 10)
236#define PWM_IDR2_CMPM3 (0x1u << 11)
237#define PWM_IDR2_CMPM4 (0x1u << 12)
238#define PWM_IDR2_CMPM5 (0x1u << 13)
239#define PWM_IDR2_CMPM6 (0x1u << 14)
240#define PWM_IDR2_CMPM7 (0x1u << 15)
241#define PWM_IDR2_CMPU0 (0x1u << 16)
242#define PWM_IDR2_CMPU1 (0x1u << 17)
243#define PWM_IDR2_CMPU2 (0x1u << 18)
244#define PWM_IDR2_CMPU3 (0x1u << 19)
245#define PWM_IDR2_CMPU4 (0x1u << 20)
246#define PWM_IDR2_CMPU5 (0x1u << 21)
247#define PWM_IDR2_CMPU6 (0x1u << 22)
248#define PWM_IDR2_CMPU7 (0x1u << 23)
250#define PWM_IMR2_WRDY (0x1u << 0)
251#define PWM_IMR2_ENDTX (0x1u << 1)
252#define PWM_IMR2_TXBUFE (0x1u << 2)
253#define PWM_IMR2_UNRE (0x1u << 3)
254#define PWM_IMR2_CMPM0 (0x1u << 8)
255#define PWM_IMR2_CMPM1 (0x1u << 9)
256#define PWM_IMR2_CMPM2 (0x1u << 10)
257#define PWM_IMR2_CMPM3 (0x1u << 11)
258#define PWM_IMR2_CMPM4 (0x1u << 12)
259#define PWM_IMR2_CMPM5 (0x1u << 13)
260#define PWM_IMR2_CMPM6 (0x1u << 14)
261#define PWM_IMR2_CMPM7 (0x1u << 15)
262#define PWM_IMR2_CMPU0 (0x1u << 16)
263#define PWM_IMR2_CMPU1 (0x1u << 17)
264#define PWM_IMR2_CMPU2 (0x1u << 18)
265#define PWM_IMR2_CMPU3 (0x1u << 19)
266#define PWM_IMR2_CMPU4 (0x1u << 20)
267#define PWM_IMR2_CMPU5 (0x1u << 21)
268#define PWM_IMR2_CMPU6 (0x1u << 22)
269#define PWM_IMR2_CMPU7 (0x1u << 23)
271#define PWM_ISR2_WRDY (0x1u << 0)
272#define PWM_ISR2_ENDTX (0x1u << 1)
273#define PWM_ISR2_TXBUFE (0x1u << 2)
274#define PWM_ISR2_UNRE (0x1u << 3)
275#define PWM_ISR2_CMPM0 (0x1u << 8)
276#define PWM_ISR2_CMPM1 (0x1u << 9)
277#define PWM_ISR2_CMPM2 (0x1u << 10)
278#define PWM_ISR2_CMPM3 (0x1u << 11)
279#define PWM_ISR2_CMPM4 (0x1u << 12)
280#define PWM_ISR2_CMPM5 (0x1u << 13)
281#define PWM_ISR2_CMPM6 (0x1u << 14)
282#define PWM_ISR2_CMPM7 (0x1u << 15)
283#define PWM_ISR2_CMPU0 (0x1u << 16)
284#define PWM_ISR2_CMPU1 (0x1u << 17)
285#define PWM_ISR2_CMPU2 (0x1u << 18)
286#define PWM_ISR2_CMPU3 (0x1u << 19)
287#define PWM_ISR2_CMPU4 (0x1u << 20)
288#define PWM_ISR2_CMPU5 (0x1u << 21)
289#define PWM_ISR2_CMPU6 (0x1u << 22)
290#define PWM_ISR2_CMPU7 (0x1u << 23)
292#define PWM_OOV_OOVH0 (0x1u << 0)
293#define PWM_OOV_OOVH1 (0x1u << 1)
294#define PWM_OOV_OOVH2 (0x1u << 2)
295#define PWM_OOV_OOVH3 (0x1u << 3)
296#define PWM_OOV_OOVL0 (0x1u << 16)
297#define PWM_OOV_OOVL1 (0x1u << 17)
298#define PWM_OOV_OOVL2 (0x1u << 18)
299#define PWM_OOV_OOVL3 (0x1u << 19)
301#define PWM_OS_OSH0 (0x1u << 0)
302#define PWM_OS_OSH1 (0x1u << 1)
303#define PWM_OS_OSH2 (0x1u << 2)
304#define PWM_OS_OSH3 (0x1u << 3)
305#define PWM_OS_OSL0 (0x1u << 16)
306#define PWM_OS_OSL1 (0x1u << 17)
307#define PWM_OS_OSL2 (0x1u << 18)
308#define PWM_OS_OSL3 (0x1u << 19)
310#define PWM_OSS_OSSH0 (0x1u << 0)
311#define PWM_OSS_OSSH1 (0x1u << 1)
312#define PWM_OSS_OSSH2 (0x1u << 2)
313#define PWM_OSS_OSSH3 (0x1u << 3)
314#define PWM_OSS_OSSL0 (0x1u << 16)
315#define PWM_OSS_OSSL1 (0x1u << 17)
316#define PWM_OSS_OSSL2 (0x1u << 18)
317#define PWM_OSS_OSSL3 (0x1u << 19)
319#define PWM_OSC_OSCH0 (0x1u << 0)
320#define PWM_OSC_OSCH1 (0x1u << 1)
321#define PWM_OSC_OSCH2 (0x1u << 2)
322#define PWM_OSC_OSCH3 (0x1u << 3)
323#define PWM_OSC_OSCL0 (0x1u << 16)
324#define PWM_OSC_OSCL1 (0x1u << 17)
325#define PWM_OSC_OSCL2 (0x1u << 18)
326#define PWM_OSC_OSCL3 (0x1u << 19)
328#define PWM_OSSUPD_OSSUPH0 (0x1u << 0)
329#define PWM_OSSUPD_OSSUPH1 (0x1u << 1)
330#define PWM_OSSUPD_OSSUPH2 (0x1u << 2)
331#define PWM_OSSUPD_OSSUPH3 (0x1u << 3)
332#define PWM_OSSUPD_OSSUPL0 (0x1u << 16)
333#define PWM_OSSUPD_OSSUPL1 (0x1u << 17)
334#define PWM_OSSUPD_OSSUPL2 (0x1u << 18)
335#define PWM_OSSUPD_OSSUPL3 (0x1u << 19)
337#define PWM_OSCUPD_OSCUPH0 (0x1u << 0)
338#define PWM_OSCUPD_OSCUPH1 (0x1u << 1)
339#define PWM_OSCUPD_OSCUPH2 (0x1u << 2)
340#define PWM_OSCUPD_OSCUPH3 (0x1u << 3)
341#define PWM_OSCUPD_OSCUPL0 (0x1u << 16)
342#define PWM_OSCUPD_OSCUPL1 (0x1u << 17)
343#define PWM_OSCUPD_OSCUPL2 (0x1u << 18)
344#define PWM_OSCUPD_OSCUPL3 (0x1u << 19)
346#define PWM_FMR_FPOL_Pos 0
347#define PWM_FMR_FPOL_Msk (0xffu << PWM_FMR_FPOL_Pos)
348#define PWM_FMR_FPOL(value) ((PWM_FMR_FPOL_Msk & ((value) << PWM_FMR_FPOL_Pos)))
349#define PWM_FMR_FMOD_Pos 8
350#define PWM_FMR_FMOD_Msk (0xffu << PWM_FMR_FMOD_Pos)
351#define PWM_FMR_FMOD(value) ((PWM_FMR_FMOD_Msk & ((value) << PWM_FMR_FMOD_Pos)))
352#define PWM_FMR_FFIL_Pos 16
353#define PWM_FMR_FFIL_Msk (0xffu << PWM_FMR_FFIL_Pos)
354#define PWM_FMR_FFIL(value) ((PWM_FMR_FFIL_Msk & ((value) << PWM_FMR_FFIL_Pos)))
356#define PWM_FSR_FIV_Pos 0
357#define PWM_FSR_FIV_Msk (0xffu << PWM_FSR_FIV_Pos)
358#define PWM_FSR_FS_Pos 8
359#define PWM_FSR_FS_Msk (0xffu << PWM_FSR_FS_Pos)
361#define PWM_FCR_FCLR_Pos 0
362#define PWM_FCR_FCLR_Msk (0xffu << PWM_FCR_FCLR_Pos)
363#define PWM_FCR_FCLR(value) ((PWM_FCR_FCLR_Msk & ((value) << PWM_FCR_FCLR_Pos)))
365#define PWM_FPV_FPVH0 (0x1u << 0)
366#define PWM_FPV_FPVH1 (0x1u << 1)
367#define PWM_FPV_FPVH2 (0x1u << 2)
368#define PWM_FPV_FPVH3 (0x1u << 3)
369#define PWM_FPV_FPVL0 (0x1u << 16)
370#define PWM_FPV_FPVL1 (0x1u << 17)
371#define PWM_FPV_FPVL2 (0x1u << 18)
372#define PWM_FPV_FPVL3 (0x1u << 19)
374#define PWM_FPE_FPE0_Pos 0
375#define PWM_FPE_FPE0_Msk (0xffu << PWM_FPE_FPE0_Pos)
376#define PWM_FPE_FPE0(value) ((PWM_FPE_FPE0_Msk & ((value) << PWM_FPE_FPE0_Pos)))
377#define PWM_FPE_FPE1_Pos 8
378#define PWM_FPE_FPE1_Msk (0xffu << PWM_FPE_FPE1_Pos)
379#define PWM_FPE_FPE1(value) ((PWM_FPE_FPE1_Msk & ((value) << PWM_FPE_FPE1_Pos)))
380#define PWM_FPE_FPE2_Pos 16
381#define PWM_FPE_FPE2_Msk (0xffu << PWM_FPE_FPE2_Pos)
382#define PWM_FPE_FPE2(value) ((PWM_FPE_FPE2_Msk & ((value) << PWM_FPE_FPE2_Pos)))
383#define PWM_FPE_FPE3_Pos 24
384#define PWM_FPE_FPE3_Msk (0xffu << PWM_FPE_FPE3_Pos)
385#define PWM_FPE_FPE3(value) ((PWM_FPE_FPE3_Msk & ((value) << PWM_FPE_FPE3_Pos)))
387#define PWM_ELMR_CSEL0 (0x1u << 0)
388#define PWM_ELMR_CSEL1 (0x1u << 1)
389#define PWM_ELMR_CSEL2 (0x1u << 2)
390#define PWM_ELMR_CSEL3 (0x1u << 3)
391#define PWM_ELMR_CSEL4 (0x1u << 4)
392#define PWM_ELMR_CSEL5 (0x1u << 5)
393#define PWM_ELMR_CSEL6 (0x1u << 6)
394#define PWM_ELMR_CSEL7 (0x1u << 7)
396#define PWM_SMMR_GCEN0 (0x1u << 0)
397#define PWM_SMMR_GCEN1 (0x1u << 1)
398#define PWM_SMMR_DOWN0 (0x1u << 16)
399#define PWM_SMMR_DOWN1 (0x1u << 17)
401#define PWM_WPCR_WPCMD_Pos 0
402#define PWM_WPCR_WPCMD_Msk (0x3u << PWM_WPCR_WPCMD_Pos)
403#define PWM_WPCR_WPCMD_DISABLE_SW_PROT (0x0u << 0)
404#define PWM_WPCR_WPCMD_ENABLE_SW_PROT (0x1u << 0)
405#define PWM_WPCR_WPCMD_ENABLE_HW_PROT (0x2u << 0)
406#define PWM_WPCR_WPRG0 (0x1u << 2)
407#define PWM_WPCR_WPRG1 (0x1u << 3)
408#define PWM_WPCR_WPRG2 (0x1u << 4)
409#define PWM_WPCR_WPRG3 (0x1u << 5)
410#define PWM_WPCR_WPRG4 (0x1u << 6)
411#define PWM_WPCR_WPRG5 (0x1u << 7)
412#define PWM_WPCR_WPKEY_Pos 8
413#define PWM_WPCR_WPKEY_Msk (0xffffffu << PWM_WPCR_WPKEY_Pos)
414#define PWM_WPCR_WPKEY_PASSWD (0x50574Du << 8)
416#define PWM_WPSR_WPSWS0 (0x1u << 0)
417#define PWM_WPSR_WPSWS1 (0x1u << 1)
418#define PWM_WPSR_WPSWS2 (0x1u << 2)
419#define PWM_WPSR_WPSWS3 (0x1u << 3)
420#define PWM_WPSR_WPSWS4 (0x1u << 4)
421#define PWM_WPSR_WPSWS5 (0x1u << 5)
422#define PWM_WPSR_WPVS (0x1u << 7)
423#define PWM_WPSR_WPHWS0 (0x1u << 8)
424#define PWM_WPSR_WPHWS1 (0x1u << 9)
425#define PWM_WPSR_WPHWS2 (0x1u << 10)
426#define PWM_WPSR_WPHWS3 (0x1u << 11)
427#define PWM_WPSR_WPHWS4 (0x1u << 12)
428#define PWM_WPSR_WPHWS5 (0x1u << 13)
429#define PWM_WPSR_WPVSRC_Pos 16
430#define PWM_WPSR_WPVSRC_Msk (0xffffu << PWM_WPSR_WPVSRC_Pos)
432#define PWM_TPR_TXPTR_Pos 0
433#define PWM_TPR_TXPTR_Msk (0xffffffffu << PWM_TPR_TXPTR_Pos)
434#define PWM_TPR_TXPTR(value) ((PWM_TPR_TXPTR_Msk & ((value) << PWM_TPR_TXPTR_Pos)))
436#define PWM_TCR_TXCTR_Pos 0
437#define PWM_TCR_TXCTR_Msk (0xffffu << PWM_TCR_TXCTR_Pos)
438#define PWM_TCR_TXCTR(value) ((PWM_TCR_TXCTR_Msk & ((value) << PWM_TCR_TXCTR_Pos)))
440#define PWM_TNPR_TXNPTR_Pos 0
441#define PWM_TNPR_TXNPTR_Msk (0xffffffffu << PWM_TNPR_TXNPTR_Pos)
442#define PWM_TNPR_TXNPTR(value) ((PWM_TNPR_TXNPTR_Msk & ((value) << PWM_TNPR_TXNPTR_Pos)))
444#define PWM_TNCR_TXNCTR_Pos 0
445#define PWM_TNCR_TXNCTR_Msk (0xffffu << PWM_TNCR_TXNCTR_Pos)
446#define PWM_TNCR_TXNCTR(value) ((PWM_TNCR_TXNCTR_Msk & ((value) << PWM_TNCR_TXNCTR_Pos)))
448#define PWM_PTCR_RXTEN (0x1u << 0)
449#define PWM_PTCR_RXTDIS (0x1u << 1)
450#define PWM_PTCR_TXTEN (0x1u << 8)
451#define PWM_PTCR_TXTDIS (0x1u << 9)
453#define PWM_PTSR_RXTEN (0x1u << 0)
454#define PWM_PTSR_TXTEN (0x1u << 8)
456#define PWM_CMPV_CV_Pos 0
457#define PWM_CMPV_CV_Msk (0xffffffu << PWM_CMPV_CV_Pos)
458#define PWM_CMPV_CV(value) ((PWM_CMPV_CV_Msk & ((value) << PWM_CMPV_CV_Pos)))
459#define PWM_CMPV_CVM (0x1u << 24)
461#define PWM_CMPVUPD_CVUPD_Pos 0
462#define PWM_CMPVUPD_CVUPD_Msk (0xffffffu << PWM_CMPVUPD_CVUPD_Pos)
463#define PWM_CMPVUPD_CVUPD(value) ((PWM_CMPVUPD_CVUPD_Msk & ((value) << PWM_CMPVUPD_CVUPD_Pos)))
464#define PWM_CMPVUPD_CVMUPD (0x1u << 24)
466#define PWM_CMPM_CEN (0x1u << 0)
467#define PWM_CMPM_CTR_Pos 4
468#define PWM_CMPM_CTR_Msk (0xfu << PWM_CMPM_CTR_Pos)
469#define PWM_CMPM_CTR(value) ((PWM_CMPM_CTR_Msk & ((value) << PWM_CMPM_CTR_Pos)))
470#define PWM_CMPM_CPR_Pos 8
471#define PWM_CMPM_CPR_Msk (0xfu << PWM_CMPM_CPR_Pos)
472#define PWM_CMPM_CPR(value) ((PWM_CMPM_CPR_Msk & ((value) << PWM_CMPM_CPR_Pos)))
473#define PWM_CMPM_CPRCNT_Pos 12
474#define PWM_CMPM_CPRCNT_Msk (0xfu << PWM_CMPM_CPRCNT_Pos)
475#define PWM_CMPM_CPRCNT(value) ((PWM_CMPM_CPRCNT_Msk & ((value) << PWM_CMPM_CPRCNT_Pos)))
476#define PWM_CMPM_CUPR_Pos 16
477#define PWM_CMPM_CUPR_Msk (0xfu << PWM_CMPM_CUPR_Pos)
478#define PWM_CMPM_CUPR(value) ((PWM_CMPM_CUPR_Msk & ((value) << PWM_CMPM_CUPR_Pos)))
479#define PWM_CMPM_CUPRCNT_Pos 20
480#define PWM_CMPM_CUPRCNT_Msk (0xfu << PWM_CMPM_CUPRCNT_Pos)
481#define PWM_CMPM_CUPRCNT(value) ((PWM_CMPM_CUPRCNT_Msk & ((value) << PWM_CMPM_CUPRCNT_Pos)))
483#define PWM_CMPMUPD_CENUPD (0x1u << 0)
484#define PWM_CMPMUPD_CTRUPD_Pos 4
485#define PWM_CMPMUPD_CTRUPD_Msk (0xfu << PWM_CMPMUPD_CTRUPD_Pos)
486#define PWM_CMPMUPD_CTRUPD(value) ((PWM_CMPMUPD_CTRUPD_Msk & ((value) << PWM_CMPMUPD_CTRUPD_Pos)))
487#define PWM_CMPMUPD_CPRUPD_Pos 8
488#define PWM_CMPMUPD_CPRUPD_Msk (0xfu << PWM_CMPMUPD_CPRUPD_Pos)
489#define PWM_CMPMUPD_CPRUPD(value) ((PWM_CMPMUPD_CPRUPD_Msk & ((value) << PWM_CMPMUPD_CPRUPD_Pos)))
490#define PWM_CMPMUPD_CUPRUPD_Pos 16
491#define PWM_CMPMUPD_CUPRUPD_Msk (0xfu << PWM_CMPMUPD_CUPRUPD_Pos)
492#define PWM_CMPMUPD_CUPRUPD(value) ((PWM_CMPMUPD_CUPRUPD_Msk & ((value) << PWM_CMPMUPD_CUPRUPD_Pos)))
494#define PWM_CMR_CPRE_Pos 0
495#define PWM_CMR_CPRE_Msk (0xfu << PWM_CMR_CPRE_Pos)
496#define PWM_CMR_CPRE_MCK (0x0u << 0)
497#define PWM_CMR_CPRE_MCK_DIV_2 (0x1u << 0)
498#define PWM_CMR_CPRE_MCK_DIV_4 (0x2u << 0)
499#define PWM_CMR_CPRE_MCK_DIV_8 (0x3u << 0)
500#define PWM_CMR_CPRE_MCK_DIV_16 (0x4u << 0)
501#define PWM_CMR_CPRE_MCK_DIV_32 (0x5u << 0)
502#define PWM_CMR_CPRE_MCK_DIV_64 (0x6u << 0)
503#define PWM_CMR_CPRE_MCK_DIV_128 (0x7u << 0)
504#define PWM_CMR_CPRE_MCK_DIV_256 (0x8u << 0)
505#define PWM_CMR_CPRE_MCK_DIV_512 (0x9u << 0)
506#define PWM_CMR_CPRE_MCK_DIV_1024 (0xAu << 0)
507#define PWM_CMR_CPRE_CLKA (0xBu << 0)
508#define PWM_CMR_CPRE_CLKB (0xCu << 0)
509#define PWM_CMR_CALG (0x1u << 8)
510#define PWM_CMR_CPOL (0x1u << 9)
511#define PWM_CMR_CES (0x1u << 10)
512#define PWM_CMR_DTE (0x1u << 16)
513#define PWM_CMR_DTHI (0x1u << 17)
514#define PWM_CMR_DTLI (0x1u << 18)
516#define PWM_CDTY_CDTY_Pos 0
517#define PWM_CDTY_CDTY_Msk (0xffffffu << PWM_CDTY_CDTY_Pos)
518#define PWM_CDTY_CDTY(value) ((PWM_CDTY_CDTY_Msk & ((value) << PWM_CDTY_CDTY_Pos)))
520#define PWM_CDTYUPD_CDTYUPD_Pos 0
521#define PWM_CDTYUPD_CDTYUPD_Msk (0xffffffu << PWM_CDTYUPD_CDTYUPD_Pos)
522#define PWM_CDTYUPD_CDTYUPD(value) ((PWM_CDTYUPD_CDTYUPD_Msk & ((value) << PWM_CDTYUPD_CDTYUPD_Pos)))
524#define PWM_CPRD_CPRD_Pos 0
525#define PWM_CPRD_CPRD_Msk (0xffffffu << PWM_CPRD_CPRD_Pos)
526#define PWM_CPRD_CPRD(value) ((PWM_CPRD_CPRD_Msk & ((value) << PWM_CPRD_CPRD_Pos)))
528#define PWM_CPRDUPD_CPRDUPD_Pos 0
529#define PWM_CPRDUPD_CPRDUPD_Msk (0xffffffu << PWM_CPRDUPD_CPRDUPD_Pos)
530#define PWM_CPRDUPD_CPRDUPD(value) ((PWM_CPRDUPD_CPRDUPD_Msk & ((value) << PWM_CPRDUPD_CPRDUPD_Pos)))
532#define PWM_CCNT_CNT_Pos 0
533#define PWM_CCNT_CNT_Msk (0xffffffu << PWM_CCNT_CNT_Pos)
535#define PWM_DT_DTH_Pos 0
536#define PWM_DT_DTH_Msk (0xffffu << PWM_DT_DTH_Pos)
537#define PWM_DT_DTH(value) ((PWM_DT_DTH_Msk & ((value) << PWM_DT_DTH_Pos)))
538#define PWM_DT_DTL_Pos 16
539#define PWM_DT_DTL_Msk (0xffffu << PWM_DT_DTL_Pos)
540#define PWM_DT_DTL(value) ((PWM_DT_DTL_Msk & ((value) << PWM_DT_DTL_Pos)))
542#define PWM_DTUPD_DTHUPD_Pos 0
543#define PWM_DTUPD_DTHUPD_Msk (0xffffu << PWM_DTUPD_DTHUPD_Pos)
544#define PWM_DTUPD_DTHUPD(value) ((PWM_DTUPD_DTHUPD_Msk & ((value) << PWM_DTUPD_DTHUPD_Pos)))
545#define PWM_DTUPD_DTLUPD_Pos 16
546#define PWM_DTUPD_DTLUPD_Msk (0xffffu << PWM_DTUPD_DTLUPD_Pos)
547#define PWM_DTUPD_DTLUPD(value) ((PWM_DTUPD_DTLUPD_Msk & ((value) << PWM_DTUPD_DTLUPD_Pos)))
#define PWMCMP_NUMBER
Pwm hardware registers.
PwmCh_num hardware registers.
__O uint32_t PWM_DTUPD
(PwmCh_num Offset: 0x1C) PWM Channel Dead Time Update Register
__O uint32_t PWM_CPRDUPD
(PwmCh_num Offset: 0x10) PWM Channel Period Update Register
__I uint32_t PWM_CCNT
(PwmCh_num Offset: 0x14) PWM Channel Counter Register
__IO uint32_t PWM_CMR
(PwmCh_num Offset: 0x0) PWM Channel Mode Register
__O uint32_t PWM_CDTYUPD
(PwmCh_num Offset: 0x8) PWM Channel Duty Cycle Update Register
__IO uint32_t PWM_CPRD
(PwmCh_num Offset: 0xC) PWM Channel Period Register
__IO uint32_t PWM_CDTY
(PwmCh_num Offset: 0x4) PWM Channel Duty Cycle Register
__IO uint32_t PWM_DT
(PwmCh_num Offset: 0x18) PWM Channel Dead Time Register
PwmCmp hardware registers.
__IO uint32_t PWM_CMPM
(PwmCmp Offset: 0x8) PWM Comparison 0 Mode Register
__IO uint32_t PWM_CMPV
(PwmCmp Offset: 0x0) PWM Comparison 0 Value Register
__O uint32_t PWM_CMPMUPD
(PwmCmp Offset: 0xC) PWM Comparison 0 Mode Update Register
__O uint32_t PWM_CMPVUPD
(PwmCmp Offset: 0x4) PWM Comparison 0 Value Update Register
__IO uint32_t PWM_FMR
(Pwm Offset: 0x5C) PWM Fault Mode Register
__I uint32_t Reserved8[20]
__I uint32_t Reserved1[1]
__I uint32_t PWM_IMR1
(Pwm Offset: 0x18) PWM Interrupt Mask Register 1
__I uint32_t PWM_IMR2
(Pwm Offset: 0x3C) PWM Interrupt Mask Register 2
__IO uint32_t PWM_TCR
(Pwm Offset: 0x10C) Transmit Counter Register
__I uint32_t Reserved7[2]
__O uint32_t PWM_OSCUPD
(Pwm Offset: 0x58) PWM Output Selection Clear Update Register
__O uint32_t PWM_WPCR
(Pwm Offset: 0xE4) PWM Write Protection Control Register
__IO uint32_t PWM_SCM
(Pwm Offset: 0x20) PWM Sync Channels Mode Register
__I uint32_t PWM_FSR
(Pwm Offset: 0x60) PWM Fault Status Register
__IO uint32_t PWM_SCUC
(Pwm Offset: 0x28) PWM Sync Channels Update Control Register
__IO uint32_t PWM_ELMR[2]
(Pwm Offset: 0x7C) PWM Event Line 0 Mode Register
__O uint32_t PWM_IDR2
(Pwm Offset: 0x38) PWM Interrupt Disable Register 2
__I uint32_t PWM_SR
(Pwm Offset: 0x0C) PWM Status Register
__I uint32_t Reserved3[11]
__O uint32_t PWM_OSSUPD
(Pwm Offset: 0x54) PWM Output Selection Set Update Register
__O uint32_t PWM_SCUPUPD
(Pwm Offset: 0x30) PWM Sync Channels Update Period Update Register
__I uint32_t PWM_ISR2
(Pwm Offset: 0x40) PWM Interrupt Status Register 2
__IO uint32_t PWM_FPE
(Pwm Offset: 0x6C) PWM Fault Protection Enable Register
__IO uint32_t PWM_TPR
(Pwm Offset: 0x108) Transmit Pointer Register
__I uint32_t Reserved4[12]
__O uint32_t PWM_IER1
(Pwm Offset: 0x10) PWM Interrupt Enable Register 1
__O uint32_t PWM_IER2
(Pwm Offset: 0x34) PWM Interrupt Enable Register 2
__O uint32_t PWM_DIS
(Pwm Offset: 0x08) PWM Disable Register
__O uint32_t PWM_OSS
(Pwm Offset: 0x4C) PWM Output Selection Set Register
__O uint32_t PWM_PTCR
(Pwm Offset: 0x120) Transfer Control Register
__IO uint32_t PWM_OOV
(Pwm Offset: 0x44) PWM Output Override Value Register
__I uint32_t PWM_WPSR
(Pwm Offset: 0xE8) PWM Write Protection Status Register
__I uint32_t Reserved5[7]
PwmCh_num PWM_CH_NUM[PWMCH_NUM_NUMBER]
(Pwm Offset: 0x200) ch_num = 0 .
__O uint32_t PWM_FCR
(Pwm Offset: 0x64) PWM Fault Clear Register
__I uint32_t Reserved6[2]
__I uint32_t PWM_ISR1
(Pwm Offset: 0x1C) PWM Interrupt Status Register 1
__O uint32_t PWM_IDR1
(Pwm Offset: 0x14) PWM Interrupt Disable Register 1
PwmCmp PWM_CMP[PWMCMP_NUMBER]
(Pwm Offset: 0x130) 0 .
__IO uint32_t PWM_SMMR
(Pwm Offset: 0xB0) PWM Stepper Motor Mode Register
__IO uint32_t PWM_OS
(Pwm Offset: 0x48) PWM Output Selection Register
__IO uint32_t PWM_TNPR
(Pwm Offset: 0x118) Transmit Next Pointer Register
__I uint32_t Reserved2[3]
__I uint32_t PWM_PTSR
(Pwm Offset: 0x124) Transfer Status Register
__IO uint32_t PWM_TNCR
(Pwm Offset: 0x11C) Transmit Next Counter Register
__IO uint32_t PWM_CLK
(Pwm Offset: 0x00) PWM Clock Register
__IO uint32_t PWM_SCUP
(Pwm Offset: 0x2C) PWM Sync Channels Update Period Register
__O uint32_t PWM_ENA
(Pwm Offset: 0x04) PWM Enable Register
__IO uint32_t PWM_FPV
(Pwm Offset: 0x68) PWM Fault Protection Value Register
__O uint32_t PWM_OSC
(Pwm Offset: 0x50) PWM Output Selection Clear Register