A very, very, young tool for programming the firmware.
Currently a proof-of-concept that misses some additional features
1. Clone mdio-proxy-module repo and follow the instructions https://bitbucket.sw.nxp.com/dash/repos/mdio-proxy-module/browse
2. Compile everything
3. Copy firmware file, aqprog tool and kernel module on target
4. Insert module (insmod)
5. aq-firmware-tool <firmware file> <bus name> <addr>
TP1 example: ./aq-firmware-tool firmware.cld 1afd000 0 LX2160A-RDB example: ./aq-firmware-tool firmware.cld 8b96000 4 ./aq-firmware-tool firmware.cld 8b96000 5 BlueBox3 example: ./aq-firmware-tool firmware.cld 8b96000 0 ./aq-firmware-tool firmware.cld 8b96000 8 ./aq-firmware-tool firmware.cld 8b97000 0 ./aq-firmware-tool firmware.cld 8b97000 8
MDIO bus name can be obtained from either DTS or /proc/device-tree
Aquantia firmware tool (aqprog)
TP1 FOTA library
libaquantia-tp1-fota.so <-- shared library to be used with FOTA-like apps
aq-tp1-fota-api.h <-- shared library api definition
aq-demo-fota <-- demo with the above
- re-organize code, better modularity
- better mdio message format
- auto-detection of mdio bus and phy(s)
- auto-flashing
- eliminate mdio-common.h and pick it from kernel module's dir