5.3.2 Control Read/Write Format

Before performing a Control Read or Control Write, the SPI host will assert the CS_N low before initiating the Control Command transaction to the LAN8650/1. The Control Read/Write Command is used to perform both individual consecutive register reads/writes. For both read and write, the Control Header sent to the LAN8650/1 over SDI is always echoed back to the SPI host over SDO. When performing control writes, the register data sent over SDI is also echoed back over SDO.

All register data is transmitted as 32-bit words, most significant byte and bit first. Any register data that is less than 32-bits will be right aligned within the word and preceded with zeros.

Register reads or writes can be unprotected (default) or protected when the Protection Enable (PROTE) bit is set in the OA_CONFIG0 register. A protected read or write is the original word of data immediately followed with a duplicate word containing the ones’ complement of the original data. The receiver of the data then performs an exclusive-OR (XOR) of the data and the ones’ complement to determine if any ones are detected indicating a transmission error. If an error was detected, the LAN8650/1 will not write the incorrect data; additionally, the LAN8650/1 will not attempt to correct any write data over SDO when echoing the data.

The following figures illustrate Control Reads, Control Writes, and register data format in both protected and unprotected modes.

Figure 5-5. Control Register Write
Figure 5-6. Control Register Read
Figure 5-7. Control Register Data Formats - Protected and Unprotected