
Dear Lucas Stach,
There are multiple changes needed to make AX88772B work:
add vendor and product ID (trivial)
We need to read out the MAC address from the EEPROM and write
it into the NodeID register manually.
- The packet length check has to be adjusted, as all ASIX chips
only use 11 bits to indicate the length. AX88772B uses the other bits to indicate unrelated things, which cause the check to fail. This fix is based on a fix for the Linux kernel by Marek Vasut. Linux upstream commit: bca0beb9363f8487ac902931a50eb00180a2d14a
- AX88772B provides several bulk endpoints. Only the first
IN/OUT endpoints work in the default configuration. So stop enumeration after we found them to avoid overwriting the endpoint config with a non-working one.
This was tested to work on a Colibri T20 board. Patch is based on u-boot-net/next.
v2:
- split out eeprom mac load into separate function
- add flags to driver to get a clean way to enable workarounds or special functions
[...]
Quick review looks fine to me, Joe?
Best regards, Marek Vasut