lpc43xx 0.1.0

Register definitions for the NXP LPC43xx microcontroller platform, generated through svd2rust
Documentation
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - MAC configuration register"]
    pub mac_config: MAC_CONFIG,
    #[doc = "0x04 - MAC frame filter"]
    pub mac_frame_filter: MAC_FRAME_FILTER,
    #[doc = "0x08 - Hash table high register"]
    pub mac_hashtable_high: MAC_HASHTABLE_HIGH,
    #[doc = "0x0c - Hash table low register"]
    pub mac_hashtable_low: MAC_HASHTABLE_LOW,
    #[doc = "0x10 - MII address register"]
    pub mac_mii_addr: MAC_MII_ADDR,
    #[doc = "0x14 - MII data register"]
    pub mac_mii_data: MAC_MII_DATA,
    #[doc = "0x18 - Flow control register"]
    pub mac_flow_ctrl: MAC_FLOW_CTRL,
    #[doc = "0x1c - VLAN tag register"]
    pub mac_vlan_tag: MAC_VLAN_TAG,
    _reserved0: [u8; 4usize],
    #[doc = "0x24 - Debug register"]
    pub mac_debug: MAC_DEBUG,
    #[doc = "0x28 - Remote wake-up frame filter"]
    pub mac_rwake_frflt: MAC_RWAKE_FRFLT,
    #[doc = "0x2c - PMT control and status"]
    pub mac_pmt_ctrl_stat: MAC_PMT_CTRL_STAT,
    _reserved1: [u8; 8usize],
    #[doc = "0x38 - Interrupt status register"]
    pub mac_intr: MAC_INTR,
    #[doc = "0x3c - Interrupt mask register"]
    pub mac_intr_mask: MAC_INTR_MASK,
    #[doc = "0x40 - MAC address 0 high register"]
    pub mac_addr0_high: MAC_ADDR0_HIGH,
    #[doc = "0x44 - MAC address 0 low register"]
    pub mac_addr0_low: MAC_ADDR0_LOW,
    _reserved2: [u8; 1720usize],
    #[doc = "0x700 - Time stamp control register"]
    pub mac_timestp_ctrl: MAC_TIMESTP_CTRL,
    #[doc = "0x704 - Sub-second increment register"]
    pub subsecond_incr: SUBSECOND_INCR,
    #[doc = "0x708 - System time seconds register"]
    pub seconds: SECONDS,
    #[doc = "0x70c - System time nanoseconds register"]
    pub nanoseconds: NANOSECONDS,
    #[doc = "0x710 - System time seconds update register"]
    pub secondsupdate: SECONDSUPDATE,
    #[doc = "0x714 - System time nanoseconds update register"]
    pub nanosecondsupdate: NANOSECONDSUPDATE,
    #[doc = "0x718 - Time stamp addend register"]
    pub addend: ADDEND,
    #[doc = "0x71c - Target time seconds register"]
    pub targetseconds: TARGETSECONDS,
    #[doc = "0x720 - Target time nanoseconds register"]
    pub targetnanoseconds: TARGETNANOSECONDS,
    #[doc = "0x724 - System time higher word seconds register"]
    pub highword: HIGHWORD,
    #[doc = "0x728 - Time stamp status register"]
    pub timestampstat: TIMESTAMPSTAT,
    _reserved3: [u8; 2260usize],
    #[doc = "0x1000 - Bus Mode Register"]
    pub dma_bus_mode: DMA_BUS_MODE,
    #[doc = "0x1004 - Transmit poll demand register"]
    pub dma_trans_poll_demand: DMA_TRANS_POLL_DEMAND,
    #[doc = "0x1008 - Receive poll demand register"]
    pub dma_rec_poll_demand: DMA_REC_POLL_DEMAND,
    #[doc = "0x100c - Receive descriptor list address register"]
    pub dma_rec_des_addr: DMA_REC_DES_ADDR,
    #[doc = "0x1010 - Transmit descriptor list address register"]
    pub dma_trans_des_addr: DMA_TRANS_DES_ADDR,
    #[doc = "0x1014 - Status register"]
    pub dma_stat: DMA_STAT,
    #[doc = "0x1018 - Operation mode register"]
    pub dma_op_mode: DMA_OP_MODE,
    #[doc = "0x101c - Interrupt enable register"]
    pub dma_int_en: DMA_INT_EN,
    #[doc = "0x1020 - Missed frame and buffer overflow register"]
    pub dma_mfrm_bufof: DMA_MFRM_BUFOF,
    #[doc = "0x1024 - Receive interrupt watchdog timer register"]
    pub dma_rec_int_wdt: DMA_REC_INT_WDT,
    _reserved4: [u8; 32usize],
    #[doc = "0x1048 - Current host transmit descriptor register"]
    pub dma_curhost_trans_des: DMA_CURHOST_TRANS_DES,
    #[doc = "0x104c - Current host receive descriptor register"]
    pub dma_curhost_rec_des: DMA_CURHOST_REC_DES,
    #[doc = "0x1050 - Current host transmit buffer address register"]
    pub dma_curhost_trans_buf: DMA_CURHOST_TRANS_BUF,
    #[doc = "0x1054 - Current host receive buffer address register"]
    pub dma_curhost_rec_buf: DMA_CURHOST_REC_BUF,
}
#[doc = "MAC configuration register"]
pub struct MAC_CONFIG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "MAC configuration register"]
pub mod mac_config;
#[doc = "MAC frame filter"]
pub struct MAC_FRAME_FILTER {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "MAC frame filter"]
pub mod mac_frame_filter;
#[doc = "Hash table high register"]
pub struct MAC_HASHTABLE_HIGH {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Hash table high register"]
pub mod mac_hashtable_high;
#[doc = "Hash table low register"]
pub struct MAC_HASHTABLE_LOW {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Hash table low register"]
pub mod mac_hashtable_low;
#[doc = "MII address register"]
pub struct MAC_MII_ADDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "MII address register"]
pub mod mac_mii_addr;
#[doc = "MII data register"]
pub struct MAC_MII_DATA {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "MII data register"]
pub mod mac_mii_data;
#[doc = "Flow control register"]
pub struct MAC_FLOW_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Flow control register"]
pub mod mac_flow_ctrl;
#[doc = "VLAN tag register"]
pub struct MAC_VLAN_TAG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "VLAN tag register"]
pub mod mac_vlan_tag;
#[doc = "Debug register"]
pub struct MAC_DEBUG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Debug register"]
pub mod mac_debug;
#[doc = "Remote wake-up frame filter"]
pub struct MAC_RWAKE_FRFLT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Remote wake-up frame filter"]
pub mod mac_rwake_frflt;
#[doc = "PMT control and status"]
pub struct MAC_PMT_CTRL_STAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "PMT control and status"]
pub mod mac_pmt_ctrl_stat;
#[doc = "Interrupt status register"]
pub struct MAC_INTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt status register"]
pub mod mac_intr;
#[doc = "Interrupt mask register"]
pub struct MAC_INTR_MASK {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt mask register"]
pub mod mac_intr_mask;
#[doc = "MAC address 0 high register"]
pub struct MAC_ADDR0_HIGH {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "MAC address 0 high register"]
pub mod mac_addr0_high;
#[doc = "MAC address 0 low register"]
pub struct MAC_ADDR0_LOW {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "MAC address 0 low register"]
pub mod mac_addr0_low;
#[doc = "Time stamp control register"]
pub struct MAC_TIMESTP_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Time stamp control register"]
pub mod mac_timestp_ctrl;
#[doc = "Sub-second increment register"]
pub struct SUBSECOND_INCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Sub-second increment register"]
pub mod subsecond_incr;
#[doc = "System time seconds register"]
pub struct SECONDS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System time seconds register"]
pub mod seconds;
#[doc = "System time nanoseconds register"]
pub struct NANOSECONDS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System time nanoseconds register"]
pub mod nanoseconds;
#[doc = "System time seconds update register"]
pub struct SECONDSUPDATE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System time seconds update register"]
pub mod secondsupdate;
#[doc = "System time nanoseconds update register"]
pub struct NANOSECONDSUPDATE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System time nanoseconds update register"]
pub mod nanosecondsupdate;
#[doc = "Time stamp addend register"]
pub struct ADDEND {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Time stamp addend register"]
pub mod addend;
#[doc = "Target time seconds register"]
pub struct TARGETSECONDS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Target time seconds register"]
pub mod targetseconds;
#[doc = "Target time nanoseconds register"]
pub struct TARGETNANOSECONDS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Target time nanoseconds register"]
pub mod targetnanoseconds;
#[doc = "System time higher word seconds register"]
pub struct HIGHWORD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System time higher word seconds register"]
pub mod highword;
#[doc = "Time stamp status register"]
pub struct TIMESTAMPSTAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Time stamp status register"]
pub mod timestampstat;
#[doc = "Bus Mode Register"]
pub struct DMA_BUS_MODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Bus Mode Register"]
pub mod dma_bus_mode;
#[doc = "Transmit poll demand register"]
pub struct DMA_TRANS_POLL_DEMAND {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit poll demand register"]
pub mod dma_trans_poll_demand;
#[doc = "Receive poll demand register"]
pub struct DMA_REC_POLL_DEMAND {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receive poll demand register"]
pub mod dma_rec_poll_demand;
#[doc = "Receive descriptor list address register"]
pub struct DMA_REC_DES_ADDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receive descriptor list address register"]
pub mod dma_rec_des_addr;
#[doc = "Transmit descriptor list address register"]
pub struct DMA_TRANS_DES_ADDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit descriptor list address register"]
pub mod dma_trans_des_addr;
#[doc = "Status register"]
pub struct DMA_STAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status register"]
pub mod dma_stat;
#[doc = "Operation mode register"]
pub struct DMA_OP_MODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Operation mode register"]
pub mod dma_op_mode;
#[doc = "Interrupt enable register"]
pub struct DMA_INT_EN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt enable register"]
pub mod dma_int_en;
#[doc = "Missed frame and buffer overflow register"]
pub struct DMA_MFRM_BUFOF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Missed frame and buffer overflow register"]
pub mod dma_mfrm_bufof;
#[doc = "Receive interrupt watchdog timer register"]
pub struct DMA_REC_INT_WDT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receive interrupt watchdog timer register"]
pub mod dma_rec_int_wdt;
#[doc = "Current host transmit descriptor register"]
pub struct DMA_CURHOST_TRANS_DES {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Current host transmit descriptor register"]
pub mod dma_curhost_trans_des;
#[doc = "Current host receive descriptor register"]
pub struct DMA_CURHOST_REC_DES {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Current host receive descriptor register"]
pub mod dma_curhost_rec_des;
#[doc = "Current host transmit buffer address register"]
pub struct DMA_CURHOST_TRANS_BUF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Current host transmit buffer address register"]
pub mod dma_curhost_trans_buf;
#[doc = "Current host receive buffer address register"]
pub struct DMA_CURHOST_REC_BUF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Current host receive buffer address register"]
pub mod dma_curhost_rec_buf;