#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - PIO Enable Register"] pub per: PER, #[doc = "0x04 - PIO Disable Register"] pub pdr: PDR, #[doc = "0x08 - PIO Status Register"] pub psr: PSR, _reserved3: [u8; 0x04], #[doc = "0x10 - Output Enable Register"] pub oer: OER, #[doc = "0x14 - Output Disable Register"] pub odr: ODR, #[doc = "0x18 - Output Status Register"] pub osr: OSR, _reserved6: [u8; 0x04], #[doc = "0x20 - Glitch Input Filter Enable Register"] pub ifer: IFER, #[doc = "0x24 - Glitch Input Filter Disable Register"] pub ifdr: IFDR, #[doc = "0x28 - Glitch Input Filter Status Register"] pub ifsr: IFSR, _reserved9: [u8; 0x04], #[doc = "0x30 - Set Output Data Register"] pub sodr: SODR, #[doc = "0x34 - Clear Output Data Register"] pub codr: CODR, #[doc = "0x38 - Output Data Status Register"] pub odsr: ODSR, #[doc = "0x3c - Pin Data Status Register"] pub pdsr: PDSR, #[doc = "0x40 - Interrupt Enable Register"] pub ier: IER, #[doc = "0x44 - Interrupt Disable Register"] pub idr: IDR, #[doc = "0x48 - Interrupt Mask Register"] pub imr: IMR, #[doc = "0x4c - Interrupt Status Register"] pub isr: ISR, #[doc = "0x50 - Multi-driver Enable Register"] pub mder: MDER, #[doc = "0x54 - Multi-driver Disable Register"] pub mddr: MDDR, #[doc = "0x58 - Multi-driver Status Register"] pub mdsr: MDSR, _reserved20: [u8; 0x04], #[doc = "0x60 - Pull-up Disable Register"] pub pudr: PUDR, #[doc = "0x64 - Pull-up Enable Register"] pub puer: PUER, #[doc = "0x68 - Pad Pull-up Status Register"] pub pusr: PUSR, _reserved23: [u8; 0x04], #[doc = "0x70..0x78 - Peripheral ABCD Select Register 0"] pub abcdsr: [ABCDSR; 2], _reserved24: [u8; 0x08], #[doc = "0x80 - Input Filter Slow Clock Disable Register"] pub ifscdr: IFSCDR, #[doc = "0x84 - Input Filter Slow Clock Enable Register"] pub ifscer: IFSCER, #[doc = "0x88 - Input Filter Slow Clock Status Register"] pub ifscsr: IFSCSR, #[doc = "0x8c - Slow Clock Divider Debouncing Register"] pub scdr: SCDR, #[doc = "0x90 - Pad Pull-down Disable Register"] pub ppddr: PPDDR, #[doc = "0x94 - Pad Pull-down Enable Register"] pub ppder: PPDER, #[doc = "0x98 - Pad Pull-down Status Register"] pub ppdsr: PPDSR, _reserved31: [u8; 0x04], #[doc = "0xa0 - Output Write Enable"] pub ower: OWER, #[doc = "0xa4 - Output Write Disable"] pub owdr: OWDR, #[doc = "0xa8 - Output Write Status Register"] pub owsr: OWSR, _reserved34: [u8; 0x04], #[doc = "0xb0 - Additional Interrupt Modes Enable Register"] pub aimer: AIMER, #[doc = "0xb4 - Additional Interrupt Modes Disable Register"] pub aimdr: AIMDR, #[doc = "0xb8 - Additional Interrupt Modes Mask Register"] pub aimmr: AIMMR, _reserved37: [u8; 0x04], #[doc = "0xc0 - Edge Select Register"] pub esr: ESR, #[doc = "0xc4 - Level Select Register"] pub lsr: LSR, #[doc = "0xc8 - Edge/Level Status Register"] pub elsr: ELSR, _reserved40: [u8; 0x04], #[doc = "0xd0 - Falling Edge/Low-Level Select Register"] pub fellsr: FELLSR, #[doc = "0xd4 - Rising Edge/High-Level Select Register"] pub rehlsr: REHLSR, #[doc = "0xd8 - Fall/Rise - Low/High Status Register"] pub frlhsr: FRLHSR, _reserved43: [u8; 0x04], #[doc = "0xe0 - Lock Status"] pub locksr: LOCKSR, #[doc = "0xe4 - Write Protection Mode Register"] pub wpmr: WPMR, #[doc = "0xe8 - Write Protection Status Register"] pub wpsr: WPSR, _reserved46: [u8; 0x14], #[doc = "0x100 - Schmitt Trigger Register"] pub schmitt: SCHMITT, _reserved47: [u8; 0x14], #[doc = "0x118 - I/O Drive Register"] pub driver: DRIVER, _reserved48: [u8; 0x34], #[doc = "0x150 - Parallel Capture Mode Register"] pub pcmr: PCMR, #[doc = "0x154 - Parallel Capture Interrupt Enable Register"] pub pcier: PCIER, #[doc = "0x158 - Parallel Capture Interrupt Disable Register"] pub pcidr: PCIDR, #[doc = "0x15c - Parallel Capture Interrupt Mask Register"] pub pcimr: PCIMR, #[doc = "0x160 - Parallel Capture Interrupt Status Register"] pub pcisr: PCISR, #[doc = "0x164 - Parallel Capture Reception Holding Register"] pub pcrhr: PCRHR, } #[doc = "PER (w) register accessor: an alias for `Reg`"] pub type PER = crate::Reg; #[doc = "PIO Enable Register"] pub mod per; #[doc = "PDR (w) register accessor: an alias for `Reg`"] pub type PDR = crate::Reg; #[doc = "PIO Disable Register"] pub mod pdr; #[doc = "PSR (r) register accessor: an alias for `Reg`"] pub type PSR = crate::Reg; #[doc = "PIO Status Register"] pub mod psr; #[doc = "OER (w) register accessor: an alias for `Reg`"] pub type OER = crate::Reg; #[doc = "Output Enable Register"] pub mod oer; #[doc = "ODR (w) register accessor: an alias for `Reg`"] pub type ODR = crate::Reg; #[doc = "Output Disable Register"] pub mod odr; #[doc = "OSR (r) register accessor: an alias for `Reg`"] pub type OSR = crate::Reg; #[doc = "Output Status Register"] pub mod osr; #[doc = "IFER (w) register accessor: an alias for `Reg`"] pub type IFER = crate::Reg; #[doc = "Glitch Input Filter Enable Register"] pub mod ifer; #[doc = "IFDR (w) register accessor: an alias for `Reg`"] pub type IFDR = crate::Reg; #[doc = "Glitch Input Filter Disable Register"] pub mod ifdr; #[doc = "IFSR (r) register accessor: an alias for `Reg`"] pub type IFSR = crate::Reg; #[doc = "Glitch Input Filter Status Register"] pub mod ifsr; #[doc = "SODR (w) register accessor: an alias for `Reg`"] pub type SODR = crate::Reg; #[doc = "Set Output Data Register"] pub mod sodr; #[doc = "CODR (w) register accessor: an alias for `Reg`"] pub type CODR = crate::Reg; #[doc = "Clear Output Data Register"] pub mod codr; #[doc = "ODSR (rw) register accessor: an alias for `Reg`"] pub type ODSR = crate::Reg; #[doc = "Output Data Status Register"] pub mod odsr; #[doc = "PDSR (r) register accessor: an alias for `Reg`"] pub type PDSR = crate::Reg; #[doc = "Pin Data Status Register"] pub mod pdsr; #[doc = "IER (w) register accessor: an alias for `Reg`"] pub type IER = crate::Reg; #[doc = "Interrupt Enable Register"] pub mod ier; #[doc = "IDR (w) register accessor: an alias for `Reg`"] pub type IDR = crate::Reg; #[doc = "Interrupt Disable Register"] pub mod idr; #[doc = "IMR (r) register accessor: an alias for `Reg`"] pub type IMR = crate::Reg; #[doc = "Interrupt Mask Register"] pub mod imr; #[doc = "ISR (r) register accessor: an alias for `Reg`"] pub type ISR = crate::Reg; #[doc = "Interrupt Status Register"] pub mod isr; #[doc = "MDER (w) register accessor: an alias for `Reg`"] pub type MDER = crate::Reg; #[doc = "Multi-driver Enable Register"] pub mod mder; #[doc = "MDDR (w) register accessor: an alias for `Reg`"] pub type MDDR = crate::Reg; #[doc = "Multi-driver Disable Register"] pub mod mddr; #[doc = "MDSR (r) register accessor: an alias for `Reg`"] pub type MDSR = crate::Reg; #[doc = "Multi-driver Status Register"] pub mod mdsr; #[doc = "PUDR (w) register accessor: an alias for `Reg`"] pub type PUDR = crate::Reg; #[doc = "Pull-up Disable Register"] pub mod pudr; #[doc = "PUER (w) register accessor: an alias for `Reg`"] pub type PUER = crate::Reg; #[doc = "Pull-up Enable Register"] pub mod puer; #[doc = "PUSR (r) register accessor: an alias for `Reg`"] pub type PUSR = crate::Reg; #[doc = "Pad Pull-up Status Register"] pub mod pusr; #[doc = "ABCDSR (rw) register accessor: an alias for `Reg`"] pub type ABCDSR = crate::Reg; #[doc = "Peripheral ABCD Select Register 0"] pub mod abcdsr; #[doc = "IFSCDR (w) register accessor: an alias for `Reg`"] pub type IFSCDR = crate::Reg; #[doc = "Input Filter Slow Clock Disable Register"] pub mod ifscdr; #[doc = "IFSCER (w) register accessor: an alias for `Reg`"] pub type IFSCER = crate::Reg; #[doc = "Input Filter Slow Clock Enable Register"] pub mod ifscer; #[doc = "IFSCSR (r) register accessor: an alias for `Reg`"] pub type IFSCSR = crate::Reg; #[doc = "Input Filter Slow Clock Status Register"] pub mod ifscsr; #[doc = "SCDR (rw) register accessor: an alias for `Reg`"] pub type SCDR = crate::Reg; #[doc = "Slow Clock Divider Debouncing Register"] pub mod scdr; #[doc = "PPDDR (w) register accessor: an alias for `Reg`"] pub type PPDDR = crate::Reg; #[doc = "Pad Pull-down Disable Register"] pub mod ppddr; #[doc = "PPDER (w) register accessor: an alias for `Reg`"] pub type PPDER = crate::Reg; #[doc = "Pad Pull-down Enable Register"] pub mod ppder; #[doc = "PPDSR (r) register accessor: an alias for `Reg`"] pub type PPDSR = crate::Reg; #[doc = "Pad Pull-down Status Register"] pub mod ppdsr; #[doc = "OWER (w) register accessor: an alias for `Reg`"] pub type OWER = crate::Reg; #[doc = "Output Write Enable"] pub mod ower; #[doc = "OWDR (w) register accessor: an alias for `Reg`"] pub type OWDR = crate::Reg; #[doc = "Output Write Disable"] pub mod owdr; #[doc = "OWSR (r) register accessor: an alias for `Reg`"] pub type OWSR = crate::Reg; #[doc = "Output Write Status Register"] pub mod owsr; #[doc = "AIMER (w) register accessor: an alias for `Reg`"] pub type AIMER = crate::Reg; #[doc = "Additional Interrupt Modes Enable Register"] pub mod aimer; #[doc = "AIMDR (w) register accessor: an alias for `Reg`"] pub type AIMDR = crate::Reg; #[doc = "Additional Interrupt Modes Disable Register"] pub mod aimdr; #[doc = "AIMMR (r) register accessor: an alias for `Reg`"] pub type AIMMR = crate::Reg; #[doc = "Additional Interrupt Modes Mask Register"] pub mod aimmr; #[doc = "ESR (w) register accessor: an alias for `Reg`"] pub type ESR = crate::Reg; #[doc = "Edge Select Register"] pub mod esr; #[doc = "LSR (w) register accessor: an alias for `Reg`"] pub type LSR = crate::Reg; #[doc = "Level Select Register"] pub mod lsr; #[doc = "ELSR (r) register accessor: an alias for `Reg`"] pub type ELSR = crate::Reg; #[doc = "Edge/Level Status Register"] pub mod elsr; #[doc = "FELLSR (w) register accessor: an alias for `Reg`"] pub type FELLSR = crate::Reg; #[doc = "Falling Edge/Low-Level Select Register"] pub mod fellsr; #[doc = "REHLSR (w) register accessor: an alias for `Reg`"] pub type REHLSR = crate::Reg; #[doc = "Rising Edge/High-Level Select Register"] pub mod rehlsr; #[doc = "FRLHSR (r) register accessor: an alias for `Reg`"] pub type FRLHSR = crate::Reg; #[doc = "Fall/Rise - Low/High Status Register"] pub mod frlhsr; #[doc = "LOCKSR (r) register accessor: an alias for `Reg`"] pub type LOCKSR = crate::Reg; #[doc = "Lock Status"] pub mod locksr; #[doc = "WPMR (rw) register accessor: an alias for `Reg`"] pub type WPMR = crate::Reg; #[doc = "Write Protection Mode Register"] pub mod wpmr; #[doc = "WPSR (r) register accessor: an alias for `Reg`"] pub type WPSR = crate::Reg; #[doc = "Write Protection Status Register"] pub mod wpsr; #[doc = "SCHMITT (rw) register accessor: an alias for `Reg`"] pub type SCHMITT = crate::Reg; #[doc = "Schmitt Trigger Register"] pub mod schmitt; #[doc = "DRIVER (rw) register accessor: an alias for `Reg`"] pub type DRIVER = crate::Reg; #[doc = "I/O Drive Register"] pub mod driver; #[doc = "PCMR (rw) register accessor: an alias for `Reg`"] pub type PCMR = crate::Reg; #[doc = "Parallel Capture Mode Register"] pub mod pcmr; #[doc = "PCIER (w) register accessor: an alias for `Reg`"] pub type PCIER = crate::Reg; #[doc = "Parallel Capture Interrupt Enable Register"] pub mod pcier; #[doc = "PCIDR (w) register accessor: an alias for `Reg`"] pub type PCIDR = crate::Reg; #[doc = "Parallel Capture Interrupt Disable Register"] pub mod pcidr; #[doc = "PCIMR (r) register accessor: an alias for `Reg`"] pub type PCIMR = crate::Reg; #[doc = "Parallel Capture Interrupt Mask Register"] pub mod pcimr; #[doc = "PCISR (r) register accessor: an alias for `Reg`"] pub type PCISR = crate::Reg; #[doc = "Parallel Capture Interrupt Status Register"] pub mod pcisr; #[doc = "PCRHR (r) register accessor: an alias for `Reg`"] pub type PCRHR = crate::Reg; #[doc = "Parallel Capture Reception Holding Register"] pub mod pcrhr;