#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - PWM Clock Register"] pub clk: CLK, #[doc = "0x04 - PWM Enable Register"] pub ena: ENA, #[doc = "0x08 - PWM Disable Register"] pub dis: DIS, #[doc = "0x0c - PWM Status Register"] pub sr: SR, #[doc = "0x10 - PWM Interrupt Enable Register 1"] pub ier1: IER1, #[doc = "0x14 - PWM Interrupt Disable Register 1"] pub idr1: IDR1, #[doc = "0x18 - PWM Interrupt Mask Register 1"] pub imr1: IMR1, #[doc = "0x1c - PWM Interrupt Status Register 1"] pub isr1: ISR1, #[doc = "0x20 - PWM Sync Channels Mode Register"] pub scm: SCM, #[doc = "0x24 - PWM DMA Register"] pub dmar: DMAR, #[doc = "0x28 - PWM Sync Channels Update Control Register"] pub scuc: SCUC, #[doc = "0x2c - PWM Sync Channels Update Period Register"] pub scup: SCUP, #[doc = "0x30 - PWM Sync Channels Update Period Update Register"] pub scupupd: SCUPUPD, #[doc = "0x34 - PWM Interrupt Enable Register 2"] pub ier2: IER2, #[doc = "0x38 - PWM Interrupt Disable Register 2"] pub idr2: IDR2, #[doc = "0x3c - PWM Interrupt Mask Register 2"] pub imr2: IMR2, #[doc = "0x40 - PWM Interrupt Status Register 2"] pub isr2: ISR2, #[doc = "0x44 - PWM Output Override Value Register"] pub oov: OOV, #[doc = "0x48 - PWM Output Selection Register"] pub os: OS, #[doc = "0x4c - PWM Output Selection Set Register"] pub oss: OSS, #[doc = "0x50 - PWM Output Selection Clear Register"] pub osc: OSC, #[doc = "0x54 - PWM Output Selection Set Update Register"] pub ossupd: OSSUPD, #[doc = "0x58 - PWM Output Selection Clear Update Register"] pub oscupd: OSCUPD, #[doc = "0x5c - PWM Fault Mode Register"] pub fmr: FMR, #[doc = "0x60 - PWM Fault Status Register"] pub fsr: FSR, #[doc = "0x64 - PWM Fault Clear Register"] pub fcr: FCR, #[doc = "0x68 - PWM Fault Protection Value Register 1"] pub fpv1: FPV1, #[doc = "0x6c - PWM Fault Protection Enable Register"] pub fpe: FPE, _reserved28: [u8; 0x0c], #[doc = "0x7c..0x84 - PWM Event Line 0 Mode Register 0"] pub elmr: [ELMR; 2], _reserved29: [u8; 0x1c], #[doc = "0xa0 - PWM Spread Spectrum Register"] pub sspr: SSPR, #[doc = "0xa4 - PWM Spread Spectrum Update Register"] pub sspup: SSPUP, _reserved31: [u8; 0x08], #[doc = "0xb0 - PWM Stepper Motor Mode Register"] pub smmr: SMMR, _reserved32: [u8; 0x0c], #[doc = "0xc0 - PWM Fault Protection Value 2 Register"] pub fpv2: FPV2, _reserved33: [u8; 0x20], #[doc = "0xe4 - PWM Write Protection Control Register"] pub wpcr: WPCR, #[doc = "0xe8 - PWM Write Protection Status Register"] pub wpsr: WPSR, _reserved35: [u8; 0x44], #[doc = "0x130..0x1b0 - PWM Comparison 0 Value Register"] pub pwm_cmp: [PWM_CMP; 8], _reserved36: [u8; 0x50], #[doc = "0x200..0x280 - PWM Channel Mode Register (ch_num = 0)"] pub pwm_ch_num: [PWM_CH_NUM; 4], _reserved37: [u8; 0x0180], #[doc = "0x400 - PWM Channel Mode Update Register (ch_num = 0)"] pub cmupd0: CMUPD0, _reserved38: [u8; 0x1c], #[doc = "0x420 - PWM Channel Mode Update Register (ch_num = 1)"] pub cmupd1: CMUPD1, _reserved39: [u8; 0x08], #[doc = "0x42c - PWM External Trigger Register (trg_num = 1)"] pub etrg1: ETRG1, #[doc = "0x430 - PWM Leading-Edge Blanking Register (trg_num = 1)"] pub lebr1: LEBR1, _reserved41: [u8; 0x0c], #[doc = "0x440 - PWM Channel Mode Update Register (ch_num = 2)"] pub cmupd2: CMUPD2, _reserved42: [u8; 0x08], #[doc = "0x44c - PWM External Trigger Register (trg_num = 2)"] pub etrg2: ETRG2, #[doc = "0x450 - PWM Leading-Edge Blanking Register (trg_num = 2)"] pub lebr2: LEBR2, _reserved44: [u8; 0x0c], #[doc = "0x460 - PWM Channel Mode Update Register (ch_num = 3)"] pub cmupd3: CMUPD3, } #[doc = "CLK (rw) register accessor: an alias for `Reg`"] pub type CLK = crate::Reg; #[doc = "PWM Clock Register"] pub mod clk; #[doc = "ENA (w) register accessor: an alias for `Reg`"] pub type ENA = crate::Reg; #[doc = "PWM Enable Register"] pub mod ena; #[doc = "DIS (w) register accessor: an alias for `Reg`"] pub type DIS = crate::Reg; #[doc = "PWM Disable Register"] pub mod dis; #[doc = "SR (r) register accessor: an alias for `Reg`"] pub type SR = crate::Reg; #[doc = "PWM Status Register"] pub mod sr; #[doc = "IER1 (w) register accessor: an alias for `Reg`"] pub type IER1 = crate::Reg; #[doc = "PWM Interrupt Enable Register 1"] pub mod ier1; #[doc = "IDR1 (w) register accessor: an alias for `Reg`"] pub type IDR1 = crate::Reg; #[doc = "PWM Interrupt Disable Register 1"] pub mod idr1; #[doc = "IMR1 (r) register accessor: an alias for `Reg`"] pub type IMR1 = crate::Reg; #[doc = "PWM Interrupt Mask Register 1"] pub mod imr1; #[doc = "ISR1 (r) register accessor: an alias for `Reg`"] pub type ISR1 = crate::Reg; #[doc = "PWM Interrupt Status Register 1"] pub mod isr1; #[doc = "SCM (rw) register accessor: an alias for `Reg`"] pub type SCM = crate::Reg; #[doc = "PWM Sync Channels Mode Register"] pub mod scm; #[doc = "DMAR (w) register accessor: an alias for `Reg`"] pub type DMAR = crate::Reg; #[doc = "PWM DMA Register"] pub mod dmar; #[doc = "SCUC (rw) register accessor: an alias for `Reg`"] pub type SCUC = crate::Reg; #[doc = "PWM Sync Channels Update Control Register"] pub mod scuc; #[doc = "SCUP (rw) register accessor: an alias for `Reg`"] pub type SCUP = crate::Reg; #[doc = "PWM Sync Channels Update Period Register"] pub mod scup; #[doc = "SCUPUPD (w) register accessor: an alias for `Reg`"] pub type SCUPUPD = crate::Reg; #[doc = "PWM Sync Channels Update Period Update Register"] pub mod scupupd; #[doc = "IER2 (w) register accessor: an alias for `Reg`"] pub type IER2 = crate::Reg; #[doc = "PWM Interrupt Enable Register 2"] pub mod ier2; #[doc = "IDR2 (w) register accessor: an alias for `Reg`"] pub type IDR2 = crate::Reg; #[doc = "PWM Interrupt Disable Register 2"] pub mod idr2; #[doc = "IMR2 (r) register accessor: an alias for `Reg`"] pub type IMR2 = crate::Reg; #[doc = "PWM Interrupt Mask Register 2"] pub mod imr2; #[doc = "ISR2 (r) register accessor: an alias for `Reg`"] pub type ISR2 = crate::Reg; #[doc = "PWM Interrupt Status Register 2"] pub mod isr2; #[doc = "OOV (rw) register accessor: an alias for `Reg`"] pub type OOV = crate::Reg; #[doc = "PWM Output Override Value Register"] pub mod oov; #[doc = "OS (rw) register accessor: an alias for `Reg`"] pub type OS = crate::Reg; #[doc = "PWM Output Selection Register"] pub mod os; #[doc = "OSS (w) register accessor: an alias for `Reg`"] pub type OSS = crate::Reg; #[doc = "PWM Output Selection Set Register"] pub mod oss; #[doc = "OSC (w) register accessor: an alias for `Reg`"] pub type OSC = crate::Reg; #[doc = "PWM Output Selection Clear Register"] pub mod osc; #[doc = "OSSUPD (w) register accessor: an alias for `Reg`"] pub type OSSUPD = crate::Reg; #[doc = "PWM Output Selection Set Update Register"] pub mod ossupd; #[doc = "OSCUPD (w) register accessor: an alias for `Reg`"] pub type OSCUPD = crate::Reg; #[doc = "PWM Output Selection Clear Update Register"] pub mod oscupd; #[doc = "FMR (rw) register accessor: an alias for `Reg`"] pub type FMR = crate::Reg; #[doc = "PWM Fault Mode Register"] pub mod fmr; #[doc = "FSR (r) register accessor: an alias for `Reg`"] pub type FSR = crate::Reg; #[doc = "PWM Fault Status Register"] pub mod fsr; #[doc = "FCR (w) register accessor: an alias for `Reg`"] pub type FCR = crate::Reg; #[doc = "PWM Fault Clear Register"] pub mod fcr; #[doc = "FPV1 (rw) register accessor: an alias for `Reg`"] pub type FPV1 = crate::Reg; #[doc = "PWM Fault Protection Value Register 1"] pub mod fpv1; #[doc = "FPE (rw) register accessor: an alias for `Reg`"] pub type FPE = crate::Reg; #[doc = "PWM Fault Protection Enable Register"] pub mod fpe; #[doc = "ELMR (rw) register accessor: an alias for `Reg`"] pub type ELMR = crate::Reg; #[doc = "PWM Event Line 0 Mode Register 0"] pub mod elmr; #[doc = "SSPR (rw) register accessor: an alias for `Reg`"] pub type SSPR = crate::Reg; #[doc = "PWM Spread Spectrum Register"] pub mod sspr; #[doc = "SSPUP (w) register accessor: an alias for `Reg`"] pub type SSPUP = crate::Reg; #[doc = "PWM Spread Spectrum Update Register"] pub mod sspup; #[doc = "SMMR (rw) register accessor: an alias for `Reg`"] pub type SMMR = crate::Reg; #[doc = "PWM Stepper Motor Mode Register"] pub mod smmr; #[doc = "FPV2 (rw) register accessor: an alias for `Reg`"] pub type FPV2 = crate::Reg; #[doc = "PWM Fault Protection Value 2 Register"] pub mod fpv2; #[doc = "WPCR (w) register accessor: an alias for `Reg`"] pub type WPCR = crate::Reg; #[doc = "PWM Write Protection Control Register"] pub mod wpcr; #[doc = "WPSR (r) register accessor: an alias for `Reg`"] pub type WPSR = crate::Reg; #[doc = "PWM Write Protection Status Register"] pub mod wpsr; #[doc = "PWM Comparison 0 Value Register"] pub use self::pwm_cmp::PWM_CMP; #[doc = r"Cluster"] #[doc = "PWM Comparison 0 Value Register"] pub mod pwm_cmp; #[doc = "PWM Channel Mode Register (ch_num = 0)"] pub use self::pwm_ch_num::PWM_CH_NUM; #[doc = r"Cluster"] #[doc = "PWM Channel Mode Register (ch_num = 0)"] pub mod pwm_ch_num; #[doc = "CMUPD0 (w) register accessor: an alias for `Reg`"] pub type CMUPD0 = crate::Reg; #[doc = "PWM Channel Mode Update Register (ch_num = 0)"] pub mod cmupd0; #[doc = "CMUPD1 (w) register accessor: an alias for `Reg`"] pub type CMUPD1 = crate::Reg; #[doc = "PWM Channel Mode Update Register (ch_num = 1)"] pub mod cmupd1; #[doc = "ETRG1 (rw) register accessor: an alias for `Reg`"] pub type ETRG1 = crate::Reg; #[doc = "PWM External Trigger Register (trg_num = 1)"] pub mod etrg1; #[doc = "LEBR1 (rw) register accessor: an alias for `Reg`"] pub type LEBR1 = crate::Reg; #[doc = "PWM Leading-Edge Blanking Register (trg_num = 1)"] pub mod lebr1; #[doc = "CMUPD2 (w) register accessor: an alias for `Reg`"] pub type CMUPD2 = crate::Reg; #[doc = "PWM Channel Mode Update Register (ch_num = 2)"] pub mod cmupd2; #[doc = "ETRG2 (rw) register accessor: an alias for `Reg`"] pub type ETRG2 = crate::Reg; #[doc = "PWM External Trigger Register (trg_num = 2)"] pub mod etrg2; #[doc = "LEBR2 (rw) register accessor: an alias for `Reg`"] pub type LEBR2 = crate::Reg; #[doc = "PWM Leading-Edge Blanking Register (trg_num = 2)"] pub mod lebr2; #[doc = "CMUPD3 (w) register accessor: an alias for `Reg`"] pub type CMUPD3 = crate::Reg; #[doc = "PWM Channel Mode Update Register (ch_num = 3)"] pub mod cmupd3;