LAN91C111: Use improved driver
The driver provides the same functionalities but is better structured, abstracted, documented, easier to understand,
conscious of edge cases, closer to datasheet recommendations, and at least without two bugs from the existing driver.
See below some of the potential bugs found in the existing driver and other improvements made.
Bugs found (and fixed)
* Byte count size at transmit and reception of frame omits CRC which is included because bits NOCRC and STRIP_CRC have not been set the TCR and RCR MAC registers respectively
* Incorrect register read for link status
* Does not select the correct register bank before accessing a register in bank 0 in device initialisation
* Does not wait when issuing MMU commands
* Blindly takes the ALLOCATED PACKET NUMBER without checking FAILED bit first
* Does not poll ALLOC_INT after sending the ALLOC_TX Command
* Does not wait 50mS after resetting the PHY
Improvements:
* Advertises capabilities at init
* Check device ID at init
Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
Loading
Please register or sign in to comment