Struct stm32ral::stm32mp::peripherals::eth_mac_mmc::RegisterBlock[][src]

#[repr(C)]
pub struct RegisterBlock {
Show 95 fields pub ETH_MACCR: RWRegister<u32>, pub ETH_MACECR: RWRegister<u32>, pub ETH_MACPFR: RWRegister<u32>, pub ETH_MACWTR: RWRegister<u32>, pub ETH_MACHT0R: RWRegister<u32>, pub ETH_MACHT1R: RWRegister<u32>, pub ETH_MACVTR: RWRegister<u32>, pub ETH_MACVHTR: RWRegister<u32>, pub ETH_MACVIR: RWRegister<u32>, pub ETH_MACIVIR: RWRegister<u32>, pub ETH_MACQ0TxFCR: RWRegister<u32>, pub ETH_MACRxFCR: RWRegister<u32>, pub ETH_MACTxQPMR: RORegister<u32>, pub ETH_MACRxQC0R: RWRegister<u32>, pub ETH_MACRxQC1R: RWRegister<u32>, pub ETH_MACRxQC2R: RWRegister<u32>, pub ETH_MACISR: RORegister<u32>, pub ETH_MACIER: RWRegister<u32>, pub ETH_MACRxTxSR: RORegister<u32>, pub ETH_MACPCSR: RWRegister<u32>, pub ETH_MACRWKPFR: RWRegister<u32>, pub ETH_MACLCSR: RWRegister<u32>, pub ETH_MACLTCR: RWRegister<u32>, pub ETH_MACLETR: RWRegister<u32>, pub ETH_MAC1USTCR: RWRegister<u32>, pub ETH_MACPHYCSR: RWRegister<u32>, pub ETH_MACVR: RORegister<u32>, pub ETH_MACDR: RORegister<u32>, pub ETH_MACHWF1R: RORegister<u32>, pub ETH_MACHWF2R: RORegister<u32>, pub ETH_MACMDIOAR: RWRegister<u32>, pub ETH_MACMDIODR: RWRegister<u32>, pub ETH_MACA0HR: RWRegister<u32>, pub ETH_MACA0LR: RWRegister<u32>, pub ETH_MACA1HR: RWRegister<u32>, pub ETH_MACA1LR: RWRegister<u32>, pub ETH_MACA2HR: RWRegister<u32>, pub ETH_MACA2LR: RWRegister<u32>, pub ETH_MACA3HR: RWRegister<u32>, pub ETH_MACA3LR: RWRegister<u32>, pub MMC_CONTROL: RWRegister<u32>, pub MMC_RX_INTERRUPT: RORegister<u32>, pub MMC_TX_INTERRUPT: RORegister<u32>, pub MMC_RX_INTERRUPT_MASK: RWRegister<u32>, pub MMC_TX_INTERRUPT_MASK: RWRegister<u32>, pub TX_SINGLE_COLLISION_GOOD_PACKETS: RORegister<u32>, pub TX_MULTIPLE_COLLISION_GOOD_PACKETS: RORegister<u32>, pub TX_PACKET_COUNT_GOOD: RORegister<u32>, pub RX_CRC_ERROR_PACKETS: RORegister<u32>, pub RX_ALIGNMENT_ERROR_PACKETS: RORegister<u32>, pub RX_UNICAST_PACKETS_GOOD: RORegister<u32>, pub TX_LPI_USEC_CNTR: RORegister<u32>, pub TX_LPI_TRAN_CNTR: RORegister<u32>, pub RX_LPI_USEC_CNTR: RORegister<u32>, pub RX_LPI_TRAN_CNTR: RORegister<u32>, pub ETH_MACL3L4C0R: RWRegister<u32>, pub ETH_MACL4A0R: RWRegister<u32>, pub ETH_MACL3A00R: RWRegister<u32>, pub ETH_MACL3A10R: RWRegister<u32>, pub ETH_MACL3A20: RWRegister<u32>, pub ETH_MACL3A30: RWRegister<u32>, pub ETH_MACL3L4C1R: RWRegister<u32>, pub ETH_MACL4A1R: RWRegister<u32>, pub ETH_MACL3A01R: RWRegister<u32>, pub ETH_MACL3A11R: RWRegister<u32>, pub ETH_MACL3A21R: RWRegister<u32>, pub ETH_MACL3A31R: RWRegister<u32>, pub ETH_MACARPAR: RWRegister<u32>, pub ETH_MACTSCR: RWRegister<u32>, pub ETH_MACSSIR: RWRegister<u32>, pub ETH_MACSTSR: RORegister<u32>, pub ETH_MACSTNR: RORegister<u32>, pub ETH_MACSTSUR: RWRegister<u32>, pub ETH_MACSTNUR: RWRegister<u32>, pub ETH_MACTSAR: RWRegister<u32>, pub ETH_MACTSSR: RORegister<u32>, pub ETH_MACTxTSSNR: RORegister<u32>, pub ETH_MACTxTSSSR: RORegister<u32>, pub ETH_MACACR: RWRegister<u32>, pub ETH_MACATSNR: RORegister<u32>, pub ETH_MACATSSR: RORegister<u32>, pub ETH_MACTSIACR: RWRegister<u32>, pub ETH_MACTSEACR: RWRegister<u32>, pub ETH_MACTSICNR: RWRegister<u32>, pub ETH_MACTSECNR: RWRegister<u32>, pub ETH_MACPPSCR: RWRegister<u32>, pub ETH_MACPPSTTSR: RWRegister<u32>, pub ETH_MACPPSTTNR: RWRegister<u32>, pub ETH_MACPPSIR: RWRegister<u32>, pub ETH_MACPPSWR: RWRegister<u32>, pub ETH_MACPOCR: RWRegister<u32>, pub ETH_MACSPI0R: RWRegister<u32>, pub ETH_MACSPI1R: RWRegister<u32>, pub ETH_MACSPI2R: RWRegister<u32>, pub ETH_MACLMIR: RWRegister<u32>, // some fields omitted
}

Fields

ETH_MACCR: RWRegister<u32>

The MAC Configuration Register establishes the operating mode of the MAC.

ETH_MACECR: RWRegister<u32>

The MAC Extended Configuration Register establishes the operating mode of the MAC.

ETH_MACPFR: RWRegister<u32>

The MAC Packet Filter register contains the filter controls for receiving packets. Some of the controls from this register go to the address check block of the MAC which performs the first level of address filtering. The second level of filtering is performed on the incoming packet based on other controls such as Pass Bad Packets and Pass Control Packets.

ETH_MACWTR: RWRegister<u32>

The Watchdog Timeout register controls the watchdog timeout for received packets.

ETH_MACHT0R: RWRegister<u32>

The Hash Table Register 0 contains the first 32 bits of the Hash table (64 bits). For Hash filtering, the content of the destination address in the incoming packet is passed through the CRC logic and the upper six bits of the CRC register are used to index the content of the Hash table. The most significant bits determines the register to be used (Hash Table Register 0 or 1). The Hash value of the destination address is calculated in the following way: Calculate the 32-bit CRC for the DA (See IEEE 802.3, Section 3.2.8 for the steps to calculate CRC32). Perform bitwise reversal for the value obtained in Step 1. Take the upper 7 or 8 bits from the value obtained in Step 2. If the corresponding bit value of the register is 1, the packet is accepted. Otherwise, it is rejected. If the PM bit is set in ETH_MACPFR, all multicast packets are accepted regardless of the multicast Hash values. If the Hash Table register is configured to be double-synchronized to the GMII clock domain, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the Hash Table Register X registers are written.

ETH_MACHT1R: RWRegister<u32>

The Hash Table Register 1contains the last 32 bits of the Hash table (64 bits). For Hash filtering, the content of the destination address in the incoming packet is passed through the CRC logic and the upper six bits of the CRC register are used to index the content of the Hash table. The most significant bits determines the register to be used (Hash Table Register 0 or 1). The Hash value of the destination address is calculated in the following way: Calculate the 32-bit CRC for the DA (See IEEE 802.3, Section 3.2.8 for the steps to calculate CRC32). Perform bitwise reversal for the value obtained in Step 1. Take the upper 7 or 8 bits from the value obtained in Step 2. If the corresponding bit value of the register is 1, the packet is accepted. Otherwise, it is rejected. If the PM bit is set in ETH_MACPFR, all multicast packets are accepted regardless of the multicast Hash values. If the Hash Table register is configured to be double-synchronized to the GMII clock domain, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the Hash Table Register X registers are written.

ETH_MACVTR: RWRegister<u32>

The VLAN Tag register identifies the IEEE 802.1Q VLAN type packets.

ETH_MACVHTR: RWRegister<u32>

When the ERSVLM bit of ETH_MACHT1R register is set, the 16-bit VLAN Hash Table register is used for group address filtering based on the VLAN tag. For Hash filtering, the content of the 16-bit VLAN tag or 12-bit VLAN ID (based on the ETV bit of ETH_MACVTR register) in the incoming packet is passed through the CRC logic. The upper four bits of the calculated CRC are used to index the contents of the VLAN Hash table. For example, a Hash value of 1000 selects Bit 8 of the VLAN Hash table. The Hash value of the destination address is calculated in the following way: Calculate the 32-bit CRC for the VLAN tag or ID (For steps to calculate CRC32, see Section 3.2.8 of IEEE 802.3). Perform bitwise reversal for the value obtained in step 1. Take the upper four bits from the value obtained in step 2. If the VLAN Hash Table register is configured to be double-synchronized to the GMII clock domain, the synchronization is triggered only when Bits[15:8] (in little-endian mode) or Bits[7:0] (in big-endian mode) of this register are written.

ETH_MACVIR: RWRegister<u32>

The VLAN Tag Inclusion or Replacement register contains the VLAN tag for insertion or replacement in the Transmit packets. It also contains the VLAN tag insertion controls.

ETH_MACIVIR: RWRegister<u32>

The Inner VLAN Tag Inclusion or Replacement register contains the inner VLAN tag to be inserted or replaced in the Transmit packet. It also contains the inner VLAN tag insertion controls.

ETH_MACQ0TxFCR: RWRegister<u32>

The Flow Control register controls the generation and reception of the Control (Pause Command) packets by the Flow control module of the MAC. A Write to a register with the Busy bit set to 1 triggers the Flow Control block to generate a Pause packet. The fields of the control packet are selected as specified in the 802.3x specification, and the Pause Time value from this register is used in the Pause Time field of the control packet. The Busy bit remains set until the control packet is transferred onto the cable. The application must make sure that the Busy bit is cleared before writing to the register.

ETH_MACRxFCR: RWRegister<u32>

The Receive Flow Control register controls the pausing of MAC Transmit based on the received Pause packet.

ETH_MACTxQPMR: RORegister<u32>

The transmit queue priority mapping 0 register contains the priority values assigned to Tx queue 0 and tx queue 1.

ETH_MACRxQC0R: RWRegister<u32>

The Receive Queue Control 0 register controls the queue management in the MAC Receiver.

ETH_MACRxQC1R: RWRegister<u32>

The Receive Queue Control 1 register controls queue 1 management in the MAC receiver.

ETH_MACRxQC2R: RWRegister<u32>

This register controls the routing of tagged packets based on the USP (user priority) field of the received packets to the Rx queue 0 and 1.

ETH_MACISR: RORegister<u32>

The Interrupt Status register contains the status of interrupts.

ETH_MACIER: RWRegister<u32>

The Interrupt Enable register contains the masks for generating the interrupts.

ETH_MACRxTxSR: RORegister<u32>

The Receive Transmit Status register contains the Receive and Transmit Error status.

ETH_MACPCSR: RWRegister<u32>

The PMT Control and Status Register is present only when you select the PMT module in coreConsultant.

ETH_MACRWKPFR: RWRegister<u32>

The LPI Control and Status Register controls the LPI functions and provides the LPI interrupt status. The status bits are cleared when this register is read.

ETH_MACLCSR: RWRegister<u32>

The LPI Control and Status Register controls the LPI functions and provides the LPI interrupt status. The status bits are cleared when this register is read.

ETH_MACLTCR: RWRegister<u32>

The LPI Timers Control register controls the timeout values in the LPI states. It specifies the time for which the MAC transmits the LPI pattern and also the time for which the MAC waits before resuming the normal transmission.

ETH_MACLETR: RWRegister<u32>

The LPI Entry Timer Register is used to store the LPI Idle Timer Value in Micro-Seconds.

ETH_MAC1USTCR: RWRegister<u32>

This register controls the generation of the Reference time (1-microsecond tick) for all the LPI timers. This timer has to be programmed by the software initially.

ETH_MACPHYCSR: RWRegister<u32>

The PHY Interface Control and Status register indicates the status signals received by the, RGMII interface from the PHY.

ETH_MACVR: RORegister<u32>

The version register identifies the version of the Ethernet peripheral.

ETH_MACDR: RORegister<u32>

The Debug register provides the debug status of various MAC blocks.

ETH_MACHWF1R: RORegister<u32>

This register indicates the presence of second set of the optional features or functions of the Ethernet peripheral. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks.

ETH_MACHWF2R: RORegister<u32>

This register indicates the presence of third set of the optional features or functions of the Ethernet peripheral. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks.

ETH_MACMDIOAR: RWRegister<u32>

The MDIO Address register controls the management cycles to external PHY through a management interface.

ETH_MACMDIODR: RWRegister<u32>

The MDIO Data register stores the Write data to be written to the PHY register located at the address specified in ETH_MACMDIOAR. This register also stores the Read data from the PHY register located at the address specified by MDIO Address register.

ETH_MACA0HR: RWRegister<u32>

The MAC Address0 High register holds the upper 16 bits of the first 6-byte MAC address of the station. The first DA byte that is received on the GMII interface corresponds to the LS byte (Bits [7:0]) of the MAC Address Low register. For example, if 0x112233445566 is received (0x11 in lane 0 of the first column) on the GMII as the destination address, then the MacAddress0 Register [47:0] is compared with 0x665544332211. If the MAC address registers are configured to be double-synchronized to the GMII clock domains, then the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address0 Low Register are written. For proper synchronization updates, the consecutive writes to this Address Low Register should be performed after at least four clock cycles in the destination clock domain.

ETH_MACA0LR: RWRegister<u32>

The MAC Address x Low register holds the lower 32 bits of the 6-byte first MAC address of the station.

ETH_MACA1HR: RWRegister<u32>

The MAC Address x High register holds the upper 16 bits of the second 6-byte MAC address of the station.

ETH_MACA1LR: RWRegister<u32>

The MAC Address x Low register holds the lower 32 bits of the 6-byte first MAC address of the station.

ETH_MACA2HR: RWRegister<u32>

The MAC Address x High register holds the upper 16 bits of the second 6-byte MAC address of the station.

ETH_MACA2LR: RWRegister<u32>

The MAC Address x Low register holds the lower 32 bits of the 6-byte first MAC address of the station.

ETH_MACA3HR: RWRegister<u32>

The MAC Address x High register holds the upper 16 bits of the second 6-byte MAC address of the station.

ETH_MACA3LR: RWRegister<u32>

The MAC Address x Low register holds the lower 32 bits of the 6-byte first MAC address of the station.

MMC_CONTROL: RWRegister<u32>

This register configures the MMC operating mode.

MMC_RX_INTERRUPT: RORegister<u32>

This register maintains the interrupts generated from all Receive statistics counters. The MMC Receive Interrupt register maintains the interrupts that are generated when the following occur: Receive statistic counters reach half of their maximum values (0x8000_0000 for 32 bit counter and 0x8000 for 16 bit counter). Receive statistic counters cross their maximum values (0xFFFF_FFFF for 32 bit counter and 0xFFFF for 16 bit counter). When the Counter Stop Rollover is set, interrupts are set but the counter remains at all-ones. The MMC Receive Interrupt register is a 32 bit register. An interrupt bit is cleared when the respective MMC counter that caused the interrupt is read. The least significant byte lane (Bits[7:0]) of the respective counter must be read to clear the interrupt bit.

MMC_TX_INTERRUPT: RORegister<u32>

This register maintains the interrupts generated from all Transmit statistics counters. The MMC Transmit Interrupt register maintains the interrupts generated when transmit statistic counters reach half their maximum values (0x8000_0000 for 32 bit counter and 0x8000 for 16 bit counter), and when they cross their maximum values (0xFFFF_FFFF for 32-bit counter and 0xFFFF for 16-bit counter). When Counter Stop Rollover is set, the interrupts are set but the counter remains at all-ones. The MMC Transmit Interrupt register is a 32 bit register. An interrupt bit is cleared when the respective MMC counter that caused the interrupt is read. The least significant byte lane (Bits[7:0]) of the respective counter must be read to clear the interrupt bit.

MMC_RX_INTERRUPT_MASK: RWRegister<u32>

The MMC Receive Interrupt Mask register maintains the masks for the interrupts generated when receive statistic counters reach half of their maximum value or the maximum values.

MMC_TX_INTERRUPT_MASK: RWRegister<u32>

This register maintains the masks for interrupts generated from all Transmit statistics counters. The MMC Transmit Interrupt Mask register maintains the masks for the interrupts generated when the transmit statistic counters reach half of their maximum value or the maximum values. This register is 32 bit wide. This register is present only when any one of the MMC Transmit Counters is selected during core configuration.

TX_SINGLE_COLLISION_GOOD_PACKETS: RORegister<u32>

This register provides the number of successfully transmitted packets by Ethernet peripheral after a single collision in the half-duplex mode.

TX_MULTIPLE_COLLISION_GOOD_PACKETS: RORegister<u32>

This register provides the number of successfully transmitted packets by Ethernet peripheral after multiple collisions in the half-duplex mode.

TX_PACKET_COUNT_GOOD: RORegister<u32>

This register provides the number of good packets transmitted by Ethernet peripheral.

RX_CRC_ERROR_PACKETS: RORegister<u32>

This register provides the number of packets received by Ethernet peripheral with CRC error.

RX_ALIGNMENT_ERROR_PACKETS: RORegister<u32>

This register provides the number of packets received by Ethernet peripheral with alignment (dribble) error. It is valid only in 10/100 mode.

RX_UNICAST_PACKETS_GOOD: RORegister<u32>

This register provides the number of good unicast packets received by Ethernet peripheral.

TX_LPI_USEC_CNTR: RORegister<u32>

This register provides the number of microseconds Tx LPI is asserted by Ethernet peripheral.

TX_LPI_TRAN_CNTR: RORegister<u32>

This register provides the number of times Ethernet peripheral has entered Tx LPI.

RX_LPI_USEC_CNTR: RORegister<u32>

This register provides the number of microseconds Rx LPI is sampled by Ethernet peripheral.

RX_LPI_TRAN_CNTR: RORegister<u32>

This register provides the number of times Ethernet peripheral has entered Rx LPI.

ETH_MACL3L4C0R: RWRegister<u32>

The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4. This register is reserved if the Layer 3 and Layer 4 Filtering feature is not selected during core configuration.

ETH_MACL4A0R: RWRegister<u32>

Layer4 address filter 0 register

ETH_MACL3A00R: RWRegister<u32>

For IPv4 packets, the Layer 3 Address 0 Register 0 register contains the 32-bit IP Source Address field. For IPv6 packets, it contains Bits[31:0] of the 128-bit IP Source Address or Destination Address field.

ETH_MACL3A10R: RWRegister<u32>

For IPv4 packets, the Layer 3 Address 1 Register 0 register contains the 32-bit IP Destination Address field. For IPv6 packets, it contains Bits[63:32] of the 128-bit IP Source Address or Destination Address field.

ETH_MACL3A20: RWRegister<u32>

The Layer 3 Address 2 Register 0 register is reserved for IPv4 packets. For IPv6 packets, it contains Bits[95:64] of 128-bit IP Source Address or Destination Address field.

ETH_MACL3A30: RWRegister<u32>

The Layer 3 Address 3 Register 0 register is reserved for IPv4 packets. For IPv6 packets, it contains Bits[127:96] of 128-bit IP Source Address or Destination Address field.

ETH_MACL3L4C1R: RWRegister<u32>

The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4.

ETH_MACL4A1R: RWRegister<u32>

The Layer 4 Address 0 register and registers 580 through 667 are reserved (RO with default value) if Enable Layer 3 and Layer 4 Packet Filter option is not selected while configuring the core. You can configure the Layer 3 and Layer 4 Address Registers to be double-synchronized by selecting the Synchronize Layer 3 and Layer 4 Address Registers to Rx Clock Domain option while configuring the core. When you select this option, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the Layer 3 and Layer 4 Address Registers are written. For proper synchronization updates, you should perform consecutive writes to same Layer 3 and Layer 4 Address Registers after at least four clock cycles delay of the destination clock.

ETH_MACL3A01R: RWRegister<u32>

For IPv4 packets, the Layer 3 Address 0 Register 0 register contains the 32-bit IP Source Address field. For IPv6 packets, it contains Bits[31:0] of the 128-bit IP Source Address or Destination Address field.

ETH_MACL3A11R: RWRegister<u32>

For IPv4 packets, the Layer 3 Address 1 Register 0 register contains the 32-bit IP Destination Address field. For IPv6 packets, it contains Bits[63:32] of the 128-bit IP Source Address or Destination Address field.

ETH_MACL3A21R: RWRegister<u32>

The Layer 3 Address 2 Register 0 register is reserved for IPv4 packets. For IPv6 packets, it contains Bits[95:64] of 128-bit IP Source Address or Destination Address field.

ETH_MACL3A31R: RWRegister<u32>

The Layer 3 Address 3 Register 0 register is reserved for IPv4 packets. For IPv6 packets, it contains Bits[127:96] of 128-bit IP Source Address or Destination Address field.

ETH_MACARPAR: RWRegister<u32>

The ARP Address register contains the IPv4 Destination Address of the MAC.

ETH_MACTSCR: RWRegister<u32>

This register controls the operation of the System Time generator and processing of PTP packets for timestamping in the Receiver.

ETH_MACSSIR: RWRegister<u32>

The Sub-second Increment register is present only when the IEEE 1588 timestamp feature is selected without an external timestamp input. In Coarse Update mode [Bit 1 in ETH_MACTSCR register, the value in this register is added to the system time every clock cycle of HCLK. In Fine Update mode, the value in this register is added to the system time whenever the Accumulator gets an overflow.

ETH_MACSTSR: RORegister<u32>

The System Time Seconds register, along with System Time Nanoseconds register, indicates the current value of the system time maintained by the MAC. Though it is updated on a continuous basis, there is some delay from the actual time because of clock domain transfer latencies (from HCLK to CSR clock). This register is present only when the IEEE 1588 Timestamp feature is selected without external timestamp input.

ETH_MACSTNR: RORegister<u32>

The System Time Nanoseconds register, along with System Time Seconds register, indicates the current value of the system time maintained by the MAC. This register is present only when the IEEE 1588 Timestamp feature is selected without external timestamp input.

ETH_MACSTSUR: RWRegister<u32>

The System Time Seconds Update register, along with the System Time Nanoseconds Update register, initializes or updates the system time maintained by the MAC. You must write both registers before setting the TSINIT or TSUPDT bits in ETH_MACTSCR register. This register is present only when the IEEE 1588 Timestamp feature is selected without external timestamp input.

ETH_MACSTNUR: RWRegister<u32>

This register is present only when the IEEE 1588 timestamp feature is selected without external timestamp input.

ETH_MACTSAR: RWRegister<u32>

The Timestamp Addend register is present only when the IEEE 1588 Timestamp feature is selected without external timestamp input. This register value is used only when the system time is configured for Fine Update mode (TSCFUPDT bit in the ETH_MACTSCR register). The content of this register is added to a 32-bit accumulator in every clock cycle (of HCLK) and the system time is updated whenever the accumulator overflows.

ETH_MACTSSR: RORegister<u32>

The Timestamp Status register is present only when the IEEE 1588 Timestamp feature is selected. All bits except Bits[27:25] gets cleared when the application reads this register.

ETH_MACTxTSSNR: RORegister<u32>

This register contains the nanosecond part of timestamp captured for Transmit packets when Tx status is disabled.

ETH_MACTxTSSSR: RORegister<u32>

The register contains the higher 32 bits of the timestamp (in seconds) captured when a PTP packet is transmitted.

ETH_MACACR: RWRegister<u32>

The Auxiliary Timestamp Control register controls the Auxiliary Timestamp snapshot.

ETH_MACATSNR: RORegister<u32>

The Auxiliary Timestamp Nanoseconds register, along with ETH_MACATSSR, gives the 64-bit timestamp stored as auxiliary snapshot. These two registers form the read port of a 64-bit wide FIFO with a depth of 4 words. You can store multiple snapshots in this FIFO. Bits[29:25] in ETH_MACTSSR indicate the fill-level of the FIFO. The top of the FIFO is removed only when the last byte of MAC Register 91 (Auxiliary Timestamp - Seconds Register) is read. In the little-endian mode, this means when Bits[31:24] are read and in big-endian mode, Bits[7:0] are read.

ETH_MACATSSR: RORegister<u32>

The Auxiliary Timestamp - Seconds register contains the lower 32 bits of the Seconds field of the auxiliary timestamp register.

ETH_MACTSIACR: RWRegister<u32>

The MAC Timestamp Ingress Asymmetry Correction register contains the Ingress Asymmetry Correction value to be used while updating correction field in PDelay_Resp PTP messages.

ETH_MACTSEACR: RWRegister<u32>

The MAC Timestamp Egress Asymmetry Correction register contains the Egress Asymmetry Correction value to be used while updating the correction field in PDelay_Req PTP messages.

ETH_MACTSICNR: RWRegister<u32>

This register contains the correction value in nanoseconds to be used with the captured timestamp value in the ingress path.

ETH_MACTSECNR: RWRegister<u32>

This register contains the correction value in nanoseconds to be used with the captured timestamp value in the egress path.

ETH_MACPPSCR: RWRegister<u32>

The PPS Control register is present only when the Timestamp feature is selected and External Timestamp is not enabled. Bits[30:24] of this register are valid only when four Flexible PPS outputs are selected. Bits[22:16] are valid only when three or more Flexible PPS outputs are selected. Bits[14:8] are valid only when two or more Flexible PPS outputs are selected. Bits[6:4] are valid only when Flexible PPS feature is selected.

ETH_MACPPSTTSR: RWRegister<u32>

The PPS Target Time Seconds register, along with PPS Target Time Nanoseconds register, is used to schedule an interrupt event [Bit 1 of ETH_MACTSSR] when the system time exceeds the value programmed in these registers.

ETH_MACPPSTTNR: RWRegister<u32>

The PPS Target Time Nanoseconds register is present only when more than one Flexible PPS output is selected.

ETH_MACPPSIR: RWRegister<u32>

The PPS Interval register contains the number of units of sub-second increment value between the rising edges of PPS signal output (ptp_pps_o[0]).

ETH_MACPPSWR: RWRegister<u32>

The PPS Width register contains the number of units of sub-second increment value between the rising and corresponding falling edges of PPS signal output (ptp_pps_o).

ETH_MACPOCR: RWRegister<u32>

This register controls the PTP Offload Engine operation. This register is available only when the Enable PTP Timestamp Offload feature is selected.

ETH_MACSPI0R: RWRegister<u32>

This register contains Bits[31:0] of the 80-bit Source Port Identity of the PTP node. This register is available only when the Enable PTP Timestamp Offload feature is selected.

ETH_MACSPI1R: RWRegister<u32>

This register contains Bits[63:32] of the 80-bit Source Port Identity of the PTP node. This register is available only when the Enable PTP Timestamp Offload feature is selected.

ETH_MACSPI2R: RWRegister<u32>

This register contains Bits[79:64] of the 80-bit Source Port Identity of the PTP node.

ETH_MACLMIR: RWRegister<u32>

This register contains the periodic intervals for automatic PTP packet generation.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.