pub struct EMAC { /* private fields */ }Expand description
Ethernet Medium Access Controller
Implementations§
Source§impl EMAC
impl EMAC
Sourcepub const PTR: *const RegisterBlock = {0x4500000 as *const emac::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x4500000 as *const emac::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn emac_basic_ctl0(&self) -> &EMAC_BASIC_CTL0
pub fn emac_basic_ctl0(&self) -> &EMAC_BASIC_CTL0
0x00 - EMAC Basic Control Register0
Sourcepub fn emac_basic_ctl1(&self) -> &EMAC_BASIC_CTL1
pub fn emac_basic_ctl1(&self) -> &EMAC_BASIC_CTL1
0x04 - EMAC Basic Control Register1
Sourcepub fn emac_int_sta(&self) -> &EMAC_INT_STA
pub fn emac_int_sta(&self) -> &EMAC_INT_STA
0x08 - EMAC Interrupt Status Register
Sourcepub fn emac_int_en(&self) -> &EMAC_INT_EN
pub fn emac_int_en(&self) -> &EMAC_INT_EN
0x0c - EMAC Interrupt Enable Register
Sourcepub fn emac_tx_ctl0(&self) -> &EMAC_TX_CTL0
pub fn emac_tx_ctl0(&self) -> &EMAC_TX_CTL0
0x10 - EMAC Transmit Control Register0
Sourcepub fn emac_tx_ctl1(&self) -> &EMAC_TX_CTL1
pub fn emac_tx_ctl1(&self) -> &EMAC_TX_CTL1
0x14 - EMAC Transmit Control Register1
Sourcepub fn emac_tx_flow_ctl(&self) -> &EMAC_TX_FLOW_CTL
pub fn emac_tx_flow_ctl(&self) -> &EMAC_TX_FLOW_CTL
0x1c - EMAC Transmit Flow Control Register
Sourcepub fn emac_tx_dma_desc_list(&self) -> &EMAC_TX_DMA_DESC_LIST
pub fn emac_tx_dma_desc_list(&self) -> &EMAC_TX_DMA_DESC_LIST
0x20 - EMAC Transmit Descriptor List Address Register
Sourcepub fn emac_rx_ctl0(&self) -> &EMAC_RX_CTL0
pub fn emac_rx_ctl0(&self) -> &EMAC_RX_CTL0
0x24 - EMAC Receive Control Register0
Sourcepub fn emac_rx_ctl1(&self) -> &EMAC_RX_CTL1
pub fn emac_rx_ctl1(&self) -> &EMAC_RX_CTL1
0x28 - EMAC Receive Control Register1
Sourcepub fn emac_rx_dma_desc_list(&self) -> &EMAC_RX_DMA_DESC_LIST
pub fn emac_rx_dma_desc_list(&self) -> &EMAC_RX_DMA_DESC_LIST
0x34 - EMAC Receive Descriptor List Address Register
Sourcepub fn emac_rx_frm_flt(&self) -> &EMAC_RX_FRM_FLT
pub fn emac_rx_frm_flt(&self) -> &EMAC_RX_FRM_FLT
0x38 - EMAC Receive Frame Filter Register
Sourcepub fn emac_rx_hash0(&self) -> &EMAC_RX_HASH0
pub fn emac_rx_hash0(&self) -> &EMAC_RX_HASH0
0x40 - EMAC Hash Table Register0
Sourcepub fn emac_rx_hash1(&self) -> &EMAC_RX_HASH1
pub fn emac_rx_hash1(&self) -> &EMAC_RX_HASH1
0x44 - EMAC Hash Table Register1
Sourcepub fn emac_mii_cmd(&self) -> &EMAC_MII_CMD
pub fn emac_mii_cmd(&self) -> &EMAC_MII_CMD
0x48 - EMAC Management Interface Command Register
Sourcepub fn emac_mii_data(&self) -> &EMAC_MII_DATA
pub fn emac_mii_data(&self) -> &EMAC_MII_DATA
0x4c - EMAC Management Interface Data Register
Sourcepub fn emac_addr_high0(&self) -> &EMAC_ADDR_HIGH0
pub fn emac_addr_high0(&self) -> &EMAC_ADDR_HIGH0
0x50 - EMAC MAC Address High Register
Sourcepub fn emac_addr_low(&self, n: usize) -> &EMAC_ADDR_LOW
pub fn emac_addr_low(&self, n: usize) -> &EMAC_ADDR_LOW
0x54..0x74 - EMAC MAC Address Low Register
Sourcepub fn emac_addr_high(&self, n: usize) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high(&self, n: usize) -> &EMAC_ADDR_HIGH
0x58..0x74 - EMAC MAC Address High Register
Sourcepub fn emac_addr_high1(&self) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high1(&self) -> &EMAC_ADDR_HIGH
0x58 - EMAC MAC Address High Register
Sourcepub fn emac_addr_high2(&self) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high2(&self) -> &EMAC_ADDR_HIGH
0x60 - EMAC MAC Address High Register
Sourcepub fn emac_addr_high3(&self) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high3(&self) -> &EMAC_ADDR_HIGH
0x68 - EMAC MAC Address High Register
Sourcepub fn emac_addr_high4(&self) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high4(&self) -> &EMAC_ADDR_HIGH
0x70 - EMAC MAC Address High Register
Sourcepub fn emac_addr_high5(&self) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high5(&self) -> &EMAC_ADDR_HIGH
0x78 - EMAC MAC Address High Register
Sourcepub fn emac_addr_high6(&self) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high6(&self) -> &EMAC_ADDR_HIGH
0x80 - EMAC MAC Address High Register
Sourcepub fn emac_addr_high7(&self) -> &EMAC_ADDR_HIGH
pub fn emac_addr_high7(&self) -> &EMAC_ADDR_HIGH
0x88 - EMAC MAC Address High Register
Sourcepub fn emac_tx_dma_sta(&self) -> &EMAC_TX_DMA_STA
pub fn emac_tx_dma_sta(&self) -> &EMAC_TX_DMA_STA
0xb0 - EMAC Transmit DMA Status Register
Sourcepub fn emac_tx_cur_desc(&self) -> &EMAC_TX_CUR_DESC
pub fn emac_tx_cur_desc(&self) -> &EMAC_TX_CUR_DESC
0xb4 - EMAC Current Transmit Descriptor Register
Sourcepub fn emac_tx_cur_buf(&self) -> &EMAC_TX_CUR_BUF
pub fn emac_tx_cur_buf(&self) -> &EMAC_TX_CUR_BUF
0xb8 - EMAC Current Transmit Buffer Address Register
Sourcepub fn emac_rx_dma_sta(&self) -> &EMAC_RX_DMA_STA
pub fn emac_rx_dma_sta(&self) -> &EMAC_RX_DMA_STA
0xc0 - EMAC Receive DMA Status Register
Sourcepub fn emac_rx_cur_desc(&self) -> &EMAC_RX_CUR_DESC
pub fn emac_rx_cur_desc(&self) -> &EMAC_RX_CUR_DESC
0xc4 - EMAC Current Receive Descriptor Register
Sourcepub fn emac_rx_cur_buf(&self) -> &EMAC_RX_CUR_BUF
pub fn emac_rx_cur_buf(&self) -> &EMAC_RX_CUR_BUF
0xc8 - EMAC Current Receive Buffer Address Register
Sourcepub fn emac_rgmii_sta(&self) -> &EMAC_RGMII_STA
pub fn emac_rgmii_sta(&self) -> &EMAC_RGMII_STA
0xd0 - EMAC RGMII Status Register