The goal is to develop a network driver for the Allwinner H5 chip on my Orange Pi PC2 board to be part of my Kyu real time operating system.
I began working on this back in January and for various reasons set the work aside for 4 months. This can be a good thing. As I return to it now, I am taking a fresh view of the project.
I have a working driver for the Allwinner H3. The H5 uses the same network hardware, so that code for that driver can be reused for the H5. The main difference is that the H5 supports gigabit ethernet and uses a different (external) PHY chip.
It would be fair to say that this project boils down to writing a driver for the PHY chip and learning how the whole business of PHY and MDIO works. I cheated when I did the work for the H3 chip. I simply used the PHY section as it had already be initialized by U-Boot. I could continue to do that with the H5.
The H3 chip (as set up on the boards I use) uses a PHY that is built into the H3 chip. This PHY is capable of 10/100 ethernet, but not gigabit ethernet. The H5 board I am working with (the Orange Pi PC2) uses an external PHY (a Realtek RTL8211E) which is gigabit capable.
All of this has great merit (expecially studying ATF), but is really another project of its own. An important decision as I embark on this project again is to avoid getting tangled up in those issues.
Tom's electronics pages / tom@mmto.org