SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
Device ID | Function | Description |
---|---|---|
40 | Data | R17:R2 Data, XOUT Only 1-Byte to 64-Bytes in size LSB packed and no gaps, for example 64-Bytes push R17:R2 32-Bytes push R9:R2 16-Bytes push R5:R2 4-Bytes push R2 7-Bytes push R3(b2.b0):R2 1-Bytes push R2(b0) Can do back to back |
40 | Control | Control of TX L2 FIFO |
40 | Status | Status of TX L2 FIFO |
BS ID | BS R | Bit | Name | Type | Reset | Description |
---|---|---|---|---|---|---|
40 | R18 | 1-0 | TAG insertion mode | WO | 0h | Sets the TAG mode for next frame or current frame. It will have a one time action per frame. After action, software must rearm for a new action 1 cmd per packet. |
40 | R18 | 2 | VLAN removal | WO | 0h | If set, it will remove 4-Bytes of VLAN. |
40 | R18 | 4 | EXP_FRAME | WO | 0h | Must be set for all EXP_FRAME. We have 3 types of frames:
PRE_FRAME (use MII_G_RT_SMDT1S_CFG .SMDT1S_n for intial and MII_G_RT_SMDT1C_CFG .SMDT1C_n + MII_G_RT_FRAG_CNT_CFG .FRAG_CNT_n for non intial) EXP_FRAME set PRE_FRAME not set. Note: This bit is self cleared on EOF. |
40 | R18 | 6 | RESERVED | R | 0h | Reserved |
40 | R18 | 7 | EOF_MCRC_REQ | WO | Set this bit before TX L1 FIFO is empty to generate a MCRC vs CRC. | |
40 | R18 | 11-8 | RESERVED | R | 0h | Reserved |
BS ID | BS R | Bit | Name | Type | Reset | Description |
---|---|---|---|---|---|---|
40 | R19 | 11-0 | TXL2ByteSentCount | R | 0h | This bit field defines the number of bytes transmitted to TX L1 FIFO. The count will remain persistent until the next frame starts. This will get used to determine the number of bytes which got transmitted after a Preemption event. This includes all data pushed by the PRU core, which did get transmitted. It does not include the CRC. |
40 | R19 | 12 | RESERVED | R | 0h | Reserved |
40 | R19 | 13 | RXVLAN Removal | R/W1C | 0h | This bit will be set when VLAN removal occured. VLAN removal will only occur if TPID value is equal to the value in MII_G_RT_TX_VLAN_TYPE_TAG_PORT0/1[15-0] TX_VLAN_TYPE_TAG bit field (reset state is 81h). Software can clear sticky used for debug. |
40 | R19 | 14 | RESERVED | R | 0h | Reserved |
40 | R19 | 15 | RESERVED | R | 0h | Reserved |
40 | R19 | 22-16 | TXL2Occ | R | 0h | This bit field defines the current number of bytes in TX L2 FIFO. |
TAG Mode | At | What to Push/Add to the Frame |
---|---|---|
0 | None | Nothing |
1 | Push TAG1 | Byte 13 = VLAN_PORT<1/0>[7-0] Byte 14 = VLAN_PORT<1/0>[15-8] Byte 15 = VLAN_PORT<1/0>[23-16] Byte 16 = VLAN_PORT<1/0>[31-24] Used for Host. Host -> PRU_ICSSG -> add VLAN TAG -> Port SFD offset issues |
2 | Push TAG2 | Byte 13 = HTAG_PORT<1/0>[7-0] Byte 14 = HTAG_PORT<1/0>[15-8] Byte 15 = HTAG_PORT<1/0>[23-16] Byte 16 = HTAG_PORT<1/0>[31-24] Byte 17 = SEQ_PORT<1/0>[7-0] Byte 18 = SEQ_PORT<1/0>[15-8] |
3 | Push TAG3 | Byte 13 = VLAN_PORT<1/0>[7-0] Byte 14 = VLAN_PORT<1/0>[15-8] Byte 15 = VLAN_PORT<1/0>[23-16] Byte 16 = VLAN_PORT<1/0>[31-24] Byte 17 = HTAG_PORT<1/0>[7-0] Byte 18 = HTAG_PORT<1/0>[15-8] Byte 19 = HTAG_PORT<1/0>[23-16] Byte 20 = HTAG_PORT<1/0>[31-24] Byte 21 = SEQ_PORT<1/0>[7-0] Byte 22 = SEQ_PORT<1/0>[15-8] |