Programmer’s Guide BCM5722
10/15/07
Broadcom Corporation
Document 5722-PG101-R Endian Control (Byte and Word Swapping) Page 150
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 would require 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 71: Send Buffer Descriptor (Little-Endian 32-Bit format) with No Swapping
Byte # 3 2 1 0
Bit # 31 16 15 0
Host Address LSB 0x00
MSB 0x04
Reserved VLAN 0x08
MSB Length LSB Flags 0x0C
Table 72: Send Buffer Descriptor (Little-Endian 32-Bit format) with Word Swapping
Byte # 3 2 1 0
Bit # 31 16 15 0
MSB Host Address 0x00
LSB 0x04
MSB Length LSB Flags 0x08
Reserved VLAN 0x0C
Table 73: Send Buffer Descriptor (Big-Endian 32-bit format) with Byte Swapping
Byte # 0 1 2 3
Bit # 31 16 15 0
MSB Host Address 0x00
LSB 0x04
Reserved VLAN 0x08
MSB Length LSB Flags 0x0C