SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
Info Word 0/1/2/3 (INFO1 and INFO3 are ignored) are transferred on SOP. If a timestamp word (Extended Packet Info Word 0/1/2/3) is to be transferred it must be after SOP and before any packet data is transferred. Any following non-data type words will be dropped. The EOP word must be payload data.
Input receive packets cannot be aborted by the host. The INFO Word bit descriptions and Extended Packet INFO Word bit descriptions are shown below. The PASS_CRC bit indicates that the CRC is passed with the packet data. Packets that have a passed CRC that is an error CRC will be output on the Ethernet port with at least one CRC byte inverted to indicate the error if P0_RX_PASS_CRC_ERR bit is set, otherwise they are dropped. The packet is a directed packet when any of the TO_PORT bits are nonzero. A packet may be directed only to a single port. The packet will be sent to the port number indicated. For directed packets the lookup process is skipped to determine the destination. However, in vlan aware mode (when VLAN_AWARE bit in the CPSW_CONTROL_REG register is set to 1h) the lookup is performed to determine untagged egress. Packets longer then the value in CPSW_P0_RX_MAXLEN_REG[13-0] RX_MAXLEN bit field are dropped. Packets shorter than 60-Bytes are padded to 64-Bytes (after adding pad and CRC) if P0_RX_PAD bit in the CPSW_CONTROL_REG register is set and if PASS_CRC is clear, otherwise they are dropped. This means that packets shorter than 64-Bytes are dropped if the PASS_CRC info bit is set regardless of P0_RX_PAD bit (packets are padded only if they are short and do not have CRC).
A RX INFO word is a contiguous block of four 32-bit data words aligned on a 32-bit word boundary.
RX Control Data Words [0..2] are mapped to Host Packet Descriptor Protocol Specific Words if (TCHAN[a]_TCFG.tx_filt_pswords = 0) and (Host PD Word 1.Protocol Specific Region Location.bit[28] = 0h) and (Host PD Word 1.Protocol Specific Valid Word Count.bits[22-27] = 4h)
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | PASS_CRC | CRC_TYPE | RESERVED | ||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED |
Bit | Field | Description |
---|---|---|
31-24 | RESERVED | Reserved. |
23 | PASS_CRC | The PASS_CRC bit indicates that the CRC is passed with the packet data. 0h: CRC is not passed with packet (CRC_TYPE is don’t care) 1h: CRC of type CRC_TYPE is passed with the packet. |
22 (Host PD (Packet Descriptor) Word 1. Protocol Specific Flags: bits[27-24]) |
CRC_TYPE | CRC Type 0h: Ethernet CRC 1h: Castagnoli CRC |
21-0 | RESERVED | Reserved. |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | TO_PORT | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED |
Bit | Field | Description |
---|---|---|
31-21 | RESERVED | Reserved. |
20-16 (Host PD (Packet Descriptor) Word 3. Dest Tag Low bits[8-0]) |
TO_PORT | Port number to send the directed packet to. This field is set by the host. This field is valid on SOP. Directed packets go to the directed port, but an ALE lookup is performed to determine untagged egress in VLAN_AWARE mode. 0h: Not directed 1h: Send the packet to port 1. 2h: Send the packet to port 2. |
15-0 | RESERVED | Reserved. |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TIMESTAMP_EN | RESERVED | DOMAIN | MSG_TYPE | ||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SEQUENCE_ID |
Bit | Field | Description |
---|---|---|
31 | TIMESTAMP_EN | When set, this bit indicates that the packet will generate a timesync event on Ethernet egress (if the CPTS is configured properly) with the associated DOMAIN, MSG_TYPE, and SEQUENCE_ID. |
30-28 | RESERVED | Reserved. |
27-20 | DOMAIN | Timesync domain. |
19-16 | MSG_TYPE | Timesync message type. |
15-0 | SEQUENCE_ID | Timesync sequence ID. |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
CHECKSUM_RESULT | CHECKSUM_START_BYTE | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CHECKSUM_INV | RESERVED | CHECKSUM_BYTECOUNT |
Bit | Field | Description |
---|---|---|
31-24 | CHECKSUM_RESULT | This is the packet byte number where the checksum result will be placed in the egress packet. The first packet byte which is the first byte of the destination address is Byte 1 (not byte zero). |
23-16 | CHECKSUM_START_BYTE | This is the packet byte number to start the checksum calculation on. The first packet byte is Byte 1. |
15 | CHECKSUM_INV | When set, a zero checksum value will be inverted and sent as FFFFh. |
14 | RESERVED | Reserved. |
13-0 | CHECKSUM_BYTECOUNT | This is the number of bytes to calculate the checksum on. The outgoing Ethernet packet will have a checksum inserted when this value is non-zero. |
Other INFO words are not taken into account.