SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
The RX L2 filter operates on the data packet when the data packet is pushed into RX L2 FIFO. The RX L2 FIFO will need to be enabled. The filters will work with ether enable or disable of the RX L2 features through MII_G_RT_ICSS_G_CFG[2] RX_L2_G_EN bit.
Note that MII mode can operate with or without MII_G_RT_ICSS_G_CFG[2] RX_L2_G_EN bit to be enabled. For RGMII and SGMII modes must have MII_G_RT_ICSS_G_CFG[2] RX_L2_G_EN bit enabled.
The status of the flags is available in Broadside Map of RTU_PRU and PRU along with the poke mode if enabled. The flags are cleared on RX_L2_DONE event or a software update of MII_G_RT_FT3_m_START_PRUn[14-0] FT3_START bitfield (where m = 0 to 15 and n = 0 or 1). Note that these filters have no state information/context for pre-empted frames or fragements. All data packets are handled the same way, Byte 1 is Byte 1.
Table 6-479 defines the mapping between PRU or RTU_PRUn internal core registers and RX filter status flags
Note that both PRU and RTU_PRU cores get the same mapping.
The data is always stored in the RX L2 FIFO before the flag is set, i.e. the flag can be delayed.
BS ID | BS R | Bit | Name | Type | Reset | Description |
---|---|---|---|---|---|---|
22 | R10 | 14-0 | FT_RX_PTR | R | 0h | This shows the current byte that the filters are working on.
The value remains persistent until a new packet starts. |
22 | R11 | 8 | FT_RX_UC | R | 0h | Unicast frame defined by DA1[0]. |
22 | R11 | 9 | FT_RX_MC | R | 0h | Multicast frame defined by DA1[0]. |
22 | R11 | 10 | FT_RX_BC | R | 0h | Broadcast frame defined by DA6:DA1. |
22 | R11 | 11 | FT_RX_SAV | R | 0h | Source Address Violation defined by SA and MAC. |
22 | R11 | 12 | FT_RX_FW | R | 0h | Forward frame. |
22 | R11 | 13 | FT_RX_RCV | R | 0h | Receive frame. |
22 | R11 | 14 | FT_RX_VLAN | R | 0h | VLAN frame. |
22 | R11 | 15 | FT_RX_DA_P | R | 0h | Destination Address Match. |
22 | R11 | 16 | FT_RX_DA_I | R | 0h | Destination Address Match. |
22 | R11 | 31 | RX_L2_DONE | W | 0h | RX L2 Done. |
22 | R12 | 0 | FT1_VLD | R | 0h | Valid Status of RX L2 Filter -Type 1 (MAC Filter). |
22 | R12 | 15-8 | FT1_MATCH | R | 0h | RX L2 Filter (Type 1) Match Vector Status. |
22 | R13 | 7-0 | FT3_VLD[7-0] | R | 0h | Valid Status of RX L2 Filter-Type 3 (Content Filter). |
22 | R13 | 15-8 | FT3_MATCH[7-0] | R | 0h | RX L2 Filter (Type 3) Match Vector Status. |
22 | R14 | 7-0 | FT3_VLD[15-8] | R | 0h | Valid Status of RX L2 Filter-Type 3 (Content Filter). |
22 | R14 | 15-8 | FT3_MATCH[15-8] | R | 0h | RX L2 Filter (Type 3) Match Vector Status. |
22 | R15 | 9-0 | SA_HASH | R | 0h | SA Hash Value. |
22 | R15 | 16 | SA_HASH_VLD | R | 0h | SA Hash Valid. |
22 | R16 | 10-0 | CONN_HASH | R | 0h | Connection Hash Value. |
22 | R16 | 16 | CONN_HASH_VLD | R | 0h | Connection Hash Valid. |
22 | R17 | 0 | RX_RATE_STATUS0 | R | 0h | RX Rate Status0. |
22 | R17 | 1 | RX_RATE_STATUS1 | R | 0h | RX Rate Status1. |
22 | R17 | 2 | RX_RATE_STATUS2 | R | 0h | RX Rate Status2. |
22 | R17 | 3 | RX_RATE_STATUS3 | R | 0h | RX Rate Status3. |
22 | R17 | 4 | RX_RATE_STATUS4 | R | 0h | RX Rate Status4. |
22 | R17 | 5 | RX_RATE_STATUS5 | R | 0h | RX Rate Status5. |
22 | R17 | 6 | RX_RATE_STATUS6 | R | 0h | RX Rate Status6. |
22 | R17 | 7 | RX_RATE_STATUS7 | R | 0h | RX Rate Status7. |
22 | R17 | 31-16 | RX_CLASS[15-0] | R | 0h | RX Class Status. |