Endian Control (Byte and Word Swapping)BCM5718 Programmer’s Guide
Broadcom®
January 29, 2016 • 5718-PG108-R Page 201
Word Swap Non-Frame Data = 0 and Byte Swap Non-Frame Data = 0
This would require the software to use the following little-endian data structure on the host:
In this case, the data structure takes on a slightly new format because the words have been swapped.
Word Swap Non-Frame Data = 1 and Byte Swap Non-Frame Data = 0
This requires the software to use the following little-endian data structure on the host:
The disadvantage of this approach is if the host operating system supported a 64-bit data type for a physical
address, the host device driver would have to swap the two 32-bit words that comprise the 64-bit address that
the host operating system used.
Word Swap Non-Frame Data = 0 and Byte Swap Non-Frame Data = 1
This requires the software to use the following big-endian data structure on the host:
Table 70: Send Buffer Descriptor (Little-Endian 32-Bit format) with No Swapping
Byte # 3 2 1 0
Bit # 31 15
Host Address 0x00
MSB 0x04
Reserved VLAN 0x08
MSB Length Flags 0x0C
Table 71: Send Buffer Descriptor (Little-Endian 32-Bit format) with Word Swapping
Byte # 3 2 1 0
Bit # 31 15
MSB Host Address 0x00
0x04
MSB Length Flags 0x08
Reserved VLAN 0x0C
Table 72: Send Buffer Descriptor (Big-Endian 32-bit format) with Byte Swapping
Byte # 0 1 2 3
Bit # 31 15
MSB Host Address 0x00
0x04
Reserved VLAN 0x08
MSB Length Flags 0x0C