/aquantia-firmware-utility

Firmware tool for AQuantia Ethernet PHYs

Primary LanguageCBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Aquantia Linux Firmware Utility

A very, very, young tool for programming the firmware.

Currently a proof-of-concept that misses some additional features

How to use it

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

Notes

MDIO bus name can be obtained from either DTS or /proc/device-tree

Software content

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

Future work

- 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