SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
Table 43-92 lists the memory-mapped registers for the EMAC_REGS registers. All register offset addresses not listed in Table 43-92 should be considered as reserved locations and the register contents should not be modified.
Offset | Acronym | Register Name | Section |
---|---|---|---|
0h | MAC_Configuration | The MAC Configuration Register establishes the operating mode of the MAC. | Go |
4h | MAC_Ext_Configuration | The MAC Extended Configuration Register establishes the operating mode of the MAC. | Go |
8h | MAC_Packet_Filter | 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. | Go |
Ch | MAC_Watchdog_Timeout | The Watchdog Timeout register controls the watchdog timeout for received packets. | Go |
10h | MAC_Hash_Table_Reg0 | The Hash Table Register 0 contains the first 32 bits of the hash table, when the width of the hash table is 128 or 256 bits. You can specify the width of the hash table by using the Hash Table Size option in coreConsultant. The Hash table is used for group address filtering. For hash filtering, the content of the destination address in the incoming packet is passed through the CRC logic and the upper six (seven in 128-bit Hash or eight in 256-bit Hash) 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 X), and the least significant five bits determine the bit within the register. For example, a hash value of 6'b100000 (in 64-bit Hash) selects Bit 0 of the Hash Table Register 1, a value of 7b'1110000 (in 128-bit Hash) selects Bit 16 of the Hash Table Register 3 and a value of 8b'10111111 (in 256-bit Hash) selects Bit 31 of the Hash Table Register 5. 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 6 (or 7 or 8) bits from the value obtained in Step 2. If the corresponding bit value of the register is 1'b1, the packet is accepted. Otherwise, it is rejected. If the PM bit is set in MAC_Packet_Filter, all multicast packets are accepted regardless of the multicast hash values. If the Hash Table register is configured to be double-synchronized to the (G)MII 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. If double-synchronization is enabled, consecutive writes to this register should be performed after at least four clock cycles in the destination clock domain. | Go |
14h | MAC_Hash_Table_Reg1 | The Hash Table Register 1 contains the second 32 bits of the hash table. You can specify the width of the hash table by using the Hash Table Size option in coreConsultant. The Hash table is used for group address filtering. For hash filtering, the content of the destination address in the incoming packet is passed through the CRC logic and the upper six (seven in 128-bit Hash or eight in 256-bit Hash) 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 X), and the least significant five bits determine the bit within the register. For example, a hash value of 6'b100000 (in 64-bit Hash) selects Bit 0 of the Hash Table Register 1, a value of 7b'1110000 (in 128-bit Hash) selects Bit 16 of the Hash Table Register 3 and a value of 8b'10111111 (in 256-bit Hash) selects Bit 31 of the Hash Table Register 5. 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 6 (or 7 or 8) bits from the value obtained in Step 2. If the corresponding bit value of the register is 1'b1, the packet is accepted. Otherwise, it is rejected. If the PM bit is set in MAC_Packet_Filter, all multicast packets are accepted regardless of the multicast hash values. If the Hash Table register is configured to be double-synchronized to the (G)MII 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. If double-synchronization is enabled, consecutive writes to this register should be performed after at least four clock cycles in the destination clock domain. | Go |
50h | MAC_VLAN_Tag_Ctrl | This register is the redefined format of the MAC VLAN Tag Register. It is used for indirect addressing. It contains the address offset, command type and Busy Bit for CSR access of the Per VLAN Tag registers. | Go |
54h | MAC_VLAN_Tag_Data | This register holds the read/write data for Indirect Access of the Per VLAN Tag registers. During the read access, this field contains valid read data only after the OB bit is reset. During the write access, this field should be valid prior to setting the OB bit in the MAC_VLAN_Tag_Ctrl Register. | Go |
58h | MAC_VLAN_Hash_Table | When VTHM bit of the MAC_VLAN_Tag 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 MAC_VLAN_Tag 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 4b'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 (G)MII 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. - If double-synchronization is enabled, consecutive writes to this register should be performed after at least four clock cycles in the destination clock domain. | Go |
60h | MAC_VLAN_Incl | 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. | Go |
64h | MAC_Inner_VLAN_Incl | 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. | Go |
70h | MAC_Q0_Tx_Flow_Ctrl | 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. When the PFCE bit in the MAC_Rx_Flow_Ctrl register is enabled, this register controls the generation of Priority Flow Control (PFC) frames with priorities mapped according to PSRQ0 in the MAC_RxQ_Ctrl2 register. | Go |
90h | MAC_Rx_Flow_Ctrl | The Receive Flow Control register controls the pausing of MAC Transmit based on the received Pause packet. | Go |
94h | MAC_RxQ_Ctrl4 | The Receive Queue Control 4 register controls the routing of unicast and multicast packets that fail the Destination or Source address filter to the Rx queues. | Go |
A0h | MAC_RxQ_Ctrl0 | The Receive Queue Control 0 register controls the queue management in the MAC Receiver. Note: In multiple Rx queues configuration, all the queues are disabled by default. Enable the Rx queue by programming the corresponding field in this register. | Go |
A4h | MAC_RxQ_Ctrl1 | The Receive Queue Control 1 register controls the routing of multicast, broadcast, AV, DCB, and untagged packets to the Rx queues. | Go |
A8h | MAC_RxQ_Ctrl2 | This register controls the routing of tagged packets based on the USP (user Priority) field of the received packets to the RxQueues 0 to 3. | Go |
B0h | MAC_Interrupt_Status | The Interrupt Status register contains the status of interrupts. | Go |
B4h | MAC_Interrupt_Enable | The Interrupt Enable register contains the masks for generating the interrupts. | Go |
B8h | MAC_Rx_Tx_Status | The Receive Transmit Status register contains the Receive and Transmit Error status. | Go |
C0h | MAC_PMT_Control_Status | The PMT Control and Status Register. | Go |
C4h | MAC_RWK_Packet_Filter | The wkuppktfilter_reg register at address 0C4H loads the Wake-up Packet Filter register. To load values in a Wake-up Packet Filter register, the entire register (wkuppktfilter_reg) must be written. The wkuppktfilter_reg register is loaded by sequentially loading the eight, sixteen or thirty two register values in address (0C4H) for wkuppktfilter_reg0, wkuppktfilter_reg1,.. wkuppktfilter_reg31, respectively. The wkuppktfilter_reg register is read in a similar way. The DWC_ether_qos updates the wkuppktfilter_reg register current pointer value in Bits[26:24] of MAC_PMT_Control_Status register. Filter i Byte Mask: The filter i byte mask register defines the bytes of the packet that are examined by filter i (0, 1, 2, 3,..,15) to determine whether or not a packet is a wake-up packet. - The MSB (31st bit) must be zero. - Bit j[30:0] is the byte mask. - If Bit j (byte number) of the byte mask is set, the CRC block processes the Filter i Offset + j of the incoming packet; otherwise Filter i Offset + j is ignored. Filter i Command: The 4-bit filter i command controls the filter i operation. - Bit 3 specifies the address type, defining the destination address type of the pattern. When the bit is set, the pattern applies to only multicast packets; when the bit is reset, the pattern applies only to unicast packet. - Bit 2 (Inverse Mode), when set, reverses the logic of the CRC16 hash function signal, to reject a packet with matching CRC_16 value. - Bit 2, along with Bit 1, allows a MAC to reject a subset of remote wake-up packets by creating filter logic such as "Pattern 1 AND NOT Pattern 2". - Bit 1 (And_Previous) implements the Boolean logic. When set, the result of the current entry is logically ANDed with the result of the previous filter. This AND logic allows a filter pattern longer than 32 bytes by splitting the mask among two, three, or four filters. This depends on the number of filters that have the And_Previous bit set. - Bit 0 is the enable for filter i. If Bit 0 is not set, filter i is disabled. Filter i Offset: This filter i offset register defines the offset (within the packet) from which the filter i examines the packets. - This 8-bit pattern-offset is the offset for the filter i first byte to be examined. - The minimum allowed offset is 12, which refers to the 13th byte of the packet. - The offset value 0 refers to the first byte of the packet. Filter i CRC-16: This filter i CRC-16 register contains the CRC_16 value calculated from the pattern and also the byte mask programmed to the wake-up filter register block. - The 16-bit CRC calculation uses the following polynomial: G(x) = x^16 + x^15 + x^2 + 1 Each mask, used in the hash function calculation, is compared with a 16-bit value associated with that mask. Each filter has the following: - 32-bit Mask: Each bit in this mask corresponds to one byte in the detected packet. If the bit is 1', the corresponding byte is taken into the CRC16 calculation. - 8-bit Offset Pointer: Specifies the byte to start the CRC16 computation. The pointer and the mask are used together to locate the bytes to be used in the CRC16 calculations. - Note: If you are accessing these registers in byte or half-word mode, the internal counter to access the appropriate wkuppktfilter_reg is incremented when CPU accesses Lane 3 (or Lane 0 in big-endian mode). - Note: When any Register content is being transferred to a different clock domain after a write operation, there should not be any further writes to the same location until the first write is updated. Otherwise, the second write operation does not get updated to the destination clock domain. Therefore, the delay between two writes to the same register location should be at least 4 cycles of the destination clock (PHY receive clock, PHY transmit clock, or PTP clock). Notes on And_Previous bit setting The And_Previous bit setting is applicable within a set of 4 filters. - Setting of And_Previous bit of filter that is not enabled has no effect. In other words, setting And_Previous bit of lowest number filter in the set of 4 filters has no effect. For example, setting of And_Previous bit of Filter 0 has no effect. - If And_Previous bit is set for filter to form AND chained filter, the AND chain breaks at the point any filter is not enabled. For example: If Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set) but Filter 1 is not enabled (bit 0 of in Filter 1 command is reset), then only Filter 2 result is considered. If Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set), Filter 3 And_Previous bit is set (bit 1 of Filter 3 command is set), but Filter 1 is not enabled (bit 0 of in Filter 1 command is reset), then only Filter 2 result ANDed with Filter 3 result is considered. If Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set), Filter 3 And_Previous bit is set (bit 1 of Filter 3 command is set), but Filter 2 is not enabled (bit 0 of in Filter 2 command is reset), then since setting of Filter 2 And_Previous bit has no effect only Filter 1 result ORed with Filter 3 result is considered. - If filters chained by And_Previous bit setting have complementary programming, then a frame may never pass the AND chained filter. For example, if Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set), Filter 1 Address_Type bit is set (bit 3 of Filter 1 command is set) indicating multicast detection and Filter 2 Address_Type bit is reset (bit 3 of Filter 2 command is reset) indicating unicast detection or vice versa, a remote wakeup frame does not pass the AND chained filter as a remote wakeup frame cannot be of both unicast and multicast address type. | Go |
D0h | MAC_LPI_Control_Status | 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. | Go |
D4h | MAC_LPI_Timers_Control | 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. | Go |
D8h | MAC_LPI_Entry_Timer | This register controls the Tx LPI entry timer. This counter is enabled only when bit[20](LPITE) bit of MAC_LPI_Control_Status is set to 1. | Go |
DCh | MAC_1US_Tic_Counter | This register controls the generation of the Reference time (1 microsecond tic) for all the LPI timers. This timer has to be programmed by the software initially. | Go |
110h | MAC_Version | The version register identifies the version of the DWC_ether_qos. This register contains two bytes: one that Synopsys uses to identify the core release number, and the other that you set while configuring the core. | Go |
114h | MAC_Debug | The Debug register provides the debug status of various MAC blocks. | Go |
11Ch | MAC_HW_Feature0 | This register indicates the presence of first set of the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks. Note: All bits are set or reset according to the features selected while configuring the core in coreConsultant. | Go |
120h | MAC_HW_Feature1 | This register indicates the presence of second set of the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks. Note: All bits are set or reset according to the features selected while configuring the core in coreConsultant. | Go |
124h | MAC_HW_Feature2 | This register indicates the presence of third set of the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks. | Go |
128h | MAC_HW_Feature3 | This register indicates the presence of fourth set the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks. | Go |
200h | MAC_MDIO_Address | The MDIO Address register controls the management cycles to external PHY through a management interface. | Go |
204h | MAC_MDIO_Data | The MDIO Data register stores the Write data to be written to the PHY register located at the address specified in MAC_MDIO_Address. This register also stores the Read data from the PHY register located at the address specified by MDIO Address register. | Go |
210h | MAC_ARP_Address | The ARP Address register contains the IPv4 Destination Address of the MAC. Note: IP address should be written to this register in host byte order format. | Go |
230h | MAC_CSR_SW_Ctrl | This register contains SW programmable controls for changing the CSR access response and status bits clearing. | Go |
238h | MAC_Ext_Cfg1 | This register contains Split mode control field and offset field for Split Header feature. | Go |
300h | MAC_Address0_High | 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 (G)MII 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 (G)MII 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 (G)MII 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. | Go |
304h | MAC_Address0_Low | The MAC Address0 Low register holds the lower 32 bits of the 6-byte first MAC address of the station. | Go |
308h | MAC_Address1_High | The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station. If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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. | Go |
30Ch | MAC_Address1_Low | The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station. | Go |
310h | MAC_Address2_High | The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station. If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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. | Go |
314h | MAC_Address2_Low | The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station. | Go |
318h | MAC_Address3_High | The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station. If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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. | Go |
31Ch | MAC_Address3_Low | The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station. | Go |
320h | MAC_Address4_High | The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station. If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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. | Go |
324h | MAC_Address4_Low | The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station. | Go |
328h | MAC_Address5_High | The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station. If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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. | Go |
32Ch | MAC_Address5_Low | The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station. | Go |
330h | MAC_Address6_High | The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station. If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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. | Go |
334h | MAC_Address6_Low | The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station. | Go |
338h | MAC_Address7_High | The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station. If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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. | Go |
33Ch | MAC_Address7_Low | The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station. | Go |
700h | MMC_Control | This register establishes the operating mode of MMC. | Go |
704h | MMC_Rx_Interrupt | 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. Note: R_SS_RC means that this register bit is set internally, and it is cleared when the Counter register is read. | Go |
708h | MMC_Tx_Interrupt | 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. | Go |
70Ch | MMC_Rx_Interrupt_Mask | This register maintains the masks for interrupts generated from all Receive statistics counters. 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. This register is 32 bit wide. | Go |
710h | MMC_Tx_Interrupt_Mask | 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. | Go |
714h | Tx_Octet_Count_Good_Bad | This register provides the number of bytes transmitted by the DWC_ether_qos, exclusive of preamble and retried bytes, in good and bad packets. | Go |
718h | Tx_Packet_Count_Good_Bad | This register provides the number of good and bad packets transmitted by DWC_ether_qos, exclusive of retried packets. | Go |
71Ch | Tx_Broadcast_Packets_Good | This register provides the number of good broadcast packets transmitted by DWC_ether_qos. | Go |
720h | Tx_Multicast_Packets_Good | This register provides the number of good multicast packets transmitted by DWC_ether_qos. | Go |
724h | Tx_64Octets_Packets_Good_Bad | This register provides the number of good and bad packets transmitted by DWC_ether_qos with length 64 bytes, exclusive of preamble and retried packets. | Go |
728h | Tx_65To127Octets_Packets_Good_Bad | This register provides the number of good and bad packets transmitted by DWC_ether_qos with length between 65 and 127 (inclusive) bytes, exclusive of preamble and retried packets. | Go |
72Ch | Tx_128To255Octets_Packets_Good_Bad | This register provides the number of good and bad packets transmitted by DWC_ether_qos with length between 128 to 255 (inclusive) bytes, exclusive of preamble and retried packets. | Go |
730h | Tx_256To511Octets_Packets_Good_Bad | This register provides the number of good and bad packets transmitted by DWC_ether_qos with length between 256 to 511 (inclusive) bytes, exclusive of preamble and retried packets. | Go |
734h | Tx_512To1023Octets_Packets_Good_Bad | This register provides the number of good and bad packets transmitted by DWC_ether_qos with length 512 to 1023 (inclusive) bytes, exclusive of preamble and retried packets. | Go |
738h | Tx_1024ToMaxOctets_Packets_Good_Bad | This register provides the number of good and bad packets transmitted by DWC_ether_qos with length 1024 to maxsize (inclusive) bytes, exclusive of preamble and retried packets. | Go |
73Ch | Tx_Unicast_Packets_Good_Bad | This register provides the number of good and bad unicast packets transmitted by DWC_ether_qos. | Go |
740h | Tx_Multicast_Packets_Good_Bad | This register provides the number of good and bad multicast packets transmitted by DWC_ether_qos. | Go |
744h | Tx_Broadcast_Packets_Good_Bad | This register provides the number of good and bad broadcast packets transmitted by DWC_ether_qos. | Go |
748h | Tx_Underflow_Error_Packets | This register provides the number of packets aborted by DWC_ether_qos because of packets underflow error. | Go |
74Ch | Tx_Single_Collision_Good_Packets | This register provides the number of successfully transmitted packets by DWC_ether_qos after a single collision in the half-duplex mode. | Go |
750h | Tx_Multiple_Collision_Good_Packets | This register provides the number of successfully transmitted packets by DWC_ether_qos after multiple collisions in the half-duplex mode. | Go |
754h | Tx_Deferred_Packets | This register provides the number of successfully transmitted by DWC_ether_qos after a deferral in the half-duplex mode. | Go |
758h | Tx_Late_Collision_Packets | This register provides the number of packets aborted by DWC_ether_qos because of late collision error. | Go |
75Ch | Tx_Excessive_Collision_Packets | This register provides the number of packets aborted by DWC_ether_qos because of excessive (16) collision errors. | Go |
760h | Tx_Carrier_Error_Packets | This register provides the number of packets aborted by DWC_ether_qos because of carrier sense error (no carrier or loss of carrier). | Go |
764h | Tx_Octet_Count_Good | This register provides the number of bytes transmitted by DWC_ether_qos, exclusive of preamble, only in good packets. | Go |
768h | Tx_Packet_Count_Good | This register provides the number of good packets transmitted by DWC_ether_qos. | Go |
76Ch | Tx_Excessive_Deferral_Error | This register provides the number of packets aborted by DWC_ether_qos because of excessive deferral error (deferred for more than two max-sized packet times). | Go |
770h | Tx_Pause_Packets | This register provides the number of good Pause packets transmitted by DWC_ether_qos. | Go |
774h | Tx_VLAN_Packets_Good | This register provides the number of good VLAN packets transmitted by DWC_ether_qos. | Go |
778h | Tx_OSize_Packets_Good | This register provides the number of packets transmitted by DWC_ether_qos without errors and with length greater than the maxsize (1,518 or 1,522 bytes for VLAN tagged packets; 2000 bytes if enabled in S2KP bit of the MAC_Configuration register). | Go |
780h | Rx_Packets_Count_Good_Bad | This register provides the number of good and bad packets received by DWC_ether_qos. | Go |
784h | Rx_Octet_Count_Good_Bad | This register provides the number of bytes received by DWC_ther_qos, exclusive of preamble, in good and bad packets. | Go |
788h | Rx_Octet_Count_Good | This register provides the number of bytes received by DWC_ether_qos, exclusive of preamble, only in good packets. | Go |
78Ch | Rx_Broadcast_Packets_Good | This register provides the number of good broadcast packets received by DWC_ether_qos. | Go |
790h | Rx_Multicast_Packets_Good | This register provides the number of good multicast packets received by DWC_ether_qos. | Go |
794h | Rx_CRC_Error_Packets | This register provides the number of packets received by DWC_ether_qos with CRC error. | Go |
798h | Rx_Alignment_Error_Packets | This register provides the number of packets received by DWC_ether_qos with alignment (dribble) error. It is valid only in 10/100 mode. | Go |
79Ch | Rx_Runt_Error_Packets | This register provides the number of packets received by DWC_ether_qos with runt (length less than 64 bytes and CRC error) error. | Go |
7A0h | Rx_Jabber_Error_Packets | This register provides the number of giant packets received by DWC_ether_qos with length (including CRC) greater than 1,518 bytes (1,522 bytes for VLAN tagged) and with CRC error. If Jumbo Packet mode is enabled, packets of length greater than 9,018 bytes (9,022 bytes for VLAN tagged) are considered as giant packets. | Go |
7A4h | Rx_Undersize_Packets_Good | This register provides the number of packets received by DWC_ether_qos with length less than 64 bytes, without any errors. | Go |
7A8h | Rx_Oversize_Packets_Good | This register provides the number of packets received by DWC_ether_qos without errors, with length greater than the maxsize (1,518 bytes or 1,522 bytes for VLAN tagged packets; 2000 bytes if enabled in the S2KP bit of the MAC_Configuration register). | Go |
7ACh | Rx_64Octets_Packets_Good_Bad | This register provides the number of good and bad packets received by DWC_ether_qos with length 64 bytes, exclusive of the preamble. | Go |
7B0h | Rx_65To127Octets_Packets_Good_Bad | This register provides the number of good and bad packets received by DWC_ether_qos with length between 65 and 127 (inclusive) bytes, exclusive of the preamble. | Go |
7B4h | Rx_128To255Octets_Packets_Good_Bad | This register provides the number of good and bad packets received by DWC_ether_qos with length between 128 and 255 (inclusive) bytes, exclusive of the preamble. | Go |
7B8h | Rx_256To511Octets_Packets_Good_Bad | This register provides the number of good and bad packets received by DWC_ether_qos with length between 256 and 511 (inclusive) bytes, exclusive of the preamble. | Go |
7BCh | Rx_512To1023Octets_Packets_Good_Bad | This register provides the number of good and bad packets received by DWC_ether_qos with length between 512 and 1023 (inclusive) bytes, exclusive of the preamble. | Go |
7C0h | Rx_1024ToMaxOctets_Packets_Good_Bad | This register provides the number of good and bad packets received by DWC_ether_qos with length between 1024 and maxsize (inclusive) bytes, exclusive of the preamble. | Go |
7C4h | Rx_Unicast_Packets_Good | This register provides the number of good unicast packets received by DWC_ether_qos. | Go |
7C8h | Rx_Length_Error_Packets | This register provides the number of packets received by DWC_ether_qos with length error (Length Type field not equal to packet size), for all packets with valid length field. | Go |
7CCh | Rx_Out_Of_Range_Type_Packets | This register provides the number of packets received by DWC_ether_qos with length field not equal to the valid packet size (greater than 1,500 but less than 1,536). | Go |
7D0h | Rx_Pause_Packets | This register provides the number of good and valid Pause packets received by DWC_ether_qos. | Go |
7D4h | Rx_FIFO_Overflow_Packets | This register provides the number of missed received packets because of FIFO overflow in DWC_ether_qos. | Go |
7D8h | Rx_VLAN_Packets_Good_Bad | This register provides the number of good and bad VLAN packets received by DWC_ether_qos. | Go |
7DCh | Rx_Watchdog_Error_Packets | This register provides the number of packets received by DWC_ether_qos with error because of watchdog timeout error (packets with a data load larger than 2,048 bytes (when JE and WD bits are reset in MAC_Configuration register), 10,240 bytes (when JE bit is set and WD bit is reset in MAC_Configuration register), 16,384 bytes (when WD bit is set in MAC_Configuration register) or the value programmed in the MAC_Watchdog_Timeout register). | Go |
7E0h | Rx_Receive_Error_Packets | This register provides the number of packets received by DWC_ether_qos with Receive error or Packet Extension error on the GMII or MII interface. | Go |
7E4h | Rx_Control_Packets_Good | This register provides the number of good control packets received by DWC_ether_qos. | Go |
7ECh | Tx_LPI_USEC_Cntr | This register provides the number of microseconds Tx LPI is asserted by DWC_ether_qos. | Go |
7F0h | Tx_LPI_Tran_Cntr | This register provides the number of times DWC_ether_qos has entered Tx LPI. | Go |
7F4h | Rx_LPI_USEC_Cntr | This register provides the number of microseconds Rx LPI is sampled by DWC_ether_qos. | Go |
7F8h | Rx_LPI_Tran_Cntr | This register provides the number of times DWC_ether_qos has entered Rx LPI. | Go |
800h | MMC_IPC_Rx_Interrupt_Mask | This register maintains the mask for the interrupt generated from the receive IPC statistic counters. The MMC Receive Checksum Off load Interrupt Mask register maintains the masks for the interrupts generated when the receive IPC (Checksum Off load) statistic counters reach half their maximum value, and when they reach their maximum values. This register is 32 bits wide. | Go |
808h | MMC_IPC_Rx_Interrupt | This register maintains the interrupt that the receive IPC statistic counters generate. The MMC Receive Checksum Offload Interrupt register maintains the interrupts generated when receive IPC 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 Receive Checksum Offload Interrupt register is 32 bit wide. When the MMC IPC counter that caused the interrupt is read, its corresponding interrupt bit is cleared. The counter's least-significant byte lane (Bits[7:0]) must be read to clear the interrupt bit. | Go |
810h | RxIPv4_Good_Packets | This register provides the number of good IPv4 datagrams received by DWC_ether_qos with the TCP, UDP, or ICMP payload. | Go |
814h | RxIPv4_Header_Error_Packets | RxIPv4 Header Error Packets This register provides the number of IPv4 datagrams received by DWC_ether_qos with header (checksum, length, or version mismatch) errors. | Go |
818h | RxIPv4_No_Payload_Packets | This register provides the number of IPv4 datagram packets received by DWC_ether_qos that did not have a TCP, UDP, or ICMP payload. | Go |
81Ch | RxIPv4_Fragmented_Packets | This register provides the number of good IPv4 datagrams received by DWC_ether_qos with fragmentation. | Go |
820h | RxIPv4_UDP_Checksum_Disabled_Packets | This register provides the number of good IPv4 datagrams received by DWC_ether_qos that had a UDP payload with checksum disabled. | Go |
824h | RxIPv6_Good_Packets | This register provides the number of good IPv6 datagrams received by DWC_ether_qos with the TCP, UDP, or ICMP payload. | Go |
828h | RxIPv6_Header_Error_Packets | This register provides the number of IPv6 datagrams received by DWC_ether_qos with header (length or version mismatch) errors. | Go |
82Ch | RxIPv6_No_Payload_Packets | This register provides the number of IPv6 datagram packets received by DWC_ether_qos that did not have a TCP, UDP, or ICMP payload. This includes all IPv6 datagrams with fragmentation or security extension headers. | Go |
830h | RxUDP_Good_Packets | This register provides the number of good IP datagrams received by DWC_ether_qos with a good UDP payload. This counter is not updated when the RxIPv4_UDP_Checksum_Disabled_Packets counter is incremented. | Go |
834h | RxUDP_Error_Packets | This register provides the number of good IP datagrams received by DWC_ether_qos whose UDP payload has a checksum error. | Go |
838h | RxTCP_Good_Packets | This register provides the number of good IP datagrams received by DWC_ether_qos with a good TCP payload. | Go |
83Ch | RxTCP_Error_Packets | This register provides the number of good IP datagrams received by DWC_ether_qos whose TCP payload has a checksum error. | Go |
840h | RxICMP_Good_Packets | This register provides the number of good IP datagrams received by DWC_ether_qos with a good ICMP payload. | Go |
844h | RxICMP_Error_Packets | This register provides the number of good IP datagrams received by DWC_ether_qos whose ICMP payload has a checksum error. | Go |
850h | RxIPv4_Good_Octets | This register provides the number of bytes received by DWC_ether_qos in good IPv4 datagrams encapsulating TCP, UDP, or ICMP data. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
854h | RxIPv4_Header_Error_Octets | This register provides the number of bytes received by DWC_ether_qos in IPv4 datagrams with header errors (checksum, length, version mismatch). The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
858h | RxIPv4_No_Payload_Octets | This register provides the number of bytes received by DWC_ether_qos in IPv4 datagrams that did not have a TCP, UDP, or ICMP payload. The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
85Ch | RxIPv4_Fragmented_Octets | This register provides the number of bytes received by DWC_ether_qos in fragmented IPv4 datagrams. The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
860h | RxIPv4_UDP_Checksum_Disable_Octets | This register provides the number of bytes received by DWC_ether_qos in a UDP segment that had the UDP checksum disabled. This counter does not count IP Header bytes. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
864h | RxIPv6_Good_Octets | This register provides the number of bytes received by DWC_ether_qos in good IPv6 datagrams encapsulating TCP, UDP, or ICMP data. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
868h | RxIPv6_Header_Error_Octets | This register provides the number of bytes received by DWC_ether_qos in IPv6 datagrams with header errors (length, version mismatch). The value in the Length field of IPv6 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
86Ch | RxIPv6_No_Payload_Octets | This register provides the number of bytes received by DWC_ether_qos in IPv6 datagrams that did not have a TCP, UDP, or ICMP payload. The value in the Length field of IPv6 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. | Go |
870h | RxUDP_Good_Octets | This register provides the number of bytes received by DWC_ether_qos in a good UDP segment. This counter does not count IP header bytes. | Go |
874h | RxUDP_Error_Octets | This register provides the number of bytes received by DWC_ether_qos in a UDP segment that had checksum errors. This counter does not count IP header bytes. | Go |
878h | RxTCP_Good_Octets | This register provides the number of bytes received by DWC_ether_qos in a good TCP segment. This counter does not count IP header bytes. | Go |
87Ch | RxTCP_Error_Octets | This register provides the number of bytes received by DWC_ether_qos in a TCP segment that had checksum errors. This counter does not count IP header bytes. | Go |
880h | RxICMP_Good_Octets | This register provides the number of bytes received by DWC_ether_qos in a good ICMP segment. This counter does not count IP header bytes. | Go |
884h | RxICMP_Error_Octets | This register provides the number of bytes received by DWC_ether_qos in a ICMP segment that had checksum errors. This counter does not count IP header bytes. | Go |
900h | MAC_L3_L4_Control0 | The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4. | Go |
904h | MAC_Layer4_Address0 | 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. | Go |
910h | MAC_Layer3_Addr0_Reg0 | 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. | Go |
914h | MAC_Layer3_Addr1_Reg0 | 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. | Go |
918h | MAC_Layer3_Addr2_Reg0 | 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. | Go |
91Ch | MAC_Layer3_Addr3_Reg0 | 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. | Go |
930h | MAC_L3_L4_Control1 | The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4. | Go |
934h | MAC_Layer4_Address1 | 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. | Go |
940h | MAC_Layer3_Addr0_Reg1 | 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. | Go |
944h | MAC_Layer3_Addr1_Reg1 | 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. | Go |
948h | MAC_Layer3_Addr2_Reg1 | 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. | Go |
94Ch | MAC_Layer3_Addr3_Reg1 | 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. | Go |
960h | MAC_L3_L4_Control2 | The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4. | Go |
964h | MAC_Layer4_Address2 | 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. | Go |
970h | MAC_Layer3_Addr0_Reg2 | 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. | Go |
974h | MAC_Layer3_Addr1_Reg2 | 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. | Go |
978h | MAC_Layer3_Addr2_Reg2 | 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. | Go |
97Ch | MAC_Layer3_Addr3_Reg2 | 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. | Go |
990h | MAC_L3_L4_Control3 | The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4. | Go |
994h | MAC_Layer4_Address3 | 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. | Go |
9A0h | MAC_Layer3_Addr0_Reg3 | 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. | Go |
9A4h | MAC_Layer3_Addr1_Reg3 | 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. | Go |
9A8h | MAC_Layer3_Addr2_Reg3 | 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. | Go |
9ACh | MAC_Layer3_Addr3_Reg3 | 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. | Go |
B00h | MAC_Timestamp_Control | This register controls the operation of the System Time generator and processing of PTP packets for timestamping in the Receiver. | Go |
B04h | MAC_Sub_Second_Increment | This register specifies the value to be added to the internal system time register every cycle of clk_ptp_ref_i clock. | Go |
B08h | MAC_System_Time_Seconds | 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 clk_ptp_ref_i to CSR clock). | Go |
B0Ch | MAC_System_Time_Nanoseconds | The System Time Nanoseconds register, along with System Time Seconds register, indicates the current value of the system time maintained by the MAC. | Go |
B10h | MAC_System_Time_Seconds_Update | 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 EMAC_REGS/EQOS_MAC/MAC_Timestamp_Control. | Go |
B14h | MAC_System_Time_Nanoseconds_Update | MAC System Time Nanoseconds Update register. | Go |
B18h | MAC_Timestamp_Addend | Timestamp Addend register. This register value is used only when the system time is configured for Fine Update mode (TSCFUPDT bit in the MAC_Timestamp_Control register). The content of this register is added to a 32-bit accumulator in every clock cycle (of clk_ptp_ref_i) and the system time is updated whenever the accumulator overflows. | Go |
B1Ch | MAC_System_Time_Higher_Word_Seconds | System Time - Higher Word Seconds register. | Go |
B20h | MAC_Timestamp_Status | Timestamp Status register. All bits except Bits[27:25] gets cleared when the application reads this register. | Go |
B30h | MAC_Tx_Timestamp_Status_Nanoseconds | This register contains the nanosecond part of timestamp captured for Transmit packets when Tx status is disabled. The MAC_Tx_Timestamp_Status_Nanoseconds register, along with MAC_Tx_Timestamp_Status_Seconds, gives the 64-bit timestamp captured for the PTP packet successfully transmitted by the MAC. This value is considered to be read by the application when the last byte of MAC_Tx_Timestamp_Status_Nanoseconds is read. In the little-endian mode, this means when bits[31:24] are read; in big-endian mode, bits[7:0] are read. If the application does not read these registers and timestamp of another packet is captured, then either the current timestamp is lost (overwritten) or the new timestamp is lost (dropped), depending on the setting of the TXTSSTSM bit of the MAC_Timestamp_Control register. The status bit TXTSC bit [15] in MAC_Timestamp_Status register is set whenever the MAC transmitter captures the timestamp. | Go |
B34h | MAC_Tx_Timestamp_Status_Seconds | The register contains the higher 32 bits of the timestamp (in seconds) captured when a PTP packet is transmitted. | Go |
B40h | MAC_Auxiliary_Control | The Auxiliary Timestamp Control register controls the Auxiliary Timestamp snapshot. | Go |
B48h | MAC_Auxiliary_Timestamp_Nanoseconds | The Auxiliary Timestamp Nanoseconds register, along with MAC_Auxiliary_Timestamp_Seconds, 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, 8, or 16 as selected while configuring the core. You can store multiple snapshots in this FIFO. Bits[29:25] in MAC_Timestamp_Status 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. | Go |
B4Ch | MAC_Auxiliary_Timestamp_Seconds | The Auxiliary Timestamp - Seconds register contains the lower 32 bits of the Seconds field of the auxiliary timestamp register. | Go |
B50h | MAC_Timestamp_Ingress_Asym_Corr | 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. | Go |
B54h | MAC_Timestamp_Egress_Asym_Corr | 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. | Go |
B58h | MAC_Timestamp_Ingress_Corr_Nanosecond | This register contains the correction value in nanoseconds to be used with the captured timestamp value in the ingress path. | Go |
B5Ch | MAC_Timestamp_Egress_Corr_Nanosecond | This register contains the correction value in nanoseconds to be used with the captured timestamp value in the egress path. | Go |
B60h | MAC_Timestamp_Ingress_Corr_Subnanosec | This register contains the sub-nanosecond part of the correction value to be used with the captured timestamp value, for ingress direction. | Go |
B64h | MAC_Timestamp_Egress_Corr_Subnanosec | This register contains the sub-nanosecond part of the correction value to be used with the captured timestamp value, for egress direction. | Go |
B70h | MAC_PPS_Control | PPS Control register. 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. | Go |
B80h | MAC_PPS0_Target_Time_Seconds | The PPS Target Time Seconds register, along with PPS Target Time Nanoseconds register, is used to schedule an interrupt event [Bit 1 of MAC_Timestamp_Status] when the system time exceeds the value programmed in these registers. | Go |
B84h | MAC_PPS0_Target_Time_Nanoseconds | PPS0 Target Time Nanoseconds register. | Go |
B88h | MAC_PPS0_Interval | The PPS0 Interval register contains the number of units of sub-second increment value between the rising edges of PPS0 signal output (ptp_pps_o[0]). | Go |
B8Ch | MAC_PPS0_Width | The PPS0 Width register contains the number of units of sub-second increment value between the rising and corresponding falling edges of PPS0 signal output (ptp_pps_o[0]). | Go |
B90h | MAC_PPS1_Target_Time_Seconds | The PPS Target Time Seconds register, along with PPS Target Time Nanoseconds register, is used to schedule an interrupt event [Bit 1 of MAC_Timestamp_Status] when the system time exceeds the value programmed in these registers. | Go |
B94h | MAC_PPS1_Target_Time_Nanoseconds | PPS0 Target Time Nanoseconds register. | Go |
B98h | MAC_PPS1_Interval | The PPS0 Interval register contains the number of units of sub-second increment value between the rising edges of PPS0 signal output (ptp_pps_o[0]). | Go |
B9Ch | MAC_PPS1_Width | The PPS0 Width register contains the number of units of sub-second increment value between the rising and corresponding falling edges of PPS0 signal output (ptp_pps_o[0]). | Go |
BC0h | MAC_PTO_Control | This register controls the PTP Offload Engine operation. This register is available only when the Enable PTP Timestamp Offload feature is selected. | Go |
BC4h | MAC_Source_Port_Identity0 | 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. | Go |
BC8h | MAC_Source_Port_Identity1 | 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. | Go |
BCCh | MAC_Source_Port_Identity2 | This register contains Bits[79:64] 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. | Go |
BD0h | MAC_Log_Message_Interval | This register contains the periodic intervals for automatic PTP packet generation. This register is available only when the Enable PTP Timestamp Offload feature is selected. | Go |
C00h | MTL_Operation_Mode | The Operation Mode register establishes the Transmit and Receive operating modes and commands. | Go |
C08h | MTL_DBG_CTL | The FIFO Debug Access Control and Status register controls the operation mode of FIFO debug access. | Go |
C0Ch | MTL_DBG_STS | The FIFO Debug Status register contains the status of FIFO debug access. | Go |
C10h | MTL_FIFO_Debug_Data | The FIFO Debug Data register contains the data to be written to or read from the FIFOs. | Go |
C20h | MTL_Interrupt_Status | The software driver (application) reads this register during interrupt service routine or polling to determine the interrupt status of MTL queues and the MAC. | Go |
C30h | MTL_RxQ_DMA_Map0 | The Receive Queue and DMA Channel Mapping 0 register is reserved in EQOS-CORE and EQOS-MTL configurations. | Go |
D00h | MTL_TxQ0_Operation_Mode | The Queue 0 Transmit Operation Mode register establishes the Transmit queue operating modes and commands. | Go |
D04h | MTL_TxQ0_Underflow | The Queue 0 Underflow Counter register contains the counter for packets aborted because of Transmit queue underflow and packets missed because of Receive queue packet flush | Go |
D08h | MTL_TxQ0_Debug | The Queue 0 Transmit Debug register gives the debug status of various blocks related to the Transmit queue. | Go |
D14h | MTL_TxQ0_ETS_Status | The Queue 0 ETS Status register provides the average traffic transmitted in Queue 0. | Go |
D18h | MTL_TxQ0_Quantum_Weight | The Queue 0 Quantum or Weights register contains the quantum value for Deficit Weighted Round Robin (DWRR), weights for the Weighted Round Robin (WRR), and Weighted Fair Queuing (WFQ) for Queue 0. | Go |
D2Ch | MTL_Q0_Interrupt_Control_Status | This register contains the interrupt enable and status bits for the queue 0 interrupts. | Go |
D30h | MTL_RxQ0_Operation_Mode | The Queue 0 Receive Operation Mode register establishes the Receive queue operating modes and command. The RFA and RFD fields are not backward compatible with the RFA and RFD fields of 4.00a release | Go |
D34h | MTL_RxQ0_Missed_Packet_Overflow_Cnt | The Queue 0 Missed Packet and Overflow Counter register contains the counter for packets missed because of Receive queue packet flush and packets discarded because of Receive queue overflow. | Go |
D38h | MTL_RxQ0_Debug | The Queue 0 Receive Debug register gives the debug status of various blocks related to the Receive queue. | Go |
D3Ch | MTL_RxQ0_Control | The Queue Receive Control register controls the receive arbitration and passing of received packets to the application. | Go |
D40h | MTL_TxQ1_Operation_Mode | The Queue 1 Transmit Operation Mode register establishes the Transmit queue operating modes and commands. | Go |
D44h | MTL_TxQ1_Underflow | The Queue 1 Underflow Counter register contains the counter for packets aborted because of Transmit queue underflow and packets missed because of Receive queue packet flush | Go |
D48h | MTL_TxQ1_Debug | The Queue 1 Transmit Debug register gives the debug status of various blocks related to the Transmit queue. | Go |
D54h | MTL_TxQ1_ETS_Status | The Queue 1 ETS Status register provides the average traffic transmitted in Queue 1. | Go |
D58h | MTL_TxQ1_Quantum_Weight | The Queue 1 idleSlopeCredit, Quantum or Weights register provides the average traffic transmitted in Queue 1. | Go |
D6Ch | MTL_Q1_Interrupt_Control_Status | This register contains the interrupt enable and status bits for the queue 1 interrupts. | Go |
D70h | MTL_RxQ1_Operation_Mode | The Queue 1 Receive Operation Mode register establishes the Receive queue operating modes and command. The RFA and RFD fields are not backward compatible with the RFA and RFD fields of 4.00a release | Go |
D74h | MTL_RxQ1_Missed_Packet_Overflow_Cnt | The Queue 1 Missed Packet and Overflow Counter register contains the counter for packets missed because of Receive queue packet flush and packets discarded because of Receive queue overflow. | Go |
D78h | MTL_RxQ1_Debug | The Queue 1 Receive Debug register gives the debug status of various blocks related to the Receive queue. | Go |
D7Ch | MTL_RxQ1_Control | The Queue Receive Control register controls the receive arbitration and passing of received packets to the application. | Go |
1000h | DMA_Mode | The Bus Mode register establishes the bus operating modes for the DMA. | Go |
1004h | DMA_SysBus_Mode | The System Bus mode register controls the behavior of the AHB or AXI master. It mainly controls burst splitting and number of outstanding requests. | Go |
1008h | DMA_Interrupt_Status | The application reads this Interrupt Status register during interrupt service routine or polling to determine the interrupt status of DMA channels, MTL queues, and the MAC. | Go |
100Ch | DMA_Debug_Status0 | The Debug Status 0 register gives the Receive and Transmit process status for DMA Channel 0-Channel 2 for debugging purpose. | Go |
1100h | DMA_CH0_Control | The DMA Channeli Control register specifies the MSS value for segmentation, length to skip between two descriptors, and also the features such as header splitting and 8xPBL mode. | Go |
1104h | DMA_CH0_Tx_Control | The DMA Channeli Transmit Control register controls the Tx features such as PBL, TCP segmentation, and Tx Channel weights. | Go |
1108h | DMA_CH0_Rx_Control | The DMA Channeli Receive Control register controls the Rx features such as PBL, buffer size, and extended status. | Go |
1114h | DMA_CH0_TxDesc_List_Address | The Channeli Tx Descriptor List Address register points the DMA to the start of Transmit descriptor list. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LSB to low. You can write to this register only when the Tx DMA has stopped, that is, the ST bit is set to zero in DMA_CH0_Tx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the ST bit to 1, the DMA takes the newly-programmed descriptor base address. If this register is not changed when the ST bit is set to 0, the DMA takes the descriptor address where it was stopped earlier. | Go |
111Ch | DMA_CH0_RxDesc_List_Address | The Channeli Rx Descriptor List Address register points the DMA to the start of Receive descriptor list. This register points to the start of the Receive Descriptor List. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LS bits low. Writing to this register is permitted only when reception is stopped. When stopped, this register must be written to before the receive Start command is given. You can write to this register only when Rx DMA has stopped, that is, SR bit is set to zero in DMA_CH0_Rx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the SR bit to 1, the DMA takes the newly programmed descriptor base address. | Go |
1120h | DMA_CH0_TxDesc_Tail_Pointer | The Channeli Tx Descriptor Tail Pointer register points to an offset from the base and indicates the location of the last valid descriptor. | Go |
1128h | DMA_CH0_RxDesc_Tail_Pointer | The Channeli Rx Descriptor Tail Pointer Points to an offset from the base and indicates the location of the last valid descriptor. | Go |
112Ch | DMA_CH0_TxDesc_Ring_Length | The Tx Descriptor Ring Length register contains the length of the Transmit descriptor ring. | Go |
1130h | DMA_CH0_RxDesc_Ring_Length | The Channeli Rx Descriptor Ring Length register contains the length of the Receive descriptor circular ring. | Go |
1134h | DMA_CH0_Interrupt_Enable | The Channeli Interrupt Enable register enables the interrupts reported by the Status register. | Go |
1138h | DMA_CH0_Rx_Interrupt_Watchdog_Timer | The Receive Interrupt Watchdog Timer register indicates the watchdog timeout for Receive Interrupt (RI) from the DMA. When this register is written with a non-zero value, it enables the watchdog timer for the RI bit of the DMA_CHi_Status register. | Go |
1144h | DMA_CH0_Current_App_TxDesc | The Channeli Current Application Transmit Descriptor register points to the current Transmit descriptor read by the DMA. | Go |
114Ch | DMA_CH0_Current_App_RxDesc | The Channeli Current Application Receive Descriptor register points to the current Receive descriptor read by the DMA. | Go |
1154h | DMA_CH0_Current_App_TxBuffer | The Channeli Current Application Transmit Buffer Address register points to the current Tx buffer address read by the DMA. | Go |
115Ch | DMA_CH0_Current_App_RxBuffer | The Channel 0 Current Application Receive Buffer Address register points to the current Rx buffer address read by the DMA. | Go |
1160h | DMA_CH0_Status | The software driver (application) reads the Status register during interrupt service routine or polling to determine the status of the DMA. Note: The number of DMA_CH[n]_Status register in the configuration is the higher of number of Rx DMA Channels and Tx DMA Channels. | Go |
1164h | DMA_CH0_Miss_Frame_Cnt | This register has the number of packet counter that got dropped by the DMA either due to Bus Error or due to programming RPF field in DMA_CH${i}_Rx_Control register. | Go |
116Ch | DMA_CH0_RX_ERI_Cnt | Go | |
1180h | DMA_CH1_Control | The DMA Channeli Control register specifies the MSS value for segmentation, length to skip between two descriptors, and also the features such as header splitting and 8xPBL mode. | Go |
1184h | DMA_CH1_Tx_Control | The DMA Channeli Transmit Control register controls the Tx features such as PBL, TCP segmentation, and Tx Channel weights. | Go |
1188h | DMA_CH1_Rx_Control | The DMA Channeli Receive Control register controls the Rx features such as PBL, buffer size, and extended status. | Go |
1194h | DMA_CH1_TxDesc_List_Address | The Channeli Tx Descriptor List Address register points the DMA to the start of Transmit descriptor list. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LSB to low. You can write to this register only when the Tx DMA has stopped, that is, the ST bit is set to zero in DMA_CH0_Tx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the ST bit to 1, the DMA takes the newly-programmed descriptor base address. If this register is not changed when the ST bit is set to 0, the DMA takes the descriptor address where it was stopped earlier. | Go |
119Ch | DMA_CH1_RxDesc_List_Address | The Channeli Rx Descriptor List Address register points the DMA to the start of Receive descriptor list. This register points to the start of the Receive Descriptor List. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LS bits low. Writing to this register is permitted only when reception is stopped. When stopped, this register must be written to before the receive Start command is given. You can write to this register only when Rx DMA has stopped, that is, SR bit is set to zero in DMA_CH0_Rx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the SR bit to 1, the DMA takes the newly programmed descriptor base address. | Go |
11A0h | DMA_CH1_TxDesc_Tail_Pointer | The Channeli Tx Descriptor Tail Pointer register points to an offset from the base and indicates the location of the last valid descriptor. | Go |
11A8h | DMA_CH1_RxDesc_Tail_Pointer | The Channeli Rx Descriptor Tail Pointer Points to an offset from the base and indicates the location of the last valid descriptor. | Go |
11ACh | DMA_CH1_TxDesc_Ring_Length | The Tx Descriptor Ring Length register contains the length of the Transmit descriptor ring. | Go |
11B0h | DMA_CH1_RxDesc_Ring_Length | The Channeli Rx Descriptor Ring Length register contains the length of the Receive descriptor circular ring. | Go |
11B4h | DMA_CH1_Interrupt_Enable | The Channeli Interrupt Enable register enables the interrupts reported by the Status register. | Go |
11B8h | DMA_CH1_Rx_Interrupt_Watchdog_Timer | The Receive Interrupt Watchdog Timer register indicates the watchdog timeout for Receive Interrupt (RI) from the DMA. When this register is written with a non-zero value, it enables the watchdog timer for the RI bit of the DMA_CHi_Status register. | Go |
11C4h | DMA_CH1_Current_App_TxDesc | The Channeli Current Application Transmit Descriptor register points to the current Transmit descriptor read by the DMA. | Go |
11CCh | DMA_CH1_Current_App_RxDesc | The Channeli Current Application Receive Descriptor register points to the current Receive descriptor read by the DMA. | Go |
11D4h | DMA_CH1_Current_App_TxBuffer | The Channeli Current Application Transmit Buffer Address register points to the current Tx buffer address read by the DMA. | Go |
11DCh | DMA_CH1_Current_App_RxBuffer | The Channel 0 Current Application Receive Buffer Address register points to the current Rx buffer address read by the DMA. | Go |
11E0h | DMA_CH1_Status | The software driver (application) reads the Status register during interrupt service routine or polling to determine the status of the DMA. Note: The number of DMA_CH[n]_Status register in the configuration is the higher of number of Rx DMA Channels and Tx DMA Channels. | Go |
11E4h | DMA_CH1_Miss_Frame_Cnt | This register has the number of packet counter that got dropped by the DMA either due to Bus Error or due to programming RPF field in DMA_CH${i}_Rx_Control register. | Go |
11ECh | DMA_CH1_RX_ERI_Cnt | Go |
Complex bit access types are encoded to fit into small table cells. Table 43-93 shows the codes that are used for access types in this section.
Access Type | Code | Description |
---|---|---|
Read Type | ||
R | R | Read |
Write Type | ||
W | W | Write |
Reset or Default Value | ||
-n | Value after reset or the default value | |
Register Array Variables | ||
i,j,k,l,m,n | When these variables are used in a register name, an offset, or an address, they refer to the value of a register array where the register is part of a group of repeating registers. The register groups form a hierarchical structure and the array is represented with a formula. | |
y | When this variable is used in a register name, an offset, or an address it refers to the value of a register array. |
MAC_Configuration is shown in Figure 43-40 and described in Table 43-94.
Return to the Summary Table.
The MAC Configuration Register establishes the operating mode of the MAC.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
ARPEN | SARC | IPC | IPG | ||||
R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
GPSLCE | S2KP | CST | ACS | WD | RESERVED | JD | JE |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
PS | FES | DM | LM | ECRSFD | DO | DCRS | DR |
R-1h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | BL | DC | PRELEN | TE | RE | ||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | ARPEN | R/W | 0h | ARP Offload Enable When this bit is set, the MAC can recognize an incoming ARP request packet and schedules the ARP packet for transmission. It forwards the ARP packet to the application and also indicate the events in the RxStatus. When this bit is reset, the MAC receiver does not recognize any ARP packet and indicates them as Type frame in the RxStatus. This bit is available only when the Enable IPv4 ARP Offload is selected. 0h = ARP Offload is disabled : 0x0 1h = ARP Offload is enabled : 0x1 |
30-28 | SARC | R/W | 0h | Source Address Insertion or Replacement Control This field controls the source address insertion or replacement for all transmitted packets. Bit 30 specifies which MAC Address register (0 or 1) is used for source address insertion or replacement based on the values of Bits[29:28]: 2'b0x: - The SA Insertion control is to be programmed in Bits[25:23] of TDES3 in first Transmit Descriptor of the packet. 2'b10: - If Bit 30 is set to 0, the MAC inserts the content of the MAC Address 0 registers (MAC registers 192 and 193) in the SA field of all transmitted packets. - If Bit 30 is set to 1 and the Enable MAC Address Register 1 option is selected while configuring the core, the MAC inserts the content of the MAC Address 1 registers (MAC registers 194 and 195) in the SA field of all transmitted packets. 2'b11: - If Bit 30 is set to 0, the MAC replaces the content of the MAC Address 0 registers (MAC registers 192 and 193) in the SA field of all transmitted packets. - If Bit 30 is set to 1 and the MAC Address Register 1 is enabled, the MAC replaces the content of the MAC Address 1 registers (MAC registers 194 and 195) in the SA field of all transmitted packets. Note: - Changes to this field take effect only on the start of a packet. If you write to this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value. 0h = mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation : 0x0 2h = Contents of MAC Addr-0 inserted in SA field : 0x2 3h = Contents of MAC Addr-0 replaces SA field : 0x3 6h = Contents of MAC Addr-1 inserted in SA field : 0x6 7h = Contents of MAC Addr-1 replaces SA field : 0x7 |
27 | IPC | R/W | 0h | Checksum Offload When set, this bit enables the IPv4 header checksum checking and IPv4 or IPv6 TCP, UDP, or ICMP payload checksum checking. When this bit is reset, the COE function in the receiver is disabled. The Layer 3 and Layer 4 Packet Filter and Enable Split Header features automatically selects the IPC Full Checksum Offload Engine on the Receive side. When any of these features are enabled, you must set the IPC bit. 0h = IP header/payload checksum checking is disabled : 0x0 1h = IP header/payload checksum checking is enabled : 0x1 |
26-24 | IPG | R/W | 0h | Inter-Packet Gap These bits control the minimum IPG between packets during transmission. This range of minimum IPG is valid in full-duplex mode. In the half-duplex mode, the minimum IPG can be configured only for 64-bit times (IPG = 100). Lower values are not considered. When a JAM pattern is being transmitted because of backpressure activation, the MAC does not consider the minimum IPG. The above function (IPG less than 96 bit times) is valid only when EIPGEN bit in MAC_Ext_Configuration register is reset. When EIPGEN is set, then the minimum IPG (greater than 96 bit times) is controlled as per the description given in EIPG field in MAC_Ext_Configuration register. 0h = 96 bit times IPG : 0x0 1h = 88 bit times IPG : 0x1 2h = 80 bit times IPG : 0x2 3h = 72 bit times IPG : 0x3 4h = 64 bit times IPG : 0x4 5h = 56 bit times IPG : 0x5 6h = 48 bit times IPG : 0x6 7h = 40 bit times IPG : 0x7 |
23 | GPSLCE | R/W | 0h | Giant Packet Size Limit Control Enable When this bit is set, the MAC considers the value in GPSL field in MAC_Ext_Configuration register to declare a received packet as Giant packet. This field must be programmed to more than 1,518 bytes. Otherwise, the MAC considers 1,518 bytes as giant packet limit. When this bit is reset, the MAC considers a received packet as Giant packet when its size is greater than 1,518 bytes (1522 bytes for tagged packet). The watchdog timeout limit, Jumbo Packet Enable and 2K Packet Enable have higher precedence over this bit, that is the MAC considers a received packet as Giant packet when its size is greater than 9,018 bytes (9,022 bytes for tagged packet) with Jumbo Packet Enabled and greater than 2,000 bytes with 2K Packet Enabled. The watchdog timeout, if enabled, terminates the received packet when watchdog limit is reached. Therefore, the programmed giant packet limit should be less than the watchdog limit to get the giant packet status. 0h = Giant Packet Size Limit Control is disabled : 0x0 1h = Giant Packet Size Limit Control is enabled : 0x1 |
22 | S2KP | R/W | 0h | IEEE 802.3as Support for 2K Packets When this bit is set, the MAC considers all packets with up to 2,000 bytes length as normal packets. When the JE bit is not set, the MAC considers all received packets of size more than 2K bytes as Giant packets. When this bit is reset and the JE bit is not set, the MAC considers all received packets of size more than 1,518 bytes (1,522 bytes for tagged) as giant packets. For more information about how the setting of this bit and the JE bit impact the Giant packet status, see the Table, Gaint Packet Status based on S2KP and JE Bits. Note: When the JE bit is set, setting this bit has no effect on the giant packet status. 0h = Support upto 2K packet is disabled : 0x0 1h = Support upto 2K packet is Enabled : 0x1 |
21 | CST | R/W | 0h | CRC stripping for Type packets When this bit is set, the last four bytes (FCS) of all packets of Ether type (type field greater than 1,536) are stripped and dropped before forwarding the packet to the application. Note: For information about how the settings of the ACS bit and this bit impact the packet length, see the Table, Packet Length based on the CST and ACS Bits. 0h = CRC stripping for Type packets is disabled : 0x0 1h = CRC stripping for Type packets is enabled : 0x1 |
20 | ACS | R/W | 0h | Automatic Pad or CRC Stripping When this bit is set, the MAC strips the Pad or FCS field on the incoming packets only if the value of the length field is less than 1,536 bytes. All received packets with length field greater than or equal to 1,536 bytes are passed to the application without stripping the Pad or FCS field. When this bit is reset, the MAC passes all incoming packets to the application, without any modification. Note: For information about how the settings of CST bit and this bit impact the packet length, see the Table, Packet Length based on the CST and ACS Bit . 0h = Automatic Pad or CRC Stripping is disabled : 0x0 1h = Automatic Pad or CRC Stripping is enabled : 0x1 |
19 | WD | R/W | 0h | Watchdog Disable When this bit is set, the MAC disables the watchdog timer on the receiver. The MAC can receive packets of up to 16,383 bytes. When this bit is reset, the MAC does not allow more than 2,048 bytes (10,240 if JE is set high) of the packet being received. The MAC cuts off any bytes received after 2,048 bytes. 0h = Watchdog is enabled : 0x0 1h = Watchdog is disabled : 0x1 |
18 | RESERVED | R | 0h | Reserved. |
17 | JD | R/W | 0h | Jabber Disable When this bit is set, the MAC disables the jabber timer on the transmitter. The MAC can transfer packets of up to 16,383 bytes. When this bit is reset, if the application sends more than 2,048 bytes of data (10,240 if JE is set high) during transmission, the MAC does not send rest of the bytes in that packet. 0h = Jabber is enabled : 0x0 1h = Jabber is disabled : 0x1 |
16 | JE | R/W | 0h | Jumbo Packet Enable When this bit is set, the MAC allows jumbo packets of 9,018 bytes (9,022 bytes for VLAN tagged packets) without reporting a giant packet error in the Rx packet status. 0h = Jumbo packet is disabled : 0x0 1h = Jumbo packet is enabled : 0x1 |
15 | PS | R | 1h | Port Select This bit selects the Ethernet line speed. This bit, along with Bit 14, selects the exact line speed. In the 10/100 Mbps-only (always 1) or 1000 Mbps-only (always 0) configurations, this bit is read-only (RO) with appropriate value. In default 10/100/1000 Mbps configurations, this bit is read-write (R/W). The mac_speed_o[1] signal reflects the value of this bit. 0h = For 1000 or 2500 Mbps operations : 0x0 1h = For 10 or 100 Mbps operations : 0x1 |
14 | FES | R/W | 0h | Speed This bit selects the speed mode. The mac_speed_o[0] signal reflects the value of this bit. 0h = 10 Mbps when PS bit is 1 and 1 Gbps when PS bit is 0 : 0x0 1h = 100 Mbps when PS bit is 1 and 2.5 Gbps when PS bit is 0 : 0x1 |
13 | DM | R/W | 0h | Duplex Mode When this bit is set, the MAC operates in the full-duplex mode in which it can transmit and receive simultaneously. This bit is RO with default value of 1'b1 in the full-duplex-only configurations. 0h = Half-duplex mode : 0x0 1h = Full-duplex mode : 0x1 |
12 | LM | R/W | 0h | Loopback Mode When this bit is set, the MAC operates in the loopback mode at GMII or MII. The (G)MII Rx clock input (clk_rx_i) is required for the loopback to work properly. This is because the Tx clock is not internally looped back. 0h = Loopback is disabled : 0x0 1h = Loopback is enabled : 0x1 |
11 | ECRSFD | R/W | 0h | Enable Carrier Sense Before Transmission in Full-Duplex Mode When this bit is set, the MAC transmitter checks the CRS signal before packet transmission in the full-duplex mode. The MAC starts the transmission only when the CRS signal is low. When this bit is reset, the MAC transmitter ignores the status of the CRS signal. 0h = ECRSFD is disabled : 0x0 1h = ECRSFD is enabled : 0x1 |
10 | DO | R/W | 0h | Disable Receive Own When this bit is set, the MAC disables the reception of packets when the gmii_txen_o is asserted in the half-duplex mode. When this bit is reset, the MAC receives all packets given by the PHY. This bit is not applicable in the full-duplex mode. 0h = Enable Receive Own : 0x0 1h = Disable Receive Own : 0x1 |
9 | DCRS | R/W | 0h | Disable Carrier Sense During Transmission When this bit is set, the MAC transmitter ignores the (G)MII CRS signal during packet transmission in the half-duplex mode. As a result, no errors are generated because of Loss of Carrier or No Carrier during transmission. When this bit is reset, the MAC transmitter generates errors because of Carrier Sense. The MAC can even abort the transmission. 0h = Enable Carrier Sense During Transmission : 0x0 1h = Disable Carrier Sense During Transmission : 0x1 |
8 | DR | R/W | 0h | Disable Retry When this bit is set, the MAC attempts only one transmission. When a collision occurs on the GMII or MII interface, the MAC ignores the current packet transmission and reports a Packet Abort with excessive collision error in the Tx packet status. When this bit is reset, the MAC retries based on the settings of the BL field. This bit is applicable only in the half-duplex mode. 0h = Enable Retry : 0x0 1h = Disable Retry : 0x1 |
7 | RESERVED | R | 0h | Reserved. |
6-5 | BL | R/W | 0h | Back-Off Limit The back-off limit determines the random integer number (r) of slot time delays (4,096 bit times for 1000/2500 Mbps 512 bit times for 10/100 Mbps) for which the MAC waits before rescheduling a transmission attempt during retries after a collision. n = retransmission attempt. The random integer r takes the value in the range 0 <= r < 2k This bit is applicable only in the half-duplex mode. 0h = k = min(n,10) : 0x0 1h = k = min(n,8) : 0x1 2h = k = min(n,4) : 0x2 3h = k = min(n,1) : 0x3 |
4 | DC | R/W | 0h | Deferral Check When this bit is set, the deferral check function is enabled in the MAC. The MAC issues a Packet Abort status, along with the excessive deferral error bit set in the Tx packet status, when the Tx state machine is deferred for more than 24,288 bit times in 10 or 100 Mbps mode. If the MAC is configured for 1000/2500 Mbps operation, the threshold for deferral is 155,680 bits times. Deferral begins when the transmitter is ready to transmit, but it is prevented because of an active carrier sense signal (CRS) on GMII or MII. The defer time is not cumulative. For example, if the transmitter defers for 10,000 bit times because the CRS signal is active and the CRS signal becomes inactive, the transmitter transmits and collision happens. Because of collision, the transmitter needs to back off and then defer again after back off completion. In such a scenario, the deferral timer is reset to 0, and it is restarted. When this bit is reset, the deferral check function is disabled and the MAC defers until the CRS signal goes inactive. This bit is applicable only in the half-duplex mode. 0h = Deferral check function is disabled : 0x0 1h = Deferral check function is enabled : 0x1 |
3-2 | PRELEN | R/W | 0h | Preamble Length for Transmit packets These bits control the number of preamble bytes that are added to the beginning of every Tx packet. The preamble reduction occurs only when the MAC is operating in the full-duplex mode. 0h = 7 bytes of preamble : 0x0 1h = 5 bytes of preamble : 0x1 2h = 3 bytes of preamble : 0x2 3h = Reserved : 0x3 |
1 | TE | R/W | 0h | Transmitter Enable When this bit is set, the Tx state machine of the MAC is enabled for transmission on the GMII or MII interface. When this bit is reset, the MAC Tx state machine is disabled after it completes the transmission of the current packet. The Tx state machine does not transmit any more packets. 0h = Transmitter is disabled : 0x0 1h = Transmitter is enabled : 0x1 |
0 | RE | R/W | 0h | Receiver Enable When this bit is set, the Rx state machine of the MAC is enabled for receiving packets from the GMII or MII interface. When this bit is reset, the MAC Rx state machine is disabled after it completes the reception of the current packet. The Rx state machine does not receive any more packets from the GMII or MII interface. 0h = Receiver is disabled : 0x0 1h = Receiver is enabled : 0x1 |
MAC_Ext_Configuration is shown in Figure 43-41 and described in Table 43-95.
Return to the Summary Table.
The MAC Extended Configuration Register establishes the operating mode of the MAC.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | EIPG | EIPGEN | |||||
R-0h | R/W-0h | R/W-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | HDSMS | RESERVED | USP | SPEN | DCRCC | ||
R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | ||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | GPSL | ||||||
R-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
GPSL | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-30 | RESERVED | R | 0h | Reserved. |
29-25 | EIPG | R/W | 0h | Extended Inter-Packet Gap The value in this field is applicable when the EIPGEN bit is set. This field (as Most Significant bits), along with IPG field in MAC_Configuration register, gives the minimum IPG greater than 96 bit times in steps of 8 bit times: {EIPG, IPG} 8'h00 - 104 bit times 8'h01 - 112 bit times 8'h02 - 120 bit times ----------------------- 8'hFF - 2144 bit times |
24 | EIPGEN | R/W | 0h | Extended Inter-Packet Gap Enable When this bit is set, the MAC interprets EIPG field and IPG field in MAC_Configuration register together as minimum IPG greater than 96 bit times in steps of 8 bit times. When this bit is reset, the MAC ignores EIPG field and interprets IPG field in MAC_Configuration register as minimum IPG less than or equal to 96 bit times in steps of 8 bit times. Note: The extended Inter-Packet Gap feature must be enabled when operating in Full-Duplex mode only. There may be undesirable effects on back-pressure function and frame transmission if it is enabled in Half-Duplex mode. 0h = Extended Inter-Packet Gap is disabled : 0x0 1h = Extended Inter-Packet Gap is enabled : 0x1 |
23 | RESERVED | R | 0h | Reserved. |
22-20 | HDSMS | R/W | 0h | Maximum Size for Splitting the Header Data These bits indicate the maximum header size allowed for splitting the header data in the received packet. 0h = Maximum Size for Splitting the Header Data is 64 bytes : 0x0 1h = Maximum Size for Splitting the Header Data is 128 bytes : 0x1 2h = Maximum Size for Splitting the Header Data is 256 bytes : 0x2 3h = Maximum Size for Splitting the Header Data is 512 bytes : 0x3 4h = Maximum Size for Splitting the Header Data is 1024 bytes : 0x4 5h = Reserved : 0x5 |
19 | RESERVED | R | 0h | Reserved. |
18 | USP | R/W | 0h | Unicast Slow Protocol Packet Detect When this bit is set, the MAC detects the Slow Protocol packets with unicast address of the station specified in the MAC_Address0_High and MAC_Address0_Low registers. The MAC also detects the Slow Protocol packets with the Slow Protocols multicast address (01-80-C2-00-00-02). When this bit is reset, the MAC detects only Slow Protocol packets with the Slow Protocol multicast address specified in the IEEE 802.3-2008, Section 5. 0h = Unicast Slow Protocol Packet Detection is disabled : 0x0 1h = Unicast Slow Protocol Packet Detection is enabled : 0x1 |
17 | SPEN | R/W | 0h | Slow Protocol Detection Enable When this bit is set, MAC processes the Slow Protocol packets (Ether Type 0x8809) and provides the Rx status. The MAC discards the Slow Protocol packets with invalid sub-types. When this bit is reset, the MAC forwards all error-free Slow Protocol packets to the application. The MAC considers such packets as normal Type packets. 0h = Slow Protocol Detection is disabled : 0x0 1h = Slow Protocol Detection is enabled : 0x1 |
16 | DCRCC | R/W | 0h | Disable CRC Checking for Received Packets When this bit is set, the MAC receiver does not check the CRC field in the received packets. When this bit is reset, the MAC receiver always checks the CRC field in the received packets. 0h = CRC Checking is enabled : 0x0 1h = CRC Checking is disabled : 0x1 |
15-14 | RESERVED | R | 0h | Reserved. |
13-0 | GPSL | R/W | 0h | Giant Packet Size Limit If the received packet size is greater than the value programmed in this field in units of bytes, the MAC declares the received packet as Giant packet. The value programmed in this field must be greater than or equal to 1,518 bytes. Any other programmed value is considered as 1,518 bytes. For VLAN tagged packets, the MAC adds 4 bytes to the programmed value. When the Enable Double VLAN Processing option is selected, the MAC adds 8 bytes to the programmed value for double VLAN tagged packets. The value in this field is applicable when the GPSLCE bit is set in MAC_Configuration register. |
MAC_Packet_Filter is shown in Figure 43-42 and described in Table 43-96.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RA | RESERVED | ||||||
R/W-0h | R-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | DNTU | IPFE | RESERVED | VTFE | |||
R-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | HPF | SAF | SAIF | ||||
R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PCF | DBF | PM | DAIF | HMC | HUC | PR | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RA | R/W | 0h | Receive All When this bit is set, the MAC Receiver module passes all received packets to the application, irrespective of whether they pass the address filter or not. The result of the SA or DA filtering is updated (pass or fail) in the corresponding bit in the Rx Status Word. When this bit is reset, the Receiver module passes only those packets to the application that pass the SA or DA address filter. 0h = Receive All is disabled : 0x0 1h = Receive All is enabled : 0x1 |
30-22 | RESERVED | R | 0h | Reserved. |
21 | DNTU | R/W | 0h | Drop Non-TCP/UDP over IP Packets When this bit is set, the MAC drops the non-TCP or UDP over IP packets. The MAC forward only those packets that are processed by the Layer 4 filter. When this bit is reset, the MAC forwards all non-TCP or UDP over IP packets. 0h = Forward Non-TCP/UDP over IP Packets : 0x0 1h = Drop Non-TCP/UDP over IP Packets : 0x1 |
20 | IPFE | R/W | 0h | Layer 3 and Layer 4 Filter Enable When this bit is set, the MAC drops packets that do not match the enabled Layer 3 and Layer 4 filters. If Layer 3 or Layer 4 filters are not enabled for matching, this bit does not have any effect. When this bit is reset, the MAC forwards all packets irrespective of the match status of the Layer 3 and Layer 4 fields. 0h = Layer 3 and Layer 4 Filters are disabled : 0x0 1h = Layer 3 and Layer 4 Filters are enabled : 0x1 |
19-17 | RESERVED | R | 0h | Reserved. |
16 | VTFE | R/W | 0h | VLAN Tag Filter Enable When this bit is set, the MAC drops the VLAN tagged packets that do not match the VLAN Tag. When this bit is reset, the MAC forwards all packets irrespective of the match status of the VLAN Tag. 0h = VLAN Tag Filter is disabled : 0x0 1h = VLAN Tag Filter is enabled : 0x1 |
15-11 | RESERVED | R | 0h | Reserved. |
10 | HPF | R/W | 0h | Hash or Perfect Filter When this bit is set, the address filter passes a packet if it matches either the perfect filtering or hash filtering as set by the HMC or HUC bit. When this bit is reset and the HUC or HMC bit is set, the packet is passed only if it matches the Hash filter. 0h = Hash or Perfect Filter is disabled : 0x0 1h = Hash or Perfect Filter is enabled : 0x1 |
9 | SAF | R/W | 0h | Source Address Filter Enable When this bit is set, the MAC compares the SA field of the received packets with the values programmed in the enabled SA registers. If the comparison fails, the MAC drops the packet. When this bit is reset, the MAC forwards the received packet to the application with updated SAF bit of the Rx Status depending on the SA address comparison. Note: According to the IEEE specification, Bit 47 of the SA is reserved. However, in DWC_ether_qos, the MAC compares all 48 bits. The software driver should take this into consideration while programming the MAC address registers for SA. 0h = SA Filtering is disabled : 0x0 1h = SA Filtering is enabled : 0x1 |
8 | SAIF | R/W | 0h | SA Inverse Filtering When this bit is set, the Address Check block operates in the inverse filtering mode for SA address comparison. If the SA of a packet matches the values programmed in the SA registers, it is marked as failing the SA Address filter. When this bit is reset, if the SA of a packet does not match the values programmed in the SA registers, it is marked as failing the SA Address filter. 0h = SA Inverse Filtering is disabled : 0x0 1h = SA Inverse Filtering is enabled : 0x1 |
7-6 | PCF | R/W | 0h | Pass Control Packets These bits control the forwarding of all control packets (including unicast and multicast Pause packets). 0h = MAC filters all control packets from reaching the application : 0x0 1h = MAC forwards all control packets except Pause packets to the application even if they fail the Address filter : 0x1 2h = MAC forwards all control packets to the application even if they fail the Address filter : 0x2 3h = MAC forwards the control packets that pass the Address filter : 0x3 |
5 | DBF | R/W | 0h | Disable Broadcast Packets When this bit is set, the AFM module blocks all incoming broadcast packets. In addition, it overrides all other filter settings. When this bit is reset, the AFM module passes all received broadcast packets. 0h = Enable Broadcast Packets : 0x0 1h = Disable Broadcast Packets : 0x1 |
4 | PM | R/W | 0h | Pass All Multicast When this bit is set, it indicates that all received packets with a multicast destination address (first bit in the destination address field is '1') are passed. When this bit is reset, filtering of multicast packet depends on HMC bit. 0h = Pass All Multicast is disabled : 0x0 1h = Pass All Multicast is enabled : 0x1 |
3 | DAIF | R/W | 0h | DA Inverse Filtering When this bit is set, the Address Check block operates in inverse filtering mode for the DA address comparison for both unicast and multicast packets. When this bit is reset, normal filtering of packets is performed. 0h = DA Inverse Filtering is disabled : 0x0 1h = DA Inverse Filtering is enabled : 0x1 |
2 | HMC | R/W | 0h | Hash Multicast When this bit is set, the MAC performs the destination address filtering of received multicast packets according to the hash table. When this bit is reset, the MAC performs the perfect destination address filtering for multicast packets, that is, it compares the DA field with the values programmed in DA registers. 0h = Hash Multicast is disabled : 0x0 1h = Hash Multicast is enabled : 0x1 |
1 | HUC | R/W | 0h | Hash Unicast When this bit is set, the MAC performs the destination address filtering of unicast packets according to the hash table. When this bit is reset, the MAC performs a perfect destination address filtering for unicast packets, that is, it compares the DA field with the values programmed in DA registers. 0h = Hash Unicast is disabled : 0x0 1h = Hash Unicast is enabled : 0x1 |
0 | PR | R/W | 0h | Promiscuous Mode When this bit is set, the Address Filtering module passes all incoming packets irrespective of the destination or source address. The SA or DA Filter Fails status bits of the Rx Status Word are always cleared when PR is set. 0h = Promiscuous Mode is disabled : 0x0 1h = Promiscuous Mode is enabled : 0x1 |
MAC_Watchdog_Timeout is shown in Figure 43-43 and described in Table 43-97.
Return to the Summary Table.
The Watchdog Timeout register controls the watchdog timeout for received packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||||||||||
R-0h | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PWE | RESERVED | WTO | ||||||||||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-9 | RESERVED | R | 0h | Reserved. |
8 | PWE | R/W | 0h | Programmable Watchdog Enable When this bit is set and the WD bit of the MAC_Configuration register is reset, the WTO field is used as watchdog timeout for a received packet. When this bit is cleared, the watchdog timeout for a received packet is controlled by setting of WD and JE bits in MAC_Configuration register. 0h = Programmable Watchdog is disabled : 0x0 1h = Programmable Watchdog is enabled : 0x1 |
7-4 | RESERVED | R | 0h | Reserved. |
3-0 | WTO | R/W | 0h | Watchdog Timeout When the PWE bit is set and the WD bit of the MAC_Configuration register is reset, this field is used as watchdog timeout for a received packet. If the length of a received packet exceeds the value of this field, such packet is terminated and declared as an error packet. Note: When the PWE bit is set, the value in this field should be more than 1,522 (0x05F2). Otherwise, the IEEE 802.3-specified valid tagged packets are declared as error packets and then dropped. 0h = 2 KB : 0x0 1h = 3 KB : 0x1 2h = 4 KB : 0x2 3h = 5 KB : 0x3 4h = 6 KB : 0x4 5h = 7 KB : 0x5 6h = 8 KB : 0x6 7h = 9 KB : 0x7 8h = 10 KB : 0x8 9h = 11 KB : 0x9 Ah = 12 KB : 0xa Bh = 13 KB : 0xb Ch = 14 KB : 0xc Dh = 15 KB : 0xd Eh = 16383 Bytes : 0xe Fh = Reserved : 0xf |
MAC_Hash_Table_Reg0 is shown in Figure 43-44 and described in Table 43-98.
Return to the Summary Table.
The Hash Table Register 0 contains the first 32 bits of the hash table, when the width of the hash table is 128 or 256 bits. You can specify the width of the hash table by using the Hash Table Size option in coreConsultant.
The Hash table is used for group address filtering. For hash filtering, the content of the destination address in the incoming packet is passed through the CRC logic and the upper six (seven in 128-bit Hash or eight in 256-bit Hash) 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 X), and the least significant five bits determine the bit within the register. For example, a hash value of 6'b100000 (in 64-bit Hash) selects Bit 0 of the Hash Table Register 1, a value of 7b'1110000 (in 128-bit Hash) selects Bit 16 of the Hash Table Register 3 and a value of 8b'10111111 (in 256-bit Hash) selects Bit 31 of the Hash Table Register 5.
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 6 (or 7 or 8) bits from the value obtained in Step 2.
If the corresponding bit value of the register is 1'b1, the packet is accepted. Otherwise, it is rejected. If the PM bit is set in MAC_Packet_Filter, all multicast packets are accepted regardless of the multicast hash values.
If the Hash Table register is configured to be double-synchronized to the (G)MII 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.
If double-synchronization is enabled, consecutive writes to this register should be performed after at least four clock cycles in the destination clock domain.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
HT31T0 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | HT31T0 | R/W | 0h | MAC Hash Table First 32 Bits This field contains the first 32 Bits [31:0] of the Hash table. |
MAC_Hash_Table_Reg1 is shown in Figure 43-45 and described in Table 43-99.
Return to the Summary Table.
The Hash Table Register 1 contains the second 32 bits of the hash table. You can specify the width of the hash table by using the Hash Table Size option in coreConsultant.
The Hash table is used for group address filtering. For hash filtering, the content of the destination address in the incoming packet is passed through the CRC logic and the upper six (seven in 128-bit Hash or eight in 256-bit Hash) 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 X), and the least significant five bits determine the bit within the register. For example, a hash value of 6'b100000 (in 64-bit Hash) selects Bit 0 of the Hash Table Register 1, a value of 7b'1110000 (in 128-bit Hash) selects Bit 16 of the Hash Table Register 3 and a value of 8b'10111111 (in 256-bit Hash) selects Bit 31 of the Hash Table Register 5.
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 6 (or 7 or 8) bits from the value obtained in Step 2.
If the corresponding bit value of the register is 1'b1, the packet is accepted. Otherwise, it is rejected. If the PM bit is set in MAC_Packet_Filter, all multicast packets are accepted regardless of the multicast hash values.
If the Hash Table register is configured to be double-synchronized to the (G)MII 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.
If double-synchronization is enabled, consecutive writes to this register should be performed after at least four clock cycles in the destination clock domain.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
HT63T32 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | HT63T32 | R/W | 0h | MAC Hash Table Second 32 Bits This field contains the second 32 Bits [63:32] of the Hash table. |
MAC_VLAN_Tag_Ctrl is shown in Figure 43-46 and described in Table 43-100.
Return to the Summary Table.
This register is the redefined format of the MAC VLAN Tag Register. It is used for indirect addressing. It contains the address offset, command type and Busy Bit for CSR access of the Per VLAN Tag registers.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
EIVLRXS | RESERVED | EIVLS | ERIVLT | EDVLP | VTHM | EVLRXS | |
R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | EVLS | RESERVED | ESVL | VTIM | RESERVED | ||
R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R-0h | ||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | OFS | CT | OB | ||||
R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | EIVLRXS | R/W | 0h | Enable Inner VLAN Tag in Rx Status When this bit is set, the MAC provides the inner VLAN Tag in the Rx status. When this bit is reset, the MAC does not provide the inner VLAN Tag in Rx status. 0h = Inner VLAN Tag in Rx status is disabled : 0x0 1h = Inner VLAN Tag in Rx status is enabled : 0x1 |
30 | RESERVED | R | 0h | Reserved. |
29-28 | EIVLS | R/W | 0h | Enable Inner VLAN Tag Stripping on Receive This field indicates the stripping operation on inner VLAN Tag in received packet. 0h = Do not strip : 0x0 1h = Strip if VLAN filter passes : 0x1 2h = Strip if VLAN filter fails : 0x2 3h = Always strip : 0x3 |
27 | ERIVLT | R/W | 0h | |
26 | EDVLP | R/W | 0h | Enable Double VLAN Processing When this bit is set, the MAC enables processing of up to two VLAN Tags on Tx and Rx (if present). When this bit is reset, the MAC enables processing of up to one VLAN Tag on Tx and Rx (if present). 0h = Double VLAN Processing is disabled : 0x0 1h = Double VLAN Processing is enabled : 0x1 |
25 | VTHM | R/W | 0h | VLAN Tag Hash Table Match Enable When this bit is set, the most significant four bits of CRC of VLAN Tag are used to index the content of the MAC_VLAN_Hash_Table register. A value of 1 in the VLAN Hash Table register, corresponding to the index, indicates that the packet matched the VLAN hash table. When the ETV bit is set, the CRC of the 12-bit VLAN Identifier (VID) is used for comparison. When the ETV bit is reset, the CRC of the 16-bit VLAN tag is used for comparison. When this bit is reset, the VLAN Hash Match operation is not performed. 0h = VLAN Tag Hash Table Match is disabled : 0x0 1h = VLAN Tag Hash Table Match is enabled : 0x1 |
24 | EVLRXS | R/W | 0h | Enable VLAN Tag in Rx status When this bit is set, MAC provides the outer VLAN Tag in the Rx status. When this bit is reset, the MAC does not provide the outer VLAN Tag in Rx status. 0h = VLAN Tag in Rx status is disabled : 0x0 1h = VLAN Tag in Rx status is enabled : 0x1 |
23 | RESERVED | R | 0h | Reserved. |
22-21 | EVLS | R/W | 0h | Enable VLAN Tag Stripping on Receive This field indicates the stripping operation on the outer VLAN Tag in received packet. 0h = Do not strip : 0x0 1h = Strip if VLAN filter passes : 0x1 2h = Strip if VLAN filter fails : 0x2 3h = Always strip : 0x3 |
20-19 | RESERVED | R | 0h | Reserved. |
18 | ESVL | R/W | 0h | Enable S-VLAN When this bit is set, the MAC transmitter and receiver consider the S-VLAN packets (Type = 0x88A8) as valid VLAN tagged packets. 0h = S-VLAN is disabled : 0x0 1h = S-VLAN is enabled : 0x1 |
17 | VTIM | R/W | 0h | VLAN Tag Inverse Match Enable When this bit is set, this bit enables the VLAN Tag inverse matching. The packets without matching VLAN Tag are marked as matched. When reset, this bit enables the VLAN Tag perfect matching. The packets with matched VLAN Tag are marked as matched. 0h = VLAN Tag Inverse Match is disabled : 0x0 1h = VLAN Tag Inverse Match is enabled : 0x1 |
16-7 | RESERVED | R | 0h | Reserved. |
6-2 | OFS | R/W | 0h | Offset This field holds the address offset of the MAC VLAN Tag Filter Register which the application is trying to access. The width of the field depends on the number of MAC VLAN Tag Registers enabled. |
1 | CT | R/W | 0h | Command Type This bit indicates if the current register access is a read or a write. When set, it indicate a read operation. When reset, it indicates a write operation. 0h = Write operation : 0x0 1h = Read operation : 0x1 |
0 | OB | R/W | 0h | Operation Busy This bit is set along with a read or write command for initiating the indirect access to per VLAN Tag Filter register. This bit is reset when the read or write command to per VLAN Tag Filter indirect access register is complete. The next indirect register access can be initiated only after this bit is reset. During a write operation, the bit is reset only after the data has been written into the Per VLAN Tag register. During a read operation, the data should be read from the MAC_VLAN_Tag_Data register only after this bit is reset. 0h = Operation Busy is disabled : 0x0 1h = Operation Busy is enabled : 0x1 |
MAC_VLAN_Tag_Data is shown in Figure 43-47 and described in Table 43-101.
Return to the Summary Table.
This register holds the read/write data for Indirect Access of the Per VLAN Tag registers. During the read access, this field contains valid read data only after the OB bit is reset.
During the write access, this field should be valid prior to setting the OB bit in the MAC_VLAN_Tag_Ctrl Register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | DMACHN | DMACHEN | |||||
R-0h | R/W-0h | R/W-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | ERIVLT | ERSVLM | DOVLTC | ETV | VEN | ||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
VID | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VID | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-26 | RESERVED | R | 0h | Reserved. |
25 | DMACHN | R/W | 0h | DMA Channel Number The DMA Channel number to which the VLAN Tagged Frame is to be routed if it passes this VLAN Tag Filter is programmed in this field. If the Routing based on VLAN Tag Filter is not necessary, this field need not be programmed. |
24 | DMACHEN | R/W | 0h | DMA Channel Number Enable This bit is the Enable for the DMA Channel Number value programmed in the field DMACH. When this bit is reset, the Routing does not occur based on VLAN Filter result. The frame is routed based on DA Based DMA Channel Routing. 0h = DMA Channel Number is disabled : 0x0 1h = DMA Channel Number is enabled : 0x1 |
23-21 | RESERVED | R | 0h | Reserved. |
20 | ERIVLT | R/W | 0h | Enable Inner VLAN Tag Comparison This bit is valid only when VLAN Tag Enable of the Filter is set. When this bit and the EDVLP field are set, the MAC receiver enables operation on the inner VLAN Tag (if present). When this bit is reset, the MAC receiver enables operation on the outer VLAN Tag (if present). 0h = Inner VLAN tag comparision is disabled : 0x0 1h = Inner VLAN tag comparision is enabled : 0x1 |
19 | ERSVLM | R/W | 0h | Enable S-VLAN Match for received Frames This bit is valid only when VLAN Tag Enable of the Filter is set. When this bit is set, the MAC receiver enables filtering or matching for S-VLAN (Type = 0x88A8) packets. When this bit is reset, the MAC receiver enables filtering or matching for C-VLAN (Type = 0x8100) packets. 0h = Receive S-VLAN Match is disabled : 0x0 1h = Receive S-VLAN Match is enabled : 0x1 |
18 | DOVLTC | R/W | 0h | Disable VLAN Type Comparison This bit is valid only when VLAN Tag Enable of the Filter is set. When this bit is set, the MAC does not check whether the VLAN Tag specified by the Enable Inner VLAN Tag Comparison bit is of type S-VLAN or C-VLAN. When this bit is reset, the MAC filters or matches the VLAN Tag specified by the Enable Inner VLAN Tag Comparison bit only when VLAN Tag type is similar to the one specified by the Enable S-VLAN Match for received Frames bit. 0h = VLAN type comparision is enabled : 0x0 1h = VLAN type comparision is disabled : 0x1 |
17 | ETV | R/W | 0h | 12bits or 16bits VLAN comparison This bit is valid only when VEN of the Filter is set. When this bit is set, a 12-bit VLAN identifier is used for comparing and filtering instead of the complete 16-bit VLAN tag. Bits [11:0] of VLAN tag are compared with the corresponding field in the received VLAN-tagged packet. 0h = 16 bit VLAN comparision : 0x0 1h = 12 bit VLAN comparision : 0x1 |
16 | VEN | R/W | 0h | VLAN Tag Enable This bit is used to enable or disable the VLAN Tag. When this bit is set, the MAC compares the VLAN Tag of received packet with the VLAN Tag ID. When this bit is reset, no comparison is performed irrespective of the programming of the other fields. 0h = VLAN Tag is disabled : 0x0 1h = VLAN Tag is enabled : 0x1 |
15-0 | VID | R/W | 0h | VLAN Tag ID This field holds the VLAN Tag value which is used by the MAC for perfect comparison. It is valid when VLAN Tag Enable is set. |
MAC_VLAN_Hash_Table is shown in Figure 43-48 and described in Table 43-102.
Return to the Summary Table.
When VTHM bit of the MAC_VLAN_Tag 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 MAC_VLAN_Tag 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 4b'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 (G)MII 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.
- If double-synchronization is enabled, consecutive writes to this register should be performed after at least four clock cycles in the destination clock domain.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | VLHT | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-0 | VLHT | R/W | 0h | VLAN Hash Table This field contains the 16-bit VLAN Hash Table. |
MAC_VLAN_Incl is shown in Figure 43-49 and described in Table 43-103.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
BUSY | RDWR | RESERVED | ADDR | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | CBTI | VLTI | CSVL | VLP | VLC | ||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
VLT | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VLT | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | BUSY | R | 0h | Busy This bit indicates the status of the read/write operation of indirect access to the queue/channel specific VLAN inclusion register. For write operation write to a register is complete when this bit is reset. For read operation the read data is valid when the bit is reset. The application must make sure that this bit is reset before attempting subsequent access to this register. 0h = Busy status not detected : 0x0 1h = Busy status detected : 0x1 |
30 | RDWR | R/W | 0h | Read write control This bit controls the read or write operation for indirectly accessing the queue/channel specific VLAN Inclusion register. When set indicates write operation and when reset indicates read operation. This does not have any effect when CBTI is reset. 0h = Read operation of indirect access : 0x0 1h = Write operation of indirect access : 0x1 |
29-25 | RESERVED | R | 0h | Reserved. |
24 | ADDR | R/W | 0h | Address This field selects one of the queue/channel specific VLAN Inclusion register for read/write access. This does not have any effect when CBTI is reset. |
23-22 | RESERVED | R | 0h | Reserved. |
21 | CBTI | R/W | 0h | Channel based tag insertion When this bit is set, outer VLAN tag is inserted for every packets transmitted by the MAC. The tag value is taken from the queue/channel specific VLAN tag register. The VLTI, VLP, VLC, and VLT fields of this register are ignored when this bit is set. When this bit is set, a write operation to byte 3 of this register initiates the read/write access to the indirect register. When reset, outer VLAN operation is based on the setting of VLTI, VLP, VLC and VLT fields of this register. 0h = Channel based tag insertion is disabled : 0x0 1h = Channel based tag insertion is enabled : 0x1 |
20 | VLTI | R/W | 0h | VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or replaced in Tx packet should be taken from: - The Tx descriptor 0h = VLAN Tag Input is disabled : 0x0 1h = VLAN Tag Input is enabled : 0x1 |
19 | CSVL | R/W | 0h | C-VLAN or S-VLAN When this bit is set, S-VLAN type (0x88A8) is inserted or replaced in the 13th and 14th bytes of transmitted packets. When this bit is reset, C-VLAN type (0x8100) is inserted or replaced in the 13th and 14th bytes of transmitted packets. 0h = C-VLAN type (0x8100) is inserted or replaced : 0x0 1h = S-VLAN type (0x88A8) is inserted or replaced : 0x1 |
18 | VLP | R/W | 0h | VLAN Priority Control When this bit is set, the control bits[17:16] are used for VLAN deletion, insertion, or replacement. When this bit is reset, the mti_vlan_ctrl_i control input is used and bits[17:16] are ignored. 0h = VLAN Priority Control is disabled : 0x0 1h = VLAN Priority Control is enabled : 0x1 |
17-16 | VLC | R/W | 0h | VLAN Tag Control in Transmit Packets - 2'b00: No VLAN tag deletion, insertion, or replacement - 2'b01: VLAN tag deletion The MAC removes the VLAN type (bytes 13 and 14) and VLAN tag (bytes 15 and 16) of all transmitted packets with VLAN tags. - 2'b10: VLAN tag insertion The MAC inserts VLT in bytes 15 and 16 of the packet after inserting the Type value (0x8100 or 0x88a8) in bytes 13 and 14. This operation is performed on all transmitted packets, irrespective of whether they already have a VLAN tag. - 2'b11: VLAN tag replacement The MAC replaces VLT in bytes 15 and 16 of all VLAN-type transmitted packets (Bytes 13 and 14 are 0x8100 or 0x88a8). Note: Changes to this field take effect only on the start of a packet. If you write this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value. 0h = No VLAN tag deletion, insertion, or replacement : 0x0 1h = VLAN tag deletion : 0x1 2h = VLAN tag insertion : 0x2 3h = VLAN tag replacement : 0x3 |
15-0 | VLT | R/W | 0h | VLAN Tag for Transmit Packets This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase. Bits[15:13] are the User Priority field, Bit 12 is the CFI/DEI field, and Bits[11:0] are the VID field in the VLAN tag. The following list describes the bits of this field: - Bits[15:13]: User Priority - Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI) - Bits[11:0]: VLAN Identifier (VID) field of VLAN tag |
MAC_Inner_VLAN_Incl is shown in Figure 43-50 and described in Table 43-104.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | VLTI | CSVL | VLP | VLC | |||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
VLT | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VLT | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-21 | RESERVED | R | 0h | Reserved. |
20 | VLTI | R/W | 0h | VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or replaced in Tx packet should be taken from: - The Tx descriptor 0h = VLAN Tag Input is disabled : 0x0 1h = VLAN Tag Input is enabled : 0x1 |
19 | CSVL | R/W | 0h | C-VLAN or S-VLAN When this bit is set, S-VLAN type (0x88A8) is inserted or replaced in the 13th and 14th bytes of transmitted packets. When this bit is reset, C-VLAN type (0x8100) is inserted or replaced in the 13th and 14th bytes of transmitted packets. 0h = C-VLAN type (0x8100) is inserted : 0x0 1h = S-VLAN type (0x88A8) is inserted : 0x1 |
18 | VLP | R/W | 0h | VLAN Priority Control When this bit is set, the VLC field is used for VLAN deletion, insertion, or replacement. When this bit is reset, the mti_vlan_ctrl_i control input is used and the VLC field is ignored. 0h = VLAN Priority Control is disabled : 0x0 1h = VLAN Priority Control is enabled : 0x1 |
17-16 | VLC | R/W | 0h | VLAN Tag Control in Transmit Packets - 2'b00: No VLAN tag deletion, insertion, or replacement - 2'b01: VLAN tag deletion The MAC removes the VLAN type (bytes 17 and 18) and VLAN tag (bytes 19 and 20) of all transmitted packets with VLAN tags. - 2'b10: VLAN tag insertion The MAC inserts VLT in bytes 19 and 20 of the packet after inserting the Type value (0x8100 or 0x88a8) in bytes 17 and 18. This operation is performed on all transmitted packets, irrespective of whether they already have a VLAN tag. - 2'b11: VLAN tag replacement The MAC replaces VLT in bytes 19 and 20 of all VLAN-type transmitted packets (Bytes 17 and 18 are 0x8100 or 0x88a8). Note: Changes to this field take effect only on the start of a packet. If you write this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value. 0h = No VLAN tag deletion, insertion, or replacement : 0x0 1h = VLAN tag deletion : 0x1 2h = VLAN tag insertion : 0x2 3h = VLAN tag replacement : 0x3 |
15-0 | VLT | R/W | 0h | VLAN Tag for Transmit Packets This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase. Bits[15:13] are the User Priority field, Bit 12 is the CFI/DEI field, and Bits[11:0] are the VID field in the VLAN tag. The following list describes the bits of this field: - Bits[15:13]: User Priority - Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI) - Bits[11:0]: VLAN Identifier (VID) field of VLAN tag |
MAC_Q0_Tx_Flow_Ctrl is shown in Figure 43-51 and described in Table 43-105.
Return to the Summary Table.
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.
When the PFCE bit in the MAC_Rx_Flow_Ctrl register is enabled, this register controls the generation of Priority Flow Control (PFC) frames with priorities mapped according to PSRQ0 in the MAC_RxQ_Ctrl2 register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
PT | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
PT | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DZPQ | PLT | RESERVED | TFE | FCB_BPA | |||
R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | |||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | PT | R/W | 0h | Pause Time This field holds the value to be used in the Pause Time field in the Tx control packet. If the Pause Time bits are configured to be double-synchronized to the (G)MII clock domain, consecutive writes to this register should be performed only after at least four clock cycles in the destination clock domain. |
15-8 | RESERVED | R | 0h | Reserved. |
7 | DZPQ | R/W | 0h | Disable Zero-Quanta Pause When this bit is set, it disables the automatic generation of the zero-quanta Pause packets on de-assertion of the flow-control signal from the FIFO layer (MTL or external sideband flow control signal sbd_flowctrl_i or mti_flowctrl_i). When this bit is reset, normal operation with automatic zero-quanta Pause packet generation is enabled. 0h = Zero-Quanta Pause packet generation is enabled : 0x0 1h = Zero-Quanta Pause packet generation is disabled : 0x1 |
6-4 | PLT | R/W | 0h | Pause Low Threshold This field configures the threshold of the Pause timer at which the input flow control signal mti_flowctrl_i (or sbd_flowctrl_i) is checked for automatic retransmission of the Pause packet. The threshold values should be always less than the Pause Time configured in Bits[31:16]. For example, if PT = 100H (256 slot times), and PLT = 001, a second Pause packet is automatically transmitted if the mti_flowctrl_i signal is asserted at 228 (256-28) slot times after the first Pause packet is transmitted. The following list provides the threshold values for different values. The slot time is defined as the time taken to transmit 512 bits (64 bytes) on the GMII or MII interface. This (approximate) computation is based on the packet size (64, 1518, 2000, 9018, 16384, or 32768) + 2 Pause Packet Size + IPG in Slot Times. 0h = Pause Time minus 4 Slot Times (PT -4 slot times) : 0x0 1h = Pause Time minus 28 Slot Times (PT -28 slot times) : 0x1 2h = Pause Time minus 36 Slot Times (PT -36 slot times) : 0x2 3h = Pause Time minus 144 Slot Times (PT -144 slot times) : 0x3 4h = Pause Time minus 256 Slot Times (PT -256 slot times) : 0x4 5h = Pause Time minus 512 Slot Times (PT -512 slot times) : 0x5 6h = Reserved : 0x6 |
3-2 | RESERVED | R | 0h | Reserved. |
1 | TFE | R/W | 0h | Transmit Flow Control Enable Full-Duplex Mode: In the full-duplex mode, when this bit is set, the MAC enables the flow control operation to Tx Pause packets. When this bit is reset, the flow control operation in the MAC is disabled, and the MAC does not transmit any Pause packets. Half-Duplex Mode: In the half-duplex mode, when this bit is set, the MAC enables the backpressure operation. When this bit is reset, the backpressure feature is disabled. 0h = Transmit Flow Control is disabled : 0x0 1h = Transmit Flow Control is enabled : 0x1 |
0 | FCB_BPA | R/W | 0h | Flow Control Busy or Backpressure Activate This bit initiates a Pause packet in the full-duplex mode and activates the backpressure function in the half-duplex mode if the TFE bit is set. Full-Duplex Mode: In the full-duplex mode, this bit should be read as 1'b0 before writing to this register. To initiate a Pause packet, the application must set this bit to 1'b1. During Control packet transfer, this bit continues to be set to indicate that a packet transmission is in progress. When Pause packet transmission is complete, the MAC resets this bit to 1'b0. You should not write to this register until this bit is cleared. Half-Duplex Mode: When this bit is set (and TFE bit is set) in the half-duplex mode, the MAC asserts the backpressure. During backpressure, when the MAC receives a new packet, the transmitter starts sending a JAM pattern resulting in a collision. This control register bit is logically ORed with the mti_flowctrl_i input signal for the backpressure function. When the MAC is configured for the full-duplex mode, the BPA is automatically disabled. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Flow Control Busy or Backpressure Activate is disabled : 0x0 1h = Flow Control Busy or Backpressure Activate is enabled : 0x1 |
MAC_Rx_Flow_Ctrl is shown in Figure 43-52 and described in Table 43-106.
Return to the Summary Table.
The Receive Flow Control register controls the pausing of MAC Transmit based on the received Pause packet.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RESERVED | ||||||
R-0h | R-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | UP | RFE | |||||
R-0h | R/W-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-9 | RESERVED | R | 0h | Reserved. |
8 | RESERVED | R | 0h | Reserved. |
7-2 | RESERVED | R | 0h | Reserved. |
1 | UP | R/W | 0h | Unicast Pause Packet Detect A pause packet is processed when it has the unique multicast address specified in the IEEE 802.3. When this bit is set, the MAC can also detect Pause packets with unicast address of the station. This unicast address should be as specified in MAC_Address0_High and MAC_Address0_Low. When this bit is reset, the MAC only detects Pause packets with unique multicast address. Note: The MAC does not process a Pause packet if the multicast address is different from the unique multicast address. This is also applicable to the received PFC packet when the Priority Flow Control (PFC) is enabled. The unique multicast address (0x01_80_C2_00_00_01) is as specified in IEEE 802.1 Qbb-2011. 0h = Unicast Pause Packet Detect disabled : 0x0 1h = Unicast Pause Packet Detect enabled : 0x1 |
0 | RFE | R/W | 0h | Receive Flow Control Enable When this bit is set and the MAC is operating in full-duplex mode, the MAC decodes the received Pause packet and disables its transmitter for a specified (Pause) time. When this bit is reset or the MAC is operating in half-duplex mode, the decode function of the Pause packet is disabled. When PFC is enabled, flow control is enabled for PFC packets. The MAC decodes the received PFC packet and disables the Transmit queue, with matching priorities, for a duration of received Pause time. 0h = Receive Flow Control is disabled : 0x0 1h = Receive Flow Control is enabled : 0x1 |
MAC_RxQ_Ctrl4 is shown in Figure 43-53 and described in Table 43-107.
Return to the Summary Table.
The Receive Queue Control 4 register controls the routing of unicast and multicast packets that fail the Destination or Source address filter to the Rx queues.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | VFFQ | VFFQE | |||||
R-0h | R/W-0h | R/W-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | MFFQ | MFFQE | |||||
R-0h | R/W-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | UFFQ | UFFQE | |||||
R-0h | R/W-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-18 | RESERVED | R | 0h | Reserved. |
17 | VFFQ | R/W | 0h | VLAN Tag Filter Fail Packets Queue This field holds the Rx queue number to which the tagged packets failing the Destination or Source Address filter (and UFFQE/MFFQE not enabled) or failing the VLAN tag filter must be routed to. This field is valid only when the VFFQE bit is set. |
16 | VFFQE | R/W | 0h | VLAN Tag Filter Fail Packets Queuing Enable When this bit is set, the tagged packets which fail the Destination or Source address filter or fail the VLAN tag filter, are routed to the Rx Queue Number programmed in the VFFQ. When this bit is reset, the tagged packets which fail the Destination or Source address filter or fail the VLAN tag filter are routed based on other routing options. This bit is valid only when the RA bit of the MAC_Packet_Filter register is set. 0h = VLAN tag Filter Fail Packets Queuing is disabled : 0x0 1h = VLAN tag Filter Fail Packets Queuing is enabled : 0x1 |
15-10 | RESERVED | R | 0h | Reserved. |
9 | MFFQ | R/W | 0h | Multicast Address Filter Fail Packets Queue.
This field holds the Rx queue number to which the Multicast packets failing the Destination or Source Address filter are routed to. This field is valid only when the MFFQE bit is set. |
8 | MFFQE | R/W | 0h | Multicast Address Filter Fail Packets Queuing Enable.
When this bit is set, the Multicast packets which fail the Destination or Source address filter is routed to the Rx Queue Number programmed in the MFFQ. When this bit is reset, the Multicast packets which fail the Destination or Source address filter is routed based on other routing options. This bit is valid only when the RA bit of the MAC_Packet_Filter register is set. 0h = Multicast Address Filter Fail Packets Queuing is disabled : 0x0 1h = Multicast Address Filter Fail Packets Queuing is enabled : 0x1 |
7-2 | RESERVED | R | 0h | Reserved. |
1 | UFFQ | R/W | 0h | Unicast Address Filter Fail Packets Queue.
This field holds the Rx queue number to which the Unicast packets failing the Destination or Source Address filter are routed to. This field is valid only when the UFFQE bit is set. |
0 | UFFQE | R/W | 0h | Unicast Address Filter Fail Packets Queuing Enable.
When this bit is set, the Unicast packets which fail the Destination or Source address filter is routed to the Rx Queue Number programmed in the UFFQ. When this bit is reset, the Unicast packets which fail the Destination or Source address filter is routed based on other routing options. This bit is valid only when the RA bit of the MAC_Packet_Filter register is set. 0h = Unicast Address Filter Fail Packets Queuing is disabled : 0x0 1h = Unicast Address Filter Fail Packets Queuing is enabled : 0x1 |
MAC_RxQ_Ctrl0 is shown in Figure 43-54 and described in Table 43-108.
Return to the Summary Table.
The Receive Queue Control 0 register controls the queue management in the MAC Receiver.
Note: In multiple Rx queues configuration, all the queues are disabled by default. Enable the Rx queue by programming the corresponding field in this register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RESERVED | RESERVED | RESERVED | ||||
R-0h | R-0h | R-0h | R-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RESERVED | RXQ1EN | RXQ0EN | ||||
R-0h | R-0h | R/W-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-14 | RESERVED | R | 0h | Reserved. |
13-12 | RESERVED | R | 0h | Reserved. |
11-10 | RESERVED | R | 0h | Reserved. |
9-8 | RESERVED | R | 0h | Reserved. |
7-6 | RESERVED | R | 0h | Reserved. |
5-4 | RESERVED | R | 0h | Reserved. |
3-2 | RXQ1EN | R/W | 0h | Receive Queue 1 Enable This field is similar to the RXQ0EN field. 0h = Queue not enabled : 0x0 1h = Queue enabled for AV : 0x1 2h = Queue enabled for DCB/Generic : 0x2 3h = Reserved : 0x3 |
1-0 | RXQ0EN | R/W | 0h | Receive Queue 0 Enable This field indicates whether Rx Queue 0 is enabled for AV or DCB. 0h = Queue not enabled : 0x0 1h = Queue enabled for AV : 0x1 2h = Queue enabled for DCB/Generic : 0x2 3h = Reserved : 0x3 |
MAC_RxQ_Ctrl1 is shown in Figure 43-55 and described in Table 43-109.
Return to the Summary Table.
The Receive Queue Control 1 register controls the routing of multicast, broadcast, AV, DCB, and untagged packets to the Rx queues.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | TPQC | RESERVED | MCBCQEN | RESERVED | MCBCQ | ||
R-0h | R/W-0h | R-0h | R/W-0h | R-0h | R/W-0h | ||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | UPQ | RESERVED | RESERVED | ||||
R-0h | R/W-0h | R-0h | R-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PTPQ | RESERVED | RESERVED | ||||
R-0h | R/W-0h | R-0h | R-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | RESERVED | R | 0h | Reserved. |
23 | RESERVED | R | 0h | Reserved. |
22 | TPQC | R/W | 0h | Tagged PTP over Ethernet Packets Queuing Control.
This field controls the routing of the VLAN Tagged PTPoE packets. If DWC_EQOS_AV_ENABLE is selected in the configuration, the following programmable options are allowed. - 2'b00: VLAN Tagged PTPoE packets are routed as generic VLAN Tagged packet (based on PSRQ for only non-AV enabled Rx Queues). - 2'b01: VLAN Tagged PTPoE packets are routed to Rx Queue specified by PTPQ field (That Rx Queue can be enabled for AV or non-AV traffic). - 2'b10: VLAN Tagged PTPoE packets are routed to only AV enabled Rx Queues based on PSRQ. - 2'b11: Reserved If DWC_EQOS_AV_ENABLE is not selected in the configuration, the following programmable options are allowed. - 1'b0: VLAN Tagged PTPoE packets are routed as generic VLAN Tagged packet (based on PSRQ for DCB/Generic enabled Rx Queues). - 1'b1: VLAN Tagged PTPoE packets are routed to Rx Queues specified by PTPQ field. |
21 | RESERVED | R | 0h | Reserved. |
20 | MCBCQEN | R/W | 0h | Multicast and Broadcast Queue Enable This bit specifies that Multicast or Broadcast packets routing to the Rx Queue is enabled and the Multicast or Broadcast packets must be routed to Rx Queue specified in MCBCQ field. 0h = Multicast and Broadcast Queue is disabled : 0x0 1h = Multicast and Broadcast Queue is enabled : 0x1 |
19 | RESERVED | R | 0h | Reserved. |
18-16 | MCBCQ | R/W | 0h | Multicast and Broadcast Queue This field specifies the Rx Queue onto which Multicast or Broadcast Packets are routed. Any Rx Queue enabled for Generic/DCB/AV traffic can be used to route the Multicast or Broadcast Packets. 0h = Receive Queue 0 : 0x0 1h = Receive Queue 1 : 0x1 2h = Receive Queue 2 : 0x2 3h = Receive Queue 3 : 0x3 4h = Receive Queue 4 : 0x4 5h = Receive Queue 5 : 0x5 6h = Receive Queue 6 : 0x6 7h = Receive Queue 7 : 0x7 |
15 | RESERVED | R | 0h | Reserved. |
14-12 | UPQ | R/W | 0h | Untagged Packet Queue This field indicates the Rx Queue to which Untagged Packets are to be routed. Any Rx Queue enabled for Generic/DCB/AV traffic can be used to route the Untagged Packets. 0h = Receive Queue 0 : 0x0 1h = Receive Queue 1 : 0x1 2h = Receive Queue 2 : 0x2 3h = Receive Queue 3 : 0x3 4h = Receive Queue 4 : 0x4 5h = Receive Queue 5 : 0x5 6h = Receive Queue 6 : 0x6 7h = Receive Queue 7 : 0x7 |
11 | RESERVED | R | 0h | Reserved. |
10-8 | RESERVED | R | 0h | Reserved. |
7 | RESERVED | R | 0h | Reserved. |
6-4 | PTPQ | R/W | 0h | PTP Packets Queue This field specifies the Rx queue on which the PTP packets sent over the Ethernet payload (not over IPv4 or IPv6) are routed. When the AV8021ASMEN bit of MAC_Timestamp_Control register is set, only untagged PTP over Ethernet packets are routed on an Rx Queue. If the bit is not set, then based on programming of TPQC field, both tagged and untagged PTPoE packets can be routed to this Rx Queue. 0h = Receive Queue 0 : 0x0 1h = Receive Queue 1 : 0x1 2h = Receive Queue 2 : 0x2 3h = Receive Queue 3 : 0x3 4h = Receive Queue 4 : 0x4 5h = Receive Queue 5 : 0x5 6h = Receive Queue 6 : 0x6 7h = Receive Queue 7 : 0x7 |
3 | RESERVED | R | 0h | Reserved. |
2-0 | RESERVED | R | 0h | Reserved. |
MAC_RxQ_Ctrl2 is shown in Figure 43-56 and described in Table 43-110.
Return to the Summary Table.
This register controls the routing of tagged packets based on the USP (user Priority) field of the received packets to the RxQueues 0 to 3.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RESERVED | PSRQ1 | PSRQ0 | ||||||||||||||||||||||||||||
R-0h | R-0h | R/W-0h | R/W-0h | ||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | RESERVED | R | 0h | Reserved. |
23-16 | RESERVED | R | 0h | Reserved. |
15-8 | PSRQ1 | R/W | 0h | Priorities Selected in the Receive Queue 1 This field decides the priorities assigned to Rx Queue 1. All packets with priorities that match the values set in this field are routed to Rx Queue 1. For example, if PSRQ1[4] is set, packets with USP field equal to 4 are routed to Rx Queue 1. The software must ensure that the content of this field is mutually exclusive to the PSRQ fields for other queues, that is, the same priority is not mapped to multiple Rx queues. |
7-0 | PSRQ0 | R/W | 0h | Priorities Selected in the Receive Queue 0 This field decides the priorities assigned to Rx Queue 0. All packets with priorities that match the values set in this field are routed to Rx Queue 0. For example, if PSRQ0[5] is set, packets with USP field equal to 5 are routed to Rx Queue 0. The software must ensure that the content of this field is mutually exclusive to the PSRQ fields for other queues, that is, the same priority is not mapped to multiple Rx queues. |
MAC_Interrupt_Status is shown in Figure 43-57 and described in Table 43-111.
Return to the Summary Table.
The Interrupt Status register contains the status of interrupts.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RESERVED | RESERVED | MDIOIS | RESERVED | RESERVED | ||
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RXSTSIS | TXSTSIS | TSIS | MMCRXIPIS | MMCTXIS | MMCRXIS | MMCIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | LPIIS | PMTIS | PHYIS | RESERVED | RESERVED | RESERVED | |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-21 | RESERVED | R | 0h | Reserved. |
20 | RESERVED | R | 0h | Reserved. |
19 | RESERVED | R | 0h | Reserved. |
18 | MDIOIS | R | 0h | MDIO Interrupt Status This bit indicates an interrupt event after the completion of MDIO operation. To reset this bit, the application has to read this bit/Write 1 to this bit when RCWE bit of MAC_CSR_SW_Ctrl register is set. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = MDIO Interrupt status not active : 0x0 1h = MDIO Interrupt status active : 0x1 |
17 | RESERVED | R | 0h | Reserved. |
16 | RESERVED | R | 0h | Reserved. |
15 | RESERVED | R | 0h | Reserved. |
14 | RXSTSIS | R | 0h | Receive Status Interrupt This bit indicates the status of received packets. This bit is set when the RWT bit is set in the MAC_Rx_Tx_Status register. This bit is cleared when the corresponding interrupt source bit is read (or corresponding interrupt source bit is written to 1 when RCWE bit of MAC_CSR_SW_Ctrl register is set) in the MAC_Rx_Tx_Status register. 0h = Receive Interrupt status not active : 0x0 1h = Receive Interrupt status active : 0x1 |
13 | TXSTSIS | R | 0h | Transmit Status Interrupt This bit indicates the status of transmitted packets. This bit is set when any of the following bits is set in the MAC_Rx_Tx_Status register: - Excessive Collision (EXCOL) - Late Collision (LCOL) - Excessive Deferral (EXDEF) - Loss of Carrier (LCARR) - No Carrier (NCARR) - Jabber Timeout (TJT) This bit is cleared when the corresponding interrupt source bit is read (or corresponding interrupt source bit is written to 1 when RCWE bit of MAC_CSR_SW_Ctrl register is set) in the MAC_Rx_Tx_Status register. 0h = Transmit Interrupt status not active : 0x0 1h = Transmit Interrupt status active : 0x1 |
12 | TSIS | R | 0h | Timestamp Interrupt Status If the Timestamp feature is enabled, this bit is set when any of the following conditions is true: - The system time value is equal to or exceeds the value specified in the Target Time High and Low registers. - There is an overflow in the Seconds register. - The Target Time Error occurred, that is, programmed target time already elapsed. If the Auxiliary Snapshot feature is enabled, this bit is set when the auxiliary snapshot trigger is asserted. In configurations other than EQOS_CORE, when drop transmit status is enabled in MTL, this bit is set when the captured transmit timestamp is updated in the MAC_Tx_Timestamp_Status_Nanoseconds and Mac_TxTimestamp_Status_Seconds registers. When PTP offload feature is enabled, this bit is set when the captured transmit timestamp is updated in the MAC_Tx_Timestamp_Status_Nanoseconds and MAC_Tx_Timestamp_Status_Seconds registers, for PTO generated Delay Request and Pdelay request packets. This bit is cleared when the corresponding interrupt source bit is read (or corresponding interrupt source bit is written to 1 when RCWE bit of MAC_CSR_SW_Ctrl register is set) in the MAC_Timestamp_Status register. 0h = Timestamp Interrupt status not active : 0x0 1h = Timestamp Interrupt status active : 0x1 |
11 | MMCRXIPIS | R | 0h | MMC Receive Checksum Offload Interrupt Status This bit is set high when an interrupt is generated in the MMC Receive Checksum Offload Interrupt Register. This bit is cleared when all bits in this interrupt register are cleared. This bit is valid only when you select the Enable MAC Management Counters (MMC) and Enable Receive TCP/IP Checksum Check options. 0h = MMC Receive Checksum Offload Interrupt status not active : 0x0 1h = MMC Receive Checksum Offload Interrupt status active : 0x1 |
10 | MMCTXIS | R | 0h | MMC Transmit Interrupt Status This bit is set high when an interrupt is generated in the MMC Transmit Interrupt Register. This bit is cleared when all bits in this interrupt register are cleared. This bit is valid only when you select the Enable MAC Management Counters (MMC) option. 0h = MMC Transmit Interrupt status not active : 0x0 1h = MMC Transmit Interrupt status active : 0x1 |
9 | MMCRXIS | R | 0h | MMC Receive Interrupt Status This bit is set high when an interrupt is generated in the MMC Receive Interrupt Register. This bit is cleared when all bits in this interrupt register are cleared. This bit is valid only when you select the Enable MAC Management Counters (MMC) option. 0h = MMC Receive Interrupt status not active : 0x0 1h = MMC Receive Interrupt status active : 0x1 |
8 | MMCIS | R | 0h | MMC Interrupt Status This bit is set high when Bit 11, Bit 10, or Bit 9 is set high. This bit is cleared only when all these bits are low. This bit is valid only when you select the Enable MAC Management Counters (MMC) option. 0h = MMC Interrupt status not active : 0x0 1h = MMC Interrupt status active : 0x1 |
7-6 | RESERVED | R | 0h | Reserved. |
5 | LPIIS | R | 0h | LPI Interrupt Status When the Energy Efficient Ethernet feature is enabled, this bit is set for any LPI state entry or exit in the MAC Transmitter or Receiver. This bit is cleared when the corresponding interrupt source bit of MAC_LPI_Control_Status register is read (or corresponding interrupt source bit of MAC_LPI_Control_Status register is written to 1 when RCWE bit of MAC_CSR_SW_Ctrl register is set). 0h = LPI Interrupt status not active : 0x0 1h = LPI Interrupt status active : 0x1 |
4 | PMTIS | R | 0h | PMT Interrupt Status This bit is set when a Magic packet or Wake-on-LAN packet is received in the power-down mode (RWKPRCVD and MGKPRCVD bits in MAC_PMT_Control_Status register). This bit is cleared when corresponding interrupt source bit are cleared because of a Read operation to the MAC_PMT_Control_Status register (or corresponding interrupt source bit of MAC_PMT_Control_Status register is written to 1 when RCWE bit of MAC_CSR_SW_Ctrl register is set). This bit is valid only when you select the Enable Power Management option. 0h = PMT Interrupt status not active : 0x0 1h = PMT Interrupt status active : 0x1 |
3 | PHYIS | R | 0h | PHY Interrupt This bit is set when rising edge is detected on the phy_intr_i input. This bit is cleared when this register is read (or this bit is written to 1 when RCWE bit of MAC_CSR_SW_Ctrl register is set). 0h = PHY Interrupt not detected : 0x0 1h = PHY Interrupt detected : 0x1 |
2 | RESERVED | R | 0h | Reserved. |
1 | RESERVED | R | 0h | Reserved. |
0 | RESERVED | R | 0h | Reserved. |
MAC_Interrupt_Enable is shown in Figure 43-58 and described in Table 43-112.
Return to the Summary Table.
The Interrupt Enable register contains the masks for generating the interrupts.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | MDIOIE | RESERVED | RESERVED | ||||
R-0h | R/W-0h | R-0h | R-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RXSTSIE | TXSTSIE | TSIE | RESERVED | |||
R-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | |||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | LPIIE | PMTIE | PHYIE | RESERVED | RESERVED | RESERVED | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R-0h | R-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-19 | RESERVED | R | 0h | Reserved. |
18 | MDIOIE | R/W | 0h | MDIO Interrupt Enable When this bit is set, it enables the assertion of the interrupt when MDIOIS field is set in the MAC_Interrupt_Status register. 0h = MDIO Interrupt is disabled : 0x0 1h = MDIO Interrupt is enabled : 0x1 |
17 | RESERVED | R | 0h | Reserved. |
16 | RESERVED | R | 0h | Reserved. |
15 | RESERVED | R | 0h | Reserved. |
14 | RXSTSIE | R/W | 0h | Receive Status Interrupt Enable When this bit is set, it enables the assertion of the interrupt signal because of the setting of RXSTSIS bit in the MAC_Interrupt_Status register. 0h = Receive Status Interrupt is disabled : 0x0 1h = Receive Status Interrupt is enabled : 0x1 |
13 | TXSTSIE | R/W | 0h | Transmit Status Interrupt Enable When this bit is set, it enables the assertion of the interrupt signal because of the setting of TXSTSIS bit in the MAC_Interrupt_Status register. 0h = Timestamp Status Interrupt is disabled : 0x0 1h = Timestamp Status Interrupt is enabled : 0x1 |
12 | TSIE | R/W | 0h | Timestamp Interrupt Enable When this bit is set, it enables the assertion of the interrupt signal because of the setting of TSIS bit in MAC_Interrupt_Status register. 0h = Timestamp Interrupt is disabled : 0x0 1h = Timestamp Interrupt is enabled : 0x1 |
11-6 | RESERVED | R | 0h | Reserved. |
5 | LPIIE | R/W | 0h | LPI Interrupt Enable When this bit is set, it enables the assertion of the interrupt signal because of the setting of LPIIS bit in MAC_Interrupt_Status register. 0h = LPI Interrupt is disabled : 0x0 1h = LPI Interrupt is enabled : 0x1 |
4 | PMTIE | R/W | 0h | PMT Interrupt Enable When this bit is set, it enables the assertion of the interrupt signal because of the setting of PMTIS bit in MAC_Interrupt_Status register. 0h = PMT Interrupt is disabled : 0x0 1h = PMT Interrupt is enabled : 0x1 |
3 | PHYIE | R/W | 0h | PHY Interrupt Enable When this bit is set, it enables the assertion of the interrupt signal because of the setting of PHYIS bit in MAC_Interrupt_Status register. 0h = PHY Interrupt is disabled : 0x0 1h = PHY Interrupt is enabled : 0x1 |
2 | RESERVED | R | 0h | Reserved. |
1 | RESERVED | R | 0h | Reserved. |
0 | RESERVED | R | 0h | Reserved. |
MAC_Rx_Tx_Status is shown in Figure 43-59 and described in Table 43-113.
Return to the Summary Table.
The Receive Transmit Status register contains the Receive and Transmit Error status.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RWT | ||||||
R-0h | R-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | EXCOL | LCOL | EXDEF | LCARR | NCARR | TJT | |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-9 | RESERVED | R | 0h | Reserved. |
8 | RWT | R | 0h | Receive Watchdog Timeout This bit is set when a packet with length greater than 2,048 bytes is received (10, 240 bytes when Jumbo Packet mode is enabled) and the WD bit is reset in the MAC_Configuration register. This bit is set when a packet with length greater than 16,383 bytes is received and the WD bit is set in the MAC_Configuration register. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = No receive watchdog timeout : 0x0 1h = Receive watchdog timed out : 0x1 |
7-6 | RESERVED | R | 0h | Reserved. |
5 | EXCOL | R | 0h | Excessive Collisions When the DTXSTS bit is set in the MTL_Operation_Mode register, this bit indicates that the transmission aborted after 16 successive collisions while attempting to transmit the current packet. If the DR bit is set in the MAC_Configuration register, this bit is set after the first collision and the packet transmission is aborted. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = No collision : 0x0 1h = Excessive collision is sensed : 0x1 |
4 | LCOL | R | 0h | Late Collision When the DTXSTS bit is set in the MTL_Operation_Mode register, this bit indicates that the packet transmission aborted because a collision occurred after the collision window (64 bytes including Preamble in MII mode 512 bytes including Preamble and Carrier Extension in GMII mode). This bit is not valid if the Underflow error occurs. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = No collision : 0x0 1h = Late collision is sensed : 0x1 |
3 | EXDEF | R | 0h | Excessive Deferral When the DTXSTS bit is set in the MTL_Operation_Mode register and the DC bit is set in the MAC_Configuration register, this bit indicates that the transmission ended because of excessive deferral of over 24,288 bit times (155,680 in 1000/2500 Mbps mode or when Jumbo packet is enabled). Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = No Excessive deferral : 0x0 1h = Excessive deferral : 0x1 |
2 | LCARR | R | 0h | Loss of Carrier When the DTXSTS bit is set in the MTL_Operation_Mode register, this bit indicates that the loss of carrier occurred during packet transmission, that is, the phy_crs_i signal was inactive for one or more transmission clock periods during packet transmission. This bit is valid only for packets transmitted without collision. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Carrier is present : 0x0 1h = Loss of carrier : 0x1 |
1 | NCARR | R | 0h | No Carrier When the DTXSTS bit is set in the MTL_Operation_Mode register, this bit indicates that the carrier signal from the PHY is not present at the end of preamble transmission. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Carrier is present : 0x0 1h = No carrier : 0x1 |
0 | TJT | R | 0h | Transmit Jabber Timeout This bit indicates that the Transmit Jabber Timer expired which happens when the packet size exceeds 2,048 bytes (10,240 bytes when the Jumbo packet is enabled) and JD bit is reset in the MAC_Configuration register. This bit is set when the packet size exceeds 16,383 bytes and the JD bit is set in the MAC_Configuration register. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = No Transmit Jabber Timeout : 0x0 1h = Transmit Jabber Timeout occured : 0x1 |
MAC_PMT_Control_Status is shown in Figure 43-60 and described in Table 43-114.
Return to the Summary Table.
The PMT Control and Status Register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RWKFILTRST | RESERVED | RWKPTR | |||||
R/W-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RWKPFE | GLBLUCAST | RESERVED | ||||
R-0h | R/W-0h | R/W-0h | R-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RWKPRCVD | MGKPRCVD | RESERVED | RWKPKTEN | MGKPKTEN | PWRDWN | |
R-0h | R-0h | R-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RWKFILTRST | R/W | 0h | Remote Wake-Up Packet Filter Register Pointer Reset When this bit is set, the remote wake-up packet filter register pointer is reset to 3'b000. It is automatically cleared after 1 clock cycle. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Remote Wake-Up Packet Filter Register Pointer is not Reset : 0x0 1h = Remote Wake-Up Packet Filter Register Pointer is Reset : 0x1 |
30-29 | RESERVED | R | 0h | Reserved. |
28-24 | RWKPTR | R | 0h | Remote Wake-up FIFO Pointer This field gives the current value (0 to 7, 15, or 31 when 4, 8, or 16 Remote Wake-up Packet Filters are selected) of the Remote Wake-up Packet Filter register pointer. When the value of this pointer is equal to maximum for the selected number of Remote Wake-up Packet Filters, the contents of the Remote Wake-up Packet Filter Register are transferred to the clk_rx_i domain when a Write occurs to that register. |
23-11 | RESERVED | R | 0h | Reserved. |
10 | RWKPFE | R/W | 0h | Remote Wake-up Packet Forwarding Enable When this bit is set along with RWKPKTEN, the MAC receiver drops all received frames until it receives the expected Wake-up frame. All frames after that event including the received wake-up frame are forwarded to application. This bit is then self-cleared on receiving the wake-up packet. The application can also clear this bit before the expected wake-up frame is received. In such cases, the MAC reverts to the default behavior where packets received are forwarded to the application. This bit must only be set when RWKPKTEN is set high and PWRDWN is set low. The setting of this bit has no effect when PWRDWN is set high. Note: If Magic Packet Enable and Wake-Up Frame Enable are both set along with setting of this bit and Magic Packet is received prior to wake-up frame, this bit is self-cleared on receiving Magic Packet, the received Magic packet is dropped, and all frames after received Magic Packet are forwarded to application. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Remote Wake-up Packet Forwarding is disabled : 0x0 1h = Remote Wake-up Packet Forwarding is enabled : 0x1 |
9 | GLBLUCAST | R/W | 0h | Global Unicast When this bit set, any unicast packet filtered by the MAC (DAF) address recognition is detected as a remote wake-up packet. 0h = Global unicast is disabled : 0x0 1h = Global unicast is enabled : 0x1 |
8-7 | RESERVED | R | 0h | Reserved. |
6 | RWKPRCVD | R | 0h | Remote Wake-Up Packet Received When this bit is set, it indicates that the power management event is generated because of the reception of a remote wake-up packet. This bit is cleared when this register is read. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Remote wake-up packet is received : 0x0 1h = Remote wake-up packet is received : 0x1 |
5 | MGKPRCVD | R | 0h | Magic Packet Received When this bit is set, it indicates that the power management event is generated because of the reception of a magic packet. This bit is cleared when this register is read. Access restriction applies. Clears on read (or write of 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = No Magic packet is received : 0x0 1h = Magic packet is received : 0x1 |
4-3 | RESERVED | R | 0h | Reserved. |
2 | RWKPKTEN | R/W | 0h | Remote Wake-Up Packet Enable When this bit is set, a power management event is generated when the MAC receives a remote wake-up packet. 0h = Remote wake-up packet is disabled : 0x0 1h = Remote wake-up packet is enabled : 0x1 |
1 | MGKPKTEN | R/W | 0h | Magic Packet Enable When this bit is set, a power management event is generated when the MAC receives a magic packet. 0h = Magic Packet is disabled : 0x0 1h = Magic Packet is enabled : 0x1 |
0 | PWRDWN | R/W | 0h | Power Down When this bit is set, the MAC receiver drops all received packets until it receives the expected magic packet or remote wake-up packet. This bit is then self-cleared and the power-down mode is disabled. The software can clear this bit before the expected magic packet or remote wake-up packet is received. The packets received by the MAC after this bit is cleared are forwarded to the application. This bit must only be set when the Magic Packet Enable, Global Unicast, or Remote Wake-Up Packet Enable bit is set high. Note: You can gate-off the CSR clock during the power-down mode. However, when the CSR clock is gated-off, you cannot perform any read or write operations on this register. Therefore, the Software cannot clear this bit. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Power down is disabled : 0x0 1h = Power down is enabled : 0x1 |
MAC_RWK_Packet_Filter is shown in Figure 43-61 and described in Table 43-115.
Return to the Summary Table.
The wkuppktfilter_reg register at address 0C4H loads the Wake-up Packet Filter register.
To load values in a Wake-up Packet Filter register, the entire register (wkuppktfilter_reg) must be written. The wkuppktfilter_reg register is loaded by sequentially loading the eight, sixteen or thirty two register values in address (0C4H) for wkuppktfilter_reg0, wkuppktfilter_reg1,.. wkuppktfilter_reg31, respectively. The wkuppktfilter_reg register is read in a similar way. The DWC_ether_qos updates the wkuppktfilter_reg register current pointer value in Bits[26:24] of MAC_PMT_Control_Status register.
Filter i Byte Mask: The filter i byte mask register defines the bytes of the packet that are examined by filter i (0, 1, 2, 3,..,15) to determine whether or not a packet is a wake-up packet.
- The MSB (31st bit) must be zero.
- Bit j[30:0] is the byte mask.
- If Bit j (byte number) of the byte mask is set, the CRC block processes the Filter i Offset + j of the incoming packet
otherwise Filter i Offset + j is ignored.
Filter i Command: The 4-bit filter i command controls the filter i operation.
- Bit 3 specifies the address type, defining the destination address type of the pattern. When the bit is set, the pattern applies to only multicast packets
when the bit is reset, the pattern applies only to unicast packet.
- Bit 2 (Inverse Mode), when set, reverses the logic of the CRC16 hash function signal, to reject a packet with matching CRC_16 value.
- Bit 2, along with Bit 1, allows a MAC to reject a subset of remote wake-up packets by creating filter logic such as "Pattern 1 AND NOT Pattern 2".
- Bit 1 (And_Previous) implements the Boolean logic. When set, the result of the current entry is logically ANDed with the result of the previous filter. This AND logic allows a filter pattern longer than 32 bytes by splitting the mask among two, three, or four filters. This depends on the number of filters that have the And_Previous bit set.
- Bit 0 is the enable for filter i. If Bit 0 is not set, filter i is disabled.
Filter i Offset: This filter i offset register defines the offset (within the packet) from which the filter i examines the packets.
- This 8-bit pattern-offset is the offset for the filter i first byte to be examined.
- The minimum allowed offset is 12, which refers to the 13th byte of the packet.
- The offset value 0 refers to the first byte of the packet.
Filter i CRC-16: This filter i CRC-16 register contains the CRC_16 value calculated from the pattern and also the byte mask programmed to the wake-up filter register block.
- The 16-bit CRC calculation uses the following polynomial:
G(x) = x^16 + x^15 + x^2 + 1
Each mask, used in the hash function calculation, is compared with a 16-bit value associated with that mask. Each filter has the following:
- 32-bit Mask: Each bit in this mask corresponds to one byte in the detected packet. If the bit is 1', the corresponding byte is taken into the CRC16 calculation.
- 8-bit Offset Pointer: Specifies the byte to start the CRC16 computation.
The pointer and the mask are used together to locate the bytes to be used in the CRC16 calculations.
- Note: If you are accessing these registers in byte or half-word mode, the internal counter to access the appropriate wkuppktfilter_reg is incremented when CPU accesses Lane 3 (or Lane 0 in big-endian mode).
- Note: When any Register content is being transferred to a different clock domain after a write operation, there should not be any further writes to the same location until the first write is updated. Otherwise, the second write operation does not get updated to the destination clock domain. Therefore, the delay between two writes to the same register location should be at least 4 cycles of the destination clock (PHY receive clock, PHY transmit clock, or PTP clock).
Notes on And_Previous bit setting
The And_Previous bit setting is applicable within a set of 4 filters.
- Setting of And_Previous bit of filter that is not enabled has no effect. In other words, setting And_Previous bit of lowest number filter in the set of 4 filters has no effect. For example, setting of And_Previous bit of Filter 0 has no effect.
- If And_Previous bit is set for filter to form AND chained filter, the AND chain breaks at the point any filter is not enabled. For example:
If Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set) but Filter 1 is not enabled (bit 0 of in Filter 1 command is reset), then only Filter 2 result is considered.
If Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set), Filter 3 And_Previous bit is set (bit 1 of Filter 3 command is set), but Filter 1 is not enabled (bit 0 of in Filter 1 command is reset), then only Filter 2 result ANDed with Filter 3
result is considered.
If Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set), Filter 3 And_Previous bit is set (bit 1 of Filter 3 command is set), but Filter 2 is not enabled (bit 0 of in Filter 2 command is reset), then since setting of Filter 2 And_Previous bit
has no effect only Filter 1 result ORed with Filter 3 result is considered.
- If filters chained by And_Previous bit setting have complementary programming, then a frame may never pass the AND chained filter. For example, if Filter 2 And_Previous bit is set (bit 1 of Filter 2 command is set), Filter 1 Address_Type bit is set (bit 3 of Filter 1 command is set) indicating multicast detection and Filter 2 Address_Type bit is reset (bit 3 of Filter 2 command is reset) indicating unicast detection or vice versa, a remote wakeup frame does not pass the AND chained filter as a remote wakeup frame cannot be of both unicast and multicast address type.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
WKUPFRMFTR | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | WKUPFRMFTR | R/W | 0h | RWK Packet Filter This field contains the various controls of RWK Packet filter. |
MAC_LPI_Control_Status is shown in Figure 43-62 and described in Table 43-116.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | LPITCSE | LPIATE | LPITXA | RESERVED | PLS | LPIEN | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RLPIST | TLPIST | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RLPIEX | RLPIEN | TLPIEX | TLPIEN | |||
R-0h | R-0h | R-0h | R-0h | R-0h | |||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-22 | RESERVED | R | 0h | Reserved. |
21 | LPITCSE | R/W | 0h | LPI Tx Clock Stop Enable When this bit is set, the MAC asserts sbd_tx_clk_gating_ctrl_o signal high after it enters Tx LPI mode to indicate that the Tx clock to MAC can be stopped. When this bit is reset, the MAC does not assert sbd_tx_clk_gating_ctrl_o signal high after it enters Tx LPI mode. If RGMII Interface is selected, the Tx clock is required for transmitting the LPI pattern. The Tx Clock cannot be gated and so the LPITCSE bit cannot be programmed. 0h = LPI Tx Clock Stop is disabled : 0x0 1h = LPI Tx Clock Stop is enabled : 0x1 |
20 | LPIATE | R/W | 0h | LPI Timer Enable This bit controls the automatic entry of the MAC Transmitter into and exit out of the LPI state. When LPIATE, LPITXA and LPIEN bits are set, the MAC Transmitter enters LPI state only when the complete MAC TX data path is IDLE for a period indicated by the MAC_LPI_Entry_Timer register. After entering LPI state, if the data path becomes non-IDLE (due to a new packet being accepted for transmission), the Transmitter exits LPI state but does not clear LPIEN bit. This enables the re-entry into LPI state when it is IDLE again. When LPIATE is 0, the LPI Auto timer is disabled and MAC Transmitter enters LPI state based on the settings of LPITXA and LPIEN bit descriptions. 0h = LPI Timer is disabled : 0x0 1h = LPI Timer is enabled : 0x1 |
19 | LPITXA | R/W | 0h | LPI Tx Automate This bit controls the behavior of the MAC when it is entering or coming out of the LPI mode on the Transmit side. This bit is not functional in the EQOS-CORE configurations in which the Tx clock gating is done during the LPI mode. If the LPITXA and LPIEN bits are set to 1, the MAC enters the LPI mode only after all outstanding packets (in the core) and pending packets (in the application interface) have been transmitted. The MAC comes out of the LPI mode when the application sends any packet for transmission or the application issues a Tx FIFO Flush command. In addition, the MAC automatically clears the LPIEN bit when it exits the LPI state. If Tx FIFO Flush is set in the FTQ bit of MTL_TxQ0_Operation_Mode register, when the MAC is in the LPI mode, it exits the LPI mode. When this bit is 0, the LPIEN bit directly controls behavior of the MAC when it is entering or coming out of the LPI mode. 0h = LPI Tx Automate is disabled : 0x0 1h = LPI Tx Automate is enabled : 0x1 |
18 | RESERVED | R | 0h | Reserved. |
17 | PLS | R/W | 0h | PHY Link Status This bit indicates the link status of the PHY. The MAC Transmitter asserts the LPI pattern only when the link status is up (OKAY) at least for the time indicated by the LPI LS TIMER. When this bit is set, the link is considered to be okay (UP) and when this bit is reset, the link is considered to be down. 0h = link is down : 0x0 1h = link is okay (UP) : 0x1 |
16 | LPIEN | R/W | 0h | LPI Enable When this bit is set, it instructs the MAC Transmitter to enter the LPI state. When this bit is reset, it instructs the MAC to exit the LPI state and resume normal transmission. This bit is cleared when the LPITXA bit is set and the MAC exits the LPI state because of the arrival of a new packet for transmission. 0h = LPI state is disabled : 0x0 1h = LPI state is enabled : 0x1 |
15-10 | RESERVED | R | 0h | Reserved. |
9 | RLPIST | R | 0h | Receive LPI State When this bit is set, it indicates that the MAC is receiving the LPI pattern on the GMII or MII interface. 0h = Receive LPI state not detected : 0x0 1h = Receive LPI state detected : 0x1 |
8 | TLPIST | R | 0h | Transmit LPI State When this bit is set, it indicates that the MAC is transmitting the LPI pattern on the GMII or MII interface. 0h = Transmit LPI state not detected : 0x0 1h = Transmit LPI state detected : 0x1 |
7-4 | RESERVED | R | 0h | Reserved. |
3 | RLPIEX | R | 0h | Receive LPI Exit When this bit is set, it indicates that the MAC Receiver has stopped receiving the LPI pattern on the GMII or MII interface, exited the LPI state, and resumed the normal reception. This bit is cleared by a read into this register (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Note: This bit may not be set if the MAC stops receiving the LPI pattern for a very short duration, such as, less than three clock cycles of CSR clock. 0h = Receive LPI exit not detected : 0x0 1h = Receive LPI exit detected : 0x1 |
2 | RLPIEN | R | 0h | Receive LPI Entry When this bit is set, it indicates that the MAC Receiver has received an LPI pattern and entered the LPI state. This bit is cleared by a read into this register (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Note: This bit may not be set if the MAC stops receiving the LPI pattern for a very short duration, such as, less than three clock cycles of CSR clock. 0h = Receive LPI entry not detected : 0x0 1h = Receive LPI entry detected : 0x1 |
1 | TLPIEX | R | 0h | Transmit LPI Exit When this bit is set, it indicates that the MAC transmitter exited the LPI state after the application cleared the LPIEN bit and the LPI TW Timer has expired. This bit is cleared by a read into this register (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). 0h = Transmit LPI exit not detected : 0x0 1h = Transmit LPI exit detected : 0x1 |
0 | TLPIEN | R | 0h | Transmit LPI Entry When this bit is set, it indicates that the MAC Transmitter has entered the LPI state because of the setting of the LPIEN bit. This bit is cleared by a read into this register (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). 0h = Transmit LPI entry not detected : 0x0 1h = Transmit LPI entry detected : 0x1 |
MAC_LPI_Timers_Control is shown in Figure 43-63 and described in Table 43-117.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | LST | ||||||||||||||
R-0h | R/W-3E8h | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TWT | |||||||||||||||
R/W-0h | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-26 | RESERVED | R | 0h | Reserved. |
25-16 | LST | R/W | 3E8h | LPI LS Timer This field specifies the minimum time (in milliseconds) for which the link status from the PHY should be up (OKAY) before the LPI pattern can be transmitted to the PHY. The MAC does not transmit the LPI pattern even when the LPIEN bit is set unless the LPI LS Timer reaches the programmed terminal count. The default value of the LPI LS Timer is 1000 (1 sec) as defined in the IEEE standard. |
15-0 | TWT | R/W | 0h | LPI TW Timer This field specifies the minimum time (in microseconds) for which the MAC waits after it stops transmitting the LPI pattern to the PHY and before it resumes the normal transmission. The TLPIEX status bit is set after the expiry of this timer. |
MAC_LPI_Entry_Timer is shown in Figure 43-64 and described in Table 43-118.
Return to the Summary Table.
This register controls the Tx LPI entry timer. This counter is enabled only when bit[20](LPITE) bit of MAC_LPI_Control_Status is set to 1.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | LPIET | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LPIET | RESERVED | ||||||||||||||
R/W-0h | R-0h | ||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-20 | RESERVED | R | 0h | Reserved. |
19-3 | LPIET | R/W | 0h | LPI Entry Timer This field specifies the time in microseconds the MAC waits to enter LPI mode, after it has transmitted all the frames. This field is valid and used only when LPITE and LPITXA are set to 1. Bits [2:0] are read-only so that the granularity of this timer is in steps of 8 micro-seconds. |
2-0 | RESERVED | R | 0h | Reserved. |
MAC_1US_Tic_Counter is shown in Figure 43-65 and described in Table 43-119.
Return to the Summary Table.
This register controls the generation of the Reference time (1 microsecond tic) for all the LPI timers. This timer has to be programmed by the software initially.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TIC_1US_CNTR | ||||||||||||||||||||||||||||||
R-0h | R/W-63h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-12 | RESERVED | R | 0h | Reserved. |
11-0 | TIC_1US_CNTR | R/W | 63h | 1US TIC Counter The application must program this counter so that the number of clock cycles of CSR clock is 1us. (Subtract 1 from the value before programming). For example if the CSR clock is 100MHz then this field needs to be programmed to value 100 - 1 = 99 (which is 0x63). This is required to generate the 1US events that are used to update some of the EEE related counters. |
MAC_Version is shown in Figure 43-66 and described in Table 43-120.
Return to the Summary Table.
The version register identifies the version of the DWC_ether_qos. This register contains two bytes: one that Synopsys uses to identify the core release number, and the other that you set while configuring the core.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | USERVER | SNPSVER | |||||||||||||||||||||||||||||
R-0h | R-0h | R-50h | |||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-8 | USERVER | R | 0h | User-defined Version (configured with coreConsultant) |
7-0 | SNPSVER | R | 50h | Synopsys-defined Version |
MAC_Debug is shown in Figure 43-67 and described in Table 43-121.
Return to the Summary Table.
The Debug register provides the debug status of various MAC blocks.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | TFCSTS | TPESTS | |||||
R-0h | R-0h | R-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RFCFCSTS | RPESTS | |||||
R-0h | R-0h | R-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-19 | RESERVED | R | 0h | Reserved. |
18-17 | TFCSTS | R | 0h | MAC Transmit Packet Controller Status This field indicates the state of the MAC Transmit Packet Controller module. 0h = Idle state : 0x0 1h = Waiting for one of the following: Status of the previous packet OR IPG or backoff period to be over : 0x1 2h = Generating and transmitting a Pause control packet (in full-duplex mode) : 0x2 3h = Transferring input packet for transmission : 0x3 |
16 | TPESTS | R | 0h | MAC GMII or MII Transmit Protocol Engine Status When this bit is set, it indicates that the MAC GMII or MII transmit protocol engine is actively transmitting data, and it is not in the Idle state. 0h = MAC GMII or MII Transmit Protocol Engine Status not detected : 0x0 1h = MAC GMII or MII Transmit Protocol Engine Status detected : 0x1 |
15-3 | RESERVED | R | 0h | Reserved. |
2-1 | RFCFCSTS | R | 0h | MAC Receive Packet Controller FIFO Status When this bit is set, this field indicates the active state of the small FIFO Read and Write controllers of the MAC Receive Packet Controller module. |
0 | RPESTS | R | 0h | MAC GMII or MII Receive Protocol Engine Status When this bit is set, it indicates that the MAC GMII or MII receive protocol engine is actively receiving data, and it is not in the Idle state. 0h = MAC GMII or MII Receive Protocol Engine Status not detected : 0x0 1h = MAC GMII or MII Receive Protocol Engine Status detected : 0x1 |
MAC_HW_Feature0 is shown in Figure 43-68 and described in Table 43-122.
Return to the Summary Table.
This register indicates the presence of first set of the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks.
Note: All bits are set or reset according to the features selected while configuring the core in coreConsultant.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | ACTPHYSEL | SAVLANINS | TSSTSSEL | MACADR64SEL | |||
R-0h | R-0h | R-1h | R-3h | R-0h | |||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
MACADR32SEL | ADDMACADRSEL | RESERVED | RXCOESEL | ||||
R-0h | R-7h | R-0h | R-1h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | TXCOESEL | EEESEL | TSSEL | RESERVED | ARPOFFSEL | MMCSEL | |
R-0h | R-1h | R-1h | R-1h | R-0h | R-1h | R-1h | |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MGKSEL | RWKSEL | SMASEL | VLHASH | PCSSEL | HDSEL | GMIISEL | MIISEL |
R-1h | R-1h | R-1h | R-1h | R-0h | R-1h | R-0h | R-1h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved. |
30-28 | ACTPHYSEL | R | 0h | Active PHY Selected When you have multiple PHY interfaces in your configuration, this field indicates the sampled value of phy_intf_sel_i during reset de-assertion. 0h = GMII or MII : 0x0 1h = RGMII : 0x1 2h = SGMII : 0x2 3h = TBI : 0x3 4h = RMII : 0x4 5h = RTBI : 0x5 6h = SMII : 0x6 7h = RevMII : 0x7 |
27 | SAVLANINS | R | 1h | Source Address or VLAN Insertion Enable This bit is set to 1 when the Enable SA and VLAN Insertion on Tx option is selected 0h = Source Address or VLAN Insertion Enable option is not selected : 0x0 1h = Source Address or VLAN Insertion Enable option is selected : 0x1 |
26-25 | TSSTSSEL | R | 3h | Timestamp System Time Source This bit indicates the source of the Timestamp system time: This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected 0h = Internal : 0x0 1h = External : 0x1 2h = Both : 0x2 3h = Reserved : 0x3 |
24 | MACADR64SEL | R | 0h | MAC Addresses 64-127 Selected This bit is set to 1 when the Enable Additional 64 MAC Address Registers (64-127) option is selected 0h = MAC Addresses 64-127 Select option is not selected : 0x0 1h = MAC Addresses 64-127 Select option is selected : 0x1 |
23 | MACADR32SEL | R | 0h | MAC Addresses 32-63 Selected This bit is set to 1 when the Enable Additional 32 MAC Address Registers (32-63) option is selected 0h = MAC Addresses 32-63 Select option is not selected : 0x0 1h = MAC Addresses 32-63 Select option is selected : 0x1 |
22-18 | ADDMACADRSEL | R | 7h | MAC Addresses 1-31 Selected This bit is set to 1 when the Enable Additional 1-31 MAC Address Registers option is selected |
17 | RESERVED | R | 0h | Reserved. |
16 | RXCOESEL | R | 1h | Receive Checksum Offload Enabled This bit is set to 1 when the Enable Receive TCP/IP Checksum Check option is selected 0h = Receive Checksum Offload Enable option is not selected : 0x0 1h = Receive Checksum Offload Enable option is selected : 0x1 |
15 | RESERVED | R | 0h | Reserved. |
14 | TXCOESEL | R | 1h | Transmit Checksum Offload Enabled This bit is set to 1 when the Enable Transmit TCP/IP Checksum Insertion option is selected 0h = Transmit Checksum Offload Enable option is not selected : 0x0 1h = Transmit Checksum Offload Enable option is selected : 0x1 |
13 | EEESEL | R | 1h | Energy Efficient Ethernet Enabled This bit is set to 1 when the Enable Energy Efficient Ethernet (EEE) option is selected 0h = Energy Efficient Ethernet Enable option is not selected : 0x0 1h = Energy Efficient Ethernet Enable option is selected : 0x1 |
12 | TSSEL | R | 1h | IEEE 1588-2008 Timestamp Enabled This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected 0h = IEEE 1588-2008 Timestamp Enable option is not selected : 0x0 1h = IEEE 1588-2008 Timestamp Enable option is selected : 0x1 |
11-10 | RESERVED | R | 0h | Reserved. |
9 | ARPOFFSEL | R | 1h | ARP Offload Enabled This bit is set to 1 when the Enable IPv4 ARP Offload option is selected 0h = ARP Offload Enable option is not selected : 0x0 1h = ARP Offload Enable option is selected : 0x1 |
8 | MMCSEL | R | 1h | RMON Module Enable This bit is set to 1 when the Enable MAC Management Counters (MMC) option is selected 0h = RMON Module Enable option is not selected : 0x0 1h = RMON Module Enable option is selected : 0x1 |
7 | MGKSEL | R | 1h | PMT Magic Packet Enable This bit is set to 1 when the Enable Magic Packet Detection option is selected 0h = PMT Magic Packet Enable option is not selected : 0x0 1h = PMT Magic Packet Enable option is selected : 0x1 |
6 | RWKSEL | R | 1h | PMT Remote Wake-up Packet Enable This bit is set to 1 when the Enable Remote Wake-Up Packet Detection option is selected 0h = PMT Remote Wake-up Packet Enable option is not selected : 0x0 1h = PMT Remote Wake-up Packet Enable option is selected : 0x1 |
5 | SMASEL | R | 1h | SMA (MDIO) Interface This bit is set to 1 when the Enable Station Management (MDIO Interface) option is selected 0h = SMA (MDIO) Interface not selected : 0x0 1h = SMA (MDIO) Interface selected : 0x1 |
4 | VLHASH | R | 1h | VLAN Hash Filter Selected This bit is set to 1 when the Enable VLAN Hash Table Based Filtering option is selected 0h = VLAN Hash Filter not selected : 0x0 1h = VLAN Hash Filter selected : 0x1 |
3 | PCSSEL | R | 0h | PCS Registers (TBI, SGMII, or RTBI PHY interface) This bit is set to 1 when the TBI, SGMII, or RTBI PHY interface option is selected 0h = No PCS Registers (TBI, SGMII, or RTBI PHY interface) : 0x0 1h = PCS Registers (TBI, SGMII, or RTBI PHY interface) : 0x1 |
2 | HDSEL | R | 1h | Half-duplex Support This bit is set to 1 when the half-duplex mode is selected 0h = No Half-duplex support : 0x0 1h = Half-duplex support : 0x1 |
1 | GMIISEL | R | 0h | 1000 Mbps Support This bit is set to 1 when 1000 Mbps is selected as the Mode of Operation 0h = No 1000 Mbps support : 0x0 1h = 1000 Mbps support : 0x1 |
0 | MIISEL | R | 1h | 10 or 100 Mbps Support This bit is set to 1 when 10/100 Mbps is selected as the Mode of Operation 0h = No 10 or 100 Mbps support : 0x0 1h = 10 or 100 Mbps support : 0x1 |
MAC_HW_Feature1 is shown in Figure 43-69 and described in Table 43-123.
Return to the Summary Table.
This register indicates the presence of second set of the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks.
Note: All bits are set or reset according to the features selected while configuring the core in coreConsultant.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | L3L4FNUM | RESERVED | HASHTBLSZ | ||||
R-0h | R-4h | R-0h | R-1h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
POUOST | RESERVED | RAVSEL | AVSEL | DBGMEMA | TSOEN | SPHEN | DCBEN |
R-1h | R-0h | R-0h | R-0h | R-1h | R-1h | R-1h | R-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
ADDR64 | ADVTHWORD | PTOEN | OSTEN | TXFIFOSIZE | |||
R-0h | R-1h | R-1h | R-1h | R-5h | |||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXFIFOSIZE | SPRAM | RXFIFOSIZE | |||||
R-5h | R-1h | R-5h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved. |
30-27 | L3L4FNUM | R | 4h | Total number of L3 or L4 Filters This field indicates the total number of L3 or L4 filters: 0h = No L3 or L4 Filter : 0x0 1h = 1 L3 or L4 Filter : 0x1 2h = 2 L3 or L4 Filters : 0x2 3h = 3 L3 or L4 Filters : 0x3 4h = 4 L3 or L4 Filters : 0x4 5h = 5 L3 or L4 Filters : 0x5 6h = 6 L3 or L4 Filters : 0x6 7h = 7 L3 or L4 Filters : 0x7 8h = 8 L3 or L4 Filters : 0x8 |
26 | RESERVED | R | 0h | Reserved. |
25-24 | HASHTBLSZ | R | 1h | Hash Table Size This field indicates the size of the hash table: 0h = No hash table : 0x0 1h = 64 : 0x1 2h = 128 : 0x2 3h = 256 : 0x3 |
23 | POUOST | R | 1h | One Step for PTP over UDP/IP Feature Enable This bit is set to 1 when the Enable One step timestamp for PTP over UDP/IP feature is selected. 0h = One Step for PTP over UDP/IP Feature is not selected : 0x0 1h = One Step for PTP over UDP/IP Feature is selected : 0x1 |
22 | RESERVED | R | 0h | Reserved. |
21 | RAVSEL | R | 0h | Rx Side Only AV Feature Enable This bit is set to 1 when the Enable Audio Video Bridging option on Rx Side Only is selected. 0h = Rx Side Only AV Feature is not selected : 0x0 1h = Rx Side Only AV Feature is selected : 0x1 |
20 | AVSEL | R | 0h | AV Feature Enable This bit is set to 1 when the Enable Audio Video Bridging option is selected. 0h = AV Feature is not selected : 0x0 1h = AV Feature is selected : 0x1 |
19 | DBGMEMA | R | 1h | DMA Debug Registers Enable This bit is set to 1 when the Debug Mode Enable option is selected 0h = DMA Debug Registers option is not selected : 0x0 1h = DMA Debug Registers option is selected : 0x1 |
18 | TSOEN | R | 1h | TCP Segmentation Offload Enable This bit is set to 1 when the Enable TCP Segmentation Offloading for TCP/IP Packets option is selected 0h = TCP Segmentation Offload Feature is not selected : 0x0 1h = TCP Segmentation Offload Feature is selected : 0x1 |
17 | SPHEN | R | 1h | Split Header Feature Enable This bit is set to 1 when the Enable Split Header Structure option is selected 0h = Split Header Feature is not selected : 0x0 1h = Split Header Feature is selected : 0x1 |
16 | DCBEN | R | 0h | DCB Feature Enable This bit is set to 1 when the Enable Data Center Bridging option is selected 0h = DCB Feature is not selected : 0x0 1h = DCB Feature is selected : 0x1 |
15-14 | ADDR64 | R | 0h | Address Width.
This field indicates the configured address width: 0h = 32 : 0x0 1h = 40 : 0x1 2h = 48 : 0x2 3h = Reserved : 0x3 |
13 | ADVTHWORD | R | 1h | IEEE 1588 High Word Register Enable This bit is set to 1 when the Add IEEE 1588 Higher Word Register option is selected 0h = IEEE 1588 High Word Register option is not selected : 0x0 1h = IEEE 1588 High Word Register option is selected : 0x1 |
12 | PTOEN | R | 1h | PTP Offload Enable This bit is set to 1 when the Enable PTP Timestamp Offload Feature is selected. 0h = PTP Offload feature is not selected : 0x0 1h = PTP Offload feature is selected : 0x1 |
11 | OSTEN | R | 1h | One-Step Timestamping Enable This bit is set to 1 when the Enable One-Step Timestamp Feature is selected. 0h = One-Step Timestamping feature is not selected : 0x0 1h = One-Step Timestamping feature is selected : 0x1 |
10-6 | TXFIFOSIZE | R | 5h | MTL Transmit FIFO Size This field contains the configured value of MTL Tx FIFO in bytes expressed as Log to base 2 minus 7, that is, Log2(TXFIFO_SIZE) -7: 0h = 128 bytes : 0x0 1h = 256 bytes : 0x1 2h = 512 bytes : 0x2 3h = 1024 bytes : 0x3 4h = 2048 bytes : 0x4 5h = 4096 bytes : 0x5 6h = 8192 bytes : 0x6 7h = 16384 bytes : 0x7 8h = 32 KB : 0x8 9h = 64 KB : 0x9 Ah = 128 KB : 0xa Bh = Reserved : 0xb |
5 | SPRAM | R | 1h | Single Port RAM Enable This bit is set to 1 when the Use single port RAM Feature is selected. 0h = Single Port RAM feature is not selected : 0x0 1h = Single Port RAM feature is selected : 0x1 |
4-0 | RXFIFOSIZE | R | 5h | MTL Receive FIFO Size This field contains the configured value of MTL Rx FIFO in bytes expressed as Log to base 2 minus 7, that is, Log2(RXFIFO_SIZE) -7: 0h = 128 bytes : 0x0 1h = 256 bytes : 0x1 2h = 512 bytes : 0x2 3h = 1024 bytes : 0x3 4h = 2048 bytes : 0x4 5h = 4096 bytes : 0x5 6h = 8192 bytes : 0x6 7h = 16384 bytes : 0x7 8h = 32 KB : 0x8 9h = 64 KB : 0x9 Ah = 128 KB : 0xa Bh = 256 KB : 0xb Ch = Reserved : 0xc |
MAC_HW_Feature2 is shown in Figure 43-70 and described in Table 43-124.
Return to the Summary Table.
This register indicates the presence of third set of the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | AUXSNAPNUM | RESERVED | PPSOUTNUM | ||||
R-0h | R-2h | R-0h | R-2h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | TXCHCNT | RESERVED | |||||
R-0h | R-1h | R-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RXCHCNT | RESERVED | TXQCNT | |||||
R-1h | R-0h | R-1h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXQCNT | RESERVED | RXQCNT | |||||
R-1h | R-0h | R-1h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved. |
30-28 | AUXSNAPNUM | R | 2h | Number of Auxiliary Snapshot Inputs This field indicates the number of auxiliary snapshot inputs: 0h = No auxiliary input : 0x0 1h = 1 auxiliary input : 0x1 2h = 2 auxiliary input : 0x2 3h = 3 auxiliary input : 0x3 4h = 4 auxiliary input : 0x4 5h = Reserved : 0x5 |
27 | RESERVED | R | 0h | Reserved. |
26-24 | PPSOUTNUM | R | 2h | Number of PPS Outputs This field indicates the number of PPS outputs: 0h = No PPS output : 0x0 1h = 1 PPS output : 0x1 2h = 2 PPS output : 0x2 3h = 3 PPS output : 0x3 4h = 4 PPS output : 0x4 5h = Reserved : 0x5 |
23-22 | RESERVED | R | 0h | Reserved. |
21-18 | TXCHCNT | R | 1h | Number of DMA Transmit Channels This field indicates the number of DMA Transmit channels: 0h = 1 MTL Tx Channel : 0x0 1h = 2 MTL Tx Channels : 0x1 2h = 3 MTL Tx Channels : 0x2 3h = 4 MTL Tx Channels : 0x3 4h = 5 MTL Tx Channels : 0x4 5h = 6 MTL Tx Channels : 0x5 6h = 7 MTL Tx Channels : 0x6 7h = 8 MTL Tx Channels : 0x7 |
17-16 | RESERVED | R | 0h | Reserved. |
15-12 | RXCHCNT | R | 1h | Number of DMA Receive Channels This field indicates the number of DMA Receive channels: 0h = 1 MTL Rx Channel : 0x0 1h = 2 MTL Rx Channels : 0x1 2h = 3 MTL Rx Channels : 0x2 3h = 4 MTL Rx Channels : 0x3 4h = 5 MTL Rx Channels : 0x4 5h = 6 MTL Rx Channels : 0x5 6h = 7 MTL Rx Channels : 0x6 7h = 8 MTL Rx Channels : 0x7 |
11-10 | RESERVED | R | 0h | Reserved. |
9-6 | TXQCNT | R | 1h | Number of MTL Transmit Queues This field indicates the number of MTL Transmit queues: 0h = 1 MTL Tx Queue : 0x0 1h = 2 MTL Tx Queues : 0x1 2h = 3 MTL Tx Queues : 0x2 3h = 4 MTL Tx Queues : 0x3 4h = 5 MTL Tx Queues : 0x4 5h = 6 MTL Tx Queues : 0x5 6h = 7 MTL Tx Queues : 0x6 7h = 8 MTL Tx Queues : 0x7 |
5-4 | RESERVED | R | 0h | Reserved. |
3-0 | RXQCNT | R | 1h | Number of MTL Receive Queues This field indicates the number of MTL Receive queues: 0h = 1 MTL Rx Queue : 0x0 1h = 2 MTL Rx Queues : 0x1 2h = 3 MTL Rx Queues : 0x2 3h = 4 MTL Rx Queues : 0x3 4h = 5 MTL Rx Queues : 0x4 5h = 6 MTL Rx Queues : 0x5 6h = 7 MTL Rx Queues : 0x6 7h = 8 MTL Rx Queues : 0x7 |
MAC_HW_Feature3 is shown in Figure 43-71 and described in Table 43-125.
Return to the Summary Table.
This register indicates the presence of fourth set the optional features or functions of the DWC_ether_qos. The software driver can use this register to dynamically enable or disable the programs related to the optional blocks.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | TBSSEL | FPESEL | RESERVED | ESTTISW | |||
R-0h | R-0h | R-0h | R-0h | R-0h | |||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
ESTTISW | RESERVED | ESTWID | ESTDEP | ESTSEL | |||
R-0h | R-0h | R-3h | R-1h | R-0h | |||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | PDUPSEL | DBGSSEL | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | DVLAN | CBTISEL | RESERVED | NRVF | |||
R-0h | R-1h | R-1h | R-0h | R-1h | |||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | TBSSEL | R | 0h | Time Based Scheduling Enable This bit is set to 1 when the Time Based Scheduling feature is selected. 0h = Time Based Scheduling Enable feature is not selected : 0x0 1h = Time Based Scheduling Enable feature is selected : 0x1 |
26 | FPESEL | R | 0h | Frame Preemption Enable This bit is set to 1 when the Enable Frame preemption feature is selected. 0h = Frame Preemption Enable feature is not selected : 0x0 1h = Frame Preemption Enable feature is selected : 0x1 |
25 | RESERVED | R | 0h | Reserved. |
24-23 | ESTTISW | R | 0h | Width of the Left Shift Amount for Time Interval This field indicates the width of programmable left shift field for Time Interval 0h = 0 : 0x0 1h = 1 : 0x1 2h = 2 : 0x2 3h = 3 : 0x3 |
22 | RESERVED | R | 0h | Reserved. |
21-20 | ESTWID | R | 3h | Width of the Time Interval field in the Gate Control List This field indicates the width of the Configured Time Interval Field 0h = Width not configured : 0x0 1h = 16 : 0x1 2h = 20 : 0x2 3h = 24 : 0x3 |
19-17 | ESTDEP | R | 1h | Depth of the Gate Control List This field indicates the depth of Gate Control list expressed as Log2(DWC_EQOS_EST_DEP)-5 0h = No Depth configured : 0x0 1h = 64 : 0x1 2h = 128 : 0x2 3h = 256 : 0x3 4h = 512 : 0x4 5h = 1024 : 0x5 6h = Reserved : 0x6 |
16 | ESTSEL | R | 0h | Enhancements to Scheduling Traffic Enable This bit is set to 1 when the Enable Enhancements to Scheduling Traffic feature is selected. 0h = Enable Enhancements to Scheduling Traffic feature is not selected : 0x0 1h = Enable Enhancements to Scheduling Traffic feature is selected : 0x1 |
15-10 | RESERVED | R | 0h | Reserved. |
9 | PDUPSEL | R | 0h | Broadcast/Multicast Packet Duplication This bit is set to 1 when the Broadcast/Multicast Packet Duplication feature is selected. 0h = Broadcast/Multicast Packet Duplication feature is not selected : 0x0 1h = Broadcast/Multicast Packet Duplication feature is selected : 0x1 |
8 | DBGSSEL | R | 0h | Debug Bus Support Enable This bit is set to 1 when the Enable Debug Bus Support feature is selected. 0h = Debug Bus Support Enable feature is not selected : 0x0 1h = Debug Bus Support Enable feature is selected : 0x1 |
7-6 | RESERVED | R | 0h | Reserved. |
5 | DVLAN | R | 1h | |
4 | CBTISEL | R | 1h | Queue/Channel based VLAN tag insertion on Tx Enable This bit is set to 1 when the Enable Queue/Channel based VLAN tag insertion on Tx Feature is selected. 0h = Enable Queue/Channel based VLAN tag insertion on Tx feature is not selected : 0x0 1h = Enable Queue/Channel based VLAN tag insertion on Tx feature is selected : 0x1 |
3 | RESERVED | R | 0h | Reserved. |
2-0 | NRVF | R | 1h | Number of Extended VLAN Tag Filters Enabled This field indicates the Number of Extended VLAN Tag Filters selected: 0h = No Extended Rx VLAN Filters : 0x0 1h = 4 Extended Rx VLAN Filters : 0x1 2h = 8 Extended Rx VLAN Filters : 0x2 3h = 16 Extended Rx VLAN Filters : 0x3 4h = 24 Extended Rx VLAN Filters : 0x4 5h = 32 Extended Rx VLAN Filters : 0x5 6h = Reserved : 0x6 |
MAC_MDIO_Address is shown in Figure 43-72 and described in Table 43-126.
Return to the Summary Table.
The MDIO Address register controls the management cycles to external PHY through a management interface.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | PSE | BTB | PA | ||||
R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
PA | RDA | ||||||
R/W-0h | R/W-0h | ||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | NTC | CR | |||||
R-0h | R/W-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | SKAP | GOC_1 | GOC_0 | C45E | GB | ||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | PSE | R/W | 0h | Preamble Suppression Enable When this bit is set, the SMA suppresses the 32-bit preamble and transmits MDIO frames with only 1 preamble bit. When this bit is 0, the MDIO frame always has 32 bits of preamble as defined in the IEEE specifications. 0h = Preamble Suppression disabled : 0x0 1h = Preamble Suppression enabled : 0x1 |
26 | BTB | R/W | 0h | Back to Back transactions When this bit is set and the NTC has value greater than 0, then the MAC informs the completion of a read or write command at the end of frame transfer (before the trailing clocks are transmitted). The software can thus initiate the next command which is executed immediately irrespective of the number trailing clocks generated for the previous frame. When this bit is reset, then the read/write command completion (GB is cleared)only after the trailing clocks are generated. In this mode, it is ensured that the NTC is always generated after each frame. This bit must not be set when NTC=0. 0h = Back to Back transactions disabled : 0x0 1h = Back to Back transactions enabled : 0x1 |
25-21 | PA | R/W | 0h | Physical Layer Address This field indicates which Clause 22 PHY devices (out of 32 devices) the MAC is accessing. For RevMII, this field gives the PHY Address of the RevMII module. This field indicates which Clause 45 capable PHYs (out of 32 PHYs) the MAC is accessing. |
20-16 | RDA | R/W | 0h | Register/Device Address These bits select the PHY register in selected Clause 22 PHY device. For RevMII, these bits select the CSR register in the RevMII Registers set. These bits select the Device (MMD) in selected Clause 45 capable PHY. |
15 | RESERVED | R | 0h | Reserved. |
14-12 | NTC | R/W | 0h | Number of Trailing Clocks This field controls the number of trailing clock cycles generated on gmii_mdc_o (MDC) after the end of transmission of MDIO frame. The valid values can be from 0 to 7. Programming the value to 3'h3 indicates that there are additional three clock cycles on the MDC line after the end of MDIO frame transfer. |
11-8 | CR | R/W | 0h | CSR Clock Range The CSR Clock Range selection determines the frequency of the MDC clock according to the CSR clock frequency used in your design: - 0000: CSR clock = 60-100 MHz MDC clock = CSR clock/42 - 0001: CSR clock = 100-150 MHz MDC clock = CSR clock/62 - 0010: CSR clock = 20-35 MHz MDC clock = CSR clock/16 - 0011: CSR clock = 35-60 MHz MDC clock = CSR clock/26 - 0100: CSR clock = 150-250 MHz MDC clock = CSR clock/102 - 0101: CSR clock = 250-300 MHz MDC clock = CSR clock/124 - 0110: CSR clock = 300-500 MHz MDC clock = CSR clock/204 - 0111: CSR clock = 500-800 MHz MDC clock = CSR clock/324 The suggested range of CSR clock frequency applicable for each value (when Bit 11 = 0) ensures that the MDC clock is approximately between 1.0 MHz to 2.5 MHz freqency range. When Bit 11 is set, you can achieve a higher frequency of the MDC clock than the frequency limit of 2.5 MHz (specified in the IEEE 802.3) and program a clock divider of lower value. For example, when CSR clock is of 100 MHz frequency and you program these bits as 1010, the resultant MDC clock is of 12.5 MHz which is above the range specified in IEEE 802.3. Program the following values only if the interfacing chips support faster MDC clocks: - 1000: CSR clock/4 - 1001: CSR clock/6 - 1010: CSR clock/8 - 1011: CSR clock/10 - 1100: CSR clock/12 - 1101: CSR clock/14 - 1110: CSR clock/16 - 1111: CSR clock/18 These bits are not used for accessing RevMII. These bits are read-only if the RevMII interface is selected as single PHY interface. |
7-5 | RESERVED | R | 0h | Reserved. |
4 | SKAP | R/W | 0h | Skip Address Packet When this bit is set, the SMA does not send the address packets before read, write, or post-read increment address packets. This bit is valid only when C45E is set. 0h = Skip Address Packet is disabled : 0x0 1h = Skip Address Packet is enabled : 0x1 |
3 | GOC_1 | R/W | 0h | GMII Operation Command 1 This bit is higher bit of the operation command to the PHY or RevMII, GOC_1 and GOC_O is encoded as follows: - 00: Reserved - 01: Write - 10: Post Read Increment Address for Clause 45 PHY - 11: Read When Clause 22 PHY or RevMII is enabled, only Write and Read commands are valid. 0h = GMII Operation Command 1 is disabled : 0x0 1h = GMII Operation Command 1 is enabled : 0x1 |
2 | GOC_0 | R/W | 0h | GMII Operation Command 0 This is the lower bit of the operation command to the PHY or RevMII. When in SMA mode (MDIO master) this bit along with GOC_1 determines the operation to be performed to the PHY. When only RevMII is selected in configuration this bit is read-only and tied to 1. 0h = GMII Operation Command 0 is disabled : 0x0 1h = GMII Operation Command 0 is enabled : 0x1 |
1 | C45E | R/W | 0h | Clause 45 PHY Enable When this bit is set, Clause 45 capable PHY is connected to MDIO. When this bit is reset, Clause 22 capable PHY is connected to MDIO. 0h = Clause 45 PHY is disabled : 0x0 1h = Clause 45 PHY is enabled : 0x1 |
0 | GB | R/W | 0h | GMII Busy The application sets this bit to instruct the SMA to initiate a Read or Write access to the MDIO slave. The MAC clears this bit after the MDIO frame transfer is completed. Hence the software must not write or change any of the fields in MAC_MDIO_Address and MAC_MDIO_Data registers as long as this bit is set. For write transfers, the application must first write 16-bit data in the GDl field (and also RA field when C45E is set) in MAC_MDIO_Data register before setting this bit. When C45E is set, it should also write into the RA field of MAC_MDIO_Data register before initiating a read transfer. When a read transfer is completed (GB=0), the data read from the PHY register is valid in the GD field of the MAC_MDIO_Data register. Note: Even if the addressed PHY is not present, there is no change in the functionality of this bit. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = GMII Busy is disabled : 0x0 1h = GMII Busy is enabled : 0x1 |
MAC_MDIO_Data is shown in Figure 43-73 and described in Table 43-127.
Return to the Summary Table.
The MDIO Data register stores the Write data to be written to the PHY register located at the address specified in MAC_MDIO_Address. This register also stores the Read data from the PHY register located at the address specified by MDIO Address register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RA | GD | ||||||||||||||||||||||||||||||
R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RA | R/W | 0h | Register Address This field is valid only when C45E is set. It contains the Register Address in the PHY to which the MDIO frame is intended for. |
15-0 | GD | R/W | 0h | GMII Data This field contains the 16-bit data value read from the PHY or RevMII after a Management Read operation or the 16-bit data value to be written to the PHY or RevMII before a Management Write operation. |
MAC_ARP_Address is shown in Figure 43-74 and described in Table 43-128.
Return to the Summary Table.
The ARP Address register contains the IPv4 Destination Address of the MAC. Note: IP address should be written to this register in host byte order format.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ARPPA | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ARPPA | R/W | 0h | ARP Protocol Address This field contains the IPv4 Destination Address of the MAC. This address is used for perfect match with the Protocol Address of Target field in the received ARP packet. This field is available only when the Enable IPv4 ARP Offload option is selected. |
MAC_CSR_SW_Ctrl is shown in Figure 43-75 and described in Table 43-129.
Return to the Summary Table.
This register contains SW programmable controls for changing the CSR access response and status bits clearing.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RESERVED | ||||||
R-0h | R-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RCWE | ||||||
R-0h | R/W-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-9 | RESERVED | R | 0h | Reserved. |
8 | RESERVED | R | 0h | Reserved. |
7-1 | RESERVED | R | 0h | Reserved. |
0 | RCWE | R/W | 0h | Register Clear on Write 1 Enable When this bit is set, the access mode of some register fields changes to Clear on Write 1, the application needs to set that respective bit to 1 to clear it. When this bit is reset, the access mode of these register fields remain as Clear on Read. 0h = Register Clear on Write 1 is disabled : 0x0 1h = Register Clear on Write 1 is enabled : 0x1 |
MAC_Ext_Cfg1 is shown in Figure 43-76 and described in Table 43-130.
Return to the Summary Table.
This register contains Split mode control field and offset field for Split Header feature.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | SPLM | ||||||
R-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | SPLOFST | ||||||
R-0h | R/W-2h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-10 | RESERVED | R | 0h | Reserved. |
9-8 | SPLM | R/W | 0h | Split Mode These bits indicate the mode of splitting the incoming Rx packets. They are 0h = Split at L3/L4 header : 0x0 1h = Split at L2 header with an offset. Always Split at SPLOFST bytes from the beginning of Length/Type field of the Frame : 0x1 2h = Combination mode: Split similar to SPLM=00 for IP packets that are untagged or tagged and VLAN stripped : 0x2 3h = Reserved : 0x3 |
7 | RESERVED | R | 0h | Reserved. |
6-0 | SPLOFST | R/W | 2h | Split Offset These bits indicate the value of offset from the beginning of Length/Type field at which header split should take place when the appropriate SPLM is selected. The reset value of this field is 2 bytes indicating a split at L2 header. Value is in terms of bytes. |
MAC_Address0_High is shown in Figure 43-77 and described in Table 43-131.
Return to the Summary Table.
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 (G)MII 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 (G)MII 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 (G)MII 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | RESERVED | DCS | |||||||||||||
R-1h | R-0h | R/W-0h | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R | 1h | Address Enable This bit is always set to 1. 0h = INVALID : This bit must be always set to 1 : 0x0 1h = This bit is always set to 1 : 0x1 |
30-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address0[47:32] This field contains the upper 16 bits [47:32] of the first 6-byte MAC address. The MAC uses this field for filtering the received packets and inserting the MAC address in the Transmit Flow Control (Pause) Packets. |
MAC_Address0_Low is shown in Figure 43-78 and described in Table 43-132.
Return to the Summary Table.
The MAC Address0 Low register holds the lower 32 bits of the 6-byte first MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address0[31:0] This field contains the lower 32 bits of the first 6-byte MAC address. The MAC uses this field for filtering the received packets and inserting the MAC address in the Transmit Flow Control (Pause) Packets. |
MAC_Address1_High is shown in Figure 43-79 and described in Table 43-133.
Return to the Summary Table.
The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station.
If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | SA | MBC | RESERVED | DCS | |||||||||||
R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R/W | 0h | Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering. 0h = Address is ignored : 0x0 1h = Address is enabled : 0x1 |
30 | SA | R/W | 0h | Source Address When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address1[47:0] is used to compare with the DA fields of the received packet. 0h = Compare with Destination Address : 0x0 1h = Compare with Source Address : 0x1 |
29-24 | MBC | R/W | 0h | Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows: - Bit 29: Register 194[15:8] - Bit 28: Register 194[7:0] - Bit 27: Register 195[31:24] - .. - Bit 24: Register 195[7:0] You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address. |
23-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address1 [47:32] This field contains the upper 16 bits[47:32] of the second 6-byte MAC address. |
MAC_Address1_Low is shown in Figure 43-80 and described in Table 43-134.
Return to the Summary Table.
The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address1 [31:0] This field contains the lower 32 bits of second 6-byte MAC address. The content of this field is undefined until loaded by the application after the initialization process. |
MAC_Address2_High is shown in Figure 43-81 and described in Table 43-135.
Return to the Summary Table.
The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station.
If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | SA | MBC | RESERVED | DCS | |||||||||||
R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R/W | 0h | Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering. 0h = Address is ignored : 0x0 1h = Address is enabled : 0x1 |
30 | SA | R/W | 0h | Source Address When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address1[47:0] is used to compare with the DA fields of the received packet. 0h = Compare with Destination Address : 0x0 1h = Compare with Source Address : 0x1 |
29-24 | MBC | R/W | 0h | Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows: - Bit 29: Register 194[15:8] - Bit 28: Register 194[7:0] - Bit 27: Register 195[31:24] - .. - Bit 24: Register 195[7:0] You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address. |
23-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address1 [47:32] This field contains the upper 16 bits[47:32] of the second 6-byte MAC address. |
MAC_Address2_Low is shown in Figure 43-82 and described in Table 43-136.
Return to the Summary Table.
The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address1 [31:0] This field contains the lower 32 bits of second 6-byte MAC address. The content of this field is undefined until loaded by the application after the initialization process. |
MAC_Address3_High is shown in Figure 43-83 and described in Table 43-137.
Return to the Summary Table.
The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station.
If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | SA | MBC | RESERVED | DCS | |||||||||||
R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R/W | 0h | Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering. 0h = Address is ignored : 0x0 1h = Address is enabled : 0x1 |
30 | SA | R/W | 0h | Source Address When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address1[47:0] is used to compare with the DA fields of the received packet. 0h = Compare with Destination Address : 0x0 1h = Compare with Source Address : 0x1 |
29-24 | MBC | R/W | 0h | Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows: - Bit 29: Register 194[15:8] - Bit 28: Register 194[7:0] - Bit 27: Register 195[31:24] - .. - Bit 24: Register 195[7:0] You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address. |
23-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address1 [47:32] This field contains the upper 16 bits[47:32] of the second 6-byte MAC address. |
MAC_Address3_Low is shown in Figure 43-84 and described in Table 43-138.
Return to the Summary Table.
The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address1 [31:0] This field contains the lower 32 bits of second 6-byte MAC address. The content of this field is undefined until loaded by the application after the initialization process. |
MAC_Address4_High is shown in Figure 43-85 and described in Table 43-139.
Return to the Summary Table.
The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station.
If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | SA | MBC | RESERVED | DCS | |||||||||||
R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R/W | 0h | Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering. 0h = Address is ignored : 0x0 1h = Address is enabled : 0x1 |
30 | SA | R/W | 0h | Source Address When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address1[47:0] is used to compare with the DA fields of the received packet. 0h = Compare with Destination Address : 0x0 1h = Compare with Source Address : 0x1 |
29-24 | MBC | R/W | 0h | Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows: - Bit 29: Register 194[15:8] - Bit 28: Register 194[7:0] - Bit 27: Register 195[31:24] - .. - Bit 24: Register 195[7:0] You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address. |
23-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address1 [47:32] This field contains the upper 16 bits[47:32] of the second 6-byte MAC address. |
MAC_Address4_Low is shown in Figure 43-86 and described in Table 43-140.
Return to the Summary Table.
The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address1 [31:0] This field contains the lower 32 bits of second 6-byte MAC address. The content of this field is undefined until loaded by the application after the initialization process. |
MAC_Address5_High is shown in Figure 43-87 and described in Table 43-141.
Return to the Summary Table.
The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station.
If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | SA | MBC | RESERVED | DCS | |||||||||||
R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R/W | 0h | Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering. 0h = Address is ignored : 0x0 1h = Address is enabled : 0x1 |
30 | SA | R/W | 0h | Source Address When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address1[47:0] is used to compare with the DA fields of the received packet. 0h = Compare with Destination Address : 0x0 1h = Compare with Source Address : 0x1 |
29-24 | MBC | R/W | 0h | Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows: - Bit 29: Register 194[15:8] - Bit 28: Register 194[7:0] - Bit 27: Register 195[31:24] - .. - Bit 24: Register 195[7:0] You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address. |
23-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address1 [47:32] This field contains the upper 16 bits[47:32] of the second 6-byte MAC address. |
MAC_Address5_Low is shown in Figure 43-88 and described in Table 43-142.
Return to the Summary Table.
The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address1 [31:0] This field contains the lower 32 bits of second 6-byte MAC address. The content of this field is undefined until loaded by the application after the initialization process. |
MAC_Address6_High is shown in Figure 43-89 and described in Table 43-143.
Return to the Summary Table.
The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station.
If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | SA | MBC | RESERVED | DCS | |||||||||||
R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R/W | 0h | Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering. 0h = Address is ignored : 0x0 1h = Address is enabled : 0x1 |
30 | SA | R/W | 0h | Source Address When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address1[47:0] is used to compare with the DA fields of the received packet. 0h = Compare with Destination Address : 0x0 1h = Compare with Source Address : 0x1 |
29-24 | MBC | R/W | 0h | Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows: - Bit 29: Register 194[15:8] - Bit 28: Register 194[7:0] - Bit 27: Register 195[31:24] - .. - Bit 24: Register 195[7:0] You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address. |
23-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address1 [47:32] This field contains the upper 16 bits[47:32] of the second 6-byte MAC address. |
MAC_Address6_Low is shown in Figure 43-90 and described in Table 43-144.
Return to the Summary Table.
The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address1 [31:0] This field contains the lower 32 bits of second 6-byte MAC address. The content of this field is undefined until loaded by the application after the initialization process. |
MAC_Address7_High is shown in Figure 43-91 and described in Table 43-145.
Return to the Summary Table.
The MAC Address1 High register holds the upper 16 bits of the second 6-byte MAC address of the station.
If the MAC address registers are configured to be double-synchronized to the (G)MII clock domains, the synchronization is triggered only when Bits[31:24] (in little-endian mode) or Bits[7:0] (in big-endian mode) of the MAC Address1 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AE | SA | MBC | RESERVED | DCS | |||||||||||
R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRHI | |||||||||||||||
R/W-FFFFh | |||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | AE | R/W | 0h | Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering. 0h = Address is ignored : 0x0 1h = Address is enabled : 0x1 |
30 | SA | R/W | 0h | Source Address When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address1[47:0] is used to compare with the DA fields of the received packet. 0h = Compare with Destination Address : 0x0 1h = Compare with Source Address : 0x1 |
29-24 | MBC | R/W | 0h | Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows: - Bit 29: Register 194[15:8] - Bit 28: Register 194[7:0] - Bit 27: Register 195[31:24] - .. - Bit 24: Register 195[7:0] You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address. |
23-17 | RESERVED | R | 0h | Reserved. |
16 | DCS | R/W | 0h | DMA Channel Select This field contains the binary representation of the DMA Channel number to which an Rx packet whose DA matches the MAC Address(#) content is routed. |
15-0 | ADDRHI | R/W | FFFFh | MAC Address1 [47:32] This field contains the upper 16 bits[47:32] of the second 6-byte MAC address. |
MAC_Address7_Low is shown in Figure 43-92 and described in Table 43-146.
Return to the Summary Table.
The MAC Address1 Low register holds the lower 32 bits of the second 6-byte MAC address of the station.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADDRLO | |||||||||||||||||||||||||||||||
R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | ADDRLO | R/W | FFFFFFFFh | MAC Address1 [31:0] This field contains the lower 32 bits of second 6-byte MAC address. The content of this field is undefined until loaded by the application after the initialization process. |
MMC_Control is shown in Figure 43-93 and described in Table 43-147.
Return to the Summary Table.
This register establishes the operating mode of MMC.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | UCDBC | ||||||
R-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | CNTPRSTLVL | CNTPRST | CNTFREEZ | RSTONRD | CNTSTOPRO | CNTRST | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-9 | RESERVED | R | 0h | Reserved. |
8 | UCDBC | R/W | 0h | Update MMC Counters for Dropped Broadcast Packets Note: The CNTRST bit has a higher priority than the CNTPRST bit. Therefore, when the software tries to set both bits in the same write cycle, all counters are cleared and the CNTPRST bit is not set. When set, the MAC updates all related MMC Counters for Broadcast packets that are dropped because of the setting of the DBF bit of MAC_Packet_Filter register. When reset, the MMC Counters are not updated for dropped Broadcast packets. 0h = Update MMC Counters for Dropped Broadcast Packets is disabled : 0x0 1h = Update MMC Counters for Dropped Broadcast Packets is enabled : 0x1 |
7-6 | RESERVED | R | 0h | Reserved. |
5 | CNTPRSTLVL | R/W | 0h | Full-Half Preset When this bit is low and the CNTPRST bit is set, all MMC counters get preset to almost-half value. All octet counters get preset to 0x7FFF_F800 (Half 2KBytes) and all packet-counters gets preset to 0x7FFF_FFF0 (Half 16). When this bit is high and the CNTPRST bit is set, all MMC counters get preset to almost-full value. All octet counters get preset to 0xFFFF_F800 (Full 2KBytes) and all packet-counters gets preset to 0xFFFF_FFF0 (Full 16). For 16-bit counters, the almost-half preset values are 0x7800 and 0x7FF0 for the respective octet and packet counters. Similarly, the almost-full preset values for the 16-bit counters are 0xF800 and 0xFFF0. 0h = Full-Half Preset is disabled : 0x0 1h = Full-Half Preset is enabled : 0x1 |
4 | CNTPRST | R/W | 0h | Counters Preset When this bit is set, all counters are initialized or preset to almost full or almost half according to the CNTPRSTLVL bit. This bit is cleared automatically after 1 clock cycle. This bit, along with the CNTPRSTLVL bit, is useful for debugging and testing the assertion of interrupts because of MMC counter becoming half-full or full. Access restriction applies. Self-cleared. Setting 0 clears. Setting 1 sets. 0h = Counters Preset is disabled : 0x0 1h = Counters Preset is enabled : 0x1 |
3 | CNTFREEZ | R/W | 0h | MMC Counter Freeze When this bit is set, it freezes all MMC counters to their current value. Until this bit is reset to 0, no MMC counter is updated because of any transmitted or received packet. If any MMC counter is read with the Reset on Read bit set, then that counter is also cleared in this mode. 0h = MMC Counter Freeze is disabled : 0x0 1h = MMC Counter Freeze is enabled : 0x1 |
2 | RSTONRD | R/W | 0h | Reset on Read When this bit is set, the MMC counters are reset to zero after Read (self-clearing after reset). The counters are cleared when the least significant byte lane (Bits[7:0]) is read. 0h = Reset on Read is disabled : 0x0 1h = Reset on Read is enabled : 0x1 |
1 | CNTSTOPRO | R/W | 0h | Counter Stop Rollover When this bit is set, the counter does not roll over to zero after reaching the maximum value. 0h = Counter Stop Rollover is disabled : 0x0 1h = Counter Stop Rollover is enabled : 0x1 |
0 | CNTRST | R/W | 0h | Counters Reset When this bit is set, all counters are reset. This bit is cleared automatically after 1 clock cycle. Access restriction applies. Self-cleared. Setting 0 clears. Setting 1 sets. 0h = Counters are not reset : 0x0 1h = All counters are reset : 0x1 |
MMC_Rx_Interrupt is shown in Figure 43-94 and described in Table 43-148.
Return to the Summary Table.
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.
Note: R_SS_RC means that this register bit is set internally, and it is cleared when the Counter register is read.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RXLPITRCIS | RXLPIUSCIS | RXCTRLPIS | RXRCVERRPIS | |||
R-0h | R-0h | R-0h | R-0h | R-0h | |||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RXWDOGPIS | RXVLANGBPIS | RXFOVPIS | RXPAUSPIS | RXORANGEPIS | RXLENERPIS | RXUCGPIS | RX1024TMAXOCTGBPIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RX512T1023OCTGBPIS | RX256T511OCTGBPIS | RX128T255OCTGBPIS | RX65T127OCTGBPIS | RX64OCTGBPIS | RXOSIZEGPIS | RXUSIZEGPIS | RXJABERPIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXRUNTPIS | RXALGNERPIS | RXCRCERPIS | RXMCGPIS | RXBCGPIS | RXGOCTIS | RXGBOCTIS | RXGBPKTIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | RXLPITRCIS | R | 0h | MMC Receive LPI transition counter interrupt status This bit is set when the Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive LPI transition Counter Interrupt Status not detected : 0x0 1h = MMC Receive LPI transition Counter Interrupt Status detected : 0x1 |
26 | RXLPIUSCIS | R | 0h | MMC Receive LPI microsecond counter interrupt status This bit is set when the Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive LPI microsecond Counter Interrupt Status not detected : 0x0 1h = MMC Receive LPI microsecond Counter Interrupt Status detected : 0x1 |
25 | RXCTRLPIS | R | 0h | MMC Receive Control Packet Counter Interrupt Status This bit is set when the rxctrlpackets_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Control Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Control Packet Counter Interrupt Status detected : 0x1 |
24 | RXRCVERRPIS | R | 0h | MMC Receive Error Packet Counter Interrupt Status This bit is set when the rxrcverror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Error Packet Counter Interrupt Status detected : 0x1 |
23 | RXWDOGPIS | R | 0h | MMC Receive Watchdog Error Packet Counter Interrupt Status This bit is set when the rxwatchdog error counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Watchdog Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Watchdog Error Packet Counter Interrupt Status detected : 0x1 |
22 | RXVLANGBPIS | R | 0h | MMC Receive VLAN Good Bad Packet Counter Interrupt Status This bit is set when the rxvlanpackets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive VLAN Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive VLAN Good Bad Packet Counter Interrupt Status detected : 0x1 |
21 | RXFOVPIS | R | 0h | MMC Receive FIFO Overflow Packet Counter Interrupt Status This bit is set when the rxfifooverflow counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive FIFO Overflow Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive FIFO Overflow Packet Counter Interrupt Status detected : 0x1 |
20 | RXPAUSPIS | R | 0h | MMC Receive Pause Packet Counter Interrupt Status This bit is set when the rxpausepackets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Pause Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Pause Packet Counter Interrupt Status detected : 0x1 |
19 | RXORANGEPIS | R | 0h | MMC Receive Out Of Range Error Packet Counter Interrupt Status. This bit is set when the rxoutofrangetype counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Out Of Range Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Out Of Range Error Packet Counter Interrupt Status detected : 0x1 |
18 | RXLENERPIS | R | 0h | MMC Receive Length Error Packet Counter Interrupt Status This bit is set when the rxlengtherror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Length Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Length Error Packet Counter Interrupt Status detected : 0x1 |
17 | RXUCGPIS | R | 0h | MMC Receive Unicast Good Packet Counter Interrupt Status This bit is set when the rxunicastpackets_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Unicast Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Unicast Good Packet Counter Interrupt Status detected : 0x1 |
16 | RX1024TMAXOCTGBPIS | R | 0h | MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status This bit is set when the rx1024tomaxoctets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
15 | RX512T1023OCTGBPIS | R | 0h | MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status This bit is set when the rx512to1023octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
14 | RX256T511OCTGBPIS | R | 0h | MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status This bit is set when the rx256to511octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
13 | RX128T255OCTGBPIS | R | 0h | MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status This bit is set when the rx128to255octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
12 | RX65T127OCTGBPIS | R | 0h | MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status This bit is set when the rx65to127octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
11 | RX64OCTGBPIS | R | 0h | MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status This bit is set when the rx64octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
10 | RXOSIZEGPIS | R | 0h | MMC Receive Oversize Good Packet Counter Interrupt Status This bit is set when the rxoversize_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Oversize Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Oversize Good Packet Counter Interrupt Status detected : 0x1 |
9 | RXUSIZEGPIS | R | 0h | MMC Receive Undersize Good Packet Counter Interrupt Status This bit is set when the rxundersize_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Undersize Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Undersize Good Packet Counter Interrupt Status detected : 0x1 |
8 | RXJABERPIS | R | 0h | MMC Receive Jabber Error Packet Counter Interrupt Status This bit is set when the rxjabbererror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Jabber Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Jabber Error Packet Counter Interrupt Status detected : 0x1 |
7 | RXRUNTPIS | R | 0h | MMC Receive Runt Packet Counter Interrupt Status This bit is set when the rxrunterror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Runt Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Runt Packet Counter Interrupt Status detected : 0x1 |
6 | RXALGNERPIS | R | 0h | MMC Receive Alignment Error Packet Counter Interrupt Status This bit is set when the rxalignmenterror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Alignment Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Alignment Error Packet Counter Interrupt Status detected : 0x1 |
5 | RXCRCERPIS | R | 0h | MMC Receive CRC Error Packet Counter Interrupt Status This bit is set when the rxcrcerror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive CRC Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive CRC Error Packet Counter Interrupt Status detected : 0x1 |
4 | RXMCGPIS | R | 0h | MMC Receive Multicast Good Packet Counter Interrupt Status This bit is set when the rxmulticastpackets_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Multicast Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Multicast Good Packet Counter Interrupt Status detected : 0x1 |
3 | RXBCGPIS | R | 0h | MMC Receive Broadcast Good Packet Counter Interrupt Status This bit is set when the rxbroadcastpackets_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Broadcast Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Broadcast Good Packet Counter Interrupt Status detected : 0x1 |
2 | RXGOCTIS | R | 0h | MMC Receive Good Octet Counter Interrupt Status This bit is set when the rxoctetcount_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Good Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Good Octet Counter Interrupt Status detected : 0x1 |
1 | RXGBOCTIS | R | 0h | MMC Receive Good Bad Octet Counter Interrupt Status This bit is set when the rxoctetcount_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Good Bad Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Good Bad Octet Counter Interrupt Status detected : 0x1 |
0 | RXGBPKTIS | R | 0h | MMC Receive Good Bad Packet Counter Interrupt Status This bit is set when the rxpacketcount_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive Good Bad Packet Counter Interrupt Status detected : 0x1 |
MMC_Tx_Interrupt is shown in Figure 43-95 and described in Table 43-149.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | TXLPITRCIS | TXLPIUSCIS | TXOSIZEGPIS | TXVLANGPIS | |||
R-0h | R-0h | R-0h | R-0h | R-0h | |||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TXPAUSPIS | TXEXDEFPIS | TXGPKTIS | TXGOCTIS | TXCARERPIS | TXEXCOLPIS | TXLATCOLPIS | TXDEFPIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TXMCOLGPIS | TXSCOLGPIS | TXUFLOWERPIS | TXBCGBPIS | TXMCGBPIS | TXUCGBPIS | TX1024TMAXOCTGBPIS | TX512T1023OCTGBPIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX256T511OCTGBPIS | TX128T255OCTGBPIS | TX65T127OCTGBPIS | TX64OCTGBPIS | TXMCGPIS | TXBCGPIS | TXGBPKTIS | TXGBOCTIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | TXLPITRCIS | R | 0h | MMC Transmit LPI transition counter interrupt status This bit is set when the Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit LPI transition Counter Interrupt Status not detected : 0x0 1h = MMC Transmit LPI transition Counter Interrupt Status detected : 0x1 |
26 | TXLPIUSCIS | R | 0h | MMC Transmit LPI microsecond counter interrupt status This bit is set when the Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit LPI microsecond Counter Interrupt Status not detected : 0x0 1h = MMC Transmit LPI microsecond Counter Interrupt Status detected : 0x1 |
25 | TXOSIZEGPIS | R | 0h | MMC Transmit Oversize Good Packet Counter Interrupt Status This bit is set when the txoversize_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Oversize Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Oversize Good Packet Counter Interrupt Status detected : 0x1 |
24 | TXVLANGPIS | R | 0h | MMC Transmit VLAN Good Packet Counter Interrupt Status This bit is set when the txvlanpackets_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit VLAN Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit VLAN Good Packet Counter Interrupt Status detected : 0x1 |
23 | TXPAUSPIS | R | 0h | MMC Transmit Pause Packet Counter Interrupt Status This bit is set when the txpausepacketserror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Pause Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Pause Packet Counter Interrupt Status detected : 0x1 |
22 | TXEXDEFPIS | R | 0h | MMC Transmit Excessive Deferral Packet Counter Interrupt Status This bit is set when the txexcessdef counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Excessive Deferral Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Excessive Deferral Packet Counter Interrupt Status detected : 0x1 |
21 | TXGPKTIS | R | 0h | MMC Transmit Good Packet Counter Interrupt Status This bit is set when the txpacketcount_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Good Packet Counter Interrupt Status detected : 0x1 |
20 | TXGOCTIS | R | 0h | MMC Transmit Good Octet Counter Interrupt Status This bit is set when the txoctetcount_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Good Octet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Good Octet Counter Interrupt Status detected : 0x1 |
19 | TXCARERPIS | R | 0h | MMC Transmit Carrier Error Packet Counter Interrupt Status This bit is set when the txcarriererror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Carrier Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Carrier Error Packet Counter Interrupt Status detected : 0x1 |
18 | TXEXCOLPIS | R | 0h | MMC Transmit Excessive Collision Packet Counter Interrupt Status This bit is set when the txexesscol counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Excessive Collision Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Excessive Collision Packet Counter Interrupt Status detected : 0x1 |
17 | TXLATCOLPIS | R | 0h | MMC Transmit Late Collision Packet Counter Interrupt Status This bit is set when the txlatecol counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Late Collision Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Late Collision Packet Counter Interrupt Status detected : 0x1 |
16 | TXDEFPIS | R | 0h | MMC Transmit Deferred Packet Counter Interrupt Status This bit is set when the txdeferred counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Deferred Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Deferred Packet Counter Interrupt Status detected : 0x1 |
15 | TXMCOLGPIS | R | 0h | MMC Transmit Multiple Collision Good Packet Counter Interrupt Status This bit is set when the txmulticol_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Multiple Collision Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Multiple Collision Good Packet Counter Interrupt Status detected : 0x1 |
14 | TXSCOLGPIS | R | 0h | MMC Transmit Single Collision Good Packet Counter Interrupt Status This bit is set when the txsinglecol_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Single Collision Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Single Collision Good Packet Counter Interrupt Status detected : 0x1 |
13 | TXUFLOWERPIS | R | 0h | MMC Transmit Underflow Error Packet Counter Interrupt Status This bit is set when the txunderflowerror counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Underflow Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Underflow Error Packet Counter Interrupt Status detected : 0x1 |
12 | TXBCGBPIS | R | 0h | MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status This bit is set when the txbroadcastpackets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status detected : 0x1 |
11 | TXMCGBPIS | R | 0h | MMC Transmit Multicast Good Bad Packet Counter Interrupt Status The bit is set when the txmulticastpackets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Multicast Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Multicast Good Bad Packet Counter Interrupt Status detected : 0x1 |
10 | TXUCGBPIS | R | 0h | MMC Transmit Unicast Good Bad Packet Counter Interrupt Status This bit is set when the txunicastpackets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Unicast Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Unicast Good Bad Packet Counter Interrupt Status detected : 0x1 |
9 | TX1024TMAXOCTGBPIS | R | 0h | MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status This bit is set when the tx1024tomaxoctets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
8 | TX512T1023OCTGBPIS | R | 0h | MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status This bit is set when the tx512to1023octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
7 | TX256T511OCTGBPIS | R | 0h | MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status This bit is set when the tx256to511octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
6 | TX128T255OCTGBPIS | R | 0h | MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status This bit is set when the tx128to255octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
5 | TX65T127OCTGBPIS | R | 0h | MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status This bit is set when the tx65to127octets_gb counter reaches half the maximum value, and also when it reaches the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
4 | TX64OCTGBPIS | R | 0h | MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status This bit is set when the tx64octets_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status detected : 0x1 |
3 | TXMCGPIS | R | 0h | MMC Transmit Multicast Good Packet Counter Interrupt Status This bit is set when the txmulticastpackets_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Multicast Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Multicast Good Packet Counter Interrupt Status detected : 0x1 |
2 | TXBCGPIS | R | 0h | MMC Transmit Broadcast Good Packet Counter Interrupt Status This bit is set when the txbroadcastpackets_g counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Broadcast Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Broadcast Good Packet Counter Interrupt Status detected : 0x1 |
1 | TXGBPKTIS | R | 0h | MMC Transmit Good Bad Packet Counter Interrupt Status This bit is set when the txpacketcount_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Good Bad Packet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Good Bad Packet Counter Interrupt Status detected : 0x1 |
0 | TXGBOCTIS | R | 0h | MMC Transmit Good Bad Octet Counter Interrupt Status This bit is set when the txoctetcount_gb counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Transmit Good Bad Octet Counter Interrupt Status not detected : 0x0 1h = MMC Transmit Good Bad Octet Counter Interrupt Status detected : 0x1 |
MMC_Rx_Interrupt_Mask is shown in Figure 43-96 and described in Table 43-150.
Return to the Summary Table.
This register maintains the masks for interrupts generated from all Receive statistics counters.
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.
This register is 32 bit wide.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RXLPITRCIM | RXLPIUSCIM | RXCTRLPIM | RXRCVERRPIM | |||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RXWDOGPIM | RXVLANGBPIM | RXFOVPIM | RXPAUSPIM | RXORANGEPIM | RXLENERPIM | RXUCGPIM | RX1024TMAXOCTGBPIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RX512T1023OCTGBPIM | RX256T511OCTGBPIM | RX128T255OCTGBPIM | RX65T127OCTGBPIM | RX64OCTGBPIM | RXOSIZEGPIM | RXUSIZEGPIM | RXJABERPIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXRUNTPIM | RXALGNERPIM | RXCRCERPIM | RXMCGPIM | RXBCGPIM | RXGOCTIM | RXGBOCTIM | RXGBPKTIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | RXLPITRCIM | R/W | 0h | MMC Receive LPI transition counter interrupt Mask Setting this bit masks the interrupt when the Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. 0h = MMC Receive LPI transition counter interrupt Mask is disabled : 0x0 1h = MMC Receive LPI transition counter interrupt Mask is enabled : 0x1 |
26 | RXLPIUSCIM | R/W | 0h | MMC Receive LPI microsecond counter interrupt Mask Setting this bit masks the interrupt when the Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. 0h = MMC Receive LPI microsecond counter interrupt Mask is disabled : 0x0 1h = MMC Receive LPI microsecond counter interrupt Mask is enabled : 0x1 |
25 | RXCTRLPIM | R/W | 0h | MMC Receive Control Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxctrlpackets_g counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Control Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Control Packet Counter Interrupt Mask is enabled : 0x1 |
24 | RXRCVERRPIM | R/W | 0h | MMC Receive Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxrcverror counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Error Packet Counter Interrupt Mask is enabled : 0x1 |
23 | RXWDOGPIM | R/W | 0h | MMC Receive Watchdog Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxwatchdog counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Watchdog Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Watchdog Error Packet Counter Interrupt Mask is enabled : 0x1 |
22 | RXVLANGBPIM | R/W | 0h | MMC Receive VLAN Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxvlanpackets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
21 | RXFOVPIM | R/W | 0h | MMC Receive FIFO Overflow Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxfifooverflow counter reaches half of the maximum value or the maximum value. 0h = MMC Receive FIFO Overflow Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive FIFO Overflow Packet Counter Interrupt Mask is enabled : 0x1 |
20 | RXPAUSPIM | R/W | 0h | MMC Receive Pause Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxpausepackets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Pause Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Pause Packet Counter Interrupt Mask is enabled : 0x1 |
19 | RXORANGEPIM | R/W | 0h | MMC Receive Out Of Range Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxoutofrangetype counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Out Of Range Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Out Of Range Error Packet Counter Interrupt Mask is enabled : 0x1 |
18 | RXLENERPIM | R/W | 0h | MMC Receive Length Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxlengtherror counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Length Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Length Error Packet Counter Interrupt Mask is enabled : 0x1 |
17 | RXUCGPIM | R/W | 0h | MMC Receive Unicast Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxunicastpackets_g counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Unicast Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Unicast Good Packet Counter Interrupt Mask is enabled : 0x1 |
16 | RX1024TMAXOCTGBPIM | R/W | 0h | MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask. Setting this bit masks the interrupt when the rx1024tomaxoctets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
15 | RX512T1023OCTGBPIM | R/W | 0h | MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rx512to1023octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
14 | RX256T511OCTGBPIM | R/W | 0h | MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rx256to511octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
13 | RX128T255OCTGBPIM | R/W | 0h | MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rx128to255octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
12 | RX65T127OCTGBPIM | R/W | 0h | MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rx65to127octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
11 | RX64OCTGBPIM | R/W | 0h | MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rx64octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
10 | RXOSIZEGPIM | R/W | 0h | MMC Receive Oversize Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxoversize_g counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Oversize Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Oversize Good Packet Counter Interrupt Mask is enabled : 0x1 |
9 | RXUSIZEGPIM | R/W | 0h | MMC Receive Undersize Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxundersize_g counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Undersize Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Undersize Good Packet Counter Interrupt Mask is enabled : 0x1 |
8 | RXJABERPIM | R/W | 0h | MMC Receive Jabber Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxjabbererror counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Jabber Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Jabber Error Packet Counter Interrupt Mask is enabled : 0x1 |
7 | RXRUNTPIM | R/W | 0h | MMC Receive Runt Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxrunterror counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Runt Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Runt Packet Counter Interrupt Mask is enabled : 0x1 |
6 | RXALGNERPIM | R/W | 0h | MMC Receive Alignment Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxalignmenterror counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Alignment Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Alignment Error Packet Counter Interrupt Mask is enabled : 0x1 |
5 | RXCRCERPIM | R/W | 0h | MMC Receive CRC Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxcrcerror counter reaches half of the maximum value or the maximum value. 0h = MMC Receive CRC Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive CRC Error Packet Counter Interrupt Mask is enabled : 0x1 |
4 | RXMCGPIM | R/W | 0h | MMC Receive Multicast Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxmulticastpackets_g counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Multicast Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Multicast Good Packet Counter Interrupt Mask is enabled : 0x1 |
3 | RXBCGPIM | R/W | 0h | MMC Receive Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxbroadcastpackets_g counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Broadcast Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Broadcast Good Packet Counter Interrupt Mask is enabled : 0x1 |
2 | RXGOCTIM | R/W | 0h | MMC Receive Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxoctetcount_g counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Good Octet Counter Interrupt Mask is enabled : 0x1 |
1 | RXGBOCTIM | R/W | 0h | MMC Receive Good Bad Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxoctetcount_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Good Bad Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Good Bad Octet Counter Interrupt Mask is enabled : 0x1 |
0 | RXGBPKTIM | R/W | 0h | MMC Receive Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxpacketcount_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Receive Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
MMC_Tx_Interrupt_Mask is shown in Figure 43-97 and described in Table 43-151.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | TXLPITRCIM | TXLPIUSCIM | TXOSIZEGPIM | TXVLANGPIM | |||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TXPAUSPIM | TXEXDEFPIM | TXGPKTIM | TXGOCTIM | TXCARERPIM | TXEXCOLPIM | TXLATCOLPIM | TXDEFPIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TXMCOLGPIM | TXSCOLGPIM | TXUFLOWERPIM | TXBCGBPIM | TXMCGBPIM | TXUCGBPIM | TX1024TMAXOCTGBPIM | TX512T1023OCTGBPIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX256T511OCTGBPIM | TX128T255OCTGBPIM | TX65T127OCTGBPIM | TX64OCTGBPIM | TXMCGPIM | TXBCGPIM | TXGBPKTIM | TXGBOCTIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | TXLPITRCIM | R/W | 0h | MMC Transmit LPI transition counter interrupt Mask Setting this bit masks the interrupt when the Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit LPI transition counter interrupt Mask is disabled : 0x0 1h = MMC Transmit LPI transition counter interrupt Mask is enabled : 0x1 |
26 | TXLPIUSCIM | R/W | 0h | MMC Transmit LPI microsecond counter interrupt Mask Setting this bit masks the interrupt when the Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit LPI microsecond counter interrupt Mask is disabled : 0x0 1h = MMC Transmit LPI microsecond counter interrupt Mask is enabled : 0x1 |
25 | TXOSIZEGPIM | R/W | 0h | MMC Transmit Oversize Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txoversize_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Oversize Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Oversize Good Packet Counter Interrupt Mask is enabled : 0x1 |
24 | TXVLANGPIM | R/W | 0h | MMC Transmit VLAN Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txvlanpackets_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit VLAN Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit VLAN Good Packet Counter Interrupt Mask is enabled : 0x1 |
23 | TXPAUSPIM | R/W | 0h | MMC Transmit Pause Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txpausepackets counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Pause Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Pause Packet Counter Interrupt Mask is enabled : 0x1 |
22 | TXEXDEFPIM | R/W | 0h | MMC Transmit Excessive Deferral Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txexcessdef counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is enabled : 0x1 |
21 | TXGPKTIM | R/W | 0h | MMC Transmit Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txpacketcount_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Good Packet Counter Interrupt Mask is enabled : 0x1 |
20 | TXGOCTIM | R/W | 0h | MMC Transmit Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the txoctetcount_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Good Octet Counter Interrupt Mask is enabled : 0x1 |
19 | TXCARERPIM | R/W | 0h | MMC Transmit Carrier Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txcarriererror counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Carrier Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Carrier Error Packet Counter Interrupt Mask is enabled : 0x1 |
18 | TXEXCOLPIM | R/W | 0h | MMC Transmit Excessive Collision Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txexcesscol counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Excessive Collision Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Excessive Collision Packet Counter Interrupt Mask is enabled : 0x1 |
17 | TXLATCOLPIM | R/W | 0h | MMC Transmit Late Collision Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txlatecol counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Late Collision Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Late Collision Packet Counter Interrupt Mask is enabled : 0x1 |
16 | TXDEFPIM | R/W | 0h | MMC Transmit Deferred Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txdeferred counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Deferred Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Deferred Packet Counter Interrupt Mask is enabled : 0x1 |
15 | TXMCOLGPIM | R/W | 0h | MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txmulticol_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is enabled : 0x1 |
14 | TXSCOLGPIM | R/W | 0h | MMC Transmit Single Collision Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txsinglecol_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Single Collision Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Single Collision Good Packet Counter Interrupt Mask is enabled : 0x1 |
13 | TXUFLOWERPIM | R/W | 0h | MMC Transmit Underflow Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txunderflowerror counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Underflow Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Underflow Error Packet Counter Interrupt Mask is enabled : 0x1 |
12 | TXBCGBPIM | R/W | 0h | MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txbroadcastpackets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
11 | TXMCGBPIM | R/W | 0h | MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txmulticastpackets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
10 | TXUCGBPIM | R/W | 0h | MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txunicastpackets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
9 | TX1024TMAXOCTGBPIM | R/W | 0h | MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the tx1024tomaxoctets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
8 | TX512T1023OCTGBPIM | R/W | 0h | MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the tx512to1023octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
7 | TX256T511OCTGBPIM | R/W | 0h | MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the tx256to511octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
6 | TX128T255OCTGBPIM | R/W | 0h | MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the tx128to255octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
5 | TX65T127OCTGBPIM | R/W | 0h | MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the tx65to127octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
4 | TX64OCTGBPIM | R/W | 0h | MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the tx64octets_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
3 | TXMCGPIM | R/W | 0h | MMC Transmit Multicast Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txmulticastpackets_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Multicast Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Multicast Good Packet Counter Interrupt Mask is enabled : 0x1 |
2 | TXBCGPIM | R/W | 0h | MMC Transmit Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txbroadcastpackets_g counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Broadcast Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Broadcast Good Packet Counter Interrupt Mask is enabled : 0x1 |
1 | TXGBPKTIM | R/W | 0h | MMC Transmit Good Bad Packet Counter Interrupt Mask Setting this bit masks the interrupt when the txpacketcount_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Good Bad Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Good Bad Packet Counter Interrupt Mask is enabled : 0x1 |
0 | TXGBOCTIM | R/W | 0h | MMC Transmit Good Bad Octet Counter Interrupt Mask Setting this bit masks the interrupt when the txoctetcount_gb counter reaches half of the maximum value or the maximum value. 0h = MMC Transmit Good Bad Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Transmit Good Bad Octet Counter Interrupt Mask is enabled : 0x1 |
Tx_Octet_Count_Good_Bad is shown in Figure 43-98 and described in Table 43-152.
Return to the Summary Table.
This register provides the number of bytes transmitted by the DWC_ether_qos, exclusive of preamble and retried bytes, in good and bad packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXOCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXOCTGB | R | 0h | Tx Octet Count Good Bad This field indicates the number of bytes transmitted, exclusive of preamble and retried bytes, in good and bad packets. |
Tx_Packet_Count_Good_Bad is shown in Figure 43-99 and described in Table 43-153.
Return to the Summary Table.
This register provides the number of good and bad packets transmitted by DWC_ether_qos, exclusive of retried packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXPKTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXPKTGB | R | 0h | Tx Packet Count Good Bad This field indicates the number of good and bad packets transmitted, exclusive of retried packets. |
Tx_Broadcast_Packets_Good is shown in Figure 43-100 and described in Table 43-154.
Return to the Summary Table.
This register provides the number of good broadcast packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXBCASTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXBCASTG | R | 0h | Tx Broadcast Packets Good This field indicates the number of good broadcast packets transmitted. |
Tx_Multicast_Packets_Good is shown in Figure 43-101 and described in Table 43-155.
Return to the Summary Table.
This register provides the number of good multicast packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXMCASTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXMCASTG | R | 0h | Tx Multicast Packets Good This field indicates the number of good multicast packets transmitted. |
Tx_64Octets_Packets_Good_Bad is shown in Figure 43-102 and described in Table 43-156.
Return to the Summary Table.
This register provides the number of good and bad packets transmitted by DWC_ether_qos with length 64 bytes, exclusive of preamble and retried packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX64OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TX64OCTGB | R | 0h | Tx 64Octets Packets Good_Bad This field indicates the number of good and bad packets transmitted with length 64 bytes, exclusive of preamble and retried packets. |
Tx_65To127Octets_Packets_Good_Bad is shown in Figure 43-103 and described in Table 43-157.
Return to the Summary Table.
This register provides the number of good and bad packets transmitted by DWC_ether_qos with length between 65 and 127 (inclusive) bytes, exclusive of preamble and retried packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX65_127OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TX65_127OCTGB | R | 0h | Tx 65To127Octets Packets Good Bad This field indicates the number of good and bad packets transmitted with length between 65 and 127 (inclusive) bytes, exclusive of preamble and retried packets. |
Tx_128To255Octets_Packets_Good_Bad is shown in Figure 43-104 and described in Table 43-158.
Return to the Summary Table.
This register provides the number of good and bad packets transmitted by DWC_ether_qos with length between 128 to 255 (inclusive) bytes, exclusive of preamble and retried packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX128_255OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TX128_255OCTGB | R | 0h | Tx 128To255Octets Packets Good Bad This field indicates the number of good and bad packets transmitted with length between 128 and 255 (inclusive) bytes, exclusive of preamble and retried packets. |
Tx_256To511Octets_Packets_Good_Bad is shown in Figure 43-105 and described in Table 43-159.
Return to the Summary Table.
This register provides the number of good and bad packets transmitted by DWC_ether_qos with length between 256 to 511 (inclusive) bytes, exclusive of preamble and retried packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX256_511OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TX256_511OCTGB | R | 0h | Tx 256To511Octets Packets Good Bad This field indicates the number of good and bad packets transmitted with length between 256 and 511 (inclusive) bytes, exclusive of preamble and retried packets. |
Tx_512To1023Octets_Packets_Good_Bad is shown in Figure 43-106 and described in Table 43-160.
Return to the Summary Table.
This register provides the number of good and bad packets transmitted by DWC_ether_qos with length 512 to 1023 (inclusive) bytes, exclusive of preamble and retried packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX512_1023OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TX512_1023OCTGB | R | 0h | Tx 512To1023Octets Packets Good Bad This field indicates the number of good and bad packets transmitted with length between 512 and 1023 (inclusive) bytes, exclusive of preamble and retried packets. |
Tx_1024ToMaxOctets_Packets_Good_Bad is shown in Figure 43-107 and described in Table 43-161.
Return to the Summary Table.
This register provides the number of good and bad packets transmitted by DWC_ether_qos with length 1024 to maxsize (inclusive) bytes, exclusive of preamble and retried packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TX1024_MAXOCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TX1024_MAXOCTGB | R | 0h | Tx 1024ToMaxOctets Packets Good Bad This field indicates the number of good and bad packets transmitted with length between 1024 and maxsize (inclusive) bytes, exclusive of preamble and retried packets. |
Tx_Unicast_Packets_Good_Bad is shown in Figure 43-108 and described in Table 43-162.
Return to the Summary Table.
This register provides the number of good and bad unicast packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXUCASTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXUCASTGB | R | 0h | Tx Unicast Packets Good Bad This field indicates the number of good and bad unicast packets transmitted. |
Tx_Multicast_Packets_Good_Bad is shown in Figure 43-109 and described in Table 43-163.
Return to the Summary Table.
This register provides the number of good and bad multicast packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXMCASTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXMCASTGB | R | 0h | Tx Multicast Packets Good Bad This field indicates the number of good and bad multicast packets transmitted. |
Tx_Broadcast_Packets_Good_Bad is shown in Figure 43-110 and described in Table 43-164.
Return to the Summary Table.
This register provides the number of good and bad broadcast packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXBCASTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXBCASTGB | R | 0h | Tx Broadcast Packets Good Bad This field indicates the number of good and bad broadcast packets transmitted. |
Tx_Underflow_Error_Packets is shown in Figure 43-111 and described in Table 43-165.
Return to the Summary Table.
This register provides the number of packets aborted by DWC_ether_qos because of packets underflow error.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXUNDRFLW | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXUNDRFLW | R | 0h | Tx Underflow Error Packets This field indicates the number of packets aborted because of packets underflow error. |
Tx_Single_Collision_Good_Packets is shown in Figure 43-112 and described in Table 43-166.
Return to the Summary Table.
This register provides the number of successfully transmitted packets by DWC_ether_qos after a single collision in the half-duplex mode.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXSNGLCOLG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXSNGLCOLG | R | 0h | Tx Single Collision Good Packets This field indicates the number of successfully transmitted packets after a single collision in the half-duplex mode. |
Tx_Multiple_Collision_Good_Packets is shown in Figure 43-113 and described in Table 43-167.
Return to the Summary Table.
This register provides the number of successfully transmitted packets by DWC_ether_qos after multiple collisions in the half-duplex mode.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXMULTCOLG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXMULTCOLG | R | 0h | Tx Multiple Collision Good Packets This field indicates the number of successfully transmitted packets after multiple collisions in the half-duplex mode. |
Tx_Deferred_Packets is shown in Figure 43-114 and described in Table 43-168.
Return to the Summary Table.
This register provides the number of successfully transmitted by DWC_ether_qos after a deferral in the half-duplex mode.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXDEFRD | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXDEFRD | R | 0h | Tx Deferred Packets This field indicates the number of successfully transmitted after a deferral in the half-duplex mode. |
Tx_Late_Collision_Packets is shown in Figure 43-115 and described in Table 43-169.
Return to the Summary Table.
This register provides the number of packets aborted by DWC_ether_qos because of late collision error.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXLATECOL | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXLATECOL | R | 0h | Tx Late Collision Packets This field indicates the number of packets aborted because of late collision error. |
Tx_Excessive_Collision_Packets is shown in Figure 43-116 and described in Table 43-170.
Return to the Summary Table.
This register provides the number of packets aborted by DWC_ether_qos because of excessive (16) collision errors.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXEXSCOL | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXEXSCOL | R | 0h | Tx Excessive Collision Packets This field indicates the number of packets aborted because of excessive (16) collision errors. |
Tx_Carrier_Error_Packets is shown in Figure 43-117 and described in Table 43-171.
Return to the Summary Table.
This register provides the number of packets aborted by DWC_ether_qos because of carrier sense error (no carrier or loss of carrier).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXCARR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXCARR | R | 0h | Tx Carrier Error Packets This field indicates the number of packets aborted because of carrier sense error (no carrier or loss of carrier). |
Tx_Octet_Count_Good is shown in Figure 43-118 and described in Table 43-172.
Return to the Summary Table.
This register provides the number of bytes transmitted by DWC_ether_qos, exclusive of preamble, only in good packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXOCTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXOCTG | R | 0h | Tx Octet Count Good This field indicates the number of bytes transmitted, exclusive of preamble, only in good packets. |
Tx_Packet_Count_Good is shown in Figure 43-119 and described in Table 43-173.
Return to the Summary Table.
This register provides the number of good packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXPKTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXPKTG | R | 0h | Tx Packet Count Good This field indicates the number of good packets transmitted. |
Tx_Excessive_Deferral_Error is shown in Figure 43-120 and described in Table 43-174.
Return to the Summary Table.
This register provides the number of packets aborted by DWC_ether_qos because of excessive deferral error (deferred for more than two max-sized packet times).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXEXSDEF | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXEXSDEF | R | 0h | Tx Excessive Deferral Error This field indicates the number of packets aborted because of excessive deferral error (deferred for more than two max-sized packet times). |
Tx_Pause_Packets is shown in Figure 43-121 and described in Table 43-175.
Return to the Summary Table.
This register provides the number of good Pause packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXPAUSE | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXPAUSE | R | 0h | Tx Pause Packets This field indicates the number of good Pause packets transmitted. |
Tx_VLAN_Packets_Good is shown in Figure 43-122 and described in Table 43-176.
Return to the Summary Table.
This register provides the number of good VLAN packets transmitted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXVLANG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXVLANG | R | 0h | Tx VLAN Packets Good This field provides the number of good VLAN packets transmitted. |
Tx_OSize_Packets_Good is shown in Figure 43-123 and described in Table 43-177.
Return to the Summary Table.
This register provides the number of packets transmitted by DWC_ether_qos without errors and with length greater than the maxsize (1,518 or 1,522 bytes for VLAN tagged packets
2000 bytes if enabled in S2KP bit of the MAC_Configuration register).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXOSIZG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXOSIZG | R | 0h | Tx OSize Packets Good This field indicates the number of packets transmitted without errors and with length greater than the maxsize (1,518 or 1,522 bytes for VLAN tagged packets 2000 bytes if enabled in S2KP bit of the MAC_Configuration register). |
Rx_Packets_Count_Good_Bad is shown in Figure 43-124 and described in Table 43-178.
Return to the Summary Table.
This register provides the number of good and bad packets received by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXPKTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXPKTGB | R | 0h | Rx Packets Count Good Bad This field indicates the number of good and bad packets received. |
Rx_Octet_Count_Good_Bad is shown in Figure 43-125 and described in Table 43-179.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ther_qos, exclusive of preamble, in good and bad packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXOCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXOCTGB | R | 0h | Rx Octet Count Good Bad This field indicates the number of bytes received, exclusive of preamble, in good and bad packets. |
Rx_Octet_Count_Good is shown in Figure 43-126 and described in Table 43-180.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos, exclusive of preamble, only in good packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXOCTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXOCTG | R | 0h | Rx Octet Count Good This field indicates the number of bytes received, exclusive of preamble, only in good packets. |
Rx_Broadcast_Packets_Good is shown in Figure 43-127 and described in Table 43-181.
Return to the Summary Table.
This register provides the number of good broadcast packets received by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXBCASTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXBCASTG | R | 0h | Rx Broadcast Packets Good This field indicates the number of good broadcast packets received. |
Rx_Multicast_Packets_Good is shown in Figure 43-128 and described in Table 43-182.
Return to the Summary Table.
This register provides the number of good multicast packets received by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXMCASTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXMCASTG | R | 0h | Rx Multicast Packets Good This field indicates the number of good multicast packets received. |
Rx_CRC_Error_Packets is shown in Figure 43-129 and described in Table 43-183.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with CRC error.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXCRCERR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXCRCERR | R | 0h | Rx CRC Error Packets This field indicates the number of packets received with CRC error. |
Rx_Alignment_Error_Packets is shown in Figure 43-130 and described in Table 43-184.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with alignment (dribble) error. It is valid only in 10/100 mode.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXALGNERR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXALGNERR | R | 0h | Rx Alignment Error Packets This field indicates the number of packets received with alignment (dribble) error. It is valid only in 10/100 mode. |
Rx_Runt_Error_Packets is shown in Figure 43-131 and described in Table 43-185.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with runt (length less than 64 bytes and CRC error) error.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXRUNTERR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXRUNTERR | R | 0h | Rx Runt Error Packets This field indicates the number of packets received with runt (length less than 64 bytes and CRC error) error. |
Rx_Jabber_Error_Packets is shown in Figure 43-132 and described in Table 43-186.
Return to the Summary Table.
This register provides the number of giant packets received by DWC_ether_qos with length (including CRC) greater than 1,518 bytes (1,522 bytes for VLAN tagged) and with CRC error. If Jumbo Packet mode is enabled, packets of length greater than 9,018 bytes (9,022 bytes for VLAN tagged) are considered as giant packets.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXJABERR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXJABERR | R | 0h | Rx Jabber Error Packets This field indicates the number of giant packets received with length (including CRC) greater than 1,518 bytes (1,522 bytes for VLAN tagged) and with CRC error. If Jumbo Packet mode is enabled, packets of length greater than 9,018 bytes (9,022 bytes for VLAN tagged) are considered as giant packets. |
Rx_Undersize_Packets_Good is shown in Figure 43-133 and described in Table 43-187.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with length less than 64 bytes, without any errors.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXUNDERSZG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXUNDERSZG | R | 0h | Rx Undersize Packets Good This field indicates the number of packets received with length less than 64 bytes, without any errors. |
Rx_Oversize_Packets_Good is shown in Figure 43-134 and described in Table 43-188.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos without errors, with length greater than the maxsize (1,518 bytes or 1,522 bytes for VLAN tagged packets
2000 bytes if enabled in the S2KP bit of the MAC_Configuration register).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXOVERSZG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXOVERSZG | R | 0h | Rx Oversize Packets Good This field indicates the number of packets received without errors, with length greater than the maxsize (1,518 bytes or 1,522 bytes for VLAN tagged packets 2000 bytes if enabled in the S2KP bit of the MAC_Configuration register). |
Rx_64Octets_Packets_Good_Bad is shown in Figure 43-135 and described in Table 43-189.
Return to the Summary Table.
This register provides the number of good and bad packets received by DWC_ether_qos with length 64 bytes, exclusive of the preamble.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RX64OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RX64OCTGB | R | 0h | Rx 64 Octets Packets Good Bad This field indicates the number of good and bad packets received with length 64 bytes, exclusive of the preamble. |
Rx_65To127Octets_Packets_Good_Bad is shown in Figure 43-136 and described in Table 43-190.
Return to the Summary Table.
This register provides the number of good and bad packets received by DWC_ether_qos with length between 65 and 127 (inclusive) bytes, exclusive of the preamble.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RX65_127OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RX65_127OCTGB | R | 0h | Rx 65-127 Octets Packets Good Bad This field indicates the number of good and bad packets received with length between 65 and 127 (inclusive) bytes, exclusive of the preamble. |
Rx_128To255Octets_Packets_Good_Bad is shown in Figure 43-137 and described in Table 43-191.
Return to the Summary Table.
This register provides the number of good and bad packets received by DWC_ether_qos with length between 128 and 255 (inclusive) bytes, exclusive of the preamble.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RX128_255OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RX128_255OCTGB | R | 0h | Rx 128-255 Octets Packets Good Bad This field indicates the number of good and bad packets received with length between 128 and 255 (inclusive) bytes, exclusive of the preamble. |
Rx_256To511Octets_Packets_Good_Bad is shown in Figure 43-138 and described in Table 43-192.
Return to the Summary Table.
This register provides the number of good and bad packets received by DWC_ether_qos with length between 256 and 511 (inclusive) bytes, exclusive of the preamble.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RX256_511OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RX256_511OCTGB | R | 0h | Rx 256-511 Octets Packets Good Bad This field indicates the number of good and bad packets received with length between 256 and 511 (inclusive) bytes, exclusive of the preamble. |
Rx_512To1023Octets_Packets_Good_Bad is shown in Figure 43-139 and described in Table 43-193.
Return to the Summary Table.
This register provides the number of good and bad packets received by DWC_ether_qos with length between 512 and 1023 (inclusive) bytes, exclusive of the preamble.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RX512_1023OCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RX512_1023OCTGB | R | 0h | RX 512-1023 Octets Packets Good Bad This field indicates the number of good and bad packets received with length between 512 and 1023 (inclusive) bytes, exclusive of the preamble. |
Rx_1024ToMaxOctets_Packets_Good_Bad is shown in Figure 43-140 and described in Table 43-194.
Return to the Summary Table.
This register provides the number of good and bad packets received by DWC_ether_qos with length between 1024 and maxsize (inclusive) bytes, exclusive of the preamble.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RX1024_MAXOCTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RX1024_MAXOCTGB | R | 0h | Rx 1024-Max Octets Good Bad This field indicates the number of good and bad packets received with length between 1024 and maxsize (inclusive) bytes, exclusive of the preamble. |
Rx_Unicast_Packets_Good is shown in Figure 43-141 and described in Table 43-195.
Return to the Summary Table.
This register provides the number of good unicast packets received by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXUCASTG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXUCASTG | R | 0h | Rx Unicast Packets Good This field indicates the number of good unicast packets received. |
Rx_Length_Error_Packets is shown in Figure 43-142 and described in Table 43-196.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with length error (Length Type field not equal to packet size), for all packets with valid length field.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXLENERR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXLENERR | R | 0h | Rx Length Error Packets This field indicates the number of packets received with length error (Length Type field not equal to packet size), for all packets with valid length field. |
Rx_Out_Of_Range_Type_Packets is shown in Figure 43-143 and described in Table 43-197.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with length field not equal to the valid packet size (greater than 1,500 but less than 1,536).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXOUTOFRNG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXOUTOFRNG | R | 0h | Rx Out of Range Type Packet This field indicates the number of packets received with length field not equal to the valid packet size (greater than 1,500 but less than 1,536). |
Rx_Pause_Packets is shown in Figure 43-144 and described in Table 43-198.
Return to the Summary Table.
This register provides the number of good and valid Pause packets received by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXPAUSEPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXPAUSEPKT | R | 0h | Rx Pause Packets This field indicates the number of good and valid Pause packets received. |
Rx_FIFO_Overflow_Packets is shown in Figure 43-145 and described in Table 43-199.
Return to the Summary Table.
This register provides the number of missed received packets because of FIFO overflow in DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXFIFOOVFL | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXFIFOOVFL | R | 0h | Rx FIFO Overflow Packets This field indicates the number of missed received packets because of FIFO overflow. |
Rx_VLAN_Packets_Good_Bad is shown in Figure 43-146 and described in Table 43-200.
Return to the Summary Table.
This register provides the number of good and bad VLAN packets received by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXVLANPKTGB | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXVLANPKTGB | R | 0h | Rx VLAN Packets Good Bad This field indicates the number of good and bad VLAN packets received. |
Rx_Watchdog_Error_Packets is shown in Figure 43-147 and described in Table 43-201.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with error because of watchdog timeout error (packets with a data load larger than 2,048 bytes (when JE and WD bits are reset in MAC_Configuration register), 10,240 bytes (when JE bit is set and WD bit is reset in MAC_Configuration register), 16,384 bytes (when WD bit is set in MAC_Configuration register) or the value programmed in the MAC_Watchdog_Timeout register).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXWDGERR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXWDGERR | R | 0h | Rx Watchdog Error Packets This field indicates the number of packets received with error because of watchdog timeout error (packets with a data load larger than 2,048 bytes (when JE and WD bits are reset in MAC_Configuration register), 10,240 bytes (when JE bit is set and WD bit is reset in MAC_Configuration register), 16,384 bytes (when WD bit is set in MAC_Configuration register) or the value programmed in the MAC_Watchdog_Timeout register). |
Rx_Receive_Error_Packets is shown in Figure 43-148 and described in Table 43-202.
Return to the Summary Table.
This register provides the number of packets received by DWC_ether_qos with Receive error or Packet Extension error on the GMII or MII interface.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXRCVERR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXRCVERR | R | 0h | Rx Receive Error Packets This field indicates the number of packets received with Receive error or Packet Extension error on the GMII or MII interface. |
Rx_Control_Packets_Good is shown in Figure 43-149 and described in Table 43-203.
Return to the Summary Table.
This register provides the number of good control packets received by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXCTRLG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXCTRLG | R | 0h | Rx Control Packets Good This field indicates the number of good control packets received. |
Tx_LPI_USEC_Cntr is shown in Figure 43-150 and described in Table 43-204.
Return to the Summary Table.
This register provides the number of microseconds Tx LPI is asserted by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXLPIUSC | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXLPIUSC | R | 0h | Tx LPI Microseconds Counter This field indicates the number of microseconds Tx LPI is asserted. For every Tx LPI Entry and Exit, the Timer value can have an error of +/- 1 microsecond. |
Tx_LPI_Tran_Cntr is shown in Figure 43-151 and described in Table 43-205.
Return to the Summary Table.
This register provides the number of times DWC_ether_qos has entered Tx LPI.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXLPITRC | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXLPITRC | R | 0h | Tx LPI Transition counter This field indicates the number of times Tx LPI Entry has occurred. Even if Tx LPI Entry occurs in Automate Mode (because of LPITXA bit set in the LPI Control and Status register), the counter will increment. |
Rx_LPI_USEC_Cntr is shown in Figure 43-152 and described in Table 43-206.
Return to the Summary Table.
This register provides the number of microseconds Rx LPI is sampled by DWC_ether_qos.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXLPIUSC | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXLPIUSC | R | 0h | Rx LPI Microseconds Counter This field indicates the number of microseconds Rx LPI is asserted. For every Rx LPI Entry and Exit, the Timer value can have an error of +/- 1 microsecond. |
Rx_LPI_Tran_Cntr is shown in Figure 43-153 and described in Table 43-207.
Return to the Summary Table.
This register provides the number of times DWC_ether_qos has entered Rx LPI.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXLPITRC | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXLPITRC | R | 0h | Rx LPI Transition counter This field indicates the number of times Rx LPI Entry has occurred. |
MMC_IPC_Rx_Interrupt_Mask is shown in Figure 43-154 and described in Table 43-208.
Return to the Summary Table.
This register maintains the mask for the interrupt generated from the receive IPC statistic counters.
The MMC Receive Checksum Off load Interrupt Mask register maintains the masks for the interrupts generated when the receive IPC (Checksum Off load) statistic counters reach half their maximum value, and when they reach their maximum values. This register is 32 bits wide.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RXICMPEROIM | RXICMPGOIM | RXTCPEROIM | RXTCPGOIM | RXUDPEROIM | RXUDPGOIM | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RXIPV6NOPAYOIM | RXIPV6HEROIM | RXIPV6GOIM | RXIPV4UDSBLOIM | RXIPV4FRAGOIM | RXIPV4NOPAYOIM | RXIPV4HEROIM | RXIPV4GOIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RXICMPERPIM | RXICMPGPIM | RXTCPERPIM | RXTCPGPIM | RXUDPERPIM | RXUDPGPIM | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6NOPAYPIM | RXIPV6HERPIM | RXIPV6GPIM | RXIPV4UDSBLPIM | RXIPV4FRAGPIM | RXIPV4NOPAYPIM | RXIPV4HERPIM | RXIPV4GPIM |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-30 | RESERVED | R | 0h | Reserved. |
29 | RXICMPEROIM | R/W | 0h | MMC Receive ICMP Error Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxicmp_err_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive ICMP Error Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive ICMP Error Octet Counter Interrupt Mask is enabled : 0x1 |
28 | RXICMPGOIM | R/W | 0h | MMC Receive ICMP Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxicmp_gd_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive ICMP Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive ICMP Good Octet Counter Interrupt Mask is enabled : 0x1 |
27 | RXTCPEROIM | R/W | 0h | MMC Receive TCP Error Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxtcp_err_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive TCP Error Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive TCP Error Octet Counter Interrupt Mask is enabled : 0x1 |
26 | RXTCPGOIM | R/W | 0h | MMC Receive TCP Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxtcp_gd_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive TCP Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive TCP Good Octet Counter Interrupt Mask is enabled : 0x1 |
25 | RXUDPEROIM | R/W | 0h | MMC Receive UDP Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxudp_err_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive UDP Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive UDP Good Octet Counter Interrupt Mask is enabled : 0x1 |
24 | RXUDPGOIM | R/W | 0h | MMC Receive IPV6 No Payload Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxudp_gd_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is enabled : 0x1 |
23 | RXIPV6NOPAYOIM | R/W | 0h | MMC Receive IPV6 Header Error Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv6_nopay_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is enabled : 0x1 |
22 | RXIPV6HEROIM | R/W | 0h | MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled : 0x1 |
21 | RXIPV6GOIM | R/W | 0h | MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv6_gd_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled : 0x1 |
20 | RXIPV4UDSBLOIM | R/W | 0h | MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_udsbl_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is enabled : 0x1 |
19 | RXIPV4FRAGOIM | R/W | 0h | MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_frag_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is enabled : 0x1 |
18 | RXIPV4NOPAYOIM | R/W | 0h | MMC Receive IPV4 No Payload Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_nopay_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is enabled : 0x1 |
17 | RXIPV4HEROIM | R/W | 0h | MMC Receive IPV4 Header Error Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_hdrerr_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is enabled : 0x1 |
16 | RXIPV4GOIM | R/W | 0h | MMC Receive IPV4 Good Octet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_gd_octets counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 Good Octet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 Good Octet Counter Interrupt Mask is enabled : 0x1 |
15-14 | RESERVED | R | 0h | Reserved. |
13 | RXICMPERPIM | R/W | 0h | MMC Receive ICMP Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxicmp_err_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive ICMP Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive ICMP Error Packet Counter Interrupt Mask is enabled : 0x1 |
12 | RXICMPGPIM | R/W | 0h | MMC Receive ICMP Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive ICMP Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive ICMP Good Packet Counter Interrupt Mask is enabled : 0x1 |
11 | RXTCPERPIM | R/W | 0h | MMC Receive TCP Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxtcp_err_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive TCP Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive TCP Error Packet Counter Interrupt Mask is enabled : 0x1 |
10 | RXTCPGPIM | R/W | 0h | MMC Receive TCP Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive TCP Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive TCP Good Packet Counter Interrupt Mask is enabled : 0x1 |
9 | RXUDPERPIM | R/W | 0h | MMC Receive UDP Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxudp_err_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive UDP Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive UDP Error Packet Counter Interrupt Mask is enabled : 0x1 |
8 | RXUDPGPIM | R/W | 0h | MMC Receive UDP Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxudp_gd_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive UDP Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive UDP Good Packet Counter Interrupt Mask is enabled : 0x1 |
7 | RXIPV6NOPAYPIM | R/W | 0h | MMC Receive IPV6 No Payload Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv6_nopay_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is enabled : 0x1 |
6 | RXIPV6HERPIM | R/W | 0h | MMC Receive IPV6 Header Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is enabled : 0x1 |
5 | RXIPV6GPIM | R/W | 0h | MMC Receive IPV6 Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV6 Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV6 Good Packet Counter Interrupt Mask is enabled : 0x1 |
4 | RXIPV4UDSBLPIM | R/W | 0h | MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_udsbl_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is enabled : 0x1 |
3 | RXIPV4FRAGPIM | R/W | 0h | MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_frag_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is enabled : 0x1 |
2 | RXIPV4NOPAYPIM | R/W | 0h | MMC Receive IPV4 No Payload Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_nopay_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is enabled : 0x1 |
1 | RXIPV4HERPIM | R/W | 0h | MMC Receive IPV4 Header Error Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is enabled : 0x1 |
0 | RXIPV4GPIM | R/W | 0h | MMC Receive IPV4 Good Packet Counter Interrupt Mask Setting this bit masks the interrupt when the rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 Good Packet Counter Interrupt Mask is disabled : 0x0 1h = MMC Receive IPV4 Good Packet Counter Interrupt Mask is enabled : 0x1 |
MMC_IPC_Rx_Interrupt is shown in Figure 43-155 and described in Table 43-209.
Return to the Summary Table.
This register maintains the interrupt that the receive IPC statistic counters generate.
The MMC Receive Checksum Offload Interrupt register maintains the interrupts generated when receive IPC 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 Receive Checksum Offload Interrupt register is 32 bit wide. When the MMC IPC counter that caused the interrupt is read, its corresponding interrupt bit is cleared. The counter's least-significant byte lane (Bits[7:0]) must be read to clear the interrupt bit.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RXICMPEROIS | RXICMPGOIS | RXTCPEROIS | RXTCPGOIS | RXUDPEROIS | RXUDPGOIS | |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RXIPV6NOPAYOIS | RXIPV6HEROIS | RXIPV6GOIS | RXIPV4UDSBLOIS | RXIPV4FRAGOIS | RXIPV4NOPAYOIS | RXIPV4HEROIS | RXIPV4GOIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RXICMPERPIS | RXICMPGPIS | RXTCPERPIS | RXTCPGPIS | RXUDPERPIS | RXUDPGPIS | |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6NOPAYPIS | RXIPV6HERPIS | RXIPV6GPIS | RXIPV4UDSBLPIS | RXIPV4FRAGPIS | RXIPV4NOPAYPIS | RXIPV4HERPIS | RXIPV4GPIS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-30 | RESERVED | R | 0h | Reserved. |
29 | RXICMPEROIS | R | 0h | MMC Receive ICMP Error Octet Counter Interrupt Status This bit is set when the rxicmp_err_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive ICMP Error Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive ICMP Error Octet Counter Interrupt Status detected : 0x1 |
28 | RXICMPGOIS | R | 0h | MMC Receive ICMP Good Octet Counter Interrupt Status This bit is set when the rxicmp_gd_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive ICMP Good Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive ICMP Good Octet Counter Interrupt Status detected : 0x1 |
27 | RXTCPEROIS | R | 0h | MMC Receive TCP Error Octet Counter Interrupt Status This bit is set when the rxtcp_err_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive TCP Error Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive TCP Error Octet Counter Interrupt Status detected : 0x1 |
26 | RXTCPGOIS | R | 0h | MMC Receive TCP Good Octet Counter Interrupt Status This bit is set when the rxtcp_gd_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive TCP Good Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive TCP Good Octet Counter Interrupt Status detected : 0x1 |
25 | RXUDPEROIS | R | 0h | MMC Receive UDP Error Octet Counter Interrupt Status This bit is set when the rxudp_err_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive UDP Error Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive UDP Error Octet Counter Interrupt Status detected : 0x1 |
24 | RXUDPGOIS | R | 0h | MMC Receive UDP Good Octet Counter Interrupt Status This bit is set when the rxudp_gd_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive UDP Good Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive UDP Good Octet Counter Interrupt Status detected : 0x1 |
23 | RXIPV6NOPAYOIS | R | 0h | MMC Receive IPV6 No Payload Octet Counter Interrupt Status This bit is set when the rxipv6_nopay_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV6 No Payload Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV6 No Payload Octet Counter Interrupt Status detected : 0x1 |
22 | RXIPV6HEROIS | R | 0h | MMC Receive IPV6 Header Error Octet Counter Interrupt Status This bit is set when the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV6 Header Error Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV6 Header Error Octet Counter Interrupt Status detected : 0x1 |
21 | RXIPV6GOIS | R | 0h | MMC Receive IPV6 Good Octet Counter Interrupt Status This bit is set when the rxipv6_gd_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV6 Good Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV6 Good Octet Counter Interrupt Status detected : 0x1 |
20 | RXIPV4UDSBLOIS | R | 0h | MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status This bit is set when the rxipv4_udsbl_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status detected : 0x1 |
19 | RXIPV4FRAGOIS | R | 0h | MMC Receive IPV4 Fragmented Octet Counter Interrupt Status This bit is set when the rxipv4_frag_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 Fragmented Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 Fragmented Octet Counter Interrupt Status detected : 0x1 |
18 | RXIPV4NOPAYOIS | R | 0h | MMC Receive IPV4 No Payload Octet Counter Interrupt Status This bit is set when the rxipv4_nopay_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 No Payload Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 No Payload Octet Counter Interrupt Status detected : 0x1 |
17 | RXIPV4HEROIS | R | 0h | MMC Receive IPV4 Header Error Octet Counter Interrupt Status This bit is set when the rxipv4_hdrerr_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 Header Error Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 Header Error Octet Counter Interrupt Status detected : 0x1 |
16 | RXIPV4GOIS | R | 0h | MMC Receive IPV4 Good Octet Counter Interrupt Status This bit is set when the rxipv4_gd_octets counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 Good Octet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 Good Octet Counter Interrupt Status detected : 0x1 |
15-14 | RESERVED | R | 0h | Reserved. |
13 | RXICMPERPIS | R | 0h | MMC Receive ICMP Error Packet Counter Interrupt Status This bit is set when the rxicmp_err_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive ICMP Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive ICMP Error Packet Counter Interrupt Status detected : 0x1 |
12 | RXICMPGPIS | R | 0h | MMC Receive ICMP Good Packet Counter Interrupt Status This bit is set when the rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive ICMP Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive ICMP Good Packet Counter Interrupt Status detected : 0x1 |
11 | RXTCPERPIS | R | 0h | MMC Receive TCP Error Packet Counter Interrupt Status This bit is set when the rxtcp_err_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive TCP Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive TCP Error Packet Counter Interrupt Status detected : 0x1 |
10 | RXTCPGPIS | R | 0h | MMC Receive TCP Good Packet Counter Interrupt Status This bit is set when the rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive TCP Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive TCP Good Packet Counter Interrupt Status detected : 0x1 |
9 | RXUDPERPIS | R | 0h | MMC Receive UDP Error Packet Counter Interrupt Status This bit is set when the rxudp_err_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive UDP Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive UDP Error Packet Counter Interrupt Status detected : 0x1 |
8 | RXUDPGPIS | R | 0h | MC Receive UDP Good Packet Counter Interrupt Status This bit is set when the rxudp_gd_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive UDP Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive UDP Good Packet Counter Interrupt Status detected : 0x1 |
7 | RXIPV6NOPAYPIS | R | 0h | MMC Receive IPV6 No Payload Packet Counter Interrupt Status This bit is set when the rxipv6_nopay_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV6 No Payload Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV6 No Payload Packet Counter Interrupt Status detected : 0x1 |
6 | RXIPV6HERPIS | R | 0h | MMC Receive IPV6 Header Error Packet Counter Interrupt Status This bit is set when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV6 Header Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV6 Header Error Packet Counter Interrupt Status detected : 0x1 |
5 | RXIPV6GPIS | R | 0h | MMC Receive IPV6 Good Packet Counter Interrupt Status This bit is set when the rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV6 Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV6 Good Packet Counter Interrupt Status detected : 0x1 |
4 | RXIPV4UDSBLPIS | R | 0h | MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status This bit is set when the rxipv4_udsbl_pkts counter reaches half of the maximum value or the maximum value. 0h = MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status detected : 0x1 |
3 | RXIPV4FRAGPIS | R | 0h | MMC Receive IPV4 Fragmented Packet Counter Interrupt Status This bit is set when the rxipv4_frag_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 Fragmented Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 Fragmented Packet Counter Interrupt Status detected : 0x1 |
2 | RXIPV4NOPAYPIS | R | 0h | MMC Receive IPV4 No Payload Packet Counter Interrupt Status This bit is set when the rxipv4_nopay_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 No Payload Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 No Payload Packet Counter Interrupt Status detected : 0x1 |
1 | RXIPV4HERPIS | R | 0h | MMC Receive IPV4 Header Error Packet Counter Interrupt Status This bit is set when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 Header Error Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 Header Error Packet Counter Interrupt Status detected : 0x1 |
0 | RXIPV4GPIS | R | 0h | MMC Receive IPV4 Good Packet Counter Interrupt Status This bit is set when the rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = MMC Receive IPV4 Good Packet Counter Interrupt Status not detected : 0x0 1h = MMC Receive IPV4 Good Packet Counter Interrupt Status detected : 0x1 |
RxIPv4_Good_Packets is shown in Figure 43-156 and described in Table 43-210.
Return to the Summary Table.
This register provides the number of good IPv4 datagrams received by DWC_ether_qos with the TCP, UDP, or ICMP payload.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4GDPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4GDPKT | R | 0h | RxIPv4 Good Packets This field indicates the number of good IPv4 datagrams received with the TCP, UDP, or ICMP payload. |
RxIPv4_Header_Error_Packets is shown in Figure 43-157 and described in Table 43-211.
Return to the Summary Table.
RxIPv4 Header Error Packets
This register provides the number of IPv4 datagrams received by DWC_ether_qos with header (checksum, length, or version mismatch) errors.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4HDRERRPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4HDRERRPKT | R | 0h | RxIPv4 Header Error Packets This field indicates the number of IPv4 datagrams received with header (checksum, length, or version mismatch) errors. |
RxIPv4_No_Payload_Packets is shown in Figure 43-158 and described in Table 43-212.
Return to the Summary Table.
This register provides the number of IPv4 datagram packets received by DWC_ether_qos that did not have a TCP, UDP, or ICMP payload.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4NOPAYPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4NOPAYPKT | R | 0h | RxIPv4 Payload Packets This field indicates the number of IPv4 datagram packets received that did not have a TCP, UDP, or ICMP payload. |
RxIPv4_Fragmented_Packets is shown in Figure 43-159 and described in Table 43-213.
Return to the Summary Table.
This register provides the number of good IPv4 datagrams received by DWC_ether_qos with fragmentation.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4FRAGPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4FRAGPKT | R | 0h | RxIPv4 Fragmented Packets This field indicates the number of good IPv4 datagrams received with fragmentation. |
RxIPv4_UDP_Checksum_Disabled_Packets is shown in Figure 43-160 and described in Table 43-214.
Return to the Summary Table.
This register provides the number of good IPv4 datagrams received by DWC_ether_qos that had a UDP payload with checksum disabled.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4UDSBLPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4UDSBLPKT | R | 0h | RxIPv4 UDP Checksum Disabled Packets This field indicates the number of good IPv4 datagrams received that had a UDP payload with checksum disabled. |
RxIPv6_Good_Packets is shown in Figure 43-161 and described in Table 43-215.
Return to the Summary Table.
This register provides the number of good IPv6 datagrams received by DWC_ether_qos with the TCP, UDP, or ICMP payload.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6GDPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV6GDPKT | R | 0h | RxIPv6 Good Packets This field indicates the number of good IPv6 datagrams received with the TCP, UDP, or ICMP payload. |
RxIPv6_Header_Error_Packets is shown in Figure 43-162 and described in Table 43-216.
Return to the Summary Table.
This register provides the number of IPv6 datagrams received by DWC_ether_qos with header (length or version mismatch) errors.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6HDRERRPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV6HDRERRPKT | R | 0h | RxIPv6 Header Error Packets This field indicates the number of IPv6 datagrams received with header (length or version mismatch) errors. |
RxIPv6_No_Payload_Packets is shown in Figure 43-163 and described in Table 43-217.
Return to the Summary Table.
This register provides the number of IPv6 datagram packets received by DWC_ether_qos that did not have a TCP, UDP, or ICMP payload. This includes all IPv6 datagrams with fragmentation or security extension headers.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6NOPAYPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV6NOPAYPKT | R | 0h | RxIPv6 Payload Packets This field indicates the number of IPv6 datagram packets received that did not have a TCP, UDP, or ICMP payload. This includes all IPv6 datagrams with fragmentation or security extension headers. |
RxUDP_Good_Packets is shown in Figure 43-164 and described in Table 43-218.
Return to the Summary Table.
This register provides the number of good IP datagrams received by DWC_ether_qos with a good UDP payload. This counter is not updated when the RxIPv4_UDP_Checksum_Disabled_Packets counter is incremented.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXUDPGDPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXUDPGDPKT | R | 0h | RxUDP Good Packets This field indicates the number of good IP datagrams received with a good UDP payload. This counter is not updated when the RxIPv4_UDP_Checksum_Disabled_Packets counter is incremented. |
RxUDP_Error_Packets is shown in Figure 43-165 and described in Table 43-219.
Return to the Summary Table.
This register provides the number of good IP datagrams received by DWC_ether_qos whose UDP payload has a checksum error.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXUDPERRPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXUDPERRPKT | R | 0h | RxUDP Error Packets This field indicates the number of good IP datagrams received whose UDP payload has a checksum error. |
RxTCP_Good_Packets is shown in Figure 43-166 and described in Table 43-220.
Return to the Summary Table.
This register provides the number of good IP datagrams received by DWC_ether_qos with a good TCP payload.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXTCPGDPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXTCPGDPKT | R | 0h | RxTCP Good Packets This field indicates the number of good IP datagrams received with a good TCP payload. |
RxTCP_Error_Packets is shown in Figure 43-167 and described in Table 43-221.
Return to the Summary Table.
This register provides the number of good IP datagrams received by DWC_ether_qos whose TCP payload has a checksum error.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXTCPERRPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXTCPERRPKT | R | 0h | RxTCP Error Packets This field indicates the number of good IP datagrams received whose TCP payload has a checksum error. |
RxICMP_Good_Packets is shown in Figure 43-168 and described in Table 43-222.
Return to the Summary Table.
This register provides the number of good IP datagrams received by DWC_ether_qos with a good ICMP payload.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXICMPGDPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXICMPGDPKT | R | 0h | RxICMP Good Packets This field indicates the number of good IP datagrams received with a good ICMP payload. |
RxICMP_Error_Packets is shown in Figure 43-169 and described in Table 43-223.
Return to the Summary Table.
This register provides the number of good IP datagrams received by DWC_ether_qos whose ICMP payload has a checksum error.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXICMPERRPKT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXICMPERRPKT | R | 0h | RxICMP Error Packets This field indicates the number of good IP datagrams received whose ICMP payload has a checksum error. |
RxIPv4_Good_Octets is shown in Figure 43-170 and described in Table 43-224.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in good IPv4 datagrams encapsulating TCP, UDP, or ICMP data. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4GDOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4GDOCT | R | 0h | RxIPv4 Good Octets This field indicates the number of bytes received in good IPv4 datagrams encapsulating TCP, UDP, or ICMP data. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxIPv4_Header_Error_Octets is shown in Figure 43-171 and described in Table 43-225.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in IPv4 datagrams with header errors (checksum, length, version mismatch). The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4HDRERROCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4HDRERROCT | R | 0h | RxIPv4 Header Error Octets This field indicates the number of bytes received in IPv4 datagrams with header errors (checksum, length, version mismatch). The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxIPv4_No_Payload_Octets is shown in Figure 43-172 and described in Table 43-226.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in IPv4 datagrams that did not have a TCP, UDP, or ICMP payload. The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4NOPAYOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4NOPAYOCT | R | 0h | RxIPv4 Payload Octets This field indicates the number of bytes received in IPv4 datagrams that did not have a TCP, UDP, or ICMP payload. The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxIPv4_Fragmented_Octets is shown in Figure 43-173 and described in Table 43-227.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in fragmented IPv4 datagrams. The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4FRAGOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4FRAGOCT | R | 0h | RxIPv4 Fragmented Octets This field indicates the number of bytes received in fragmented IPv4 datagrams. The value in the Length field of IPv4 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxIPv4_UDP_Checksum_Disable_Octets is shown in Figure 43-174 and described in Table 43-228.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in a UDP segment that had the UDP checksum disabled. This counter does not count IP Header bytes. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV4UDSBLOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV4UDSBLOCT | R | 0h | RxIPv4 UDP Checksum Disable Octets This field indicates the number of bytes received in a UDP segment that had the UDP checksum disabled. This counter does not count IP Header bytes. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxIPv6_Good_Octets is shown in Figure 43-175 and described in Table 43-229.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in good IPv6 datagrams encapsulating TCP, UDP, or ICMP data. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6GDOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV6GDOCT | R | 0h | RxIPv6 Good Octets This field indicates the number of bytes received in good IPv6 datagrams encapsulating TCP, UDP, or ICMP data. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxIPv6_Header_Error_Octets is shown in Figure 43-176 and described in Table 43-230.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in IPv6 datagrams with header errors (length, version mismatch). The value in the Length field of IPv6 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6HDRERROCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV6HDRERROCT | R | 0h | RxIPv6 Header Error Octets This field indicates the number of bytes received in IPv6 datagrams with header errors (length, version mismatch). The value in the Length field of IPv6 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxIPv6_No_Payload_Octets is shown in Figure 43-177 and described in Table 43-231.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in IPv6 datagrams that did not have a TCP, UDP, or ICMP payload. The value in the Length field of IPv6 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXIPV6NOPAYOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXIPV6NOPAYOCT | R | 0h | RxIPv6 Payload Octets This field indicates the number of bytes received in IPv6 datagrams that did not have a TCP, UDP, or ICMP payload. The value in the Length field of IPv6 header is used to update this counter. (Ethernet header, FCS, pad, or IP pad bytes are not included in this counter. |
RxUDP_Good_Octets is shown in Figure 43-178 and described in Table 43-232.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in a good UDP segment. This counter does not count IP header bytes.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXUDPGDOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXUDPGDOCT | R | 0h | RxUDP Good Octets This field indicates the number of bytes received in a good UDP segment. This counter does not count IP header bytes. |
RxUDP_Error_Octets is shown in Figure 43-179 and described in Table 43-233.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in a UDP segment that had checksum errors. This counter does not count IP header bytes.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXUDPERROCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXUDPERROCT | R | 0h | RxUDP Error Octets This field indicates the number of bytes received in a UDP segment that had checksum errors. This counter does not count IP header bytes. |
RxTCP_Good_Octets is shown in Figure 43-180 and described in Table 43-234.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in a good TCP segment. This counter does not count IP header bytes.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXTCPGDOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXTCPGDOCT | R | 0h | RxTCP Good Octets This field indicates the number of bytes received in a good TCP segment. This counter does not count IP header bytes. |
RxTCP_Error_Octets is shown in Figure 43-181 and described in Table 43-235.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in a TCP segment that had checksum errors. This counter does not count IP header bytes.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXTCPERROCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXTCPERROCT | R | 0h | RxTCP Error Octets This field indicates the number of bytes received in a TCP segment that had checksum errors. This counter does not count IP header bytes. |
RxICMP_Good_Octets is shown in Figure 43-182 and described in Table 43-236.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in a good ICMP segment. This counter does not count IP header bytes.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXICMPGDOCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXICMPGDOCT | R | 0h | RxICMP Good Octets This field indicates the number of bytes received in a good ICMP segment. This counter does not count IP header bytes. |
RxICMP_Error_Octets is shown in Figure 43-183 and described in Table 43-237.
Return to the Summary Table.
This register provides the number of bytes received by DWC_ether_qos in a ICMP segment that had checksum errors. This counter does not count IP header bytes.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RXICMPERROCT | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | RXICMPERROCT | R | 0h | RxICMP Error Octets This field indicates the number of bytes received in a ICMP segment that had checksum errors. This counter does not count IP header bytes. |
MAC_L3_L4_Control0 is shown in Figure 43-184 and described in Table 43-238.
Return to the Summary Table.
The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | DMCHEN0 | RESERVED | DMCHN0 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | L4DPIM0 | L4DPM0 | L4SPIM0 | L4SPM0 | RESERVED | L4PEN0 | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
L3HDBM0 | L3HSBM0 | ||||||
R/W-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3HSBM0 | L3DAIM0 | L3DAM0 | L3SAIM0 | L3SAM0 | RESERVED | L3PEN0 | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | DMCHEN0 | R/W | 0h | DMA Channel Select Enable When set, this bit enables the selection of the DMA channel number for the packet that is passed by this L3_L4 filter. The DMA channel is indicated by the DMCHN bits. When this bit is reset, the DMA channel is not decided by this filter. 0h = DMA Channel Select is disabled : 0x0 1h = DMA Channel Select is enabled : 0x1 |
27-25 | RESERVED | R | 0h | Reserved. |
24 | DMCHN0 | R/W | 0h | DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number to which the packet passed by this filter is routed. The width of this field depends on the number of the DMA channels present in your configuration. |
23-22 | RESERVED | R | 0h | Reserved. |
21 | L4DPIM0 | R/W | 0h | Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Destination Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4DPM0 bit is set high. 0h = Layer 4 Destination Port Inverse Match is disabled : 0x0 1h = Layer 4 Destination Port Inverse Match is enabled : 0x1 |
20 | L4DPM0 | R/W | 0h | Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Destination Port number field for matching. 0h = Layer 4 Destination Port Match is disabled : 0x0 1h = Layer 4 Destination Port Match is enabled : 0x1 |
19 | L4SPIM0 | R/W | 0h | Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Source Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4SPM0 bit is set high. 0h = Layer 4 Source Port Inverse Match is disabled : 0x0 1h = Layer 4 Source Port Inverse Match is enabled : 0x1 |
18 | L4SPM0 | R/W | 0h | Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Source Port number field for matching. 0h = Layer 4 Source Port Match is disabled : 0x0 1h = Layer 4 Source Port Match is enabled : 0x1 |
17 | RESERVED | R | 0h | Reserved. |
16 | L4PEN0 | R/W | 0h | Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number fields of UDP packets are used for matching. When this bit is reset, the Source and Destination Port number fields of TCP packets are used for matching. The Layer 4 matching is done only when the L4SPM0 or L4DPM0 bit is set. 0h = Layer 4 Protocol is disabled : 0x0 1h = Layer 4 Protocol is enabled : 0x1 |
15-11 | L3HDBM0 | R/W | 0h | Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher bits of IP Destination Address that are matched in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: Bits[12:11] of this field correspond to Bits[6:5] of L3HSBM0 which indicate the number of lower bits of IP Source or Destination Address that are masked in the IPv6 packets. The following list describes the concatenated values of the L3HDBM0[1:0] and L3HSBM0 bits: - 0: No bits are masked. - 1: LSb[0] is masked. - 2: Two LSbs [1:0] are masked - .. - 127: All bits except MSb are masked. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set. |
10-6 | L3HSBM0 | R/W | 0h | Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower bits of IP Source Address that are masked for matching in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: This field contains Bits[4:0] of L3HSBM0. These bits indicate the number of higher bits of IP Source or Destination Address matched in the IPv6 packets. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set high. |
5 | L3DAIM0 | R/W | 0h | Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for inverse matching. When this bit is reset, the Layer 3 IP Destination Address field is enabled for perfect matching. This bit is valid and applicable only when the L3DAM0 bit is set high. 0h = Layer 3 IP DA Inverse Match is disabled : 0x0 1h = Layer 3 IP DA Inverse Match is enabled : 0x1 |
4 | L3DAM0 | R/W | 0h | Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Destination Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3SAM0 bit because either IPv6 DA or SA can be checked for filtering. 0h = Layer 3 IP DA Match is disabled : 0x0 1h = Layer 3 IP DA Match is enabled : 0x1 |
3 | L3SAIM0 | R/W | 0h | Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for inverse matching. When this bit reset, the Layer 3 IP Source Address field is enabled for perfect matching. This bit is valid and applicable only when the L3SAM0 bit is set. 0h = Layer 3 IP SA Inverse Match is disabled : 0x0 1h = Layer 3 IP SA Inverse Match is enabled : 0x1 |
2 | L3SAM0 | R/W | 0h | Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Source Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3DAM0 bit because either IPv6 SA or DA can be checked for filtering. 0h = Layer 3 IP SA Match is disabled : 0x0 1h = Layer 3 IP SA Match is enabled : 0x1 |
1 | RESERVED | R | 0h | Reserved. |
0 | L3PEN0 | R/W | 0h | Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination Address matching is enabled for IPv6 packets. When this bit is reset, the Layer 3 IP Source or Destination Address matching is enabled for IPv4 packets. The Layer 3 matching is done only when the L3SAM0 or L3DAM0 bit is set. 0h = Layer 3 Protocol is disabled : 0x0 1h = Layer 3 Protocol is enabled : 0x1 |
MAC_Layer4_Address0 is shown in Figure 43-185 and described in Table 43-239.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L4DP0 | L4SP0 | ||||||||||||||||||||||||||||||
R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | L4DP0 | R/W | 0h | Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Destination Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4DPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Destination Port Number field in the IPv4 or IPv6 packets. |
15-0 | L4SP0 | R/W | 0h | Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Source Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4SPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Source Port Number field in the IPv4 or IPv6 packets. |
MAC_Layer3_Addr0_Reg0 is shown in Figure 43-186 and described in Table 43-240.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A00 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A00 | R/W | 0h | Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Source Address field in the IPv4 packets. |
MAC_Layer3_Addr1_Reg0 is shown in Figure 43-187 and described in Table 43-241.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A10 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A10 | R/W | 0h | Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Destination Address field in the IPv4 packets. |
MAC_Layer3_Addr2_Reg0 is shown in Figure 43-188 and described in Table 43-242.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A20 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A20 | R/W | 0h | Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_Layer3_Addr3_Reg0 is shown in Figure 43-189 and described in Table 43-243.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A30 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A30 | R/W | 0h | Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_L3_L4_Control1 is shown in Figure 43-190 and described in Table 43-244.
Return to the Summary Table.
The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | DMCHEN1 | RESERVED | DMCHN1 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | L4DPIM1 | L4DPM1 | L4SPIM1 | L4SPM1 | RESERVED | L4PEN1 | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
L3HDBM1 | L3HSBM1 | ||||||
R/W-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3HSBM1 | L3DAIM1 | L3DAM1 | L3SAIM1 | L3SAM1 | RESERVED | L3PEN1 | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | DMCHEN1 | R/W | 0h | DMA Channel Select Enable When set, this bit enables the selection of the DMA channel number for the packet that is passed by this L3_L4 filter. The DMA channel is indicated by the DMCHN bits. When this bit is reset, the DMA channel is not decided by this filter. 0h = DMA Channel Select is disabled : 0x0 1h = DMA Channel Select is enabled : 0x1 |
27-25 | RESERVED | R | 0h | Reserved. |
24 | DMCHN1 | R/W | 0h | DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number to which the packet passed by this filter is routed. The width of this field depends on the number of the DMA channels present in your configuration. |
23-22 | RESERVED | R | 0h | Reserved. |
21 | L4DPIM1 | R/W | 0h | Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Destination Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4DPM0 bit is set high. 0h = Layer 4 Destination Port Inverse Match is disabled : 0x0 1h = Layer 4 Destination Port Inverse Match is enabled : 0x1 |
20 | L4DPM1 | R/W | 0h | Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Destination Port number field for matching. 0h = Layer 4 Destination Port Match is disabled : 0x0 1h = Layer 4 Destination Port Match is enabled : 0x1 |
19 | L4SPIM1 | R/W | 0h | Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Source Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4SPM0 bit is set high. 0h = Layer 4 Source Port Inverse Match is disabled : 0x0 1h = Layer 4 Source Port Inverse Match is enabled : 0x1 |
18 | L4SPM1 | R/W | 0h | Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Source Port number field for matching. 0h = Layer 4 Source Port Match is disabled : 0x0 1h = Layer 4 Source Port Match is enabled : 0x1 |
17 | RESERVED | R | 0h | Reserved. |
16 | L4PEN1 | R/W | 0h | Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number fields of UDP packets are used for matching. When this bit is reset, the Source and Destination Port number fields of TCP packets are used for matching. The Layer 4 matching is done only when the L4SPM0 or L4DPM0 bit is set. 0h = Layer 4 Protocol is disabled : 0x0 1h = Layer 4 Protocol is enabled : 0x1 |
15-11 | L3HDBM1 | R/W | 0h | Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher bits of IP Destination Address that are matched in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: Bits[12:11] of this field correspond to Bits[6:5] of L3HSBM0 which indicate the number of lower bits of IP Source or Destination Address that are masked in the IPv6 packets. The following list describes the concatenated values of the L3HDBM0[1:0] and L3HSBM0 bits: - 0: No bits are masked. - 1: LSb[0] is masked. - 2: Two LSbs [1:0] are masked - .. - 127: All bits except MSb are masked. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set. |
10-6 | L3HSBM1 | R/W | 0h | Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower bits of IP Source Address that are masked for matching in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: This field contains Bits[4:0] of L3HSBM0. These bits indicate the number of higher bits of IP Source or Destination Address matched in the IPv6 packets. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set high. |
5 | L3DAIM1 | R/W | 0h | Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for inverse matching. When this bit is reset, the Layer 3 IP Destination Address field is enabled for perfect matching. This bit is valid and applicable only when the L3DAM0 bit is set high. 0h = Layer 3 IP DA Inverse Match is disabled : 0x0 1h = Layer 3 IP DA Inverse Match is enabled : 0x1 |
4 | L3DAM1 | R/W | 0h | Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Destination Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3SAM0 bit because either IPv6 DA or SA can be checked for filtering. 0h = Layer 3 IP DA Match is disabled : 0x0 1h = Layer 3 IP DA Match is enabled : 0x1 |
3 | L3SAIM1 | R/W | 0h | Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for inverse matching. When this bit reset, the Layer 3 IP Source Address field is enabled for perfect matching. This bit is valid and applicable only when the L3SAM0 bit is set. 0h = Layer 3 IP SA Inverse Match is disabled : 0x0 1h = Layer 3 IP SA Inverse Match is enabled : 0x1 |
2 | L3SAM1 | R/W | 0h | Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Source Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3DAM0 bit because either IPv6 SA or DA can be checked for filtering. 0h = Layer 3 IP SA Match is disabled : 0x0 1h = Layer 3 IP SA Match is enabled : 0x1 |
1 | RESERVED | R | 0h | Reserved. |
0 | L3PEN1 | R/W | 0h | Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination Address matching is enabled for IPv6 packets. When this bit is reset, the Layer 3 IP Source or Destination Address matching is enabled for IPv4 packets. The Layer 3 matching is done only when the L3SAM0 or L3DAM0 bit is set. 0h = Layer 3 Protocol is disabled : 0x0 1h = Layer 3 Protocol is enabled : 0x1 |
MAC_Layer4_Address1 is shown in Figure 43-191 and described in Table 43-245.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L4DP1 | L4SP1 | ||||||||||||||||||||||||||||||
R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | L4DP1 | R/W | 0h | Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Destination Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4DPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Destination Port Number field in the IPv4 or IPv6 packets. |
15-0 | L4SP1 | R/W | 0h | Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Source Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4SPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Source Port Number field in the IPv4 or IPv6 packets. |
MAC_Layer3_Addr0_Reg1 is shown in Figure 43-192 and described in Table 43-246.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A01 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A01 | R/W | 0h | Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Source Address field in the IPv4 packets. |
MAC_Layer3_Addr1_Reg1 is shown in Figure 43-193 and described in Table 43-247.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A11 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A11 | R/W | 0h | Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Destination Address field in the IPv4 packets. |
MAC_Layer3_Addr2_Reg1 is shown in Figure 43-194 and described in Table 43-248.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A21 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A21 | R/W | 0h | Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_Layer3_Addr3_Reg1 is shown in Figure 43-195 and described in Table 43-249.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A31 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A31 | R/W | 0h | Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_L3_L4_Control2 is shown in Figure 43-196 and described in Table 43-250.
Return to the Summary Table.
The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | DMCHEN2 | RESERVED | DMCHN2 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | L4DPIM2 | L4DPM2 | L4SPIM2 | L4SPM2 | RESERVED | L4PEN2 | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
L3HDBM2 | L3HSBM2 | ||||||
R/W-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3HSBM2 | L3DAIM2 | L3DAM2 | L3SAIM2 | L3SAM2 | RESERVED | L3PEN2 | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | DMCHEN2 | R/W | 0h | DMA Channel Select Enable When set, this bit enables the selection of the DMA channel number for the packet that is passed by this L3_L4 filter. The DMA channel is indicated by the DMCHN bits. When this bit is reset, the DMA channel is not decided by this filter. 0h = DMA Channel Select is disabled : 0x0 1h = DMA Channel Select is enabled : 0x1 |
27-25 | RESERVED | R | 0h | Reserved. |
24 | DMCHN2 | R/W | 0h | DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number to which the packet passed by this filter is routed. The width of this field depends on the number of the DMA channels present in your configuration. |
23-22 | RESERVED | R | 0h | Reserved. |
21 | L4DPIM2 | R/W | 0h | Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Destination Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4DPM0 bit is set high. 0h = Layer 4 Destination Port Inverse Match is disabled : 0x0 1h = Layer 4 Destination Port Inverse Match is enabled : 0x1 |
20 | L4DPM2 | R/W | 0h | Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Destination Port number field for matching. 0h = Layer 4 Destination Port Match is disabled : 0x0 1h = Layer 4 Destination Port Match is enabled : 0x1 |
19 | L4SPIM2 | R/W | 0h | Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Source Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4SPM0 bit is set high. 0h = Layer 4 Source Port Inverse Match is disabled : 0x0 1h = Layer 4 Source Port Inverse Match is enabled : 0x1 |
18 | L4SPM2 | R/W | 0h | Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Source Port number field for matching. 0h = Layer 4 Source Port Match is disabled : 0x0 1h = Layer 4 Source Port Match is enabled : 0x1 |
17 | RESERVED | R | 0h | Reserved. |
16 | L4PEN2 | R/W | 0h | Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number fields of UDP packets are used for matching. When this bit is reset, the Source and Destination Port number fields of TCP packets are used for matching. The Layer 4 matching is done only when the L4SPM0 or L4DPM0 bit is set. 0h = Layer 4 Protocol is disabled : 0x0 1h = Layer 4 Protocol is enabled : 0x1 |
15-11 | L3HDBM2 | R/W | 0h | Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher bits of IP Destination Address that are matched in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: Bits[12:11] of this field correspond to Bits[6:5] of L3HSBM0 which indicate the number of lower bits of IP Source or Destination Address that are masked in the IPv6 packets. The following list describes the concatenated values of the L3HDBM0[1:0] and L3HSBM0 bits: - 0: No bits are masked. - 1: LSb[0] is masked. - 2: Two LSbs [1:0] are masked - .. - 127: All bits except MSb are masked. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set. |
10-6 | L3HSBM2 | R/W | 0h | Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower bits of IP Source Address that are masked for matching in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: This field contains Bits[4:0] of L3HSBM0. These bits indicate the number of higher bits of IP Source or Destination Address matched in the IPv6 packets. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set high. |
5 | L3DAIM2 | R/W | 0h | Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for inverse matching. When this bit is reset, the Layer 3 IP Destination Address field is enabled for perfect matching. This bit is valid and applicable only when the L3DAM0 bit is set high. 0h = Layer 3 IP DA Inverse Match is disabled : 0x0 1h = Layer 3 IP DA Inverse Match is enabled : 0x1 |
4 | L3DAM2 | R/W | 0h | Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Destination Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3SAM0 bit because either IPv6 DA or SA can be checked for filtering. 0h = Layer 3 IP DA Match is disabled : 0x0 1h = Layer 3 IP DA Match is enabled : 0x1 |
3 | L3SAIM2 | R/W | 0h | Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for inverse matching. When this bit reset, the Layer 3 IP Source Address field is enabled for perfect matching. This bit is valid and applicable only when the L3SAM0 bit is set. 0h = Layer 3 IP SA Inverse Match is disabled : 0x0 1h = Layer 3 IP SA Inverse Match is enabled : 0x1 |
2 | L3SAM2 | R/W | 0h | Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Source Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3DAM0 bit because either IPv6 SA or DA can be checked for filtering. 0h = Layer 3 IP SA Match is disabled : 0x0 1h = Layer 3 IP SA Match is enabled : 0x1 |
1 | RESERVED | R | 0h | Reserved. |
0 | L3PEN2 | R/W | 0h | Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination Address matching is enabled for IPv6 packets. When this bit is reset, the Layer 3 IP Source or Destination Address matching is enabled for IPv4 packets. The Layer 3 matching is done only when the L3SAM0 or L3DAM0 bit is set. 0h = Layer 3 Protocol is disabled : 0x0 1h = Layer 3 Protocol is enabled : 0x1 |
MAC_Layer4_Address2 is shown in Figure 43-197 and described in Table 43-251.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L4DP2 | L4SP2 | ||||||||||||||||||||||||||||||
R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | L4DP2 | R/W | 0h | Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Destination Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4DPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Destination Port Number field in the IPv4 or IPv6 packets. |
15-0 | L4SP2 | R/W | 0h | Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Source Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4SPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Source Port Number field in the IPv4 or IPv6 packets. |
MAC_Layer3_Addr0_Reg2 is shown in Figure 43-198 and described in Table 43-252.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A02 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A02 | R/W | 0h | Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Source Address field in the IPv4 packets. |
MAC_Layer3_Addr1_Reg2 is shown in Figure 43-199 and described in Table 43-253.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A12 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A12 | R/W | 0h | Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Destination Address field in the IPv4 packets. |
MAC_Layer3_Addr2_Reg2 is shown in Figure 43-200 and described in Table 43-254.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A22 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A22 | R/W | 0h | Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_Layer3_Addr3_Reg2 is shown in Figure 43-201 and described in Table 43-255.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A32 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A32 | R/W | 0h | Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_L3_L4_Control3 is shown in Figure 43-202 and described in Table 43-256.
Return to the Summary Table.
The Layer 3 and Layer 4 Control register controls the operations of filter 0 of Layer 3 and Layer 4.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | DMCHEN3 | RESERVED | DMCHN3 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | L4DPIM3 | L4DPM3 | L4SPIM3 | L4SPM3 | RESERVED | L4PEN3 | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
L3HDBM3 | L3HSBM3 | ||||||
R/W-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3HSBM3 | L3DAIM3 | L3DAM3 | L3SAIM3 | L3SAM3 | RESERVED | L3PEN3 | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | DMCHEN3 | R/W | 0h | DMA Channel Select Enable When set, this bit enables the selection of the DMA channel number for the packet that is passed by this L3_L4 filter. The DMA channel is indicated by the DMCHN bits. When this bit is reset, the DMA channel is not decided by this filter. 0h = DMA Channel Select is disabled : 0x0 1h = DMA Channel Select is enabled : 0x1 |
27-25 | RESERVED | R | 0h | Reserved. |
24 | DMCHN3 | R/W | 0h | DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number to which the packet passed by this filter is routed. The width of this field depends on the number of the DMA channels present in your configuration. |
23-22 | RESERVED | R | 0h | Reserved. |
21 | L4DPIM3 | R/W | 0h | Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Destination Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4DPM0 bit is set high. 0h = Layer 4 Destination Port Inverse Match is disabled : 0x0 1h = Layer 4 Destination Port Inverse Match is enabled : 0x1 |
20 | L4DPM3 | R/W | 0h | Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Destination Port number field for matching. 0h = Layer 4 Destination Port Match is disabled : 0x0 1h = Layer 4 Destination Port Match is enabled : 0x1 |
19 | L4SPIM3 | R/W | 0h | Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Source Port number field is enabled for perfect matching. This bit is valid and applicable only when the L4SPM0 bit is set high. 0h = Layer 4 Source Port Inverse Match is disabled : 0x0 1h = Layer 4 Source Port Inverse Match is enabled : 0x1 |
18 | L4SPM3 | R/W | 0h | Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Source Port number field for matching. 0h = Layer 4 Source Port Match is disabled : 0x0 1h = Layer 4 Source Port Match is enabled : 0x1 |
17 | RESERVED | R | 0h | Reserved. |
16 | L4PEN3 | R/W | 0h | Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number fields of UDP packets are used for matching. When this bit is reset, the Source and Destination Port number fields of TCP packets are used for matching. The Layer 4 matching is done only when the L4SPM0 or L4DPM0 bit is set. 0h = Layer 4 Protocol is disabled : 0x0 1h = Layer 4 Protocol is enabled : 0x1 |
15-11 | L3HDBM3 | R/W | 0h | Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher bits of IP Destination Address that are matched in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: Bits[12:11] of this field correspond to Bits[6:5] of L3HSBM0 which indicate the number of lower bits of IP Source or Destination Address that are masked in the IPv6 packets. The following list describes the concatenated values of the L3HDBM0[1:0] and L3HSBM0 bits: - 0: No bits are masked. - 1: LSb[0] is masked. - 2: Two LSbs [1:0] are masked - .. - 127: All bits except MSb are masked. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set. |
10-6 | L3HSBM3 | R/W | 0h | Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower bits of IP Source Address that are masked for matching in the IPv4 packets. The following list describes the values of this field: - 0: No bits are masked. - 1: LSb[0] is masked - 2: Two LSbs [1:0] are masked - .. - 31: All bits except MSb are masked. IPv6 Packets: This field contains Bits[4:0] of L3HSBM0. These bits indicate the number of higher bits of IP Source or Destination Address matched in the IPv6 packets. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set high. |
5 | L3DAIM3 | R/W | 0h | Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for inverse matching. When this bit is reset, the Layer 3 IP Destination Address field is enabled for perfect matching. This bit is valid and applicable only when the L3DAM0 bit is set high. 0h = Layer 3 IP DA Inverse Match is disabled : 0x0 1h = Layer 3 IP DA Inverse Match is enabled : 0x1 |
4 | L3DAM3 | R/W | 0h | Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Destination Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3SAM0 bit because either IPv6 DA or SA can be checked for filtering. 0h = Layer 3 IP DA Match is disabled : 0x0 1h = Layer 3 IP DA Match is enabled : 0x1 |
3 | L3SAIM3 | R/W | 0h | Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for inverse matching. When this bit reset, the Layer 3 IP Source Address field is enabled for perfect matching. This bit is valid and applicable only when the L3SAM0 bit is set. 0h = Layer 3 IP SA Inverse Match is disabled : 0x0 1h = Layer 3 IP SA Inverse Match is enabled : 0x1 |
2 | L3SAM3 | R/W | 0h | Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Source Address field for matching. Note: When the L3PEN0 bit is set, you should set either this bit or the L3DAM0 bit because either IPv6 SA or DA can be checked for filtering. 0h = Layer 3 IP SA Match is disabled : 0x0 1h = Layer 3 IP SA Match is enabled : 0x1 |
1 | RESERVED | R | 0h | Reserved. |
0 | L3PEN3 | R/W | 0h | Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination Address matching is enabled for IPv6 packets. When this bit is reset, the Layer 3 IP Source or Destination Address matching is enabled for IPv4 packets. The Layer 3 matching is done only when the L3SAM0 or L3DAM0 bit is set. 0h = Layer 3 Protocol is disabled : 0x0 1h = Layer 3 Protocol is enabled : 0x1 |
MAC_Layer4_Address3 is shown in Figure 43-203 and described in Table 43-257.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L4DP3 | L4SP3 | ||||||||||||||||||||||||||||||
R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | L4DP3 | R/W | 0h | Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Destination Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4DPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Destination Port Number field in the IPv4 or IPv6 packets. |
15-0 | L4SP3 | R/W | 0h | Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the TCP Source Port Number field in the IPv4 or IPv6 packets. When the L4PEN0 and L4SPM0 bits are set in MAC_L3_L4_Control0 register, this field contains the value to be matched with the UDP Source Port Number field in the IPv4 or IPv6 packets. |
MAC_Layer3_Addr0_Reg3 is shown in Figure 43-204 and described in Table 43-258.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A03 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A03 | R/W | 0h | Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[31:0] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Source Address field in the IPv4 packets. |
MAC_Layer3_Addr1_Reg3 is shown in Figure 43-205 and described in Table 43-259.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A13 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A13 | R/W | 0h | Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[63:32] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset and the L3SAM0 bit is set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with the IP Destination Address field in the IPv4 packets. |
MAC_Layer3_Addr2_Reg3 is shown in Figure 43-206 and described in Table 43-260.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A23 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A23 | R/W | 0h | Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[95:64] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_Layer3_Addr3_Reg3 is shown in Figure 43-207 and described in Table 43-261.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3A33 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | L3A33 | R/W | 0h | Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Source Address field in the IPv6 packets. When the L3PEN0 and L3DAM0 bits are set in the MAC_L3_L4_Control0 register, this field contains the value to be matched with Bits[127:96] of the IP Destination Address field in the IPv6 packets. When the L3PEN0 bit is reset in the MAC_L3_L4_Control0 register, this field is not used. |
MAC_Timestamp_Control is shown in Figure 43-208 and described in Table 43-262.
Return to the Summary Table.
This register controls the operation of the System Time generator and processing of PTP packets for timestamping in the Receiver.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | AV8021ASMEN | RESERVED | TXTSSTSM | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | ESTI | CSC | TSENMACADDR | SNAPTYPSEL | |||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TSMSTRENA | TSEVNTENA | TSIPV4ENA | TSIPV6ENA | TSIPENA | TSVER2ENA | TSCTRLSSR | TSENALL |
R/W-0h | R/W-0h | R/W-1h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TSADDREG | RESERVED | TSUPDT | TSINIT | TSCFUPDT | TSENA | |
R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | AV8021ASMEN | R/W | 0h | AV 802.1AS Mode Enable When this bit is set, the MAC processes only untagged PTP over Ethernet packets for providing PTP status and capturing timestamp snapshots, that is, IEEE 802.1AS mode of operation. When PTP offload feature is enabled, for the purpose of PTP offload, the transport specific field in the PTP header is generated and checked based on the value of this bit. 0h = AV 802.1AS Mode is disabled : 0x0 1h = AV 802.1AS Mode is enabled : 0x1 |
27-25 | RESERVED | R | 0h | Reserved. |
24 | TXTSSTSM | R/W | 0h | Transmit Timestamp Status Mode When this bit is set, the MAC overwrites the earlier transmit timestamp status even if it is not read by the software. The MAC indicates this by setting the TXTSSMIS bit of the MAC_Tx_Timestamp_Status_Nanoseconds register. When this bit is reset, the MAC ignores the timestamp status of current packet if the timestamp status of previous packet is not read by the software. The MAC indicates this by setting the TXTSSMIS bit of the MAC_Tx_Timestamp_Status_Nanoseconds register. 0h = Transmit Timestamp Status Mode is disabled : 0x0 1h = Transmit Timestamp Status Mode is enabled : 0x1 |
23-21 | RESERVED | R | 0h | Reserved. |
20 | ESTI | R/W | 0h | External System Time Input When this bit is set, the MAC uses the external 64-bit reference System Time input for the following: - To take the timestamp provided as status - To insert the timestamp in transmit PTP packets when One-step Timestamp or Timestamp Offload feature is enabled. When this bit is reset, the MAC uses the internal reference System Time. 0h = External System Time Input is disabled : 0x0 1h = External System Time Input is enabled : 0x1 |
19 | CSC | R/W | 0h | Enable checksum correction during OST for PTP over UDP/IPv4 packets When this bit is set, the last two bytes of PTP message sent over UDP/IPv4 is updated to keep the UDP checksum correct, for changes made to origin timestamp and/or correction field as part of one step timestamp operation. The application shall form the packet with these two dummy bytes. When reset, no updates are done to keep the UDP checksum correct. The application shall form the packet with UDP checksum set to 0. 0h = checksum correction during OST for PTP over UDP/IPv4 packets is disabled : 0x0 1h = checksum correction during OST for PTP over UDP/IPv4 packets is enabled : 0x1 |
18 | TSENMACADDR | R/W | 0h | Enable MAC Address for PTP Packet Filtering When this bit is set, the DA MAC address (that matches any MAC Address register) is used to filter the PTP packets when PTP is directly sent over Ethernet. When this bit is set, received PTP packets with DA containing a special multicast or unicast address that matches the one programmed in MAC address registers are considered for processing as indicated below, when PTP is directly sent over Ethernet. For normal time stamping operation, MAC address registers 0 to 31 is considered for unicast destination address matching. For PTP offload, only MAC address register 0 is considered for unicast destination address matching. 0h = MAC Address for PTP Packet Filtering is disabled : 0x0 1h = MAC Address for PTP Packet Filtering is enabled : 0x1 |
17-16 | SNAPTYPSEL | R/W | 0h | Select PTP packets for Taking Snapshots These bits, along with Bits 15 and 14, decide the set of PTP packet types for which snapshot needs to be taken. The encoding is given in Timestamp Snapshot Dependency on Register Bits Table. |
15 | TSMSTRENA | R/W | 0h | Enable Snapshot for Messages Relevant to Master When this bit is set, the snapshot is taken only for the messages that are relevant to the master node. Otherwise, the snapshot is taken for the messages relevant to the slave node. 0h = Snapshot for Messages Relevant to Master is disabled : 0x0 1h = Snapshot for Messages Relevant to Master is enabled : 0x1 |
14 | TSEVNTENA | R/W | 0h | Enable Timestamp Snapshot for Event Messages When this bit is set, the timestamp snapshot is taken only for event messages (SYNC, Delay_Req, Pdelay_Req, or Pdelay_Resp). When this bit is reset, the snapshot is taken for all messages except Announce, Management, and Signaling. For more information about the timestamp snapshots, see Timestamp Snapshot Dependency on Register Bits Table. 0h = Timestamp Snapshot for Event Messages is disabled : 0x0 1h = Timestamp Snapshot for Event Messages is enabled : 0x1 |
13 | TSIPV4ENA | R/W | 1h | Enable Processing of PTP Packets Sent over IPv4-UDP When this bit is set, the MAC receiver processes the PTP packets encapsulated in IPv4-UDP packets. When this bit is reset, the MAC ignores the PTP transported over IPv4-UDP packets. This bit is set by default. 0h = Processing of PTP Packets Sent over IPv4-UDP is disabled : 0x0 1h = Processing of PTP Packets Sent over IPv4-UDP is enabled : 0x1 |
12 | TSIPV6ENA | R/W | 0h | Enable Processing of PTP Packets Sent over IPv6-UDP When this bit is set, the MAC receiver processes the PTP packets encapsulated in IPv6-UDP packets. When this bit is clear, the MAC ignores the PTP transported over IPv6-UDP packets. 0h = Processing of PTP Packets Sent over IPv6-UDP is disabled : 0x0 1h = Processing of PTP Packets Sent over IPv6-UDP is enabled : 0x1 |
11 | TSIPENA | R/W | 0h | Enable Processing of PTP over Ethernet Packets When this bit is set, the MAC receiver processes the PTP packets encapsulated directly in the Ethernet packets. When this bit is reset, the MAC ignores the PTP over Ethernet packets. 0h = Processing of PTP over Ethernet Packets is disabled : 0x0 1h = Processing of PTP over Ethernet Packets is enabled : 0x1 |
10 | TSVER2ENA | R/W | 0h | Enable PTP Packet Processing for Version 2 Format When this bit is set, the IEEE 1588 version 2 format is used to process the PTP packets. When this bit is reset, the IEEE 1588 version 1 format is used to process the PTP packets. The IEEE 1588 formats are described in 'PTP Processing and Control'. 0h = PTP Packet Processing for Version 2 Format is disabled : 0x0 1h = PTP Packet Processing for Version 2 Format is enabled : 0x1 |
9 | TSCTRLSSR | R/W | 0h | Timestamp Digital or Binary Rollover Control When this bit is set, the Timestamp Low register rolls over after 0x3B9A_C9FF value (that is, 1 nanosecond accuracy) and increments the timestamp (High) seconds. When this bit is reset, the rollover value of sub-second register is 0x7FFF_FFFF. The sub-second increment must be programmed correctly depending on the PTP reference clock frequency and the value of this bit. 0h = Timestamp Digital or Binary Rollover Control is disabled : 0x0 1h = Timestamp Digital or Binary Rollover Control is enabled : 0x1 |
8 | TSENALL | R/W | 0h | Enable Timestamp for All Packets When this bit is set, the timestamp snapshot is enabled for all packets received by the MAC. 0h = Timestamp for All Packets disabled : 0x0 1h = Timestamp for All Packets enabled : 0x1 |
7-6 | RESERVED | R | 0h | Reserved. |
5 | TSADDREG | R/W | 0h | Update Addend Register When this bit is set, the content of the Timestamp Addend register is updated in the PTP block for fine correction. This bit is cleared when the update is complete. This bit should be zero before it is set. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Addend Register is not updated : 0x0 1h = Addend Register is updated : 0x1 |
4 | RESERVED | R | 0h | Reserved. |
3 | TSUPDT | R/W | 0h | Update Timestamp When this bit is set, the system time is updated (added or subtracted) with the value specified in MAC_System_Time_Seconds_Update and MAC_System_Time_Nanoseconds_Update. This bit should be zero before updating it. This bit is reset when the update is complete in hardware. The Timestamp Higher Word register (if enabled during core configuration) is not updated. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Timestamp is not updated : 0x0 1h = Timestamp is updated : 0x1 |
2 | TSINIT | R/W | 0h | Initialize Timestamp When this bit is set, the system time is initialized (overwritten) with the value specified in the MAC Register 80 (System Time Seconds Update Register) and MAC Register 81 (System Time Nanoseconds Update Register). This bit should be zero before it is updated. This bit is reset when the initialization is complete. The Timestamp Higher Word register (if enabled during core configuration) can only be initialized. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Timestamp is not initialized : 0x0 1h = Timestamp is initialized : 0x1 |
1 | TSCFUPDT | R/W | 0h | Fine or Coarse Timestamp Update When this bit is set, the Fine method is used to update system timestamp. When this bit is reset, Coarse method is used to update the system timestamp. 0h = Coarse method is used to update system timestamp : 0x0 1h = Fine method is used to update system timestamp : 0x1 |
0 | TSENA | R/W | 0h | Enable Timestamp When this bit is set, the timestamp is added for Transmit and Receive packets. When disabled, timestamp is not added for transmit and receive packets and the Timestamp Generator is also suspended. You need to initialize the Timestamp (system time) after enabling this mode. On the Receive side, the MAC processes the 1588 packets only if this bit is set. 0h = Timestamp is disabled : 0x0 1h = Timestamp is enabled : 0x1 |
MAC_Sub_Second_Increment is shown in Figure 43-209 and described in Table 43-263.
Return to the Summary Table.
This register specifies the value to be added to the internal system time register every cycle of clk_ptp_ref_i clock.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | SSINC | SNSINC | RESERVED | ||||||||||||||||||||||||||||
R-0h | R/W-0h | R/W-0h | R-0h | ||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | RESERVED | R | 0h | Reserved. |
23-16 | SSINC | R/W | 0h | Sub-second Increment Value The value programmed in this field is accumulated every clock cycle (of clk_ptp_i) with the contents of the sub-second register. For example, when the PTP clock is 50 MHz (period is 20 ns), you should program 20 (0x14) when the System Time Nanoseconds register has an accuracy of 1 ns [Bit 9 (TSCTRLSSR) is set in MAC_Timestamp_Control]. When TSCTRLSSR is clear, the Nanoseconds register has a resolution of ~0.465 ns. In this case, you should program a value of 43 (0x2B) which is derived by 20 ns/0.465. |
15-8 | SNSINC | R/W | 0h | Sub-nanosecond Increment Value This field contains the sub-nanosecond increment value, represented in nanoseconds multiplied by 28. This value is accumulated with the sub-nanoseconds field of the subsecond register. For example, when TSCTRLSSR field in the MAC_Timestamp_Control register is set. and if the required increment is 5.3ns, then SSINC should be 0x05 and SNSINC should be 0x4C. |
7-0 | RESERVED | R | 0h | Reserved. |
MAC_System_Time_Seconds is shown in Figure 43-210 and described in Table 43-264.
Return to the Summary Table.
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 clk_ptp_ref_i to CSR clock).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSS | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TSS | R | 0h | Timestamp Second The value in this field indicates the current value in seconds of the System Time maintained by the MAC. |
MAC_System_Time_Nanoseconds is shown in Figure 43-211 and described in Table 43-265.
Return to the Summary Table.
The System Time Nanoseconds register, along with System Time Seconds register, indicates the current value of the system time maintained by the MAC.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | TSSS | ||||||
R-0h | R-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TSSS | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TSSS | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSSS | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved. |
30-0 | TSSS | R | 0h | Timestamp Sub Seconds The value in this field has the sub-second representation of time, with an accuracy of 0.46 ns. When Bit 9 is set in MAC_Timestamp_Control, each bit represents 1 ns. The maximum value is 0x3B9A_C9FF after which it rolls-over to zero. |
MAC_System_Time_Seconds_Update is shown in Figure 43-212 and described in Table 43-266.
Return to the Summary Table.
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 EMAC_REGS/EQOS_MAC/MAC_Timestamp_Control.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSS | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TSS | R/W | 0h | Timestamp Seconds The value in this field is the seconds part of the update. When ADDSUB is reset, this field must be programmed with the seconds part of the update value. When ADDSUB is set, this field must be programmed with the complement of the seconds part of the update value. For example, if 2.000000001 seconds need to be subtracted from the system time, the TSS field in the MAC_Timestamp_Seconds_Update register must be 0xFFFF_FFFE (that is, 232 - 2). |
MAC_System_Time_Nanoseconds_Update is shown in Figure 43-213 and described in Table 43-267.
Return to the Summary Table.
MAC System Time Nanoseconds Update register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
ADDSUB | TSSS | ||||||
R/W-0h | R/W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TSSS | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TSSS | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSSS | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | ADDSUB | R/W | 0h | Add or Subtract Time When this bit is set, the time value is subtracted with the contents of the update register. When this bit is reset, the time value is added with the contents of the update register. 0h = Add time : 0x0 1h = Subtract time : 0x1 |
30-0 | TSSS | R/W | 0h | Timestamp Sub Seconds The value in this field is the sub-seconds part of the update. When ADDSUB is reset, this field must be programmed with the sub-seconds part of the update value, with an accuracy based on the TSCTRLSSR bit of the MAC_Timestamp_Control register. When ADDSUB is set, this field must be programmed with the complement of the sub-seconds part of the update value as described below. When TSCTRLSSR bit in MAC_Timestamp_Control is set, the programmed value must be 10^9 - <sub-second value>. When TSCTRLSSR bit in MAC_Timestamp_Control is reset, the programmed value must be 231 - <sub-second_value>. When the TSCTRLSSR bit is reset in the MAC_Timestamp_Control register, each bit represents an accuracy of 0.46 ns. When the TSCTRLSSR bit is set in the MAC_Timestamp_Control register, each bit represents 1 ns and the programmed value should not exceed 0x3B9A_C9FF. For example, if 2.000000001 seconds need to be subtracted from the system time, then the TSSS field in the MAC_Timestamp_Nanoseconds_Update register must be 0x7FFF_FFFF (that is, 231 - 1), when TSCTRLSSR bit in MAC_Timestamp_Control is reset and 0x3B9A_C9FF (that is, 10^9 - 1), when TSCTRLSSR bit in MAC_Timestamp_Control is set. |
MAC_Timestamp_Addend is shown in Figure 43-214 and described in Table 43-268.
Return to the Summary Table.
Timestamp Addend register. This register value is used only when the system time is configured for Fine Update mode (TSCFUPDT bit in the MAC_Timestamp_Control register). The content of this register is added to a 32-bit accumulator in every clock cycle (of clk_ptp_ref_i) and the system time is updated whenever the accumulator overflows.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSAR | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TSAR | R/W | 0h | Timestamp Addend Register This field indicates the 32-bit time value to be added to the Accumulator register to achieve time synchronization. |
MAC_System_Time_Higher_Word_Seconds is shown in Figure 43-215 and described in Table 43-269.
Return to the Summary Table.
System Time - Higher Word Seconds register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TSHWR | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-0 | TSHWR | R/W | 0h | Timestamp Higher Word Register This field contains the most-significant 16-bits of timestamp seconds value. This register is optional. You can add this register by selecting the Add IEEE 1588 Higher Word Register option. This register is directly written to initialize the value and it is incremented when there is an overflow from 32-bits of the System Time Seconds register. Access restriction applies. Updated based on the event. Setting 1 sets. Setting 0 clears. |
MAC_Timestamp_Status is shown in Figure 43-216 and described in Table 43-270.
Return to the Summary Table.
Timestamp Status register. All bits except Bits[27:25] gets cleared when the application reads this register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | ATSNS | ATSSTM | |||||
R-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | ATSSTN | ||||||
R-0h | R-0h | ||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TXTSSIS | RESERVED | TSTRGTERR3 | TSTARGT3 | ||||
R-0h | R-0h | R-0h | R-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSTRGTERR2 | TSTARGT2 | TSTRGTERR1 | TSTARGT1 | TSTRGTERR0 | AUXTSTRIG | TSTARGT0 | TSSOVF |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-30 | RESERVED | R | 0h | Reserved. |
29-25 | ATSNS | R | 0h | Number of Auxiliary Timestamp Snapshots This field indicates the number of Snapshots available in the FIFO. A value equal to the selected depth of FIFO (4, 8, or 16) indicates that the Auxiliary Snapshot FIFO is full. These bits are cleared (to 00000) when the Auxiliary snapshot FIFO clear bit is set. This bit is valid only if the Add IEEE 1588 Auxiliary Snapshot option is selected. |
24 | ATSSTM | R | 0h | Auxiliary Timestamp Snapshot Trigger Missed This bit is set when the Auxiliary timestamp snapshot FIFO is full and external trigger was set. This indicates that the latest snapshot is not stored in the FIFO. This bit is valid only if the Add IEEE 1588 Auxiliary Snapshot option is selected. 0h = Auxiliary Timestamp Snapshot Trigger Missed status not detected : 0x0 1h = Auxiliary Timestamp Snapshot Trigger Missed status detected : 0x1 |
23-20 | RESERVED | R | 0h | Reserved. |
19-16 | ATSSTN | R | 0h | Auxiliary Timestamp Snapshot Trigger Identifier These bits identify the Auxiliary trigger inputs for which the timestamp available in the Auxiliary Snapshot Register is applicable. When more than one bit is set at the same time, it means that corresponding auxiliary triggers were sampled at the same clock. These bits are applicable only if the number of Auxiliary snapshots is more than one. One bit is assigned for each trigger as shown in the following list: - Bit 16: Auxiliary trigger 0 - Bit 17: Auxiliary trigger 1 - Bit 18: Auxiliary trigger 2 - Bit 19: Auxiliary trigger 3 The software can read this register to find the triggers that are set when the timestamp is taken. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
15 | TXTSSIS | R | 0h | Tx Timestamp Status Interrupt Status In non-EQOS_CORE configurations when drop transmit status is enabled in MTL, this bit is set when the captured transmit timestamp is updated in the MAC_Tx_Timestamp_Status_Nanoseconds and MAC_Tx_Timestamp_Status_Seconds registers. When PTP offload feature is enabled, this bit is set when the captured transmit timestamp is updated in the MAC_Tx_Timestamp_Status_Nanoseconds and MAC_Tx_Timestamp_Status_Seconds registers, for PTO generated Delay Request and Pdelay request packets. This bit is cleared when the MAC_Tx_Timestamp_Status_Seconds register is read (or write to MAC_Tx_Timestamp_Status_Seconds register when RCWE bit of MAC_CSR_SW_Ctrl register is set). 0h = Tx Timestamp Status Interrupt status not detected : 0x0 1h = Tx Timestamp Status Interrupt status detected : 0x1 |
14-10 | RESERVED | R | 0h | Reserved. |
9 | TSTRGTERR3 | R | 0h | Timestamp Target Time Error This bit is set when the latest target time programmed in the MAC_PPS3_Target_Time_Seconds and MAC_PPS3_Target_Time_Nanoseconds registers elapses. This bit is cleared when the application reads this bit. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Error status not detected : 0x0 1h = Timestamp Target Time Error status detected : 0x1 |
8 | TSTARGT3 | R | 0h | Timestamp Target Time Reached for Target Time PPS3 When this bit is set, it indicates that the value of system time is greater than or equal to the value specified in the MAC_PPS3_Target_Time_Seconds and MAC_PPS3_Target_Time_Nanoseconds registers. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Reached for Target Time PPS3 status not detected : 0x0 1h = Timestamp Target Time Reached for Target Time PPS3 status detected : 0x1 |
7 | TSTRGTERR2 | R | 0h | Timestamp Target Time Error This bit is set when the latest target time programmed in the MAC_PPS2_Target_Time_Seconds and MAC_PPS2_Target_Time_Nanoseconds registers elapses. This bit is cleared when the application reads this bit. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Error status not detected : 0x0 1h = Timestamp Target Time Error status detected : 0x1 |
6 | TSTARGT2 | R | 0h | Timestamp Target Time Reached for Target Time PPS2 When set, this bit indicates that the value of system time is greater than or equal to the value specified in the MAC_PPS2_Target_Time_Seconds and MAC_PPS2_Target_Time_Nanoseconds registers. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Reached for Target Time PPS2 status not detected : 0x0 1h = Timestamp Target Time Reached for Target Time PPS2 status detected : 0x1 |
5 | TSTRGTERR1 | R | 0h | Timestamp Target Time Error This bit is set when the latest target time programmed in the MAC_PPS1_Target_Time_Seconds and MAC_PPS1_Target_Time_Nanoseconds registers elapses. This bit is cleared when the application reads this bit. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Error status not detected : 0x0 1h = Timestamp Target Time Error status detected : 0x1 |
4 | TSTARGT1 | R | 0h | Timestamp Target Time Reached for Target Time PPS1 When set, this bit indicates that the value of system time is greater than or equal to the value specified in the MAC_PPS1_Target_Time_Seconds and MAC_PPS1_Target_Time_Nanoseconds registers. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Reached for Target Time PPS1 status not detected : 0x0 1h = Timestamp Target Time Reached for Target Time PPS1 status detected : 0x1 |
3 | TSTRGTERR0 | R | 0h | Timestamp Target Time Error This bit is set when the latest target time programmed in the MAC_PPS0_Target_Time_Seconds and MAC_PPS0_Target_Time_Nanoseconds registers elapses. This bit is cleared when the application reads this bit. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Error status not detected : 0x0 1h = Timestamp Target Time Error status detected : 0x1 |
2 | AUXTSTRIG | R | 0h | Auxiliary Timestamp Trigger Snapshot This bit is set high when the auxiliary snapshot is written to the FIFO. This bit is valid only if the Add IEEE 1588 Auxiliary Snapshot option is selected. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Auxiliary Timestamp Trigger Snapshot status not detected : 0x0 1h = Auxiliary Timestamp Trigger Snapshot status detected : 0x1 |
1 | TSTARGT0 | R | 0h | Timestamp Target Time Reached When set, this bit indicates that the value of system time is greater than or equal to the value specified in the MAC_PPS0_Target_Time_Seconds and MAC_PPS0_Target_Time_Nanoseconds registers. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Target Time Reached status not detected : 0x0 1h = Timestamp Target Time Reached status detected : 0x1 |
0 | TSSOVF | R | 0h | Timestamp Seconds Overflow When this bit is set, it indicates that the seconds value of the timestamp (when supporting version 2 format) has overflowed beyond 32'hFFFF_FFFF. Access restriction applies. Clears on read (or this bit is written to 1 when RCWE bit in MAC_CSR_SW_Ctrl register is set). Self-set to 1 on internal event. 0h = Timestamp Seconds Overflow status not detected : 0x0 1h = Timestamp Seconds Overflow status detected : 0x1 |
MAC_Tx_Timestamp_Status_Nanoseconds is shown in Figure 43-217 and described in Table 43-271.
Return to the Summary Table.
This register contains the nanosecond part of timestamp captured for Transmit packets when Tx status is disabled.
The MAC_Tx_Timestamp_Status_Nanoseconds register, along with MAC_Tx_Timestamp_Status_Seconds, gives the 64-bit timestamp captured for the PTP packet successfully transmitted by the MAC. This value is considered to be read by the application when the last byte of MAC_Tx_Timestamp_Status_Nanoseconds is read. In the little-endian mode, this means when bits[31:24] are read
in big-endian mode, bits[7:0] are read.
If the application does not read these registers and timestamp of another packet is captured, then either the current timestamp is lost (overwritten) or the new timestamp is lost (dropped), depending on the setting of the TXTSSTSM bit of the MAC_Timestamp_Control register. The status bit TXTSC bit [15] in MAC_Timestamp_Status register is set whenever the MAC transmitter captures the timestamp.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TXTSSMIS | TXTSSLO | ||||||
R-0h | R-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TXTSSLO | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TXTSSLO | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXTSSLO | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | TXTSSMIS | R | 0h | Transmit Timestamp Status Missed When this bit is set, it indicates one of the following: - The timestamp of the current packet is ignored if TXTSSTSM bit of the MAC_Timestamp_Control register is reset - The timestamp of the previous packet is overwritten with timestamp of the current packet if TXTSSTSM bit of the MAC_Timestamp_Control register is set. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = Transmit Timestamp Status Missed status not detected : 0x0 1h = Transmit Timestamp Status Missed status detected : 0x1 |
30-0 | TXTSSLO | R | 0h | Transmit Timestamp Status Low This field contains the 31 bits of the Nanoseconds field of the Transmit packet's captured timestamp. |
MAC_Tx_Timestamp_Status_Seconds is shown in Figure 43-218 and described in Table 43-272.
Return to the Summary Table.
The register contains the higher 32 bits of the timestamp (in seconds) captured when a PTP packet is transmitted.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXTSSHI | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TXTSSHI | R | 0h | Transmit Timestamp Status High This field contains the lower 32 bits of the Seconds field of Transmit packet's captured timestamp. |
MAC_Auxiliary_Control is shown in Figure 43-219 and described in Table 43-273.
Return to the Summary Table.
The Auxiliary Timestamp Control register controls the Auxiliary Timestamp snapshot.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RESERVED | ATSEN1 | ATSEN0 | RESERVED | ATSFC | ||
R-0h | R-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-8 | RESERVED | R | 0h | Reserved. |
7 | RESERVED | R | 0h | Reserved. |
6 | RESERVED | R | 0h | Reserved. |
5 | ATSEN1 | R/W | 0h | Auxiliary Snapshot 1 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 1. When this bit is set, the auxiliary snapshot of the event on ptp_aux_trig_i[1] input is enabled. When this bit is reset, the events on this input are ignored. 0h = Auxiliary Snapshot $i is disabled : 0x0 1h = Auxiliary Snapshot $i is enabled : 0x1 |
4 | ATSEN0 | R/W | 0h | Auxiliary Snapshot 0 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 0. When this bit is set, the auxiliary snapshot of the event on ptp_aux_trig_i[0] input is enabled. When this bit is reset, the events on this input are ignored. 0h = Auxiliary Snapshot $i is disabled : 0x0 1h = Auxiliary Snapshot $i is enabled : 0x1 |
3-1 | RESERVED | R | 0h | Reserved. |
0 | ATSFC | R/W | 0h | Auxiliary Snapshot FIFO Clear When set, this bit resets the pointers of the Auxiliary Snapshot FIFO. This bit is cleared when the pointers are reset and the FIFO is empty. When this bit is high, the auxiliary snapshots are stored in the FIFO. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Auxiliary Snapshot FIFO Clear is disabled : 0x0 1h = Auxiliary Snapshot FIFO Clear is enabled : 0x1 |
MAC_Auxiliary_Timestamp_Nanoseconds is shown in Figure 43-220 and described in Table 43-274.
Return to the Summary Table.
The Auxiliary Timestamp Nanoseconds register, along with MAC_Auxiliary_Timestamp_Seconds, 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, 8, or 16 as selected while configuring the core.
You can store multiple snapshots in this FIFO. Bits[29:25] in MAC_Timestamp_Status 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | AUXTSLO | ||||||
R-0h | R-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
AUXTSLO | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
AUXTSLO | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AUXTSLO | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved. |
30-0 | AUXTSLO | R | 0h | Auxiliary Timestamp Contains the lower 31 bits (nanoseconds field) of the auxiliary timestamp. |
MAC_Auxiliary_Timestamp_Seconds is shown in Figure 43-221 and described in Table 43-275.
Return to the Summary Table.
The Auxiliary Timestamp - Seconds register contains the lower 32 bits of the Seconds field of the auxiliary timestamp register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AUXTSHI | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | AUXTSHI | R | 0h | Auxiliary Timestamp Contains the lower 32 bits of the Seconds field of the auxiliary timestamp. |
MAC_Timestamp_Ingress_Asym_Corr is shown in Figure 43-222 and described in Table 43-276.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSTIAC | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | OSTIAC | R/W | 0h | One-Step Timestamp Ingress Asymmetry Correction This field contains the ingress path asymmetry value to be added to correctionField of Pdelay_Resp PTP packet. The programmed value should be in units of nanoseconds and multiplied by 216. For example, 2.5 ns is represented as 0x00028000. The value can also be negative, which is represented in 2's complement form with bit 31 representing the sign bit. |
MAC_Timestamp_Egress_Asym_Corr is shown in Figure 43-223 and described in Table 43-277.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSTEAC | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | OSTEAC | R/W | 0h | One-Step Timestamp Egress Asymmetry Correction This field contains the egress path asymmetry value to be subtracted from correctionField of Pdelay_Resp PTP packet. The programmed value must be the negated value in units of nanoseconds multiplied by 216. For example, if the required correction is +2.5 ns, the programmed value must be 0xFFFD_8000, which is the 2's complement of 0x0002_8000(2.5 * 216). Similarly, if the required correction is -3.3 ns, the programmed value is 0x0003_4CCC (3.3 * 216). |
MAC_Timestamp_Ingress_Corr_Nanosecond is shown in Figure 43-224 and described in Table 43-278.
Return to the Summary Table.
This register contains the correction value in nanoseconds to be used with the captured timestamp value in the ingress path.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSIC | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TSIC | R/W | 0h | Timestamp Ingress Correction This field contains the ingress path correction value as defined by the Ingress Correction expression. |
MAC_Timestamp_Egress_Corr_Nanosecond is shown in Figure 43-225 and described in Table 43-279.
Return to the Summary Table.
This register contains the correction value in nanoseconds to be used with the captured timestamp value in the egress path.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSEC | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TSEC | R/W | 0h | Timestamp Egress Correction This field contains the nanoseconds part of the egress path correction value as defined by the Egress Correction expression. |
MAC_Timestamp_Ingress_Corr_Subnanosec is shown in Figure 43-226 and described in Table 43-280.
Return to the Summary Table.
This register contains the sub-nanosecond part of the correction value to be used with the captured timestamp value, for ingress direction.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TSICSNS | RESERVED | |||||||||||||||||||||||||||||
R-0h | R/W-0h | R-0h | |||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-8 | TSICSNS | R/W | 0h | Timestamp Ingress Correction, sub-nanoseconds This field contains the sub-nanoseconds part of the ingress path correction value as defined by the "Ingress Correction" expression. |
7-0 | RESERVED | R | 0h | Reserved. |
MAC_Timestamp_Egress_Corr_Subnanosec is shown in Figure 43-227 and described in Table 43-281.
Return to the Summary Table.
This register contains the sub-nanosecond part of the correction value to be used with the captured timestamp value, for egress direction.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TSECSNS | RESERVED | |||||||||||||||||||||||||||||
R-0h | R/W-0h | R-0h | |||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-8 | TSECSNS | R/W | 0h | Timestamp Egress Correction, sub-nanoseconds This field contains the sub-nanoseconds part of the egress path correction value as defined by the "Egress Correction" expression. |
7-0 | RESERVED | R | 0h | Reserved. |
MAC_PPS_Control is shown in Figure 43-228 and described in Table 43-282.
Return to the Summary Table.
PPS Control register.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RESERVED | RESERVED | RESERVED | ||||
R-0h | R-0h | R-0h | R-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RESERVED | RESERVED | RESERVED | ||||
R-0h | R-0h | R-0h | R-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | TRGTMODSEL1 | RESERVED | PPSCMD1 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TRGTMODSEL0 | PPSEN0 | PPSCTRL_PPSCMD | ||||
R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved. |
30-29 | RESERVED | R | 0h | Reserved. |
28-27 | RESERVED | R | 0h | Reserved. |
26-24 | RESERVED | R | 0h | Reserved. |
23 | RESERVED | R | 0h | Reserved. |
22-21 | RESERVED | R | 0h | Reserved. |
20-19 | RESERVED | R | 0h | Reserved. |
18-16 | RESERVED | R | 0h | Reserved. |
15 | RESERVED | R | 0h | Reserved. |
14-13 | TRGTMODSEL1 | R/W | 0h | Target Time Register Mode for PPS1 Output This field indicates the Target Time registers (MAC_PPS1_Target_Time_Seconds and MAC_PPS1_Target_Time_Nanoseconds) mode for PPS1 output signal. 0h = Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding ptp_pps_o output port : 0x0 1h = Reserved : 0x1 2h = Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation : 0x2 3h = Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted : 0x3 |
12-11 | RESERVED | R | 0h | Reserved. |
10-8 | PPSCMD1 | R/W | 0h | Flexible PPS1 Output Control This field controls the flexible PPS1 output (ptp_pps_o[1]) signal. This field is similar to the PPSCMD0 field. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. |
7 | RESERVED | R | 0h | Reserved. |
6-5 | TRGTMODSEL0 | R/W | 0h | Target Time Register Mode for PPS0 Output This field indicates the Target Time registers (MAC_PPS0_Target_Time_Seconds and MAC_PPS0_Target_Time_Nanoseconds) mode for PPS0 output signal: 0h = Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding ptp_pps_o output port : 0x0 1h = Reserved : 0x1 2h = Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation : 0x2 3h = Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted : 0x3 |
4 | PPSEN0 | R/W | 0h | Flexible PPS Output Mode Enable When this bit is set, Bits[3:0] function as PPSCMD. When this bit is reset, Bits[3:0] function as PPSCTRL (Fixed PPS mode). 0h = Flexible PPS Output Mode is disabled : 0x0 1h = Flexible PPS Output Mode is enabled : 0x1 |
3-0 | PPSCTRL_PPSCMD | R/W | 0h | PPS Output Frequency Control This field controls the frequency of the PPS0 output (ptp_pps_o[0]) signal. The default value of PPSCTRL is 0000, and the PPS output is 1 pulse (of width clk_ptp_i) every second. For other values of PPSCTRL, the PPS output becomes a generated clock of following frequencies: - 0001: The binary rollover is 2 Hz, and the digital rollover is 1 Hz. - 0010: The binary rollover is 4 Hz, and the digital rollover is 2 Hz. - 0011: The binary rollover is 8 Hz, and the digital rollover is 4 Hz. - 0100: The binary rollover is 16 Hz, and the digital rollover is 8 Hz. - .. - 1111: The binary rollover is 32.768 KHz and the digital rollover is 16.384 KHz. Note: In the binary rollover mode, the PPS output (ptp_pps_o) has a duty cycle of 50 percent with these frequencies. In the digital rollover mode, the PPS output frequency is an average number. The actual clock is of different frequency that gets synchronized every second. For example: - When PPSCTRL = 0001, the PPS (1 Hz) has a low period of 537 ms and a high period of 463 ms - When PPSCTRL = 0010, the PPS (2 Hz) is a sequence of One clock of 50 percent duty cycle and 537 ms period Second clock of 463 ms period (268 ms low and 195 ms high) - When PPSCTRL = 0011, the PPS (4 Hz) is a sequence of Three clocks of 50 percent duty cycle and 268 ms period Fourth clock of 195 ms period (134 ms low and 61 ms high) This behavior is because of the non-linear toggling of bits in the digital rollover mode in the MAC_System_Time_Nanoseconds register. or Flexible PPS Output (ptp_pps_o[0]) Control Programming these bits with a non-zero value instructs the MAC to initiate an event. When the command is transferred or synchronized to the PTP clock domain, these bits get cleared automatically. The software should ensure that these bits are programmed only when they are 'all-zero'. The following list describes the values of PPSCMD0: - 0000: No Command - 0001: START Single Pulse This command generates single pulse rising at the start point defined in Target Time Registers (register 455 and 456) and of a duration defined in the PPS0 Width Register. - 0010: START Pulse Train This command generates the train of pulses rising at the start point defined in the Target Time Registers and of a duration defined in the PPS0 Width Register and repeated at interval defined in the PPS Interval Register. By default, the PPS pulse train is free-running unless stopped by the 'Stop Pulse train at time' or 'Stop Pulse Train immediately' commands. - 0011: Cancel START This command cancels the START Single Pulse and START Pulse Train commands if the system time has not crossed the programmed start time. - 0100: STOP Pulse train at time This command stops the train of pulses initiated by the START Pulse Train command (PPSCMD = 0010) after the time programmed in the Target Time registers elapses. - 0101: STOP Pulse Train immediately This command immediately stops the train of pulses initiated by the START Pulse Train command (PPSCMD = 0010). - 0110: Cancel STOP Pulse train This command cancels the STOP pulse train at time command if the programmed stop time has not elapsed. The PPS pulse train becomes free-running on the successful execution of this command. - 0111-1111: Reserved Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. |
MAC_PPS0_Target_Time_Seconds is shown in Figure 43-229 and described in Table 43-283.
Return to the Summary Table.
The PPS Target Time Seconds register, along with PPS Target Time Nanoseconds register, is used to schedule an interrupt event [Bit 1 of MAC_Timestamp_Status] when the system time exceeds the value programmed in these registers.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSTRH0 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TSTRH0 | R/W | 0h | PPS Target Time Seconds Register This field stores the time in seconds. When the timestamp value matches or exceeds both Target Timestamp registers, the MAC starts or stops the PPS signal output and generates an interrupt (if enabled) based on Target Time mode selected for the corresponding PPS output in the MAC_PPS_Control register. |
MAC_PPS0_Target_Time_Nanoseconds is shown in Figure 43-230 and described in Table 43-284.
Return to the Summary Table.
PPS0 Target Time Nanoseconds register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TRGTBUSY0 | TTSL0 | ||||||
R/W-0h | R/W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TTSL0 | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TTSL0 | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TTSL0 | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | TRGTBUSY0 | R/W | 0h | PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the MAC_PPS_Control register is programmed to 010 or 011. Programming the PPSCMD0 field to 010 or 011 instructs the MAC to synchronize the Target Time Registers to the PTP clock domain. The MAC clears this bit after synchronizing the Target Time Registers to the PTP clock domain The application must not update the Target Time Registers when this bit is read as 1. Otherwise, the synchronization of the previous programmed time gets corrupted. 0h = PPS Target Time Register Busy status is not detected : 0x0 1h = PPS Target Time Register Busy is detected : 0x1 |
30-0 | TTSL0 | R/W | 0h | Target Time Low for PPS Register This register stores the time in (signed) nanoseconds. When the value of the timestamp matches the value in both Target Timestamp registers, the MAC starts or stops the PPS signal output and generates an interrupt (if enabled) based on the TRGTMODSEL0 field (Bits [6:5]) in MAC_PPS_Control. When the TSCTRLSSR bit is reset in the MAC_Timestamp_Control register, this value should be (time in ns / 0.465). The actual start or stop time of the PPS signal output may have an error margin up to one unit of sub-second increment value. When the TSCTRLSSR bit is set in the MAC_Timestamp_Control register, this value should not exceed 0x3B9A_C9FF. The actual start or stop time of the PPS signal output may have an error margin up to one unit of sub-second increment value. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. |
MAC_PPS0_Interval is shown in Figure 43-231 and described in Table 43-285.
Return to the Summary Table.
The PPS0 Interval register contains the number of units of sub-second increment value between the rising edges of PPS0 signal output (ptp_pps_o[0]).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PPSINT0 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | PPSINT0 | R/W | 0h | PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output. The interval is stored in terms of number of units of sub-second increment value. You need to program one value less than the required interval. For example, if the PTP reference clock is 50 MHz (period of 20 ns), and desired interval between the rising edges of PPS0 signal output is 100 ns (that is, 5 units of sub-second increment value), you should program value 4 (5-1) in this register. |
MAC_PPS0_Width is shown in Figure 43-232 and described in Table 43-286.
Return to the Summary Table.
The PPS0 Width register contains the number of units of sub-second increment value between the rising and corresponding falling edges of PPS0 signal output (ptp_pps_o[0]).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PPSWIDTH0 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | PPSWIDTH0 | R/W | 0h | PPS Output Signal Width These bits store the width between the rising edge and corresponding falling edge of PPS0 signal output. The width is stored in terms of number of units of sub-second increment value. You need to program one value less than the required interval. For example, if PTP reference clock is 50 MHz (period of 20 ns), and width between the rising and corresponding falling edges of PPS0 signal output is 80 ns (that is, four units of sub-second increment value), you should program value 3 (4-1) in this register. Note: The value programmed in this register must be lesser than the value programmed in MAC_PPS0_Interval. |
MAC_PPS1_Target_Time_Seconds is shown in Figure 43-233 and described in Table 43-287.
Return to the Summary Table.
The PPS Target Time Seconds register, along with PPS Target Time Nanoseconds register, is used to schedule an interrupt event [Bit 1 of MAC_Timestamp_Status] when the system time exceeds the value programmed in these registers.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TSTRH1 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | TSTRH1 | R/W | 0h | PPS Target Time Seconds Register This field stores the time in seconds. When the timestamp value matches or exceeds both Target Timestamp registers, the MAC starts or stops the PPS signal output and generates an interrupt (if enabled) based on Target Time mode selected for the corresponding PPS output in the MAC_PPS_Control register. |
MAC_PPS1_Target_Time_Nanoseconds is shown in Figure 43-234 and described in Table 43-288.
Return to the Summary Table.
PPS0 Target Time Nanoseconds register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TRGTBUSY1 | TTSL1 | ||||||
R/W-0h | R/W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TTSL1 | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TTSL1 | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TTSL1 | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | TRGTBUSY1 | R/W | 0h | PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the MAC_PPS_Control register is programmed to 010 or 011. Programming the PPSCMD0 field to 010 or 011 instructs the MAC to synchronize the Target Time Registers to the PTP clock domain. The MAC clears this bit after synchronizing the Target Time Registers to the PTP clock domain The application must not update the Target Time Registers when this bit is read as 1. Otherwise, the synchronization of the previous programmed time gets corrupted. 0h = PPS Target Time Register Busy status is not detected : 0x0 1h = PPS Target Time Register Busy is detected : 0x1 |
30-0 | TTSL1 | R/W | 0h | Target Time Low for PPS Register This register stores the time in (signed) nanoseconds. When the value of the timestamp matches the value in both Target Timestamp registers, the MAC starts or stops the PPS signal output and generates an interrupt (if enabled) based on the TRGTMODSEL0 field (Bits [6:5]) in MAC_PPS_Control. When the TSCTRLSSR bit is reset in the MAC_Timestamp_Control register, this value should be (time in ns / 0.465). The actual start or stop time of the PPS signal output may have an error margin up to one unit of sub-second increment value. When the TSCTRLSSR bit is set in the MAC_Timestamp_Control register, this value should not exceed 0x3B9A_C9FF. The actual start or stop time of the PPS signal output may have an error margin up to one unit of sub-second increment value. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. |
MAC_PPS1_Interval is shown in Figure 43-235 and described in Table 43-289.
Return to the Summary Table.
The PPS0 Interval register contains the number of units of sub-second increment value between the rising edges of PPS0 signal output (ptp_pps_o[0]).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PPSINT1 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | PPSINT1 | R/W | 0h | PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output. The interval is stored in terms of number of units of sub-second increment value. You need to program one value less than the required interval. For example, if the PTP reference clock is 50 MHz (period of 20 ns), and desired interval between the rising edges of PPS0 signal output is 100 ns (that is, 5 units of sub-second increment value), you should program value 4 (5-1) in this register. |
MAC_PPS1_Width is shown in Figure 43-236 and described in Table 43-290.
Return to the Summary Table.
The PPS0 Width register contains the number of units of sub-second increment value between the rising and corresponding falling edges of PPS0 signal output (ptp_pps_o[0]).
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PPSWIDTH1 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | PPSWIDTH1 | R/W | 0h | PPS Output Signal Width These bits store the width between the rising edge and corresponding falling edge of PPS0 signal output. The width is stored in terms of number of units of sub-second increment value. You need to program one value less than the required interval. For example, if PTP reference clock is 50 MHz (period of 20 ns), and width between the rising and corresponding falling edges of PPS0 signal output is 80 ns (that is, four units of sub-second increment value), you should program value 3 (4-1) in this register. Note: The value programmed in this register must be lesser than the value programmed in MAC_PPS0_Interval. |
MAC_PTO_Control is shown in Figure 43-237 and described in Table 43-291.
Return to the Summary Table.
This register controls the PTP Offload Engine operation. This register is available only when the Enable PTP Timestamp Offload feature is selected.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
DN | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PDRDIS | DRRDIS | APDREQTRIG | ASYNCTRIG | RESERVED | APDREQEN | ASYNCEN | PTOEN |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-8 | DN | R/W | 0h | Domain Number This field indicates the domain Number in which the PTP node is operating. |
7 | PDRDIS | R/W | 0h | Disable Peer Delay Response response generation When this bit is set, the Peer Delay Response (Pdelay_Resp) response is not be generated for received Peer Delay Request (Pdelay_Req) request packet, as required by the programmed mode. Note: Setting this bit to 1 affects the normal PTP Offload operation and the time synchronization. So, this bit must be set only if there is problem with Pdelay_Resp generation in Hardware and/or Pdelay_Resp generation is handled by Software. 0h = Peer Delay Response response generation is enabled : 0x0 1h = Peer Delay Response response generation is disabled : 0x1 |
6 | DRRDIS | R/W | 0h | Disable PTO Delay Request/Response response generation When this bit is set, the Delay Request and Delay response is not generated for received SYNC and Delay request packet respectively, as required by the programmed mode. 0h = PTO Delay Request/Response response generation is enabled : 0x0 1h = PTO Delay Request/Response response generation is disabled : 0x1 |
5 | APDREQTRIG | R/W | 0h | Automatic PTP Pdelay_Req message Trigger When this bit is set, one PTP Pdelay_Req message is transmitted. This bit is automatically cleared after the PTP Pdelay_Req message is transmitted. The application should set the APDREQEN bit for this operation. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Automatic PTP Pdelay_Req message Trigger is disabled : 0x0 1h = Automatic PTP Pdelay_Req message Trigger is enabled : 0x1 |
4 | ASYNCTRIG | R/W | 0h | Automatic PTP SYNC message Trigger When this bit is set, one PTP SYNC message is transmitted. This bit is automatically cleared after the PTP SYNC message is transmitted. The application should set the ASYNCEN bit for this operation. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Automatic PTP SYNC message Trigger is disabled : 0x0 1h = Automatic PTP SYNC message Trigger is enabled : 0x1 |
3 | RESERVED | R | 0h | Reserved. |
2 | APDREQEN | R/W | 0h | Automatic PTP Pdelay_Req message Enable When this bit is set, PTP Pdelay_Req message is generated periodically based on interval programmed or trigger from application, when the MAC is programmed to be in Peer-to-Peer Transparent mode. 0h = Automatic PTP Pdelay_Req message is disabled : 0x0 1h = Automatic PTP Pdelay_Req message is enabled : 0x1 |
1 | ASYNCEN | R/W | 0h | Automatic PTP SYNC message Enable When this bit is set, PTP SYNC message is generated periodically based on interval programmed or trigger from application, when the MAC is programmed to be in Clock Master mode. 0h = Automatic PTP SYNC message is disabled : 0x0 1h = Automatic PTP SYNC message is enabled : 0x1 |
0 | PTOEN | R/W | 0h | PTP Offload Enable When this bit is set, the PTP Offload feature is enabled. 0h = PTP Offload feature is disabled : 0x0 1h = PTP Offload feature is enabled : 0x1 |
MAC_Source_Port_Identity0 is shown in Figure 43-238 and described in Table 43-292.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SPI0 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | SPI0 | R/W | 0h | Source Port Identity 0 This field indicates bits [31:0] of sourcePortIdentity of PTP node. |
MAC_Source_Port_Identity1 is shown in Figure 43-239 and described in Table 43-293.
Return to the Summary Table.
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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SPI1 | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | SPI1 | R/W | 0h | Source Port Identity 1 This field indicates bits [63:32] of sourcePortIdentity of PTP node. |
MAC_Source_Port_Identity2 is shown in Figure 43-240 and described in Table 43-294.
Return to the Summary Table.
This register contains Bits[79:64] 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.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | SPI2 | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15-0 | SPI2 | R/W | 0h | Source Port Identity 2 This field indicates bits [79:64] of sourcePortIdentity of PTP node. |
MAC_Log_Message_Interval is shown in Figure 43-241 and described in Table 43-295.
Return to the Summary Table.
This register contains the periodic intervals for automatic PTP packet generation. This register is available only when the Enable PTP Timestamp Offload feature is selected.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
LMPDRI | RESERVED | ||||||||||||||
R/W-0h | R-0h | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | DRSYNCR | LSI | |||||||||||||
R-0h | R/W-0h | R/W-0h | |||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | LMPDRI | R/W | 0h | Log Min Pdelay_Req Interval This field indicates logMinPdelayReqInterval of PTP node. This is used to schedule the periodic Pdelay request packet transmission. Allowed values are -15 to 15.Negative value must be represented in 2's-complement form. For example, if the required value is -1, the value programmed must be 0xFF. |
23-11 | RESERVED | R | 0h | Reserved. |
10-8 | DRSYNCR | R/W | 0h | Delay_Req to SYNC Ratio In Slave mode, it is used for controlling frequency of Delay_Req messages transmitted. - 0: DelayReq generated for every received SYNC - 1: DelayReq generated every alternate reception of SYNC - 2: for every 4 SYNC messages - 3: for every 8 SYNC messages - 4: for every 16 SYNC messages - 5: for every 32 SYNC messages - 6-7: Reserved The master sends this information (logMinDelayReqInterval) in the DelayResp PTP messages to the slave. The DWC_ether_qos Receiver processes this value from the received DelayResp messages and updates this field accordingly. In the Slave mode, the host must not write/update this register unless it has to override the received value. In Master mode, the sum of this field and logSyncInterval (LSI) field is provided in the logMinDelayReqInterval field of the generated multicast Delay_Resp PTP message. Access restriction applies. Updated based on the event. Setting 1 sets. Setting 0 clears. 0h = DelayReq generated for every received SYNC : 0x0 1h = DelayReq generated every alternate reception of SYNC : 0x1 2h = for every 4 SYNC messages : 0x2 3h = for every 8 SYNC messages : 0x3 4h = for every 16 SYNC messages : 0x4 5h = for every 32 SYNC messages : 0x5 6h = Reserved : 0x6 |
7-0 | LSI | R/W | 0h | Log Sync Interval This field indicates the periodicity of the automatically generated SYNC message when the PTP node is Master. Allowed values are -15 to 15. Negative value must be represented in 2's-complement form. For example, if the required value is -1, the value programmed must be 0xFF. |
MTL_Operation_Mode is shown in Figure 43-242 and described in Table 43-296.
Return to the Summary Table.
The Operation Mode register establishes the Transmit and Receive operating modes and commands.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | CNTCLR | CNTPRST | |||||
R-0h | R/W-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | SCHALG | RESERVED | RAA | DTXSTS | RESERVED | ||
R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-10 | RESERVED | R | 0h | Reserved. |
9 | CNTCLR | R/W | 0h | Counters Reset When this bit is set, all counters are reset. This bit is cleared automatically after 1 clock cycle. If this bit is set along with CNT_PRESET bit, CNT_PRESET has precedence. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Counters are not reset : 0x0 1h = All counters are reset : 0x1 |
8 | CNTPRST | R/W | 0h | Counters Preset When this bit is set, - MTL_TxQ[0-7]_Underflow register is initialized/preset to 12'h7F0. - Missed Packet and Overflow Packet counters in MTL_RxQ[0-7]_Missed_Packet_Overflow_Cnt register is initialized/preset to 12'h7F0. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Counters Preset is disabled : 0x0 1h = Counters Preset is enabled : 0x1 |
7 | RESERVED | R | 0h | Reserved. |
6-5 | SCHALG | R/W | 0h | Tx Scheduling Algorithm This field indicates the algorithm for Tx scheduling: 0h = WRR algorithm : 0x0 1h = WFQ algorithm when DCB feature is selected.Otherwise, Reserved : 0x1 2h = DWRR algorithm when DCB feature is selected.Otherwise, Reserved : 0x2 3h = Strict priority algorithm : 0x3 |
4-3 | RESERVED | R | 0h | Reserved. |
2 | RAA | R/W | 0h | Receive Arbitration Algorithm This field is used to select the arbitration algorithm for the Rx side. - 0: Strict priority (SP) Queue 0 has the lowest priority and the last queue has the highest priority. - 1: Weighted Strict Priority (WSP) 0h = Strict priority (SP) : 0x0 1h = Weighted Strict Priority (WSP) : 0x1 |
1 | DTXSTS | R/W | 0h | Drop Transmit Status When this bit is set, the Tx packet status received from the MAC is dropped in the MTL. When this bit is reset, the Tx packet status received from the MAC is forwarded to the application. 0h = Drop Transmit Status is disabled : 0x0 1h = Drop Transmit Status is enabled : 0x1 |
0 | RESERVED | R | 0h | Reserved. |
MTL_DBG_CTL is shown in Figure 43-243 and described in Table 43-297.
Return to the Summary Table.
The FIFO Debug Access Control and Status register controls the operation mode of FIFO debug access.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
STSIE | PKTIE | FIFOSEL | FIFOWREN | FIFORDEN | RSTSEL | RSTALL | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PKTSTATE | RESERVED | BYTEEN | DBGMOD | FDBGEN | ||
R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15 | STSIE | R/W | 0h | Transmit Status Available Interrupt Status Enable When this bit is set, an interrupt is generated when Transmit status is available in slave mode. 0h = Transmit Packet Available Interrupt Status is disabled : 0x0 1h = Transmit Packet Available Interrupt Status is enabled : 0x1 |
14 | PKTIE | R/W | 0h | Receive Packet Available Interrupt Status Enable When this bit is set, an interrupt is generated when EOP of received packet is written to the Rx FIFO. 0h = Receive Packet Available Interrupt Status is disabled : 0x0 1h = Receive Packet Available Interrupt Status is enabled : 0x1 |
13-12 | FIFOSEL | R/W | 0h | FIFO Selected for Access This field indicates the FIFO selected for debug access: 0h = Tx FIFO : 0x0 1h = Tx Status FIFO (only read access when SLVMOD is set) : 0x1 2h = TSO FIFO (cannot be accessed when SLVMOD is set) : 0x2 3h = Rx FIFO : 0x3 |
11 | FIFOWREN | R/W | 0h | FIFO Write Enable When this bit is set, it enables the Write operation on selected FIFO when FIFO Debug Access is enabled. This bit must not be written to 1 when FIFO Debug Access is not enabled, that is FDBGEN bit is 0. Access restriction applies. Self-cleared. Setting 0 clears. Setting 1 sets. 0h = FIFO Write is disabled : 0x0 1h = FIFO Write is enabled : 0x1 |
10 | FIFORDEN | R/W | 0h | FIFO Read Enable When this bit is set, it enables the Read operation on selected FIFO when FIFO Debug Access is enabled. This bit must not be written to 1 when FIFO Debug Access is not enabled, that is FDBGEN bit is 0. Access restriction applies. Self-cleared. Setting 0 clears. Setting 1 sets. 0h = FIFO Read is disabled : 0x0 1h = FIFO Read is enabled : 0x1 |
9 | RSTSEL | R/W | 0h | Reset Pointers of Selected FIFO When this bit is set, the pointers of the currently-selected FIFO are reset when FIFO Debug Access is enabled. This bit must not be written to 1 when FIFO Debug Access is not enabled, that is FDBGEN bit is 0. Access restriction applies. Self-cleared. Setting 0 clears. Setting 1 sets. 0h = Reset Pointers of Selected FIFO is disabled : 0x0 1h = Reset Pointers of Selected FIFO is enabled : 0x1 |
8 | RSTALL | R/W | 0h | Reset All Pointers When this bit is set, the pointers of all FIFOs are reset when FIFO Debug Access is enabled. This bit must not be written to 1 when FIFO Debug Access is not enabled, that is FDBGEN bit is 0. Access restriction applies. Self-cleared. Setting 0 clears. Setting 1 sets. 0h = Reset All Pointers is disabled : 0x0 1h = Reset All Pointers is enabled : 0x1 |
7 | RESERVED | R | 0h | Reserved. |
6-5 | PKTSTATE | R/W | 0h | Encoded Packet State This field is used to write the control information to the Tx FIFO or Rx FIFO. Tx FIFO: - 00: Packet Data - 01: Control Word - 10: SOP Data - 11: EOP Data Rx FIFO: - 00: Packet Data - 01: Normal Status - 10: Last Status - 11: EOP 0h = Packet Data : 0x0 1h = Control Word/Normal Status : 0x1 2h = SOP Data/Last Status : 0x2 3h = EOP Data/EOP : 0x3 |
4 | RESERVED | R | 0h | Reserved. |
3-2 | BYTEEN | R/W | 0h | Byte Enables This field indicates the number of data bytes valid in the data register during Write operation. This is valid only when PKTSTATE is 2'b10 (EOP) and Tx FIFO or Rx FIFO is selected. 0h = Byte 0 valid : 0x0 1h = Byte 0 and Byte 1 are valid : 0x1 2h = Byte 0, Byte 1, and Byte 2 are valid : 0x2 3h = All four bytes are valid : 0x3 |
1 | DBGMOD | R/W | 0h | Debug Mode Access to FIFO When this bit is set, it indicates that the current access to the FIFO is read, write, and debug access. In this mode, the following access types are allowed: - Read and Write access to Tx FIFO, TSO FIFO, and Rx FIFO - Read access is allowed to Tx Status FIFO. When this bit is reset, it indicates that the current access to the FIFO is slave access bypassing the DMA. In this mode, the following access are allowed: - Write access to the Tx FIFO - Read access to the Rx FIFO and Tx Status FIFO 0h = Debug Mode Access to FIFO is disabled : 0x0 1h = Debug Mode Access to FIFO is enabled : 0x1 |
0 | FDBGEN | R/W | 0h | FIFO Debug Access Enable When this bit is set, it indicates that the debug mode access to the FIFO is enabled. When this bit is reset, it indicates that the FIFO can be accessed only through a master interface. 0h = FIFO Debug Access is disabled : 0x0 1h = FIFO Debug Access is enabled : 0x1 |
MTL_DBG_STS is shown in Figure 43-244 and described in Table 43-298.
Return to the Summary Table.
The FIFO Debug Status register contains the status of FIFO debug access.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
LOCR | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
LOCR | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
LOCR | RESERVED | STSI | PKTI | ||||
R-0h | R-0h | R/W-0h | R/W-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | BYTEEN | PKTSTATE | FIFOBUSY | ||||
R-0h | R-3h | R-0h | R-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-15 | LOCR | R | 0h | Remaining Locations in the FIFO Slave Access Mode: This field indicates the space available in selected FIFO. Debug Access Mode: This field contains the Write or Read pointer value of the selected FIFO during Write or Read operation, respectively. Reset: In single Tx Queue configurations, (DWC_EQOS_TXFIFO_SIZE/(DWC_EQOS_DATAWIDTH/8)), Otherwise 0000H |
14-10 | RESERVED | R | 0h | Reserved. |
9 | STSI | R/W | 0h | Transmit Status Available Interrupt Status When set, this bit indicates that the Slave mode Tx packet is transmitted, and the status is available in Tx Status FIFO. This bit is reset when 1 is written to this bit. 0h = Transmit Status Available Interrupt Status not detected : 0x0 1h = Transmit Status Available Interrupt Status detected : 0x1 |
8 | PKTI | R/W | 0h | Receive Packet Available Interrupt Status When set, this bit indicates that MAC layer has written the EOP of received packet to the Rx FIFO. This bit is reset when 1 is written to this bit. 0h = Receive Packet Available Interrupt Status not detected : 0x0 1h = Receive Packet Available Interrupt Status detected : 0x1 |
7-5 | RESERVED | R | 0h | Reserved. |
4-3 | BYTEEN | R | 3h | Byte Enables This field indicates the number of data bytes valid in the data register during Read operation. This is valid only when PKTSTATE is 2'b10 (EOP) and Tx FIFO or Rx FIFO is selected. 0h = Byte 0 valid : 0x0 1h = Byte 0 and Byte 1 are valid : 0x1 2h = Byte 0, Byte 1, and Byte 2 are valid : 0x2 3h = All four bytes are valid : 0x3 |
2-1 | PKTSTATE | R | 0h | Encoded Packet State This field is used to get the control or status information of the selected FIFO. Tx FIFO: - 00: Packet Data - 01: Control Word - 10: SOP Data - 11: EOP Data Rx FIFO: - 00: Packet Data - 01: Normal Status - 10: Last Status - 11: EOP This field is applicable only for Tx FIFO and Rx FIFO during Read operation. 0h = Packet Data : 0x0 1h = Control Word/Normal Status : 0x1 2h = SOP Data/Last Status : 0x2 3h = EOP Data/EOP : 0x3 |
0 | FIFOBUSY | R | 0h | FIFO Busy When set, this bit indicates that a FIFO operation is in progress in the MAC and content of the following fields is not valid: - All other fields of this register - All fields of the MTL_FIFO_Debug_Data register 0h = FIFO Busy not detected : 0x0 1h = FIFO Busy detected : 0x1 |
MTL_FIFO_Debug_Data is shown in Figure 43-245 and described in Table 43-299.
Return to the Summary Table.
The FIFO Debug Data register contains the data to be written to or read from the FIFOs.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
FDBGDATA | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | FDBGDATA | R/W | 0h | FIFO Debug Data During debug or slave access write operation, this field contains the data to be written to the Tx FIFO, Rx FIFO, or TSO FIFO. During debug or slave access read operation, this field contains the data read from the Tx FIFO, Rx FIFO, TSO FIFO, or Tx Status FIFO. |
MTL_Interrupt_Status is shown in Figure 43-246 and described in Table 43-300.
Return to the Summary Table.
The software driver (application) reads this register during interrupt service routine or polling to determine the interrupt status of MTL queues and the MAC.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RESERVED | DBGIS | RESERVED | ||||
R-0h | R-0h | R-0h | R-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RESERVED | RESERVED | RESERVED | RESERVED | RESERVED | Q1IS | Q0IS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-19 | RESERVED | R | 0h | Reserved. |
18 | RESERVED | R | 0h | Reserved. |
17 | DBGIS | R | 0h | Debug Interrupt status This bit indicates an interrupt event during the slave access. To reset this bit, the application must read the FIFO Debug Access Status register to get the exact cause of the interrupt and clear its source. 0h = Debug Interrupt status not detected : 0x0 1h = Debug Interrupt status detected : 0x1 |
16 | RESERVED | R | 0h | Reserved. |
15-8 | RESERVED | R | 0h | Reserved. |
7 | RESERVED | R | 0h | Reserved. |
6 | RESERVED | R | 0h | Reserved. |
5 | RESERVED | R | 0h | Reserved. |
4 | RESERVED | R | 0h | Reserved. |
3 | RESERVED | R | 0h | Reserved. |
2 | RESERVED | R | 0h | Reserved. |
1 | Q1IS | R | 0h | Queue 1 Interrupt status This bit indicates that there is an interrupt from Queue 1. To reset this bit, the application must read the MTL_Q1_Interrupt_Control_Status register to get the exact cause of the interrupt and clear its source. 0h = Queue 1 Interrupt status not detected : 0x0 1h = Queue 1 Interrupt status detected : 0x1 |
0 | Q0IS | R | 0h | Queue 0 Interrupt status This bit indicates that there is an interrupt from Queue 0. To reset this bit, the application must read Queue 0 Interrupt Control and Status register to get the exact cause of the interrupt and clear its source. 0h = Queue 0 Interrupt status not detected : 0x0 1h = Queue 0 Interrupt status detected : 0x1 |
MTL_RxQ_DMA_Map0 is shown in Figure 43-247 and described in Table 43-301.
Return to the Summary Table.
The Receive Queue and DMA Channel Mapping 0 register is reserved in EQOS-CORE and EQOS-MTL configurations.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RESERVED | RESERVED | RESERVED | ||||
R-0h | R-0h | R-0h | R-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RESERVED | RESERVED | RESERVED | ||||
R-0h | R-0h | R-0h | R-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | Q1DDMACH | RESERVED | Q1MDMACH | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | Q0DDMACH | RESERVED | Q0MDMACH | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | RESERVED | R | 0h | Reserved. |
27-25 | RESERVED | R | 0h | Reserved. |
24 | RESERVED | R | 0h | Reserved. |
23-21 | RESERVED | R | 0h | Reserved. |
20 | RESERVED | R | 0h | Reserved. |
19-17 | RESERVED | R | 0h | Reserved. |
16 | RESERVED | R | 0h | Reserved. |
15-13 | RESERVED | R | 0h | Reserved. |
12 | Q1DDMACH | R/W | 0h | Queue 1 Enabled for DA-based DMA Channel Selection When set, this bit indicates that the packets received in Queue 1 are routed to a particular DMA channel as decided in the MAC Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the Ethernet DA address. When reset, this bit indicates that the packets received in Queue 1 are routed to the DMA Channel programmed in the Q1MDMACH field (Bits[10:8]). 0h = Queue 1 disabled for DA-based DMA Channel Selection : 0x0 1h = Queue 1 enabled for DA-based DMA Channel Selection : 0x1 |
11-9 | RESERVED | R | 0h | Reserved. |
8 | Q1MDMACH | R/W | 0h | Queue 1 Mapped to DMA Channel This field controls the routing of the received packet in Queue 1 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2 - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: DMA Channel 5 - 110: DMA Channel 6 - 111: DMA Channel 7 This field is valid when the Q1DDMACH field is reset. The width of this field depends on the number of RX DMA channels and not all the values may be valid in some configurations. For example, if the number of RX DMA channels selected is 2, only 000 and 001 are valid, the other bits are reserved. |
7-5 | RESERVED | R | 0h | Reserved. |
4 | Q0DDMACH | R/W | 0h | Queue 0 Enabled for DA-based DMA Channel Selection When set, this bit indicates that the packets received in Queue 0 are routed to a particular DMA channel as decided in the MAC Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the Ethernet DA address. When reset, this bit indicates that the packets received in Queue 0 are routed to the DMA Channel programmed in the Q0MDMACH field. 0h = Queue 0 disabled for DA-based DMA Channel Selection : 0x0 1h = Queue 0 enabled for DA-based DMA Channel Selection : 0x1 |
3-1 | RESERVED | R | 0h | Reserved. |
0 | Q0MDMACH | R/W | 0h | Queue 0 Mapped to DMA Channel This field controls the routing of the packet received in Queue 0 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2 - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: DMA Channel 5 - 110: DMA Channel 6 - 111: DMA Channel 7 This field is valid when the Q0DDMACH field is reset. The width of this field depends on the number of RX DMA channels and not all the values may be valid in some configurations. For example, if the number of RX DMA channels selected is 2, only 000 and 001 are valid, the other bits are reserved. |
MTL_TxQ0_Operation_Mode is shown in Figure 43-248 and described in Table 43-302.
Return to the Summary Table.
The Queue 0 Transmit Operation Mode register establishes the Transmit queue operating modes and commands.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | TQS | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TTC | TXQEN | TSF | FTQ | |||||||||||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-20 | RESERVED | R | 0h | Reserved. |
19-16 | TQS | R/W | 0h | Transmit Queue Size This field indicates the size of the allocated Transmit queues in blocks of 256 bytes. The TQS field is read-write only if the number of Tx Queues more than one, the reset value is 0x0 and indicates size of 256 bytes. When the number of Tx Queues is one, the field is read-only and the configured TX FIFO size in blocks of 256 bytes is reflected in the reset value. The width of this field depends on the Tx memory size selected in your configuration. For example, if the memory size is 2048, the width of this field is 3 bits: LOG2(2048/256) = LOG2(8) = 3 bits |
15-7 | RESERVED | R | 0h | Reserved. |
6-4 | TTC | R/W | 0h | Transmit Threshold Control These bits control the threshold level of the MTL Tx Queue. The transmission starts when the packet size within the MTL Tx Queue is larger than the threshold. In addition, full packets with length less than the threshold are also transmitted. These bits are used only when the TSF bit is reset. 0h = 32 : 0x0 1h = 64 : 0x1 2h = 96 : 0x2 3h = 128 : 0x3 4h = 192 : 0x4 5h = 256 : 0x5 6h = 384 : 0x6 7h = 512 : 0x7 |
3-2 | TXQEN | R/W | 0h | Transmit Queue Enable This field is used to enable/disable the transmit queue 0. - 2'b00: Not enabled - 2'b01: Reserved - 2'b10: Enabled - 2'b11: Reserved This field is Read Only in Single Queue configurations and Read Write in Multiple Queue configurations. Note: In multiple Tx queues configuration, all the queues are disabled by default. Enable the Tx queue by programming this field. 0h = Not enabled : 0x0 1h = Enable in AV mode(Reserved in non-AV) : 0x1 2h = Enabled : 0x2 3h = Reserved : 0x3 |
1 | TSF | R/W | 0h | Transmit Store and Forward When this bit is set, the transmission starts when a full packet resides in the MTL Tx queue. When this bit is set, the TTC values specified in Bits[6:4] of this register are ignored. This bit should be changed only when the transmission is stopped. 0h = Transmit Store and Forward is disabled : 0x0 1h = Transmit Store and Forward is enabled : 0x1 |
0 | FTQ | R/W | 0h | Flush Transmit Queue When this bit is set, the Tx queue controller logic is reset to its default values. Therefore, all the data in the Tx queue is lost or flushed. This bit is internally reset when the flushing operation is complete. Until this bit is reset, you should not write to the MTL_TxQ1_Operation_Mode register. The data which is already accepted by the MAC transmitter is not flushed. It is scheduled for transmission and results in underflow and runt packet transmission. Note: The flush operation is complete only when the Tx queue is empty and the application has accepted the pending Tx Status of all transmitted packets. To complete this flush operation, the PHY Tx clock (clk_tx_i) should be active. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Flush Transmit Queue is disabled : 0x0 1h = Flush Transmit Queue is enabled : 0x1 |
MTL_TxQ0_Underflow is shown in Figure 43-249 and described in Table 43-303.
Return to the Summary Table.
The Queue 0 Underflow Counter register contains the counter for packets aborted because of Transmit queue underflow and packets missed because of Receive queue packet flush
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | UFCNTOVF | UFFRMCNT | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
UFFRMCNT | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-12 | RESERVED | R | 0h | Reserved. |
11 | UFCNTOVF | R | 0h | Overflow Bit for Underflow Packet Counter This bit is set every time the Tx queue Underflow Packet Counter field overflows, that is, it has crossed the maximum count. In such a scenario, the overflow packet counter is reset to all-zeros and this bit indicates that the rollover happened. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = Overflow not detected for Underflow Packet Counter : 0x0 1h = Overflow detected for Underflow Packet Counter : 0x1 |
10-0 | UFFRMCNT | R | 0h | Underflow Packet Counter This field indicates the number of packets aborted by the controller because of Tx Queue Underflow. This counter is incremented each time the MAC aborts outgoing packet because of underflow. The counter is cleared when this register is read with mci_be_i[0] at 1'b1. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
MTL_TxQ0_Debug is shown in Figure 43-250 and described in Table 43-304.
Return to the Summary Table.
The Queue 0 Transmit Debug register gives the debug status of various blocks related to the Transmit queue.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | STXSTSF | RESERVED | PTXQ | ||||
R-0h | R-0h | R-0h | R-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TXSTSFSTS | TXQSTS | TWCSTS | TRCSTS | TXQPAUSED | ||
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-23 | RESERVED | R | 0h | Reserved. |
22-20 | STXSTSF | R | 0h | Number of Status Words in Tx Status FIFO of Queue This field indicates the current number of status in the Tx Status FIFO of this queue. When the DTXSTS bit of MTL_Operation_Mode register is set to 1, this field does not reflect the number of status words in Tx Status FIFO. |
19 | RESERVED | R | 0h | Reserved. |
18-16 | PTXQ | R | 0h | Number of Packets in the Transmit Queue This field indicates the current number of packets in the Tx Queue. When the DTXSTS bit of MTL_Operation_Mode register is set to 1, this field does not reflect the number of packets in the Transmit queue. |
15-6 | RESERVED | R | 0h | Reserved. |
5 | TXSTSFSTS | R | 0h | MTL Tx Status FIFO Full Status When high, this bit indicates that the MTL Tx Status FIFO is full. Therefore, the MTL cannot accept any more packets for transmission. 0h = MTL Tx Status FIFO Full status is not detected : 0x0 1h = MTL Tx Status FIFO Full status is detected : 0x1 |
4 | TXQSTS | R | 0h | MTL Tx Queue Not Empty Status When this bit is high, it indicates that the MTL Tx Queue is not empty and some data is left for transmission. 0h = MTL Tx Queue Not Empty status is not detected : 0x0 1h = MTL Tx Queue Not Empty status is detected : 0x1 |
3 | TWCSTS | R | 0h | MTL Tx Queue Write Controller Status When high, this bit indicates that the MTL Tx Queue Write Controller is active, and it is transferring the data to the Tx Queue. 0h = MTL Tx Queue Write Controller status is not detected : 0x0 1h = MTL Tx Queue Write Controller status is detected : 0x1 |
2-1 | TRCSTS | R | 0h | MTL Tx Queue Read Controller Status This field indicates the state of the Tx Queue Read Controller: 0h = Idle state : 0x0 1h = Read state (transferring data to the MAC transmitter) : 0x1 2h = Waiting for pending Tx Status from the MAC transmitter : 0x2 3h = Flushing the Tx queue because of the Packet Abort request from the MAC : 0x3 |
0 | TXQPAUSED | R | 0h | Transmit Queue in Pause When this bit is high and the Rx flow control is enabled, it indicates that the Tx Queue is in the Pause condition (in the full-duplex only mode) because of the following: - Reception of the PFC packet for the priorities assigned to the Tx Queue when PFC is enabled - Reception of 802.3x Pause packet when PFC is disabled 0h = Transmit Queue in Pause status is not detected : 0x0 1h = Transmit Queue in Pause status is detected : 0x1 |
MTL_TxQ0_ETS_Status is shown in Figure 43-251 and described in Table 43-305.
Return to the Summary Table.
The Queue 0 ETS Status register provides the average traffic transmitted in Queue 0.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ABS | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | RESERVED | R | 0h | Reserved. |
23-0 | ABS | R | 0h | Average Bits per Slot This field contains the average transmitted bits per slot. When the DCB operation is enabled for Queue 0, this field is computed over every 10 million bit times slot (4 ms in 2500 Mbps 10 ms in 1000 Mbps 100 ms in 100 Mbps). The maximum value is 0x989680. |
MTL_TxQ0_Quantum_Weight is shown in Figure 43-252 and described in Table 43-306.
Return to the Summary Table.
The Queue 0 Quantum or Weights register contains the quantum value for Deficit Weighted Round Robin (DWRR), weights for the Weighted Round Robin (WRR), and Weighted Fair Queuing (WFQ) for Queue 0.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ISCQW | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-21 | RESERVED | R | 0h | Reserved. |
20-0 | ISCQW | R/W | 0h | Quantum or Weights When the DCB operation is enabled with DWRR algorithm for Queue 0 traffic, this field contains the quantum value in bytes to be added to credit during every queue scanning cycle. The maximum value is 0x1312D0 bytes. When DCB operation is enabled with WFQ algorithm for Queue 0 traffic, this field contains the weight for this queue. The maximum value is 0x3FFF where weight of 0 indicates 100% bandwidth. Bits[20:14] must be written to zero. The higher the programmed weights lesser the bandwidth allocated for the particular Transmit Queue. This is because the weights are used to compute the packet finish time (weights*packet_size). Lesser the finish time, higher the probability of the packet getting scheduled first and using more bandwidth. When DCB operation or generic queuing operation is enabled with WRR algorithm for Queue 0 traffic, this field contains the weight for this queue. The maximum value is 0x64. Bits [20:7] must be written to zero. |
MTL_Q0_Interrupt_Control_Status is shown in Figure 43-253 and described in Table 43-307.
Return to the Summary Table.
This register contains the interrupt enable and status bits for the queue 0 interrupts.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RXOIE | ||||||
R-0h | R/W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RXOVFIS | ||||||
R-0h | R/W-0h | ||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | ABPSIE | TXUIE | |||||
R-0h | R/W-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ABPSIS | TXUNFIS | |||||
R-0h | R/W-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-25 | RESERVED | R | 0h | Reserved. |
24 | RXOIE | R/W | 0h | Receive Queue Overflow Interrupt Enable When this bit is set, the Receive Queue Overflow interrupt is enabled. When this bit is reset, the Receive Queue Overflow interrupt is disabled. 0h = Receive Queue Overflow Interrupt is disabled : 0x0 1h = Receive Queue Overflow Interrupt is enabled : 0x1 |
23-17 | RESERVED | R | 0h | Reserved. |
16 | RXOVFIS | R/W | 0h | Receive Queue Overflow Interrupt Status This bit indicates that the Receive Queue had an overflow while receiving the packet. If a partial packet is transferred to the application, the overflow status is set in RDES3[21]. This bit is cleared when the application writes 1 to this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Queue Overflow Interrupt Status not detected : 0x0 1h = Receive Queue Overflow Interrupt Status detected : 0x1 |
15-10 | RESERVED | R | 0h | Reserved. |
9 | ABPSIE | R/W | 0h | Average Bits Per Slot Interrupt Enable When this bit is set, the MAC asserts the sbd_intr_o or mci_intr_o interrupt when the average bits per slot status is updated. When this bit is cleared, the interrupt is not asserted for such an event. 0h = Average Bits Per Slot Interrupt is disabled : 0x0 1h = Average Bits Per Slot Interrupt is enabled : 0x1 |
8 | TXUIE | R/W | 0h | Transmit Queue Underflow Interrupt Enable When this bit is set, the Transmit Queue Underflow interrupt is enabled. When this bit is reset, the Transmit Queue Underflow interrupt is disabled. 0h = Transmit Queue Underflow Interrupt Status is disabled : 0x0 1h = Transmit Queue Underflow Interrupt Status is enabled : 0x1 |
7-2 | RESERVED | R | 0h | Reserved. |
1 | ABPSIS | R/W | 0h | Average Bits Per Slot Interrupt Status When set, this bit indicates that the MAC has updated the ABS value. This bit is cleared when the application writes 1 to this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Average Bits Per Slot Interrupt Status not detected : 0x0 1h = Average Bits Per Slot Interrupt Status detected : 0x1 |
0 | TXUNFIS | R/W | 0h | Transmit Queue Underflow Interrupt Status This bit indicates that the Transmit Queue had an underflow while transmitting the packet. Transmission is suspended and an Underflow Error TDES3[2] is set. This bit is cleared when the application writes 1 to this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Queue Underflow Interrupt Status not detected : 0x0 1h = Transmit Queue Underflow Interrupt Status detected : 0x1 |
MTL_RxQ0_Operation_Mode is shown in Figure 43-254 and described in Table 43-308.
Return to the Summary Table.
The Queue 0 Receive Operation Mode register establishes the Receive queue operating modes and command.
The RFA and RFD fields are not backward compatible with the RFA and RFD fields of 4.00a release
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RQS | RESERVED | RFD | |||||
R/W-0h | R-0h | R/W-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RFD | RESERVED | RFA | |||||
R/W-0h | R-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
EHFC | DIS_TCP_EF | RSF | FEP | FUP | RESERVED | RTC | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | RESERVED | R | 0h | Reserved. |
23-20 | RQS | R/W | 0h | Receive Queue Size This field indicates the size of the allocated Receive queues in blocks of 256 bytes. The RQS field is read-write only if the number of Rx Queues more than one, the reset value is 0x0 and indicates size of 256 bytes. When the number of Rx Queues is one, the field is read-only and the configured RX FIFO size in blocks of 256 bytes is reflected in the reset value. The width of this field depends on the Rx memory size selected in your configuration. For example, if the memory size is 2048, the width of this field is 3 bits: LOG2(2048/256) = LOG2(8) = 3 bits |
19-17 | RESERVED | R | 0h | Reserved. |
16-14 | RFD | R/W | 0h | Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes) These bits control the threshold (fill-level of Rx queue) at which the flow control is de-asserted after activation: - 0: Full minus 1 KB, that is, FULL 1 KB - 1: Full minus 1.5 KB, that is, FULL 1.5 KB - 2: Full minus 2 KB, that is, FULL 2 KB - 3: Full minus 2.5 KB, that is, FULL 2.5 KB - ... - 6: Full minus 4 KB, that is, FULL 4 KB - 7: Full minus 4.5 KB, that is, FULL 4.5 KB The de-assertion is effective only after flow control is asserted. Note: The value must be programmed in such a way to make sure that the threshold is a positive number. When the EHFC is set high, these values are applicable only when the Rx queue size determined by the RQS field of this register, is equal to or greater than 4 KB. For a given queue size, the values ranges between 0 and the encoding for FULL minus (QSIZE - 0.5 KB) and all other values are illegal. Here the term FULL and QSIZE refers to the queue size determined by the RQS field of this register. The width of this field depends on RX FIFO size selected during the configuration. Remaining bits are reserved and read only. |
13-11 | RESERVED | R | 0h | Reserved. |
10-8 | RFA | R/W | 0h | Threshold for Activating Flow Control (in half-duplex and full-duplex These bits control the threshold (fill-level of Rx queue) at which the flow control is activated: For more information on encoding for this field, see RFD. |
7 | EHFC | R/W | 0h | Enable Hardware Flow Control When this bit is set, the flow control signal operation, based on the fill-level of Rx queue, is enabled. When reset, the flow control operation is disabled. 0h = Hardware Flow Control is disabled : 0x0 1h = Hardware Flow Control is enabled : 0x1 |
6 | DIS_TCP_EF | R/W | 0h | Disable Dropping of TCP/IP Checksum Error Packets When this bit is set, the MAC does not drop the packets which only have the errors detected by the Receive Checksum Offload engine. Such packets have errors only in the encapsulated payload. There are no errors (including FCS error) in the Ethernet packet received by the MAC. When this bit is reset, all error packets are dropped if the FEP bit is reset. 0h = Dropping of TCP/IP Checksum Error Packets is enabled : 0x0 1h = Dropping of TCP/IP Checksum Error Packets is disabled : 0x1 |
5 | RSF | R/W | 0h | Receive Queue Store and Forward When this bit is set, the DWC_ether_qos reads a packet from the Rx queue only after the complete packet has been written to it, ignoring the RTC field of this register. When this bit is reset, the Rx queue operates in the Threshold (cut-through) mode, subject to the threshold specified by the RTC field of this register. 0h = Receive Queue Store and Forward is disabled : 0x0 1h = Receive Queue Store and Forward is enabled : 0x1 |
4 | FEP | R/W | 0h | Forward Error Packets When this bit is reset, the Rx queue drops packets with error status (CRC error, GMII_ER, watchdog timeout, or overflow). However, if the start byte (write) pointer of a packet is already transferred to the read controller side (in Threshold mode), the packet is not dropped. When this bit is set, all packets except the runt error packets are forwarded to the application or DMA. If the RSF bit is set and the Rx queue overflows when a partial packet is written, the packet is dropped irrespective of the setting of this bit. However, if the RSF bit is reset and the Rx queue overflows when a partial packet is written, a partial packet may be forwarded to the application or DMA. 0h = Forward Error Packets is disabled : 0x0 1h = Forward Error Packets is enabled : 0x1 |
3 | FUP | R/W | 0h | Forward Undersized Good Packets When this bit is set, the Rx queue forwards the undersized good packets (packets with no error and length less than 64 bytes), including pad-bytes and CRC. When this bit is reset, the Rx queue drops all packets of less than 64 bytes, unless a packet is already transferred because of the lower value of Rx Threshold, for example, RTC = 01. 0h = Forward Undersized Good Packets is disabled : 0x0 1h = Forward Undersized Good Packets is enabled : 0x1 |
2 | RESERVED | R | 0h | Reserved. |
1-0 | RTC | R/W | 0h | Receive Queue Threshold Control These bits control the threshold level of the MTL Rx queue (in bytes): The received packet is transferred to the application or DMA when the packet size within the MTL Rx queue is larger than the threshold. In addition, full packets with length less than the threshold are automatically transferred. This field is valid only when the RSF bit is zero. This field is ignored when the RSF bit is set to 1. 0h = 64 : 0x0 1h = 32 : 0x1 2h = 96 : 0x2 3h = 128 : 0x3 |
MTL_RxQ0_Missed_Packet_Overflow_Cnt is shown in Figure 43-255 and described in Table 43-309.
Return to the Summary Table.
The Queue 0 Missed Packet and Overflow Counter register contains the counter for packets missed because of Receive queue packet flush and packets discarded because of Receive queue overflow.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | MISCNTOVF | MISPKTCNT | |||||
R-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
MISPKTCNT | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | OVFCNTOVF | OVFPKTCNT | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OVFPKTCNT | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | MISCNTOVF | R | 0h | Missed Packet Counter Overflow Bit When set, this bit indicates that the Rx Queue Missed Packet Counter crossed the maximum limit. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = Missed Packet Counter overflow not detected : 0x0 1h = Missed Packet Counter overflow detected : 0x1 |
26-16 | MISPKTCNT | R | 0h | Missed Packet Counter This field indicates the number of packets missed by the DWC_ether_qos because the application asserted ari_pkt_flush_i[] for this queue. This counter is reset when this register is read with mci_be_i[0] at 1b1. This counter is incremented by 1 when the DMA discards the packet because of buffer unavailability. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
15-12 | RESERVED | R | 0h | Reserved. |
11 | OVFCNTOVF | R | 0h | Overflow Counter Overflow Bit When set, this bit indicates that the Rx Queue Overflow Packet Counter field crossed the maximum limit. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = Overflow Counter overflow not detected : 0x0 1h = Overflow Counter overflow detected : 0x1 |
10-0 | OVFPKTCNT | R | 0h | Overflow Packet Counter This field indicates the number of packets discarded by the DWC_ether_qos because of Receive queue overflow. This counter is incremented each time the DWC_ether_qos discards an incoming packet because of overflow. This counter is reset when this register is read with mci_be_i[0] at 1'b1. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
MTL_RxQ0_Debug is shown in Figure 43-256 and described in Table 43-310.
Return to the Summary Table.
The Queue 0 Receive Debug register gives the debug status of various blocks related to the Receive queue.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | PRXQ | ||||||
R-0h | R-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
PRXQ | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RXQSTS | RESERVED | RRCSTS | RWCSTS | |||
R-0h | R-0h | R-0h | R-0h | R-0h | |||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-30 | RESERVED | R | 0h | Reserved. |
29-16 | PRXQ | R | 0h | Number of Packets in Receive Queue This field indicates the current number of packets in the Rx Queue. The theoretical maximum value for this field is 256KB/16B = 16K Packets, that is, Max_Queue_Size/Min_Packet_Size. |
15-6 | RESERVED | R | 0h | Reserved. |
5-4 | RXQSTS | R | 0h | MTL Rx Queue Fill-Level Status This field gives the status of the fill-level of the Rx Queue: 0h = Rx Queue empty : 0x0 1h = Rx Queue fill-level below flow-control deactivate threshold : 0x1 2h = Rx Queue fill-level above flow-control activate threshold : 0x2 3h = Rx Queue full : 0x3 |
3 | RESERVED | R | 0h | Reserved. |
2-1 | RRCSTS | R | 0h | MTL Rx Queue Read Controller State This field gives the state of the Rx queue Read controller: 0h = Idle state : 0x0 1h = Reading packet data : 0x1 2h = Reading packet status (or timestamp) : 0x2 3h = Flushing the packet data and status : 0x3 |
0 | RWCSTS | R | 0h | MTL Rx Queue Write Controller Active Status When high, this bit indicates that the MTL Rx queue Write controller is active, and it is transferring a received packet to the Rx Queue. 0h = MTL Rx Queue Write Controller Active Status not detected : 0x0 1h = MTL Rx Queue Write Controller Active Status detected : 0x1 |
MTL_RxQ0_Control is shown in Figure 43-257 and described in Table 43-311.
Return to the Summary Table.
The Queue Receive Control register controls the receive arbitration and passing of received packets to the application.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RXQ_FRM_ARBIT | RXQ_WEGT | |||||
R-0h | R/W-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved. |
3 | RXQ_FRM_ARBIT | R/W | 0h | Receive Queue Packet Arbitration When this bit is set, the DWC_ether_qos drives the packet data to the ARI interface such that the entire packet data of currently-selected queue is transmitted before switching to other queue. When this bit is reset, the DWC_ether_qos drives the packet data to the ARI interface such that the following amount of data of currently-selected queue is transmitted before switching to other queue: - PBL amount of data (indicated by ari_qN_pbl_i[]) or - Complete data of a packet The status and the timestamp are not a part of the PBL data. Therefore, the DWC_ether_qos drives the complete status (including timestamp status) during first PBL request for the packet (in store-and-forward mode) or the last PBL request for the packet (in Threshold mode). 0h = Receive Queue Packet Arbitration is disabled : 0x0 1h = Receive Queue Packet Arbitration is enabled : 0x1 |
2-0 | RXQ_WEGT | R/W | 0h | Receive Queue Weight This field indicates the weight assigned to the Rx Queue 0. The weight is used as the number of continuous PBL or packets requests (depending on the RXQ_FRM_ARBIT) allocated to the queue in one arbitration cycle. |
MTL_TxQ1_Operation_Mode is shown in Figure 43-258 and described in Table 43-312.
Return to the Summary Table.
The Queue 1 Transmit Operation Mode register establishes the Transmit queue operating modes and commands.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | TQS | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TTC | TXQEN | TSF | FTQ | |||||||||||
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-20 | RESERVED | R | 0h | Reserved. |
19-16 | TQS | R/W | 0h | Transmit Queue Size This field indicates the size of the allocated Transmit queues in blocks of 256 bytes. The TQS field is read-write only if the number of Tx Queues more than one, the reset value is 0x0 and indicates size of 256 bytes. When the number of Tx Queues is one, the field is read-only and the configured TX FIFO size in blocks of 256 bytes is reflected in the reset value. The width of this field depends on the Tx memory size selected in your configuration. For example, if the memory size is 2048, the width of this field is 3 bits: LOG2(2048/256) = LOG2(8) = 3 bits |
15-7 | RESERVED | R | 0h | Reserved. |
6-4 | TTC | R/W | 0h | Transmit Threshold Control These bits control the threshold level of the MTL Tx Queue. The transmission starts when the packet size within the MTL Tx Queue is larger than the threshold. In addition, full packets with length less than the threshold are also transmitted. These bits are used only when the TSF bit is reset. 0h = 32 : 0x0 1h = 64 : 0x1 2h = 96 : 0x2 3h = 128 : 0x3 4h = 192 : 0x4 5h = 256 : 0x5 6h = 384 : 0x6 7h = 512 : 0x7 |
3-2 | TXQEN | R/W | 0h | Transmit Queue Enable This field is used to enable/disable the transmit queue 0. - 2'b00: Not enabled - 2'b01: Reserved - 2'b10: Enabled - 2'b11: Reserved Note: In multiple Tx queues configuration, all the queues are disabled by default. Enable the Tx queue by programming this field. 0h = Not enabled : 0x0 1h = Enable in AV mode(Reserved in non-AV) : 0x1 2h = Enabled : 0x2 3h = Reserved : 0x3 |
1 | TSF | R/W | 0h | Transmit Store and Forward When this bit is set, the transmission starts when a full packet resides in the MTL Tx queue. When this bit is set, the TTC values specified in Bits[6:4] of this register are ignored. This bit should be changed only when the transmission is stopped. 0h = Transmit Store and Forward is disabled : 0x0 1h = Transmit Store and Forward is enabled : 0x1 |
0 | FTQ | R/W | 0h | Flush Transmit Queue When this bit is set, the Tx queue controller logic is reset to its default values. Therefore, all the data in the Tx queue is lost or flushed. This bit is internally reset when the flushing operation is complete. Until this bit is reset, you should not write to the MTL_TxQ1_Operation_Mode register. The data which is already accepted by the MAC transmitter is not flushed. It is scheduled for transmission and results in underflow and runt packet transmission. Note: The flush operation is complete only when the Tx queue is empty and the application has accepted the pending Tx Status of all transmitted packets. To complete this flush operation, the PHY Tx clock (clk_tx_i) should be active. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Flush Transmit Queue is disabled : 0x0 1h = Flush Transmit Queue is enabled : 0x1 |
MTL_TxQ1_Underflow is shown in Figure 43-259 and described in Table 43-313.
Return to the Summary Table.
The Queue 1 Underflow Counter register contains the counter for packets aborted because of Transmit queue underflow and packets missed because of Receive queue packet flush
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | UFCNTOVF | UFFRMCNT | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
UFFRMCNT | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-12 | RESERVED | R | 0h | Reserved. |
11 | UFCNTOVF | R | 0h | Overflow Bit for Underflow Packet Counter This bit is set every time the Tx queue Underflow Packet Counter field overflows, that is, it has crossed the maximum count. In such a scenario, the overflow packet counter is reset to all-zeros and this bit indicates that the rollover happened. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = Overflow not detected for Underflow Packet Counter : 0x0 1h = Overflow detected for Underflow Packet Counter : 0x1 |
10-0 | UFFRMCNT | R | 0h | Underflow Packet Counter This field indicates the number of packets aborted by the controller because of Tx Queue Underflow. This counter is incremented each time the MAC aborts outgoing packet because of underflow. The counter is cleared when this register is read with mci_be_i[0] at 1'b1. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
MTL_TxQ1_Debug is shown in Figure 43-260 and described in Table 43-314.
Return to the Summary Table.
The Queue 1 Transmit Debug register gives the debug status of various blocks related to the Transmit queue.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | STXSTSF | RESERVED | PTXQ | ||||
R-0h | R-0h | R-0h | R-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TXSTSFSTS | TXQSTS | TWCSTS | TRCSTS | TXQPAUSED | ||
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-23 | RESERVED | R | 0h | Reserved. |
22-20 | STXSTSF | R | 0h | Number of Status Words in Tx Status FIFO of Queue This field indicates the current number of status in the Tx Status FIFO of this queue. When the DTXSTS bit of MTL_Operation_Mode register is set to 1, this field does not reflect the number of status words in Tx Status FIFO. |
19 | RESERVED | R | 0h | Reserved. |
18-16 | PTXQ | R | 0h | Number of Packets in the Transmit Queue This field indicates the current number of packets in the Tx Queue. When the DTXSTS bit of MTL_Operation_Mode register is set to 1, this field does not reflect the number of packets in the Transmit queue. |
15-6 | RESERVED | R | 0h | Reserved. |
5 | TXSTSFSTS | R | 0h | MTL Tx Status FIFO Full Status When high, this bit indicates that the MTL Tx Status FIFO is full. Therefore, the MTL cannot accept any more packets for transmission. 0h = MTL Tx Status FIFO Full status is not detected : 0x0 1h = MTL Tx Status FIFO Full status is detected : 0x1 |
4 | TXQSTS | R | 0h | MTL Tx Queue Not Empty Status When this bit is high, it indicates that the MTL Tx Queue is not empty and some data is left for transmission. 0h = MTL Tx Queue Not Empty status is not detected : 0x0 1h = MTL Tx Queue Not Empty status is detected : 0x1 |
3 | TWCSTS | R | 0h | MTL Tx Queue Write Controller Status When high, this bit indicates that the MTL Tx Queue Write Controller is active, and it is transferring the data to the Tx Queue. 0h = MTL Tx Queue Write Controller status is not detected : 0x0 1h = MTL Tx Queue Write Controller status is detected : 0x1 |
2-1 | TRCSTS | R | 0h | MTL Tx Queue Read Controller Status This field indicates the state of the Tx Queue Read Controller: 0h = Idle state : 0x0 1h = Read state (transferring data to the MAC transmitter) : 0x1 2h = Waiting for pending Tx Status from the MAC transmitter : 0x2 3h = Flushing the Tx queue because of the Packet Abort request from the MAC : 0x3 |
0 | TXQPAUSED | R | 0h | Transmit Queue in Pause When this bit is high and the Rx flow control is enabled, it indicates that the Tx Queue is in the Pause condition (in the full-duplex only mode) because of the following: - Reception of the PFC packet for the priorities assigned to the Tx Queue when PFC is enabled - Reception of 802.3x Pause packet when PFC is disabled 0h = Transmit Queue in Pause status is not detected : 0x0 1h = Transmit Queue in Pause status is detected : 0x1 |
MTL_TxQ1_ETS_Status is shown in Figure 43-261 and described in Table 43-315.
Return to the Summary Table.
The Queue 1 ETS Status register provides the average traffic transmitted in Queue 1.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ABS | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | RESERVED | R | 0h | Reserved. |
23-0 | ABS | R | 0h | Average Bits per Slot This field contains the average transmitted bits per slot. If AV operation is enabled, this field is computed over number of slots, programmed in the SLC field of MTL_TxQ[n]_ETS_CONTROL register. When Enable Slot Interval feature is selected, the maximum value of this field is 0x6_4000 in 100 Mbps, 0x3E_8000 in 1000 Mbps and 9C_4000 in 2500 Mbps mode respectively. Otherwise, the maximum value of this field is 0x30D4 in 100 Mbs, 0x1E848 in 1000 Mbps and 0x4C4B4 in 2500 Mbps respectively. When the DCB operation is enabled for Queue, this field is computed over every 10 million bit times slot (4 ms in 2500 Mbps 10 ms in 1000 Mbps 100 ms in 100 Mbps). The maximum value is 0x989680. |
MTL_TxQ1_Quantum_Weight is shown in Figure 43-262 and described in Table 43-316.
Return to the Summary Table.
The Queue 1 idleSlopeCredit, Quantum or Weights register provides the average traffic transmitted in Queue 1.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ISCQW | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-21 | RESERVED | R | 0h | Reserved. |
20-0 | ISCQW | R/W | 0h | idleSlopeCredit, Quantum or Weights - idleSlopeCredit When AV feature is enabled, this field contains the idleSlopeCredit value required for the credit-based shaper algorithm for Queue 1. This is the rate of change of credit in bits per cycle (40 ns for 100 Mbps 8 ns for 1000 Mbps 3.2 ns for 2500 Mbps) when the credit is increasing. The software should program this field with computed credit in bits per cycle scaled by 1,024. The maximum value is portTransmitRate, that is, 0x2000 in 1000/2500 Mbps mode and 0x1000 in 100 Mbps mode. Bits[20:14] must be written to zero. - Quantum When the DCB operation is enabled with DWRR algorithm for Queue 1 traffic, this field contains the quantum value in bytes to be added to credit during every queue scanning cycle. The maximum value is 0x1312D0 bytes. - Weights When DCB operation is enabled with WFQ algorithm for Queue 1 traffic, this field contains the weight for this queue. The maximum value is 0x3FFF where weight of 0 indicates 100% bandwidth. Bits[20:14] must be written to zero. When DCB operation or generic queuing operation is enabled with WRR algorithm for Queue 1 traffic, this field contains the weight for this queue. The maximum value is 0x64. Bits [20:7] must be written to zero. - Note 1: In multiple Queue configuration this field in respective per queue register must be programmed to some non-zero value when multiple queues are enabled or single queue other than Q0 is enabled. This field need not be programmed when only Q0 is enabled. In general, when WRR algorithm is selected a non-zero value must be programmed on both Receive and Transmit. In Receive, the register is MTL_Operation_Mode register. - Note 2: For WFQ algorithm, higher the programmed weights lesser the bandwidth allocated for that Transmit Queue. The finish time is not a function of particular packet alone but it is as per the formula: (previous_finish_time of particular Transmit Queue + (weights*packet_size)) - Note 3: The weights programmed do not correspond to the number of packets but the fraction of bandwidth or time allocated for particular queue w.r.t. total BW or time. |
MTL_Q1_Interrupt_Control_Status is shown in Figure 43-263 and described in Table 43-317.
Return to the Summary Table.
This register contains the interrupt enable and status bits for the queue 1 interrupts.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RXOIE | ||||||
R-0h | R/W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RXOVFIS | ||||||
R-0h | R/W-0h | ||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | ABPSIE | TXUIE | |||||
R-0h | R/W-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ABPSIS | TXUNFIS | |||||
R-0h | R/W-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-25 | RESERVED | R | 0h | Reserved. |
24 | RXOIE | R/W | 0h | Receive Queue Overflow Interrupt Enable When this bit is set, the Receive Queue Overflow interrupt is enabled. When this bit is reset, the Receive Queue Overflow interrupt is disabled. 0h = Receive Queue Overflow Interrupt is disabled : 0x0 1h = Receive Queue Overflow Interrupt is enabled : 0x1 |
23-17 | RESERVED | R | 0h | Reserved. |
16 | RXOVFIS | R/W | 0h | Receive Queue Overflow Interrupt Status This bit indicates that the Receive Queue had an overflow while receiving the packet. If a partial packet is transferred to the application, the overflow status is set in RDES3[21]. This bit is cleared when the application writes 1 to this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Queue Overflow Interrupt Status not detected : 0x0 1h = Receive Queue Overflow Interrupt Status detected : 0x1 |
15-10 | RESERVED | R | 0h | Reserved. |
9 | ABPSIE | R/W | 0h | Average Bits Per Slot Interrupt Enable When this bit is set, the MAC asserts the sbd_intr_o or mci_intr_o interrupt when the average bits per slot status is updated. When this bit is cleared, the interrupt is not asserted for such an event. 0h = Average Bits Per Slot Interrupt is disabled : 0x0 1h = Average Bits Per Slot Interrupt is enabled : 0x1 |
8 | TXUIE | R/W | 0h | Transmit Queue Underflow Interrupt Enable When this bit is set, the Transmit Queue Underflow interrupt is enabled. When this bit is reset, the Transmit Queue Underflow interrupt is disabled. 0h = Transmit Queue Underflow Interrupt Status is disabled : 0x0 1h = Transmit Queue Underflow Interrupt Status is enabled : 0x1 |
7-2 | RESERVED | R | 0h | Reserved. |
1 | ABPSIS | R/W | 0h | Average Bits Per Slot Interrupt Status When set, this bit indicates that the MAC has updated the ABS value. This bit is cleared when the application writes 1 to this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Average Bits Per Slot Interrupt Status not detected : 0x0 1h = Average Bits Per Slot Interrupt Status detected : 0x1 |
0 | TXUNFIS | R/W | 0h | Transmit Queue Underflow Interrupt Status This bit indicates that the Transmit Queue had an underflow while transmitting the packet. Transmission is suspended and an Underflow Error TDES3[2] is set. This bit is cleared when the application writes 1 to this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Queue Underflow Interrupt Status not detected : 0x0 1h = Transmit Queue Underflow Interrupt Status detected : 0x1 |
MTL_RxQ1_Operation_Mode is shown in Figure 43-264 and described in Table 43-318.
Return to the Summary Table.
The Queue 1 Receive Operation Mode register establishes the Receive queue operating modes and command.
The RFA and RFD fields are not backward compatible with the RFA and RFD fields of 4.00a release
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RQS | RESERVED | RFD | |||||
R/W-0h | R-0h | R/W-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RFD | RESERVED | RFA | |||||
R/W-0h | R-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
EHFC | DIS_TCP_EF | RSF | FEP | FUP | RESERVED | RTC | |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | RESERVED | R | 0h | Reserved. |
23-20 | RQS | R/W | 0h | Receive Queue Size This field indicates the size of the allocated Receive queues in blocks of 256 bytes. The RQS field is read-write only if the number of Rx Queues more than one, the reset value is 0x0 and indicates size of 256 bytes. When the number of Rx Queues is one, the field is read-only and the configured RX FIFO size in blocks of 256 bytes is reflected in the reset value. The width of this field depends on the Rx memory size selected in your configuration. For example, if the memory size is 2048, the width of this field is 3 bits: LOG2(2048/256) = LOG2(8) = 3 bits |
19-17 | RESERVED | R | 0h | Reserved. |
16-14 | RFD | R/W | 0h | Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes) These bits control the threshold (fill-level of Rx queue) at which the flow control is de-asserted after activation: - 0: Full minus 1 KB, that is, FULL 1 KB - 1: Full minus 1.5 KB, that is, FULL 1.5 KB - 2: Full minus 2 KB, that is, FULL 2 KB - 3: Full minus 2.5 KB, that is, FULL 2.5 KB - ... - 6: Full minus 4 KB, that is, FULL 4 KB - 7: Full minus 4.5 KB, that is, FULL 4.5 KB The de-assertion is effective only after flow control is asserted. Note: The value must be programmed in such a way to make sure that the threshold is a positive number. When the EHFC is set high, these values are applicable only when the Rx queue size determined by the RQS field of this register, is equal to or greater than 4 KB. For a given queue size, the values ranges between 0 and the encoding for FULL minus (QSIZE - 0.5 KB) and all other values are illegal. Here the term FULL and QSIZE refers to the queue size determined by the RQS field of this register. The width of this field depends on RX FIFO size selected during the configuration. Remaining bits are reserved and read only. |
13-11 | RESERVED | R | 0h | Reserved. |
10-8 | RFA | R/W | 0h | Threshold for Activating Flow Control (in half-duplex and full-duplex These bits control the threshold (fill-level of Rx queue) at which the flow control is activated: For more information on encoding for this field, see RFD. |
7 | EHFC | R/W | 0h | Enable Hardware Flow Control When this bit is set, the flow control signal operation, based on the fill-level of Rx queue, is enabled. When reset, the flow control operation is disabled. 0h = Hardware Flow Control is disabled : 0x0 1h = Hardware Flow Control is enabled : 0x1 |
6 | DIS_TCP_EF | R/W | 0h | Disable Dropping of TCP/IP Checksum Error Packets When this bit is set, the MAC does not drop the packets which only have the errors detected by the Receive Checksum Offload engine. Such packets have errors only in the encapsulated payload. There are no errors (including FCS error) in the Ethernet packet received by the MAC. When this bit is reset, all error packets are dropped if the FEP bit is reset. 0h = Dropping of TCP/IP Checksum Error Packets is enabled : 0x0 1h = Dropping of TCP/IP Checksum Error Packets is disabled : 0x1 |
5 | RSF | R/W | 0h | Receive Queue Store and Forward When this bit is set, the DWC_ether_qos reads a packet from the Rx queue only after the complete packet has been written to it, ignoring the RTC field of this register. When this bit is reset, the Rx queue operates in the Threshold (cut-through) mode, subject to the threshold specified by the RTC field of this register. 0h = Receive Queue Store and Forward is disabled : 0x0 1h = Receive Queue Store and Forward is enabled : 0x1 |
4 | FEP | R/W | 0h | Forward Error Packets When this bit is reset, the Rx queue drops packets with error status (CRC error, GMII_ER, watchdog timeout, or overflow). However, if the start byte (write) pointer of a packet is already transferred to the read controller side (in Threshold mode), the packet is not dropped. When this bit is set, all packets except the runt error packets are forwarded to the application or DMA. If the RSF bit is set and the Rx queue overflows when a partial packet is written, the packet is dropped irrespective of the setting of this bit. However, if the RSF bit is reset and the Rx queue overflows when a partial packet is written, a partial packet may be forwarded to the application or DMA. 0h = Forward Error Packets is disabled : 0x0 1h = Forward Error Packets is enabled : 0x1 |
3 | FUP | R/W | 0h | Forward Undersized Good Packets When this bit is set, the Rx queue forwards the undersized good packets (packets with no error and length less than 64 bytes), including pad-bytes and CRC. When this bit is reset, the Rx queue drops all packets of less than 64 bytes, unless a packet is already transferred because of the lower value of Rx Threshold, for example, RTC = 01. 0h = Forward Undersized Good Packets is disabled : 0x0 1h = Forward Undersized Good Packets is enabled : 0x1 |
2 | RESERVED | R | 0h | Reserved. |
1-0 | RTC | R/W | 0h | Receive Queue Threshold Control These bits control the threshold level of the MTL Rx queue (in bytes): The received packet is transferred to the application or DMA when the packet size within the MTL Rx queue is larger than the threshold. In addition, full packets with length less than the threshold are automatically transferred. This field is valid only when the RSF bit is zero. This field is ignored when the RSF bit is set to 1. 0h = 64 : 0x0 1h = 32 : 0x1 2h = 96 : 0x2 3h = 128 : 0x3 |
MTL_RxQ1_Missed_Packet_Overflow_Cnt is shown in Figure 43-265 and described in Table 43-319.
Return to the Summary Table.
The Queue 1 Missed Packet and Overflow Counter register contains the counter for packets missed because of Receive queue packet flush and packets discarded because of Receive queue overflow.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | MISCNTOVF | MISPKTCNT | |||||
R-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
MISPKTCNT | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | OVFCNTOVF | OVFPKTCNT | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OVFPKTCNT | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27 | MISCNTOVF | R | 0h | Missed Packet Counter Overflow Bit When set, this bit indicates that the Rx Queue Missed Packet Counter crossed the maximum limit. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = Missed Packet Counter overflow not detected : 0x0 1h = Missed Packet Counter overflow detected : 0x1 |
26-16 | MISPKTCNT | R | 0h | Missed Packet Counter This field indicates the number of packets missed by the DWC_ether_qos because the application asserted ari_pkt_flush_i[] for this queue. This counter is reset when this register is read with mci_be_i[0] at 1b1. This counter is incremented by 1 when the DMA discards the packet because of buffer unavailability. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
15-12 | RESERVED | R | 0h | Reserved. |
11 | OVFCNTOVF | R | 0h | Overflow Counter Overflow Bit When set, this bit indicates that the Rx Queue Overflow Packet Counter field crossed the maximum limit. Access restriction applies. Clears on read. Self-set to 1 on internal event. 0h = Overflow Counter overflow not detected : 0x0 1h = Overflow Counter overflow detected : 0x1 |
10-0 | OVFPKTCNT | R | 0h | Overflow Packet Counter This field indicates the number of packets discarded by the DWC_ether_qos because of Receive queue overflow. This counter is incremented each time the DWC_ether_qos discards an incoming packet because of overflow. This counter is reset when this register is read with mci_be_i[0] at 1'b1. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
MTL_RxQ1_Debug is shown in Figure 43-266 and described in Table 43-320.
Return to the Summary Table.
The Queue 1 Receive Debug register gives the debug status of various blocks related to the Receive queue.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | PRXQ | ||||||
R-0h | R-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
PRXQ | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RXQSTS | RESERVED | RRCSTS | RWCSTS | |||
R-0h | R-0h | R-0h | R-0h | R-0h | |||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-30 | RESERVED | R | 0h | Reserved. |
29-16 | PRXQ | R | 0h | Number of Packets in Receive Queue This field indicates the current number of packets in the Rx Queue. The theoretical maximum value for this field is 256KB/16B = 16K Packets, that is, Max_Queue_Size/Min_Packet_Size. |
15-6 | RESERVED | R | 0h | Reserved. |
5-4 | RXQSTS | R | 0h | MTL Rx Queue Fill-Level Status This field gives the status of the fill-level of the Rx Queue: 0h = Rx Queue empty : 0x0 1h = Rx Queue fill-level below flow-control deactivate threshold : 0x1 2h = Rx Queue fill-level above flow-control activate threshold : 0x2 3h = Rx Queue full : 0x3 |
3 | RESERVED | R | 0h | Reserved. |
2-1 | RRCSTS | R | 0h | MTL Rx Queue Read Controller State This field gives the state of the Rx queue Read controller: 0h = Idle state : 0x0 1h = Reading packet data : 0x1 2h = Reading packet status (or timestamp) : 0x2 3h = Flushing the packet data and status : 0x3 |
0 | RWCSTS | R | 0h | MTL Rx Queue Write Controller Active Status When high, this bit indicates that the MTL Rx queue Write controller is active, and it is transferring a received packet to the Rx Queue. 0h = MTL Rx Queue Write Controller Active Status not detected : 0x0 1h = MTL Rx Queue Write Controller Active Status detected : 0x1 |
MTL_RxQ1_Control is shown in Figure 43-267 and described in Table 43-321.
Return to the Summary Table.
The Queue Receive Control register controls the receive arbitration and passing of received packets to the application.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RXQ_FRM_ARBIT | RXQ_WEGT | |||||
R-0h | R/W-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved. |
3 | RXQ_FRM_ARBIT | R/W | 0h | Receive Queue Packet Arbitration When this bit is set, the DWC_ether_qos drives the packet data to the ARI interface such that the entire packet data of currently-selected queue is transmitted before switching to other queue. When this bit is reset, the DWC_ether_qos drives the packet data to the ARI interface such that the following amount of data of currently-selected queue is transmitted before switching to other queue: - PBL amount of data (indicated by ari_qN_pbl_i[]) or - Complete data of a packet The status and the timestamp are not a part of the PBL data. Therefore, the DWC_ether_qos drives the complete status (including timestamp status) during first PBL request for the packet (in store-and-forward mode) or the last PBL request for the packet (in Threshold mode). 0h = Receive Queue Packet Arbitration is disabled : 0x0 1h = Receive Queue Packet Arbitration is enabled : 0x1 |
2-0 | RXQ_WEGT | R/W | 0h | Receive Queue Weight This field indicates the weight assigned to the Rx Queue 0. The weight is used as the number of continuous PBL or packets requests (depending on the RXQ_FRM_ARBIT) allocated to the queue in one arbitration cycle. |
DMA_Mode is shown in Figure 43-268 and described in Table 43-322.
Return to the Summary Table.
The Bus Mode register establishes the bus operating modes for the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | INTM | ||||||
R-0h | R/W-0h | ||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | PR | TXPR | RESERVED | RESERVED | |||
R-0h | R/W-0h | R/W-0h | R-0h | R-0h | |||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TAA | DA | SWR | ||||
R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-18 | RESERVED | R | 0h | Reserved. |
17-16 | INTM | R/W | 0h | Interrupt Mode This field defines the interrupt mode of DWC_ether_qos. The behavior of the following outputs changes depending on the following settings: - sbd_perch_tx_intr_o[] (Transmit Per Channel Interrupt) - sbd_perch_rx_intr_o[] (Receive Per Channel Interrupt) - sbd_intr_o (Common Interrupt) It also changes the behavior of the RI/TI bits in the DMA_CH0_Status. - 00: sbd_perch_* are pulse signals for each completion events. sbd_intr_o is also asserted and cleared only when software clears the corresponding RI/TI status bits - 01: sbd_perch_* are level signals asserted on corresponding event and de-asserted when the software clears the corresponding RI/TI status bits. The sbd_intr_o is not asserted for these packet transfer completion events. - 10: sbd_perch_* are level signals asserted on corresponding event and de-asserted when the software clears the corresponding RI/TI status bits. However, the signal is asserted again if the same event occurred again before it was cleared. The sbd_intr_o is not asserted for these packet transfer completion events. - 11: Reserved For more details please refer Table "DWC_ether_qos Transfer Complete Interrupt Behavior". 0h = See above description : 0x0 1h = See above description : 0x1 2h = See above description : 0x2 3h = Reserved : 0x3 |
15 | RESERVED | R | 0h | Reserved. |
14-12 | PR | R/W | 0h | Priority Ratio These bits control the priority ratio in weighted round-robin arbitration between the Rx DMA and Tx DMA. These bits are valid only when the DA bit is reset. The priority ratio is Rx:Tx or Tx:Rx depending on whether the TXPR bit is reset or set. 0h = The priority ratio is 1:1 : 0x0 1h = The priority ratio is 2:1 : 0x1 2h = The priority ratio is 3:1 : 0x2 3h = The priority ratio is 4:1 : 0x3 4h = The priority ratio is 5:1 : 0x4 5h = The priority ratio is 6:1 : 0x5 6h = The priority ratio is 7:1 : 0x6 7h = The priority ratio is 8:1 : 0x7 |
11 | TXPR | R/W | 0h | Transmit Priority When set, this bit indicates that the Tx DMA has higher priority than the Rx DMA during arbitration for the system-side bus. 0h = Transmit Priority is disabled : 0x0 1h = Transmit Priority is enabled : 0x1 |
10-9 | RESERVED | R | 0h | Reserved. |
8 | RESERVED | R | 0h | Reserved. |
7-5 | RESERVED | R | 0h | Reserved. |
4-2 | TAA | R/W | 0h | Transmit Arbitration Algorithm This field is used to select the arbitration algorithm for the Transmit side when multiple Tx DMAs are selected. 0h = Fixed priority(Channel 0 has the lowest priority and the last channel has the highest priority) : 0x0 1h = Weighted Strict Priority (WSP) : 0x1 2h = Weighted Round-Robin (WRR) : 0x2 3h = Reserved (for 3'b011 to 3'b111) : 0x3 |
1 | DA | R/W | 0h | DMA Tx or Rx Arbitration Scheme This bit specifies the arbitration scheme between the Transmit and Receive paths of all channels: - 0: Weighted Round-Robin with Rx:Tx or Tx:Rx The priority between the paths is according to the priority specified in Bits[14:12] and the priority weight is specified in the TXPR bit. - 1: Fixed Priority The Tx path has priority over the Rx path when the TXPR bit is set. Otherwise, the Rx path has priority over the Tx path. 0h = Weighted Round-Robin with Rx:Tx or Tx:Rx : 0x0 1h = Fixed Priority : 0x1 |
0 | SWR | R/W | 0h | Software Reset When this bit is set, the MAC and the DMA controller reset the logic and all internal registers of the DMA, MTL, and MAC. This bit is automatically cleared after the reset operation is complete in all DWC_ether_qos clock domains. Before reprogramming any DWC_ether_qos register, a value of zero should be read in this bit. This bit must be read at least 4 CSR clock cycles after it is written to 1. Note: The reset operation is complete only when all resets in all active clock domains are de-asserted. Therefore, it is essential that all PHY inputs clocks (applicable for the selected PHY interface) are present for software reset completion. The time to complete the software reset operation depends on the frequency of the slowest active clock. Access restriction applies. Setting 1 sets. Self-cleared. Setting 0 has no effect. 0h = Software Reset is disabled : 0x0 1h = Software Reset is enabled : 0x1 |
DMA_SysBus_Mode is shown in Figure 43-269 and described in Table 43-323.
Return to the Summary Table.
The System Bus mode register controls the behavior of the AHB or AXI master. It mainly controls burst splitting and number of outstanding requests.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RESERVED | RESERVED | RESERVED | ||||
R-0h | R-0h | R-0h | R-0h | ||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RESERVED | ||||||
R-0h | R-0h | ||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RB | MB | RESERVED | AAL | RESERVED | RESERVED | RESERVED | |
R/W-0h | R/W-0h | R-0h | R/W-0h | R-0h | R-0h | R-0h | |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RESERVED | RESERVED | RESERVED | RESERVED | RESERVED | RESERVED | FB |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R/W-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved. |
30 | RESERVED | R | 0h | Reserved. |
29-26 | RESERVED | R | 0h | Reserved. |
25-24 | RESERVED | R | 0h | Reserved. |
23-18 | RESERVED | R | 0h | Reserved. |
17-16 | RESERVED | R | 0h | Reserved. |
15 | RB | R/W | 0h | Rebuild INCRx Burst When this bit is set high and the AHB master gets SPLIT, RETRY, or Early Burst Termination (EBT) response, the AHB master interface rebuilds the pending beats of any initiated burst transfer with INCRx and SINGLE transfers. By default, the AHB master interface rebuilds pending beats of an EBT with an unspecified (INCR) burst. 0h = Rebuild INCRx Burst is disabled : 0x0 1h = Rebuild INCRx Burst is enabled : 0x1 |
14 | MB | R/W | 0h | Mixed Burst When this bit is set high and the FB bit is low, the AHB master performs undefined bursts transfers (INCR) for burst length of 16 or more. For burst length of 16 or less, the AHB master performs fixed burst transfers (INCRx and SINGLE). 0h = Mixed Burst is disabled : 0x0 1h = Mixed Burst is enabled : 0x1 |
13 | RESERVED | R | 0h | Reserved. |
12 | AAL | R/W | 0h | Address-Aligned Beats When this bit is set to 1, the EQOS-AXI or EQOS-AHB master performs address-aligned burst transfers on Read and Write channels. 0h = Address-Aligned Beats is disabled : 0x0 1h = Address-Aligned Beats is enabled : 0x1 |
11 | RESERVED | R | 0h | Reserved. |
10 | RESERVED | R | 0h | Reserved. |
9-8 | RESERVED | R | 0h | Reserved. |
7 | RESERVED | R | 0h | Reserved. |
6 | RESERVED | R | 0h | Reserved. |
5 | RESERVED | R | 0h | Reserved. |
4 | RESERVED | R | 0h | Reserved. |
3 | RESERVED | R | 0h | Reserved. |
2 | RESERVED | R | 0h | Reserved. |
1 | RESERVED | R | 0h | Reserved. |
0 | FB | R/W | 0h | Fixed Burst Length When this bit is set to 1, the AHB master initiates burst transfers of specified length (INCRx or SINGLE). When this bit is set to 0, the AHB master initiates transfers of unspecified length (INCR) or SINGLE transfers. 0h = Fixed Burst Length is disabled : 0x0 1h = Fixed Burst Length is enabled : 0x1 |
DMA_Interrupt_Status is shown in Figure 43-270 and described in Table 43-324.
Return to the Summary Table.
The application reads this Interrupt Status register during interrupt service routine or polling to determine the interrupt status of DMA channels, MTL queues, and the MAC.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | MACIS | MTLIS | |||||
R-0h | R-0h | R-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RESERVED | RESERVED | RESERVED | RESERVED | RESERVED | DC1IS | DC0IS |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-18 | RESERVED | R | 0h | Reserved. |
17 | MACIS | R | 0h | MAC Interrupt Status This bit indicates an interrupt event in the MAC. To reset this bit to 1'b0, the software must read the corresponding register in the MAC to get the exact cause of the interrupt and clear its source. 0h = MAC Interrupt Status not detected : 0x0 1h = MAC Interrupt Status detected : 0x1 |
16 | MTLIS | R | 0h | MTL Interrupt Status This bit indicates an interrupt event in the MTL. To reset this bit to 1'b0, the software must read the corresponding register in the MTL to get the exact cause of the interrupt and clear its source. 0h = MTL Interrupt Status not detected : 0x0 1h = MTL Interrupt Status detected : 0x1 |
15-8 | RESERVED | R | 0h | Reserved. |
7 | RESERVED | R | 0h | Reserved. |
6 | RESERVED | R | 0h | Reserved. |
5 | RESERVED | R | 0h | Reserved. |
4 | RESERVED | R | 0h | Reserved. |
3 | RESERVED | R | 0h | Reserved. |
2 | RESERVED | R | 0h | Reserved. |
1 | DC1IS | R | 0h | DMA Channel 1 Interrupt Status This bit indicates an interrupt event in DMA Channel 1. To reset this bit to 1'b0, the software must read the corresponding register in DMA Channel 1 to get the exact cause of the interrupt and clear its source. 0h = DMA Channel 1 Interrupt Status not detected : 0x0 1h = DMA Channel 1 Interrupt Status detected : 0x1 |
0 | DC0IS | R | 0h | DMA Channel 0 Interrupt Status This bit indicates an interrupt event in DMA Channel 0. To reset this bit to 1'b0, the software must read the corresponding register in DMA Channel 0 to get the exact cause of the interrupt and clear its source. 0h = DMA Channel 0 Interrupt Status not detected : 0x0 1h = DMA Channel 0 Interrupt Status detected : 0x1 |
DMA_Debug_Status0 is shown in Figure 43-271 and described in Table 43-325.
Return to the Summary Table.
The Debug Status 0 register gives the Receive and Transmit process status for DMA Channel 0-Channel 2 for debugging purpose.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RESERVED | ||||||
R-0h | R-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TPS1 | RPS1 | ||||||
R-0h | R-0h | ||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TPS0 | RPS0 | ||||||
R-0h | R-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RESERVED | AXWHSTS | |||||
R-0h | R-0h | R-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-28 | RESERVED | R | 0h | Reserved. |
27-24 | RESERVED | R | 0h | Reserved. |
23-20 | TPS1 | R | 0h | DMA Channel 1 Transmit Process State This field indicates the Tx DMA FSM state for Channel 1. The MSB of this field always returns 0. This field does not generate an interrupt. 0h = Stopped (Reset or Stop Transmit Command issued) : 0x0 1h = Running (Fetching Tx Transfer Descriptor) : 0x1 2h = Running (Waiting for status) : 0x2 3h = Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO)) : 0x3 4h = Timestamp write state : 0x4 5h = Reserved for future use : 0x5 6h = Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow) : 0x6 7h = Running (Closing Tx Descriptor) : 0x7 |
19-16 | RPS1 | R | 0h | DMA Channel 1 Receive Process State This field indicates the Rx DMA FSM state for Channel 1. The MSB of this field always returns 0. This field does not generate an interrupt. 0h = Stopped (Reset or Stop Receive Command issued) : 0x0 1h = Running (Fetching Rx Transfer Descriptor) : 0x1 2h = Reserved for future use : 0x2 3h = Running (Waiting for Rx packet) : 0x3 4h = Suspended (Rx Descriptor Unavailable) : 0x4 5h = Running (Closing the Rx Descriptor) : 0x5 6h = Timestamp write state : 0x6 7h = Running (Transferring the received packet data from the Rx buffer to the system memory) : 0x7 |
15-12 | TPS0 | R | 0h | DMA Channel 0 Transmit Process State This field indicates the Tx DMA FSM state for Channel 0. The MSB of this field always returns 0. This field does not generate an interrupt. 0h = Stopped (Reset or Stop Transmit Command issued) : 0x0 1h = Running (Fetching Tx Transfer Descriptor) : 0x1 2h = Running (Waiting for status) : 0x2 3h = Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO)) : 0x3 4h = Timestamp write state : 0x4 5h = Reserved for future use : 0x5 6h = Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow) : 0x6 7h = Running (Closing Tx Descriptor) : 0x7 |
11-8 | RPS0 | R | 0h | DMA Channel 0 Receive Process State This field indicates the Rx DMA FSM state for Channel 0. The MSB of this field always returns 0. This field does not generate an interrupt. 0h = Stopped (Reset or Stop Receive Command issued) : 0x0 1h = Running (Fetching Rx Transfer Descriptor) : 0x1 2h = Reserved for future use : 0x2 3h = Running (Waiting for Rx packet) : 0x3 4h = Suspended (Rx Descriptor Unavailable) : 0x4 5h = Running (Closing the Rx Descriptor) : 0x5 6h = Timestamp write state : 0x6 7h = Running (Transferring the received packet data from the Rx buffer to the system memory) : 0x7 |
7-2 | RESERVED | R | 0h | Reserved. |
1 | RESERVED | R | 0h | Reserved. |
0 | AXWHSTS | R | 0h | AHB Master Status When high, this bit indicates that the AHB master FSMs are in the non-idle state. 0h = AXI Master Write Channel or AHB Master Status not detected : 0x0 1h = AXI Master Write Channel or AHB Master Status detected : 0x1 |
DMA_CH0_Control is shown in Figure 43-272 and described in Table 43-326.
Return to the Summary Table.
The DMA Channeli Control register specifies the MSS value for segmentation, length to skip between two descriptors, and also the features such as header splitting and 8xPBL mode.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | SPH | ||||||
R-0h | R/W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | DSL | RESERVED | PBLx8 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | MSS | ||||||
R-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MSS | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-25 | RESERVED | R | 0h | Reserved. |
24 | SPH | R/W | 0h | Split Headers When this bit is set, the DMA splits the header and payload in the Receive path. The DMA writes the header to the Buffer Address1 of RDES0. The DMA writes the payload to the buffer to which the Buffer Address2 is pointing. The software must ensure that the header fits into the Receive buffers. If the header length exceeds the receive buffer size, the DMA does not split the header and payload. This bit is available only if Enable Split Header Structure option is selected. 0h = Split Headers feature is disabled : 0x0 1h = Split Headers feature is enabled : 0x1 |
23-21 | RESERVED | R | 0h | Reserved. |
20-18 | DSL | R/W | 0h | Descriptor Skip Length This bit specifies the Word, Dword, or Lword number (depending on the 32-bit, 64-bit, or 128-bit bus) to skip between two unchained descriptors. The address skipping starts from the end of the current descriptor to the start of the next descriptor. When the DSL value is equal to zero, the DMA takes the descriptor table as contiguous. |
17 | RESERVED | R | 0h | Reserved. |
16 | PBLx8 | R/W | 0h | 8xPBL mode When this bit is set, the PBL value programmed in Bits[21:16] in DMA_CH0_Tx_Control and Bits[21:16] in DMA_CH0_Rx_Control is multiplied by eight times. Therefore, the DMA transfers the data in 8, 16, 32, 64, 128, and 256 beats depending on the PBL value. 0h = 8xPBL mode is disabled : 0x0 1h = 8xPBL mode is enabled : 0x1 |
15-14 | RESERVED | R | 0h | Reserved. |
13-0 | MSS | R/W | 0h | Maximum Segment Size This field specifies the maximum segment size that should be used while segmenting the packet. This field is valid only if the TSE bit of DMA_CH0_Tx_Control register is set. The value programmed in this field must be more than the configured Datawidth in bytes. It is recommended to use a MSS value of 64 bytes or more. |
DMA_CH0_Tx_Control is shown in Figure 43-273 and described in Table 43-327.
Return to the Summary Table.
The DMA Channeli Transmit Control register controls the Tx features such as PBL, TCP segmentation, and Tx Channel weights.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RESERVED | RESERVED | |||||
R-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | ETIC | TxPBL | |||||
R-0h | R/W-0h | R/W-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RESERVED | TSE | RESERVED | ||||
R-0h | R-0h | R/W-0h | R-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | OSF | TCW | ST | ||||
R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | RESERVED | R | 0h | Reserved. |
27-24 | RESERVED | R | 0h | Reserved. |
23 | RESERVED | R | 0h | Reserved. |
22 | ETIC | R/W | 0h | Early Transmit Interrupt Control When this bit is set, Early Transmit Interrupt (ETI) status is set after completion of transfer of data from buffers of a transmit descriptor in which IOC bit (TDES2[31]) is set. When this bit is reset, ETI is set only after a complete packet is transferred to the MTL TX FIFO memory. 0h = Early Transmit Interrupt is disabled : 0x0 1h = Early Transmit Interrupt is enabled : 0x1 |
21-16 | TxPBL | R/W | 0h | Transmit Programmable Burst Length These bits indicate the maximum number of beats to be transferred in one DMA block data transfer. The DMA always attempts max burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior. To transfer more than 32 beats, perform the following steps: 1. Set the 8xPBL mode in DMA_CH0_Control register. 2. Set the TxPBL. Note: The maximum value of TxPBL must be less than or equal to half the Tx Queue size (TQS field of MTL_TxQ[n]_Operation_Mode register) in terms of beats. This is required so that the Tx Queue has space to store at least another Tx PBL worth of data while the MTL Tx Queue Controller is transferring data to MAC. For example, in 64-bit data width configurations the total locations in Tx Queue of size 512 bytes is 64, TxPBL and 8xPBL needs to be programmed to less than or equal to 32. |
15 | RESERVED | R | 0h | Reserved. |
14-13 | RESERVED | R | 0h | Reserved. |
12 | TSE | R/W | 0h | TCP Segmentation Enabled When this bit is set, the DMA performs the TCP segmentation or UDP Segmentation/Fragmentation for packets in this channel. The TCP segmentation or UDP packet's segmentation/Fragmentation is done only for those packets for which the TSE bit (TDES0[19]) is set in the Tx Normal descriptor.When this bit is set, the TxPBL value must be greater than 4. 0h = TCP Segmentation is disabled : 0x0 1h = TCP Segmentation is enabled : 0x1 |
11-5 | RESERVED | R | 0h | Reserved. |
4 | OSF | R/W | 0h | Operate on Second Packet When this bit is set, it instructs the DMA to process the second packet of the Transmit data even before the status for the first packet is obtained. 0h = Operate on Second Packet disabled : 0x0 1h = Operate on Second Packet enabled : 0x1 |
3-1 | TCW | R/W | 0h | Transmit Channel Weight This field indicates the weight assigned to the corresponding Transmit channel. When reset is complete, this field is set to 0 for all channels by default, resulting in equal weights to all channels. |
0 | ST | R/W | 0h | Start or Stop Transmission Command When this bit is set, transmission is placed in the Running state. The DMA checks the Transmit list at the current position for a packet to be transmitted. The DMA tries to acquire descriptor from either of the following positions: - The current position in the list This is the base address of the Transmit list set by the DMA_CH0_TxDesc_List_Address register. - The position at which the transmission was previously stopped If the DMA does not own the current descriptor, the transmission enters the Suspended state and the TBU bit of the DMA_CH0_Status register is set. The Start Transmission command is effective only when the transmission is stopped. If the command is issued before setting the DMA_CH0_TxDesc_List_Address register, the DMA behavior is unpredictable. When this bit is reset, the transmission process is placed in the Stopped state after completing the transmission of the current packet. The Next Descriptor position in the Transmit list is saved, and it becomes the current position when the transmission is restarted. To change the list address, you need to program DMA_CH0_TxDesc_List_Address register with a new value when this bit is reset. The new value is considered when this bit is set again. The stop transmission command is effective only when the transmission of the current packet is complete or the transmission is in the Suspended state. 0h = Stop Transmission Command : 0x0 1h = Start Transmission Command : 0x1 |
DMA_CH0_Rx_Control is shown in Figure 43-274 and described in Table 43-328.
Return to the Summary Table.
The DMA Channeli Receive Control register controls the Rx features such as PBL, buffer size, and extended status.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RPF | RESERVED | RESERVED | |||||
R/W-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | ERIC | RxPBL | |||||
R-0h | R/W-0h | R/W-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RBSZ_13_y | ||||||
R-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RBSZ_13_y | RBSZ_x_0 | SR | |||||
R/W-0h | R-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RPF | R/W | 0h | Rx Packet Flush.
When this bit is set to 1, then DWC_ether_qos automatically flushes the packet from the Rx Queues destined to this DMA Rx Channel, when it is stopped. When this bit remains set and the DMA is re-started by the software driver, the packets residing in the Rx Queues that were received when this RxDMA was stopped, get flushed out. The packets that are received by the MAC after the RxDMA is re-started are routed to the RxDMA. The flushing happens on the Read side of the Rx Queue. When this bit is set to 0, the DWC_ether_qos not flush the packet in the Rx Queue destined to this RxDMA Channel when it is STOP state. This may in turn cause head-of-line blocking in the corresponding RxQueue. 0h = Rx Packet Flush is disabled : 0x0 1h = Rx Packet Flush is enabled : 0x1 |
30-28 | RESERVED | R | 0h | Reserved. |
27-24 | RESERVED | R | 0h | Reserved. |
23 | RESERVED | R | 0h | Reserved. |
22 | ERIC | R/W | 0h | Early Receive Interrupt Control When this bit is set, Early Receive Interrupt (ERI) status is set after completion of every burst transfer of data from the Rx DMA to the buffer. When this bit is reset, ERI is set only after a complete buffer is filled up by the RxDMA. 0h = Early Receive Interrupt is disabled : 0x0 1h = Early Receive Interrupt is enabled : 0x1 |
21-16 | RxPBL | R/W | 0h | Receive Programmable Burst Length These bits indicate the maximum number of beats to be transferred in one DMA block data transfer. The DMA always attempts max burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior. To transfer more than 32 beats, perform the following steps: 1. Set the 8xPBL mode in the DMA_CH0_Control register. 2. Set the RxPBL. Note: The maximum value of RxPBL must be less than or equal to half the Rx Queue size (RQS field of MTL_RxQ[n]_Operation_Mode register) in terms of beats. This is required so that the Rx Queue has space to store at least another Rx PBL worth of data while the Rx DMA is transferring a block of data. For example, in 64-bit data width configurations the total locations in Rx Queue of size 512 bytes is 64, so RxPBL and 8xPBL needs to be programmed to less than or equal to 32. |
15 | RESERVED | R | 0h | Reserved. |
14-3 | RBSZ_13_y | R/W | 0h | Receive Buffer size High RBSZ[13:0] is split into two fields higher RBSZ_13_y and lower RBSZ_x_0. The RBSZ[13:0] field indicates the size of the Rx buffers specified in bytes. The maximum buffer size is limited to 16K bytes. The buffer size is applicable to payload buffers when split headers are enabled. Note: The buffer size must be a multiple of 4, 8, or 16 depending on the data bus widths (32-bit, 64-bit, or 128-bit respectively). This is required even if the value of buffer address pointer is not aligned to data bus width. Hence the lower RBSZ_x_0 bits are read-only and the value is considered as all-zero. Thus the RBSZ_13_y indicates the buffer size in terms of locations (with the width same as bus-width). |
2-1 | RBSZ_x_0 | R | 0h | Receive Buffer size Low RBSZ[13:0] is split into two fields RBSZ_13_y and RBSZ_x_0. The RBSZ_x_0 is the lower field whose width is based on data bus width of the configuration. This field is of width 2, 3, or 4 bits for 32-bit, 64-bit, or 128-bit data bus width respectively. This field is read-only (RO). |
0 | SR | R/W | 0h | Start or Stop Receive When this bit is set, the DMA tries to acquire the descriptor from the Receive list and processes the incoming packets. The DMA tries to acquire descriptor from either of the following positions: - The current position in the list This is the address set by the DMA_CH0_RxDesc_List_Address register. - The position at which the Rx process was previously stopped If the DMA does not own the current descriptor, the reception is suspended and the RBU bit of the DMA_CH0_Status register is set. The Start Receive command is effective only when the reception is stopped. If the command is issued before setting the DMA_CH0_RxDesc_List_Address register, the DMA behavior is unpredictable. When this bit is reset, the Rx DMA operation is stopped after the transfer of the current packet. The next descriptor position in the Receive list is saved, and it becomes the current position after the Rx process is restarted. The Stop Receive command is effective only when the Rx process is in the Running (waiting for Rx packet) or Suspended state. 0h = Stop Receive : 0x0 1h = Start Receive : 0x1 |
DMA_CH0_TxDesc_List_Address is shown in Figure 43-275 and described in Table 43-329.
Return to the Summary Table.
The Channeli Tx Descriptor List Address register points the DMA to the start of Transmit descriptor list. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LSB to low.
You can write to this register only when the Tx DMA has stopped, that is, the ST bit is set to zero in DMA_CH0_Tx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the ST bit to 1, the DMA takes the newly-programmed descriptor base address. If this register is not changed when the ST bit is set to 0, the DMA takes the descriptor address where it was stopped earlier.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TDESLA | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TDESLA | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TDESLA | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TDESLA | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | TDESLA | R/W | 0h | Start of Transmit List This field contains the base address of the first descriptor in the Transmit descriptor list. The DMA ignores the LSB bits (1:0, 2:0, or 3:0) for 32-bit, 64-bit, or 128-bit bus width and internally takes these bits as all-zero. Therefore, these LSB bits are read-only (RO). The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH0_RxDesc_List_Address is shown in Figure 43-276 and described in Table 43-330.
Return to the Summary Table.
The Channeli Rx Descriptor List Address register points the DMA to the start of Receive descriptor list.
This register points to the start of the Receive Descriptor List. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LS bits low. Writing to this register is permitted only when reception is stopped. When stopped, this register must be written to before the receive Start command is given. You can write to this register only when Rx DMA has stopped, that is, SR bit is set to zero in DMA_CH0_Rx_Control register. When stopped, this register can be written with a new descriptor list address.
When you set the SR bit to 1, the DMA takes the newly programmed descriptor base address.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RDESLA | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RDESLA | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RDESLA | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RDESLA | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | RDESLA | R/W | 0h | Start of Receive List This field contains the base address of the first descriptor in the Rx Descriptor list. The DMA ignores the LSB bits (1:0, 2:0, or 3:0) for 32-bit, 64-bit, or 128-bit bus width and internally takes these bits as all-zero. Therefore, these LSB bits are read-only (RO). The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH0_TxDesc_Tail_Pointer is shown in Figure 43-277 and described in Table 43-331.
Return to the Summary Table.
The Channeli Tx Descriptor Tail Pointer register points to an offset from the base and indicates the location of the last valid descriptor.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TDTP | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TDTP | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TDTP | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TDTP | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | TDTP | R/W | 0h | Transmit Descriptor Tail Pointer This field contains the tail pointer for the Tx descriptor ring. The software writes the tail pointer to add more descriptors to the Tx channel. The hardware tries to transmit all packets referenced by the descriptors between the head and the tail pointer registers. The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH0_RxDesc_Tail_Pointer is shown in Figure 43-278 and described in Table 43-332.
Return to the Summary Table.
The Channeli Rx Descriptor Tail Pointer Points to an offset from the base and indicates the location of the last valid descriptor.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RDTP | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RDTP | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RDTP | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RDTP | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | RDTP | R/W | 0h | Receive Descriptor Tail Pointer This field contains the tail pointer for the Rx descriptor ring. The software writes the tail pointer to add more descriptors to the Rx channel. The hardware tries to write all received packets to the descriptors referenced between the head and the tail pointer registers. The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH0_TxDesc_Ring_Length is shown in Figure 43-279 and described in Table 43-333.
Return to the Summary Table.
The Tx Descriptor Ring Length register contains the length of the Transmit descriptor ring.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TDRL | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-10 | RESERVED | R | 0h | Reserved. |
9-0 | TDRL | R/W | 0h | Transmit Descriptor Ring Length This field sets the maximum number of Tx descriptors in the circular descriptor ring. The maximum number of descriptors is limited to 1K descriptors. Synopsys recommends a minimum ring descriptor length of 4. For example, You can program any value up to 0x3FF in this field. This field is 10 bits wide, if you program 0x3FF, you can have 1024 descriptors. If you want to have 10 descriptors, program it to a value of 0x9. |
DMA_CH0_RxDesc_Ring_Length is shown in Figure 43-280 and described in Table 43-334.
Return to the Summary Table.
The Channeli Rx Descriptor Ring Length register contains the length of the Receive descriptor circular ring.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RDRL | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-10 | RESERVED | R | 0h | Reserved. |
9-0 | RDRL | R/W | 0h | Receive Descriptor Ring Length This register sets the maximum number of Rx descriptors in the circular descriptor ring. The maximum number of descriptors is limited to 1K descriptors. For example, You can program any value up to 0x3FF in this field. This field is 10 bits wide, if you program 0x3FF, you can have 1024 descriptors. If you want to have 10 descriptors, program it to a value of 0x9. |
DMA_CH0_Interrupt_Enable is shown in Figure 43-281 and described in Table 43-335.
Return to the Summary Table.
The Channeli Interrupt Enable register enables the interrupts reported by the Status register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
NIE | AIE | CDEE | FBEE | ERIE | ETIE | RWTE | RSE |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RBUE | RIE | RESERVED | TBUE | TXSE | TIE | ||
R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15 | NIE | R/W | 0h | Normal Interrupt Summary Enable When this bit is set, the normal interrupt summary is enabled. This bit enables the following interrupts in the DMA_CH0_Status register: - Bit 0: Transmit Interrupt - Bit 2: Transmit Buffer Unavailable - Bit 6: Receive Interrupt - Bit 11: Early Receive Interrupt When this bit is reset, the normal interrupt summary is disabled. 0h = Normal Interrupt Summary is disabled : 0x0 1h = Normal Interrupt Summary is enabled : 0x1 |
14 | AIE | R/W | 0h | Abnormal Interrupt Summary Enable When this bit is set, the abnormal interrupt summary is enabled. This bit enables the following interrupts in the DMA_CH0_Status register: - Bit 1: Transmit Process Stopped - Bit 7: Rx Buffer Unavailable - Bit 8: Receive Process Stopped - Bit 9: Receive Watchdog Timeout - Bit 10: Early Transmit Interrupt - Bit 12: Fatal Bus Error - Bit 13: Context Descriptor Error When this bit is reset, the abnormal interrupt summary is disabled. 0h = Abnormal Interrupt Summary is disabled : 0x0 1h = Abnormal Interrupt Summary is enabled : 0x1 |
13 | CDEE | R/W | 0h | Context Descriptor Error Enable When this bit is set along with the AIE bit, the Descriptor error interrupt is enabled. When this bit is reset, the Descriptor error interrupt is disabled. 0h = Context Descriptor Error is disabled : 0x0 1h = Context Descriptor Error is enabled : 0x1 |
12 | FBEE | R/W | 0h | Fatal Bus Error Enable When this bit is set along with the AIE bit, the Fatal Bus error interrupt is enabled. When this bit is reset, the Fatal Bus Error error interrupt is disabled. 0h = Fatal Bus Error is disabled : 0x0 1h = Fatal Bus Error is enabled : 0x1 |
11 | ERIE | R/W | 0h | Early Receive Interrupt Enable When this bit is set along with the NIE bit, the Early Receive interrupt is enabled. When this bit is reset, the Early Receive interrupt is disabled. 0h = Early Receive Interrupt is disabled : 0x0 1h = Early Receive Interrupt is enabled : 0x1 |
10 | ETIE | R/W | 0h | Early Transmit Interrupt Enable When this bit is set along with the AIE bit, the Early Transmit interrupt is enabled. When this bit is reset, the Early Transmit interrupt is disabled. 0h = Early Transmit Interrupt is disabled : 0x0 1h = Early Transmit Interrupt is enabled : 0x1 |
9 | RWTE | R/W | 0h | Receive Watchdog Timeout Enable When this bit is set along with the AIE bit, the Receive Watchdog Timeout interrupt is enabled. When this bit is reset, the Receive Watchdog Timeout interrupt is disabled. 0h = Receive Watchdog Timeout is disabled : 0x0 1h = Receive Watchdog Timeout is enabled : 0x1 |
8 | RSE | R/W | 0h | Receive Stopped Enable When this bit is set along with the AIE bit, the Receive Stopped Interrupt is enabled. When this bit is reset, the Receive Stopped interrupt is disabled. 0h = Receive Stopped is disabled : 0x0 1h = Receive Stopped is enabled : 0x1 |
7 | RBUE | R/W | 0h | Receive Buffer Unavailable Enable When this bit is set along with the AIE bit, the Receive Buffer Unavailable interrupt is enabled. When this bit is reset, the Receive Buffer Unavailable interrupt is disabled. 0h = Receive Buffer Unavailable is disabled : 0x0 1h = Receive Buffer Unavailable is enabled : 0x1 |
6 | RIE | R/W | 0h | Receive Interrupt Enable When this bit is set along with the NIE bit, the Receive Interrupt is enabled. When this bit is reset, the Receive Interrupt is disabled. 0h = Receive Interrupt is disabled : 0x0 1h = Receive Interrupt is enabled : 0x1 |
5-3 | RESERVED | R | 0h | Reserved. |
2 | TBUE | R/W | 0h | Transmit Buffer Unavailable Enable When this bit is set along with the NIE bit, the Transmit Buffer Unavailable interrupt is enabled. When this bit is reset, the Transmit Buffer Unavailable interrupt is disabled. 0h = Transmit Buffer Unavailable is disabled : 0x0 1h = Transmit Buffer Unavailable is enabled : 0x1 |
1 | TXSE | R/W | 0h | Transmit Stopped Enable When this bit is set along with the AIE bit, the Transmission Stopped interrupt is enabled. When this bit is reset, the Transmission Stopped interrupt is disabled. 0h = Transmit Stopped is disabled : 0x0 1h = Transmit Stopped is enabled : 0x1 |
0 | TIE | R/W | 0h | Transmit Interrupt Enable When this bit is set along with the NIE bit, the Transmit Interrupt is enabled. When this bit is reset, the Transmit Interrupt is disabled. 0h = Transmit Interrupt is disabled : 0x0 1h = Transmit Interrupt is enabled : 0x1 |
DMA_CH0_Rx_Interrupt_Watchdog_Timer is shown in Figure 43-282 and described in Table 43-336.
Return to the Summary Table.
The Receive Interrupt Watchdog Timer register indicates the watchdog timeout for Receive Interrupt (RI) from the DMA. When this register is written with a non-zero value, it enables the watchdog timer for the RI bit of the DMA_CHi_Status register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RWTU | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RWT | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-18 | RESERVED | R | 0h | Reserved. |
17-16 | RWTU | R/W | 0h | Receive Interrupt Watchdog Timer Count Units This fields indicates the number of system clock cycles corresponding to one unit in RWT field. - 2'b00: 256 - 2'b01: 512 - 2'b10: 1024 - 2'b11: 2048 For example, when RWT=2 and RWTU=1, the watchdog timer is set for 2*512=1024 system clock cycles. |
15-8 | RESERVED | R | 0h | Reserved. |
7-0 | RWT | R/W | 0h | Receive Interrupt Watchdog Timer Count This field indicates the number of system clock cycles, multiplied by factor indicated in RWTU field, for which the watchdog timer is set. The watchdog timer is triggered with the programmed value after the Rx DMA completes the transfer of a packet for which the RI bit is not set in the DMA_CH0_Status register, because of the setting of Interrupt Enable bit in the corresponding descriptor RDES3[30]. When the watchdog timer runs out, the RI bit is set and the timer is stopped. The watchdog timer is reset when the RI bit is set high because of automatic setting of RI as per the Interrupt Enable bit RDES3[30] of any received packet. |
DMA_CH0_Current_App_TxDesc is shown in Figure 43-283 and described in Table 43-337.
Return to the Summary Table.
The Channeli Current Application Transmit Descriptor register points to the current Transmit descriptor read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURTDESAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURTDESAPTR | R | 0h | Application Transmit Descriptor Address Pointer The DMA updates this pointer during Tx operation. This pointer is cleared on reset. |
DMA_CH0_Current_App_RxDesc is shown in Figure 43-284 and described in Table 43-338.
Return to the Summary Table.
The Channeli Current Application Receive Descriptor register points to the current Receive descriptor read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURRDESAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURRDESAPTR | R | 0h | Application Receive Descriptor Address Pointer The DMA updates this pointer during Rx operation. This pointer is cleared on reset. |
DMA_CH0_Current_App_TxBuffer is shown in Figure 43-285 and described in Table 43-339.
Return to the Summary Table.
The Channeli Current Application Transmit Buffer Address register points to the current Tx buffer address read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURTBUFAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURTBUFAPTR | R | 0h | Application Transmit Buffer Address Pointer The DMA updates this pointer during Tx operation. This pointer is cleared on reset. |
DMA_CH0_Current_App_RxBuffer is shown in Figure 43-286 and described in Table 43-340.
Return to the Summary Table.
The Channel 0 Current Application Receive Buffer Address register points to the current Rx buffer address read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURRBUFAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURRBUFAPTR | R | 0h | Application Receive Buffer Address Pointer The DMA updates this pointer during Rx operation. This pointer is cleared on reset. |
DMA_CH0_Status is shown in Figure 43-287 and described in Table 43-341.
Return to the Summary Table.
The software driver (application) reads the Status register during interrupt service routine or polling to determine the status of the DMA.
Note: The number of DMA_CH[n]_Status register in the configuration is the higher of number of Rx DMA Channels and Tx DMA Channels.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | REB | TEB | |||||||||||||
R-0h | R-0h | R-0h | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
NIS | AIS | CDE | FBE | ERI | ETI | RWT | RPS | RBU | RI | RESERVED | TBU | TPS | TI | ||
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-22 | RESERVED | R | 0h | Reserved. |
21-19 | REB | R | 0h | Rx DMA Error Bits This field indicates the type of error that caused a Bus Error. For example, error response on the AHB or AXI interface. Bit 21 - 1'b1: Error during data transfer by Rx DMA - 1'b0: No Error during data transfer by Rx DMA Bit 20 - 1'b1: Error during descriptor access - 1'b0: Error during data buffer access Bit 19 - 1'b1: Error during read transfer - 1'b0: Error during write transfer This field is valid only when the FBE bit is set. This field does not generate an interrupt. |
18-16 | TEB | R | 0h | Tx DMA Error Bits This field indicates the type of error that caused a Bus Error. For example, error response on the AHB or AXI interface. Bit 18 - 1'b1: Error during data transfer by Tx DMA - 1'b0: No Error during data transfer by Tx DMA Bit 17 - 1'b1: Error during descriptor access - 1'b0: Error during data buffer access Bit 16 - 1'b1: Error during read transfer - 1'b0: Error during write transfer This field is valid only when the FBE bit is set. This field does not generate an interrupt. |
15 | NIS | R/W | 0h | Normal Interrupt Summary Normal Interrupt Summary bit value is the logical OR of the following bits when the corresponding interrupt bits are enabled in the DMA_CH0_Interrupt_Enable register: - Bit 0: Transmit Interrupt - Bit 2: Transmit Buffer Unavailable - Bit 6: Receive Interrupt - Bit 11: Early Receive Interrupt Only unmasked bits (interrupts for which interrupt enable is set in DMA_CH0_Interrupt_Enable register) affect the Normal Interrupt Summary bit. This is a sticky bit. You must clear this bit (by writing 1 to this bit) each time a corresponding bit which causes NIS to be set is cleared. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Normal Interrupt Summary status not detected : 0x0 1h = Normal Interrupt Summary status detected : 0x1 |
14 | AIS | R/W | 0h | Abnormal Interrupt Summary Abnormal Interrupt Summary bit value is the logical OR of the following when the corresponding interrupt bits are enabled in the DMA_CH0_Interrupt_Enable register: - Bit 1: Transmit Process Stopped - Bit 7: Receive Buffer Unavailable - Bit 8: Receive Process Stopped - Bit 10: Early Transmit Interrupt - Bit 12: Fatal Bus Error - Bit 13: Context Descriptor Error Only unmasked bits affect the Abnormal Interrupt Summary bit. This is a sticky bit. You must clear this bit (by writing 1 to this bit) each time a corresponding bit, which causes AIS to be set, is cleared. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Abnormal Interrupt Summary status not detected : 0x0 1h = Abnormal Interrupt Summary status detected : 0x1 |
13 | CDE | R/W | 0h | Context Descriptor Error This bit indicates that the DMA Tx/Rx engine received a descriptor error, which indicates invalid context in the middle of packet flow ( intermediate descriptor) or all one's descriptor in Tx case and on Rx side it indicates DMA has read a descriptor with either of the buffer address as ones which is considered to be invalid. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Context Descriptor Error status not detected : 0x0 1h = Context Descriptor Error status detected : 0x1 |
12 | FBE | R/W | 0h | Fatal Bus Error This bit indicates that a bus error occurred (as described in the EB field). When this bit is set, the corresponding DMA channel engine disables all bus accesses. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Fatal Bus Error status not detected : 0x0 1h = Fatal Bus Error status detected : 0x1 |
11 | ERI | R/W | 0h | Early Receive Interrupt This bit when set indicates that the RxDMA has completed the transfer of packet data to the memory. When ERIC=0, this bit is set only after the Rx DMA has filled up a complete receive buffer with packet data. When ERIC=1, this bit is set after every burst transfer of data from the Rx DMA to the buffer. The setting of RI bit automatically clears this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Early Receive Interrupt status not detected : 0x0 1h = Early Receive Interrupt status detected : 0x1 |
10 | ETI | R/W | 0h | Early Transmit Interrupt This bit when set indicates that the TxDMA has completed the transfer of packet data to the MTL TXFIFO memory. When ETIC=0, this bit is set only after the Tx DMA has transferred a complete packet to MTL. When ETIC=1, this bit is set after completion of (partial) packet data transfer from buffers in the Transmit descriptor in which IOC=1. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Early Transmit Interrupt status not detected : 0x0 1h = Early Transmit Interrupt status detected : 0x1 |
9 | RWT | R/W | 0h | Receive Watchdog Timeout This bit is asserted when a packet with length greater than 2,048 bytes (10,240 bytes when Jumbo Packet mode is enabled) is received. 0h = Receive Watchdog Timeout status not detected : 0x0 1h = Receive Watchdog Timeout status detected : 0x1 |
8 | RPS | R/W | 0h | Receive Process Stopped This bit is asserted when the Rx process enters the Stopped state. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Process Stopped status not detected : 0x0 1h = Receive Process Stopped status detected : 0x1 |
7 | RBU | R/W | 0h | Receive Buffer Unavailable This bit indicates that the application owns the next descriptor in the Receive list, and the DMA cannot acquire it. The Rx process is suspended. To resume processing Rx descriptors, the application should change the ownership of the descriptor and issue a Receive Poll Demand command. If this command is not issued, the Rx process resumes when the next recognized incoming packet is received. In ring mode, the application should advance the Receive Descriptor Tail Pointer register of a channel. This bit is set only when the DMA owns the previous Rx descriptor. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Buffer Unavailable status not detected : 0x0 1h = Receive Buffer Unavailable status detected : 0x1 |
6 | RI | R/W | 0h | Receive Interrupt This bit indicates that the packet reception is complete. When packet reception is complete, Bit 31 of RDES3 is reset in the last descriptor, and the specific packet status information is updated in the descriptor. The reception remains in the Running state. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Interrupt status not detected : 0x0 1h = Receive Interrupt status detected : 0x1 |
5-3 | RESERVED | R | 0h | Reserved. |
2 | TBU | R/W | 0h | Transmit Buffer Unavailable This bit indicates that the application owns the next descriptor in the Transmit list, and the DMA cannot acquire it. Transmission is suspended. The TPS0 field of the DMA_Debug_Status0 register explains the Transmit Process state transitions. To resume processing the Transmit descriptors, the application should do the following: 1. Change the ownership of the descriptor by setting Bit 31 of TDES3. 2. Issue a Transmit Poll Demand command. For ring mode, the application should advance the Transmit Descriptor Tail Pointer register of a channel. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Buffer Unavailable status not detected : 0x0 1h = Transmit Buffer Unavailable status detected : 0x1 |
1 | TPS | R/W | 0h | Transmit Process Stopped This bit is set when the transmission is stopped. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Process Stopped status not detected : 0x0 1h = Transmit Process Stopped status detected : 0x1 |
0 | TI | R/W | 0h | Transmit Interrupt This bit indicates that the packet transmission is complete. When transmission is complete, Bit 31 of TDES3 is reset in the last descriptor, and the specific packet status information is updated in the descriptor. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Interrupt status not detected : 0x0 1h = Transmit Interrupt status detected : 0x1 |
DMA_CH0_Miss_Frame_Cnt is shown in Figure 43-288 and described in Table 43-342.
Return to the Summary Table.
This register has the number of packet counter that got dropped by the DMA either due to Bus Error or due to programming RPF field in DMA_CH${i}_Rx_Control register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
MFCO | RESERVED | MFC | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MFC | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15 | MFCO | R | 0h | Overflow status of the MFC Counter When this bit is set then the MFC counter does not get incremented further. The bit gets cleared when this register is read. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
14-11 | RESERVED | R | 0h | Reserved. |
10-0 | MFC | R | 0h | Dropped Packet Counters This counter indicates the number of packet counters that are dropped by the DMA either because of bus error or because of programing RPF field in DMA_CH${i}_Rx_Control register. The counter gets cleared when this register is read. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
DMA_CH0_RX_ERI_Cnt is shown in Figure 43-289 and described in Table 43-343.
Return to the Summary Table.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ECNT | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-12 | RESERVED | R | 0h | |
11-0 | ECNT | R | 0h | ERI Counter When ERIC bit of DMA_CH(#i)_RX_Control register is set, this counter increments for burst transfer completed by the Rx DMA from the start of packet transfer. This counter will get reset at the start of new packet. |
DMA_CH1_Control is shown in Figure 43-290 and described in Table 43-344.
Return to the Summary Table.
The DMA Channeli Control register specifies the MSS value for segmentation, length to skip between two descriptors, and also the features such as header splitting and 8xPBL mode.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | SPH | ||||||
R-0h | R/W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | DSL | RESERVED | PBLx8 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | MSS | ||||||
R-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MSS | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-25 | RESERVED | R | 0h | Reserved. |
24 | SPH | R/W | 0h | Split Headers When this bit is set, the DMA splits the header and payload in the Receive path. The DMA writes the header to the Buffer Address1 of RDES0. The DMA writes the payload to the buffer to which the Buffer Address2 is pointing. The software must ensure that the header fits into the Receive buffers. If the header length exceeds the receive buffer size, the DMA does not split the header and payload. This bit is available only if Enable Split Header Structure option is selected. 0h = Split Headers feature is disabled : 0x0 1h = Split Headers feature is enabled : 0x1 |
23-21 | RESERVED | R | 0h | Reserved. |
20-18 | DSL | R/W | 0h | Descriptor Skip Length This bit specifies the Word, Dword, or Lword number (depending on the 32-bit, 64-bit, or 128-bit bus) to skip between two unchained descriptors. The address skipping starts from the end of the current descriptor to the start of the next descriptor. When the DSL value is equal to zero, the DMA takes the descriptor table as contiguous. |
17 | RESERVED | R | 0h | Reserved. |
16 | PBLx8 | R/W | 0h | 8xPBL mode When this bit is set, the PBL value programmed in Bits[21:16] in DMA_CH0_Tx_Control and Bits[21:16] in DMA_CH0_Rx_Control is multiplied by eight times. Therefore, the DMA transfers the data in 8, 16, 32, 64, 128, and 256 beats depending on the PBL value. 0h = 8xPBL mode is disabled : 0x0 1h = 8xPBL mode is enabled : 0x1 |
15-14 | RESERVED | R | 0h | Reserved. |
13-0 | MSS | R/W | 0h | Maximum Segment Size This field specifies the maximum segment size that should be used while segmenting the packet. This field is valid only if the TSE bit of DMA_CH0_Tx_Control register is set. The value programmed in this field must be more than the configured Datawidth in bytes. It is recommended to use a MSS value of 64 bytes or more. |
DMA_CH1_Tx_Control is shown in Figure 43-291 and described in Table 43-345.
Return to the Summary Table.
The DMA Channeli Transmit Control register controls the Tx features such as PBL, TCP segmentation, and Tx Channel weights.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RESERVED | RESERVED | |||||
R-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | ETIC | TxPBL | |||||
R-0h | R/W-0h | R/W-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RESERVED | TSE | RESERVED | ||||
R-0h | R-0h | R/W-0h | R-0h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | OSF | TCW | ST | ||||
R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-29 | RESERVED | R | 0h | Reserved. |
28 | RESERVED | R | 0h | Reserved. |
27-24 | RESERVED | R | 0h | Reserved. |
23 | RESERVED | R | 0h | Reserved. |
22 | ETIC | R/W | 0h | Early Transmit Interrupt Control When this bit is set, Early Transmit Interrupt (ETI) status is set after completion of transfer of data from buffers of a transmit descriptor in which IOC bit (TDES2[31]) is set. When this bit is reset, ETI is set only after a complete packet is transferred to the MTL TX FIFO memory. 0h = Early Transmit Interrupt is disabled : 0x0 1h = Early Transmit Interrupt is enabled : 0x1 |
21-16 | TxPBL | R/W | 0h | Transmit Programmable Burst Length These bits indicate the maximum number of beats to be transferred in one DMA block data transfer. The DMA always attempts max burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior. To transfer more than 32 beats, perform the following steps: 1. Set the 8xPBL mode in DMA_CH0_Control register. 2. Set the TxPBL. Note: The maximum value of TxPBL must be less than or equal to half the Tx Queue size (TQS field of MTL_TxQ[n]_Operation_Mode register) in terms of beats. This is required so that the Tx Queue has space to store at least another Tx PBL worth of data while the MTL Tx Queue Controller is transferring data to MAC. For example, in 64-bit data width configurations the total locations in Tx Queue of size 512 bytes is 64, TxPBL and 8xPBL needs to be programmed to less than or equal to 32. |
15 | RESERVED | R | 0h | Reserved. |
14-13 | RESERVED | R | 0h | Reserved. |
12 | TSE | R/W | 0h | TCP Segmentation Enabled When this bit is set, the DMA performs the TCP segmentation or UDP Segmentation/Fragmentation for packets in this channel. The TCP segmentation or UDP packet's segmentation/Fragmentation is done only for those packets for which the TSE bit (TDES0[19]) is set in the Tx Normal descriptor.When this bit is set, the TxPBL value must be greater than 4. 0h = TCP Segmentation is disabled : 0x0 1h = TCP Segmentation is enabled : 0x1 |
11-5 | RESERVED | R | 0h | Reserved. |
4 | OSF | R/W | 0h | Operate on Second Packet When this bit is set, it instructs the DMA to process the second packet of the Transmit data even before the status for the first packet is obtained. 0h = Operate on Second Packet disabled : 0x0 1h = Operate on Second Packet enabled : 0x1 |
3-1 | TCW | R/W | 0h | Transmit Channel Weight This field indicates the weight assigned to the corresponding Transmit channel. When reset is complete, this field is set to 0 for all channels by default, resulting in equal weights to all channels. |
0 | ST | R/W | 0h | Start or Stop Transmission Command When this bit is set, transmission is placed in the Running state. The DMA checks the Transmit list at the current position for a packet to be transmitted. The DMA tries to acquire descriptor from either of the following positions: - The current position in the list This is the base address of the Transmit list set by the DMA_CH0_TxDesc_List_Address register. - The position at which the transmission was previously stopped If the DMA does not own the current descriptor, the transmission enters the Suspended state and the TBU bit of the DMA_CH0_Status register is set. The Start Transmission command is effective only when the transmission is stopped. If the command is issued before setting the DMA_CH0_TxDesc_List_Address register, the DMA behavior is unpredictable. When this bit is reset, the transmission process is placed in the Stopped state after completing the transmission of the current packet. The Next Descriptor position in the Transmit list is saved, and it becomes the current position when the transmission is restarted. To change the list address, you need to program DMA_CH0_TxDesc_List_Address register with a new value when this bit is reset. The new value is considered when this bit is set again. The stop transmission command is effective only when the transmission of the current packet is complete or the transmission is in the Suspended state. 0h = Stop Transmission Command : 0x0 1h = Start Transmission Command : 0x1 |
DMA_CH1_Rx_Control is shown in Figure 43-292 and described in Table 43-346.
Return to the Summary Table.
The DMA Channeli Receive Control register controls the Rx features such as PBL, buffer size, and extended status.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RPF | RESERVED | RESERVED | |||||
R/W-0h | R-0h | R-0h | |||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | ERIC | RxPBL | |||||
R-0h | R/W-0h | R/W-0h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | RBSZ_13_y | ||||||
R-0h | R/W-0h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RBSZ_13_y | RBSZ_x_0 | SR | |||||
R/W-0h | R-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RPF | R/W | 0h | Rx Packet Flush.
When this bit is set to 1, then DWC_ether_qos automatically flushes the packet from the Rx Queues destined to this DMA Rx Channel, when it is stopped. When this bit remains set and the DMA is re-started by the software driver, the packets residing in the Rx Queues that were received when this RxDMA was stopped, get flushed out. The packets that are received by the MAC after the RxDMA is re-started are routed to the RxDMA. The flushing happens on the Read side of the Rx Queue. When this bit is set to 0, the DWC_ether_qos not flush the packet in the Rx Queue destined to this RxDMA Channel when it is STOP state. This may in turn cause head-of-line blocking in the corresponding RxQueue. 0h = Rx Packet Flush is disabled : 0x0 1h = Rx Packet Flush is enabled : 0x1 |
30-28 | RESERVED | R | 0h | Reserved. |
27-24 | RESERVED | R | 0h | Reserved. |
23 | RESERVED | R | 0h | Reserved. |
22 | ERIC | R/W | 0h | Early Receive Interrupt Control When this bit is set, Early Receive Interrupt (ERI) status is set after completion of every burst transfer of data from the Rx DMA to the buffer. When this bit is reset, ERI is set only after a complete buffer is filled up by the RxDMA. 0h = Early Receive Interrupt is disabled : 0x0 1h = Early Receive Interrupt is enabled : 0x1 |
21-16 | RxPBL | R/W | 0h | Receive Programmable Burst Length These bits indicate the maximum number of beats to be transferred in one DMA block data transfer. The DMA always attempts max burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior. To transfer more than 32 beats, perform the following steps: 1. Set the 8xPBL mode in the DMA_CH0_Control register. 2. Set the RxPBL. Note: The maximum value of RxPBL must be less than or equal to half the Rx Queue size (RQS field of MTL_RxQ[n]_Operation_Mode register) in terms of beats. This is required so that the Rx Queue has space to store at least another Rx PBL worth of data while the Rx DMA is transferring a block of data. For example, in 64-bit data width configurations the total locations in Rx Queue of size 512 bytes is 64, so RxPBL and 8xPBL needs to be programmed to less than or equal to 32. |
15 | RESERVED | R | 0h | Reserved. |
14-3 | RBSZ_13_y | R/W | 0h | Receive Buffer size High RBSZ[13:0] is split into two fields higher RBSZ_13_y and lower RBSZ_x_0. The RBSZ[13:0] field indicates the size of the Rx buffers specified in bytes. The maximum buffer size is limited to 16K bytes. The buffer size is applicable to payload buffers when split headers are enabled. Note: The buffer size must be a multiple of 4, 8, or 16 depending on the data bus widths (32-bit, 64-bit, or 128-bit respectively). This is required even if the value of buffer address pointer is not aligned to data bus width. Hence the lower RBSZ_x_0 bits are read-only and the value is considered as all-zero. Thus the RBSZ_13_y indicates the buffer size in terms of locations (with the width same as bus-width). |
2-1 | RBSZ_x_0 | R | 0h | Receive Buffer size Low RBSZ[13:0] is split into two fields RBSZ_13_y and RBSZ_x_0. The RBSZ_x_0 is the lower field whose width is based on data bus width of the configuration. This field is of width 2, 3, or 4 bits for 32-bit, 64-bit, or 128-bit data bus width respectively. This field is read-only (RO). |
0 | SR | R/W | 0h | Start or Stop Receive When this bit is set, the DMA tries to acquire the descriptor from the Receive list and processes the incoming packets. The DMA tries to acquire descriptor from either of the following positions: - The current position in the list This is the address set by the DMA_CH0_RxDesc_List_Address register. - The position at which the Rx process was previously stopped If the DMA does not own the current descriptor, the reception is suspended and the RBU bit of the DMA_CH0_Status register is set. The Start Receive command is effective only when the reception is stopped. If the command is issued before setting the DMA_CH0_RxDesc_List_Address register, the DMA behavior is unpredictable. When this bit is reset, the Rx DMA operation is stopped after the transfer of the current packet. The next descriptor position in the Receive list is saved, and it becomes the current position after the Rx process is restarted. The Stop Receive command is effective only when the Rx process is in the Running (waiting for Rx packet) or Suspended state. 0h = Stop Receive : 0x0 1h = Start Receive : 0x1 |
DMA_CH1_TxDesc_List_Address is shown in Figure 43-293 and described in Table 43-347.
Return to the Summary Table.
The Channeli Tx Descriptor List Address register points the DMA to the start of Transmit descriptor list. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LSB to low.
You can write to this register only when the Tx DMA has stopped, that is, the ST bit is set to zero in DMA_CH0_Tx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the ST bit to 1, the DMA takes the newly-programmed descriptor base address. If this register is not changed when the ST bit is set to 0, the DMA takes the descriptor address where it was stopped earlier.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TDESLA | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TDESLA | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TDESLA | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TDESLA | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | TDESLA | R/W | 0h | Start of Transmit List This field contains the base address of the first descriptor in the Transmit descriptor list. The DMA ignores the LSB bits (1:0, 2:0, or 3:0) for 32-bit, 64-bit, or 128-bit bus width and internally takes these bits as all-zero. Therefore, these LSB bits are read-only (RO). The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH1_RxDesc_List_Address is shown in Figure 43-294 and described in Table 43-348.
Return to the Summary Table.
The Channeli Rx Descriptor List Address register points the DMA to the start of Receive descriptor list.
This register points to the start of the Receive Descriptor List. The descriptor lists reside in the physical memory space of the application and must be Word, Dword, or Lword-aligned (for 32-bit, 64-bit, or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LS bits low. Writing to this register is permitted only when reception is stopped. When stopped, this register must be written to before the receive Start command is given. You can write to this register only when Rx DMA has stopped, that is, SR bit is set to zero in DMA_CH0_Rx_Control register. When stopped, this register can be written with a new descriptor list address.
When you set the SR bit to 1, the DMA takes the newly programmed descriptor base address.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RDESLA | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RDESLA | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RDESLA | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RDESLA | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | RDESLA | R/W | 0h | Start of Receive List This field contains the base address of the first descriptor in the Rx Descriptor list. The DMA ignores the LSB bits (1:0, 2:0, or 3:0) for 32-bit, 64-bit, or 128-bit bus width and internally takes these bits as all-zero. Therefore, these LSB bits are read-only (RO). The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH1_TxDesc_Tail_Pointer is shown in Figure 43-295 and described in Table 43-349.
Return to the Summary Table.
The Channeli Tx Descriptor Tail Pointer register points to an offset from the base and indicates the location of the last valid descriptor.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TDTP | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TDTP | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TDTP | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TDTP | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | TDTP | R/W | 0h | Transmit Descriptor Tail Pointer This field contains the tail pointer for the Tx descriptor ring. The software writes the tail pointer to add more descriptors to the Tx channel. The hardware tries to transmit all packets referenced by the descriptors between the head and the tail pointer registers. The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH1_RxDesc_Tail_Pointer is shown in Figure 43-296 and described in Table 43-350.
Return to the Summary Table.
The Channeli Rx Descriptor Tail Pointer Points to an offset from the base and indicates the location of the last valid descriptor.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RDTP | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RDTP | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RDTP | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RDTP | RESERVED | ||||||
R/W-0h | R-0h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | RDTP | R/W | 0h | Receive Descriptor Tail Pointer This field contains the tail pointer for the Rx descriptor ring. The software writes the tail pointer to add more descriptors to the Rx channel. The hardware tries to write all received packets to the descriptors referenced between the head and the tail pointer registers. The width of this field depends on the configuration: - 31:2 for 32-bit configuration - 31:3 for 64-bit configuration - 31:4 for 128-bit configuration |
1-0 | RESERVED | R | 0h |
DMA_CH1_TxDesc_Ring_Length is shown in Figure 43-297 and described in Table 43-351.
Return to the Summary Table.
The Tx Descriptor Ring Length register contains the length of the Transmit descriptor ring.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | TDRL | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-10 | RESERVED | R | 0h | Reserved. |
9-0 | TDRL | R/W | 0h | Transmit Descriptor Ring Length This field sets the maximum number of Tx descriptors in the circular descriptor ring. The maximum number of descriptors is limited to 1K descriptors. Synopsys recommends a minimum ring descriptor length of 4. For example, You can program any value up to 0x3FF in this field. This field is 10 bits wide, if you program 0x3FF, you can have 1024 descriptors. If you want to have 10 descriptors, program it to a value of 0x9. |
DMA_CH1_RxDesc_Ring_Length is shown in Figure 43-298 and described in Table 43-352.
Return to the Summary Table.
The Channeli Rx Descriptor Ring Length register contains the length of the Receive descriptor circular ring.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RDRL | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-10 | RESERVED | R | 0h | Reserved. |
9-0 | RDRL | R/W | 0h | Receive Descriptor Ring Length This register sets the maximum number of Rx descriptors in the circular descriptor ring. The maximum number of descriptors is limited to 1K descriptors. For example, You can program any value up to 0x3FF in this field. This field is 10 bits wide, if you program 0x3FF, you can have 1024 descriptors. If you want to have 10 descriptors, program it to a value of 0x9. |
DMA_CH1_Interrupt_Enable is shown in Figure 43-299 and described in Table 43-353.
Return to the Summary Table.
The Channeli Interrupt Enable register enables the interrupts reported by the Status register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
NIE | AIE | CDEE | FBEE | ERIE | ETIE | RWTE | RSE |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RBUE | RIE | RESERVED | TBUE | TXSE | TIE | ||
R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15 | NIE | R/W | 0h | Normal Interrupt Summary Enable When this bit is set, the normal interrupt summary is enabled. This bit enables the following interrupts in the DMA_CH0_Status register: - Bit 0: Transmit Interrupt - Bit 2: Transmit Buffer Unavailable - Bit 6: Receive Interrupt - Bit 11: Early Receive Interrupt When this bit is reset, the normal interrupt summary is disabled. 0h = Normal Interrupt Summary is disabled : 0x0 1h = Normal Interrupt Summary is enabled : 0x1 |
14 | AIE | R/W | 0h | Abnormal Interrupt Summary Enable When this bit is set, the abnormal interrupt summary is enabled. This bit enables the following interrupts in the DMA_CH0_Status register: - Bit 1: Transmit Process Stopped - Bit 7: Rx Buffer Unavailable - Bit 8: Receive Process Stopped - Bit 9: Receive Watchdog Timeout - Bit 10: Early Transmit Interrupt - Bit 12: Fatal Bus Error - Bit 13: Context Descriptor Error When this bit is reset, the abnormal interrupt summary is disabled. 0h = Abnormal Interrupt Summary is disabled : 0x0 1h = Abnormal Interrupt Summary is enabled : 0x1 |
13 | CDEE | R/W | 0h | Context Descriptor Error Enable When this bit is set along with the AIE bit, the Descriptor error interrupt is enabled. When this bit is reset, the Descriptor error interrupt is disabled. 0h = Context Descriptor Error is disabled : 0x0 1h = Context Descriptor Error is enabled : 0x1 |
12 | FBEE | R/W | 0h | Fatal Bus Error Enable When this bit is set along with the AIE bit, the Fatal Bus error interrupt is enabled. When this bit is reset, the Fatal Bus Error error interrupt is disabled. 0h = Fatal Bus Error is disabled : 0x0 1h = Fatal Bus Error is enabled : 0x1 |
11 | ERIE | R/W | 0h | Early Receive Interrupt Enable When this bit is set along with the NIE bit, the Early Receive interrupt is enabled. When this bit is reset, the Early Receive interrupt is disabled. 0h = Early Receive Interrupt is disabled : 0x0 1h = Early Receive Interrupt is enabled : 0x1 |
10 | ETIE | R/W | 0h | Early Transmit Interrupt Enable When this bit is set along with the AIE bit, the Early Transmit interrupt is enabled. When this bit is reset, the Early Transmit interrupt is disabled. 0h = Early Transmit Interrupt is disabled : 0x0 1h = Early Transmit Interrupt is enabled : 0x1 |
9 | RWTE | R/W | 0h | Receive Watchdog Timeout Enable When this bit is set along with the AIE bit, the Receive Watchdog Timeout interrupt is enabled. When this bit is reset, the Receive Watchdog Timeout interrupt is disabled. 0h = Receive Watchdog Timeout is disabled : 0x0 1h = Receive Watchdog Timeout is enabled : 0x1 |
8 | RSE | R/W | 0h | Receive Stopped Enable When this bit is set along with the AIE bit, the Receive Stopped Interrupt is enabled. When this bit is reset, the Receive Stopped interrupt is disabled. 0h = Receive Stopped is disabled : 0x0 1h = Receive Stopped is enabled : 0x1 |
7 | RBUE | R/W | 0h | Receive Buffer Unavailable Enable When this bit is set along with the AIE bit, the Receive Buffer Unavailable interrupt is enabled. When this bit is reset, the Receive Buffer Unavailable interrupt is disabled. 0h = Receive Buffer Unavailable is disabled : 0x0 1h = Receive Buffer Unavailable is enabled : 0x1 |
6 | RIE | R/W | 0h | Receive Interrupt Enable When this bit is set along with the NIE bit, the Receive Interrupt is enabled. When this bit is reset, the Receive Interrupt is disabled. 0h = Receive Interrupt is disabled : 0x0 1h = Receive Interrupt is enabled : 0x1 |
5-3 | RESERVED | R | 0h | Reserved. |
2 | TBUE | R/W | 0h | Transmit Buffer Unavailable Enable When this bit is set along with the NIE bit, the Transmit Buffer Unavailable interrupt is enabled. When this bit is reset, the Transmit Buffer Unavailable interrupt is disabled. 0h = Transmit Buffer Unavailable is disabled : 0x0 1h = Transmit Buffer Unavailable is enabled : 0x1 |
1 | TXSE | R/W | 0h | Transmit Stopped Enable When this bit is set along with the AIE bit, the Transmission Stopped interrupt is enabled. When this bit is reset, the Transmission Stopped interrupt is disabled. 0h = Transmit Stopped is disabled : 0x0 1h = Transmit Stopped is enabled : 0x1 |
0 | TIE | R/W | 0h | Transmit Interrupt Enable When this bit is set along with the NIE bit, the Transmit Interrupt is enabled. When this bit is reset, the Transmit Interrupt is disabled. 0h = Transmit Interrupt is disabled : 0x0 1h = Transmit Interrupt is enabled : 0x1 |
DMA_CH1_Rx_Interrupt_Watchdog_Timer is shown in Figure 43-300 and described in Table 43-354.
Return to the Summary Table.
The Receive Interrupt Watchdog Timer register indicates the watchdog timeout for Receive Interrupt (RI) from the DMA. When this register is written with a non-zero value, it enables the watchdog timer for the RI bit of the DMA_CHi_Status register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | RWTU | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RWT | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-18 | RESERVED | R | 0h | Reserved. |
17-16 | RWTU | R/W | 0h | Receive Interrupt Watchdog Timer Count Units This fields indicates the number of system clock cycles corresponding to one unit in RWT field. - 2'b00: 256 - 2'b01: 512 - 2'b10: 1024 - 2'b11: 2048 For example, when RWT=2 and RWTU=1, the watchdog timer is set for 2*512=1024 system clock cycles. |
15-8 | RESERVED | R | 0h | Reserved. |
7-0 | RWT | R/W | 0h | Receive Interrupt Watchdog Timer Count This field indicates the number of system clock cycles, multiplied by factor indicated in RWTU field, for which the watchdog timer is set. The watchdog timer is triggered with the programmed value after the Rx DMA completes the transfer of a packet for which the RI bit is not set in the DMA_CH0_Status register, because of the setting of Interrupt Enable bit in the corresponding descriptor RDES3[30]. When the watchdog timer runs out, the RI bit is set and the timer is stopped. The watchdog timer is reset when the RI bit is set high because of automatic setting of RI as per the Interrupt Enable bit RDES3[30] of any received packet. |
DMA_CH1_Current_App_TxDesc is shown in Figure 43-301 and described in Table 43-355.
Return to the Summary Table.
The Channeli Current Application Transmit Descriptor register points to the current Transmit descriptor read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURTDESAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURTDESAPTR | R | 0h | Application Transmit Descriptor Address Pointer The DMA updates this pointer during Tx operation. This pointer is cleared on reset. |
DMA_CH1_Current_App_RxDesc is shown in Figure 43-302 and described in Table 43-356.
Return to the Summary Table.
The Channeli Current Application Receive Descriptor register points to the current Receive descriptor read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURRDESAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURRDESAPTR | R | 0h | Application Receive Descriptor Address Pointer The DMA updates this pointer during Rx operation. This pointer is cleared on reset. |
DMA_CH1_Current_App_TxBuffer is shown in Figure 43-303 and described in Table 43-357.
Return to the Summary Table.
The Channeli Current Application Transmit Buffer Address register points to the current Tx buffer address read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURTBUFAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURTBUFAPTR | R | 0h | Application Transmit Buffer Address Pointer The DMA updates this pointer during Tx operation. This pointer is cleared on reset. |
DMA_CH1_Current_App_RxBuffer is shown in Figure 43-304 and described in Table 43-358.
Return to the Summary Table.
The Channel 0 Current Application Receive Buffer Address register points to the current Rx buffer address read by the DMA.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURRBUFAPTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CURRBUFAPTR | R | 0h | Application Receive Buffer Address Pointer The DMA updates this pointer during Rx operation. This pointer is cleared on reset. |
DMA_CH1_Status is shown in Figure 43-305 and described in Table 43-359.
Return to the Summary Table.
The software driver (application) reads the Status register during interrupt service routine or polling to determine the status of the DMA.
Note: The number of DMA_CH[n]_Status register in the configuration is the higher of number of Rx DMA Channels and Tx DMA Channels.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | REB | TEB | |||||||||||||
R-0h | R-0h | R-0h | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
NIS | AIS | CDE | FBE | ERI | ETI | RWT | RPS | RBU | RI | RESERVED | TBU | TPS | TI | ||
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | ||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-22 | RESERVED | R | 0h | Reserved. |
21-19 | REB | R | 0h | Rx DMA Error Bits This field indicates the type of error that caused a Bus Error. For example, error response on the AHB or AXI interface. Bit 21 - 1'b1: Error during data transfer by Rx DMA - 1'b0: No Error during data transfer by Rx DMA Bit 20 - 1'b1: Error during descriptor access - 1'b0: Error during data buffer access Bit 19 - 1'b1: Error during read transfer - 1'b0: Error during write transfer This field is valid only when the FBE bit is set. This field does not generate an interrupt. |
18-16 | TEB | R | 0h | Tx DMA Error Bits This field indicates the type of error that caused a Bus Error. For example, error response on the AHB or AXI interface. Bit 18 - 1'b1: Error during data transfer by Tx DMA - 1'b0: No Error during data transfer by Tx DMA Bit 17 - 1'b1: Error during descriptor access - 1'b0: Error during data buffer access Bit 16 - 1'b1: Error during read transfer - 1'b0: Error during write transfer This field is valid only when the FBE bit is set. This field does not generate an interrupt. |
15 | NIS | R/W | 0h | Normal Interrupt Summary Normal Interrupt Summary bit value is the logical OR of the following bits when the corresponding interrupt bits are enabled in the DMA_CH0_Interrupt_Enable register: - Bit 0: Transmit Interrupt - Bit 2: Transmit Buffer Unavailable - Bit 6: Receive Interrupt - Bit 11: Early Receive Interrupt Only unmasked bits (interrupts for which interrupt enable is set in DMA_CH0_Interrupt_Enable register) affect the Normal Interrupt Summary bit. This is a sticky bit. You must clear this bit (by writing 1 to this bit) each time a corresponding bit which causes NIS to be set is cleared. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Normal Interrupt Summary status not detected : 0x0 1h = Normal Interrupt Summary status detected : 0x1 |
14 | AIS | R/W | 0h | Abnormal Interrupt Summary Abnormal Interrupt Summary bit value is the logical OR of the following when the corresponding interrupt bits are enabled in the DMA_CH0_Interrupt_Enable register: - Bit 1: Transmit Process Stopped - Bit 7: Receive Buffer Unavailable - Bit 8: Receive Process Stopped - Bit 10: Early Transmit Interrupt - Bit 12: Fatal Bus Error - Bit 13: Context Descriptor Error Only unmasked bits affect the Abnormal Interrupt Summary bit. This is a sticky bit. You must clear this bit (by writing 1 to this bit) each time a corresponding bit, which causes AIS to be set, is cleared. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Abnormal Interrupt Summary status not detected : 0x0 1h = Abnormal Interrupt Summary status detected : 0x1 |
13 | CDE | R/W | 0h | Context Descriptor Error This bit indicates that the DMA Tx/Rx engine received a descriptor error, which indicates invalid context in the middle of packet flow ( intermediate descriptor) or all one's descriptor in Tx case and on Rx side it indicates DMA has read a descriptor with either of the buffer address as ones which is considered to be invalid. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Context Descriptor Error status not detected : 0x0 1h = Context Descriptor Error status detected : 0x1 |
12 | FBE | R/W | 0h | Fatal Bus Error This bit indicates that a bus error occurred (as described in the EB field). When this bit is set, the corresponding DMA channel engine disables all bus accesses. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Fatal Bus Error status not detected : 0x0 1h = Fatal Bus Error status detected : 0x1 |
11 | ERI | R/W | 0h | Early Receive Interrupt This bit when set indicates that the RxDMA has completed the transfer of packet data to the memory. When ERIC=0, this bit is set only after the Rx DMA has filled up a complete receive buffer with packet data. When ERIC=1, this bit is set after every burst transfer of data from the Rx DMA to the buffer. The setting of RI bit automatically clears this bit. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Early Receive Interrupt status not detected : 0x0 1h = Early Receive Interrupt status detected : 0x1 |
10 | ETI | R/W | 0h | Early Transmit Interrupt This bit when set indicates that the TxDMA has completed the transfer of packet data to the MTL TXFIFO memory. When ETIC=0, this bit is set only after the Tx DMA has transferred a complete packet to MTL. When ETIC=1, this bit is set after completion of (partial) packet data transfer from buffers in the Transmit descriptor in which IOC=1. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Early Transmit Interrupt status not detected : 0x0 1h = Early Transmit Interrupt status detected : 0x1 |
9 | RWT | R/W | 0h | Receive Watchdog Timeout This bit is asserted when a packet with length greater than 2,048 bytes (10,240 bytes when Jumbo Packet mode is enabled) is received. 0h = Receive Watchdog Timeout status not detected : 0x0 1h = Receive Watchdog Timeout status detected : 0x1 |
8 | RPS | R/W | 0h | Receive Process Stopped This bit is asserted when the Rx process enters the Stopped state. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Process Stopped status not detected : 0x0 1h = Receive Process Stopped status detected : 0x1 |
7 | RBU | R/W | 0h | Receive Buffer Unavailable This bit indicates that the application owns the next descriptor in the Receive list, and the DMA cannot acquire it. The Rx process is suspended. To resume processing Rx descriptors, the application should change the ownership of the descriptor and issue a Receive Poll Demand command. If this command is not issued, the Rx process resumes when the next recognized incoming packet is received. In ring mode, the application should advance the Receive Descriptor Tail Pointer register of a channel. This bit is set only when the DMA owns the previous Rx descriptor. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Buffer Unavailable status not detected : 0x0 1h = Receive Buffer Unavailable status detected : 0x1 |
6 | RI | R/W | 0h | Receive Interrupt This bit indicates that the packet reception is complete. When packet reception is complete, Bit 31 of RDES3 is reset in the last descriptor, and the specific packet status information is updated in the descriptor. The reception remains in the Running state. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Receive Interrupt status not detected : 0x0 1h = Receive Interrupt status detected : 0x1 |
5-3 | RESERVED | R | 0h | Reserved. |
2 | TBU | R/W | 0h | Transmit Buffer Unavailable This bit indicates that the application owns the next descriptor in the Transmit list, and the DMA cannot acquire it. Transmission is suspended. The TPS0 field of the DMA_Debug_Status0 register explains the Transmit Process state transitions. To resume processing the Transmit descriptors, the application should do the following: 1. Change the ownership of the descriptor by setting Bit 31 of TDES3. 2. Issue a Transmit Poll Demand command. For ring mode, the application should advance the Transmit Descriptor Tail Pointer register of a channel. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Buffer Unavailable status not detected : 0x0 1h = Transmit Buffer Unavailable status detected : 0x1 |
1 | TPS | R/W | 0h | Transmit Process Stopped This bit is set when the transmission is stopped. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Process Stopped status not detected : 0x0 1h = Transmit Process Stopped status detected : 0x1 |
0 | TI | R/W | 0h | Transmit Interrupt This bit indicates that the packet transmission is complete. When transmission is complete, Bit 31 of TDES3 is reset in the last descriptor, and the specific packet status information is updated in the descriptor. Access restriction applies. Self-set to 1 on internal event. Setting 1 clears. Setting 0 has no effect. 0h = Transmit Interrupt status not detected : 0x0 1h = Transmit Interrupt status detected : 0x1 |
DMA_CH1_Miss_Frame_Cnt is shown in Figure 43-306 and described in Table 43-360.
Return to the Summary Table.
This register has the number of packet counter that got dropped by the DMA either due to Bus Error or due to programming RPF field in DMA_CH${i}_Rx_Control register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
MFCO | RESERVED | MFC | |||||
R-0h | R-0h | R-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MFC | |||||||
R-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved. |
15 | MFCO | R | 0h | Overflow status of the MFC Counter When this bit is set then the MFC counter does not get incremented further. The bit gets cleared when this register is read. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
14-11 | RESERVED | R | 0h | Reserved. |
10-0 | MFC | R | 0h | Dropped Packet Counters This counter indicates the number of packet counters that are dropped by the DMA either because of bus error or because of programing RPF field in DMA_CH${i}_Rx_Control register. The counter gets cleared when this register is read. Access restriction applies. Clears on read. Self-set to 1 on internal event. |
DMA_CH1_RX_ERI_Cnt is shown in Figure 43-307 and described in Table 43-361.
Return to the Summary Table.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ECNT | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-12 | RESERVED | R | 0h | |
11-0 | ECNT | R | 0h | ERI Counter When ERIC bit of DMA_CH(#i)_RX_Control register is set, this counter increments for burst transfer completed by the Rx DMA from the start of packet transfer. This counter will get reset at the start of new packet. |