April 9, 2026

Allwinner H5 network driver -- the emac controller

This looks to be exactly the same device as used in the H3 chip.
Even the base address is the same -- 0x01c3_0000.

The emac has logic to communicate with the MDIO interface, which in our case is the 8211E. A pair of registers handles the communication, namely a "cmd" register and a "data" register.

There is also a separate register, outside of the main address space with the emac registers. This is "EMAC_SYSCON" at address 0x01c0_0000. This register is where the bit lives that selects whether the internal PHY or an external PHY is used. There are plenty of other important bits in this 32 bit register.


Have any comments? Questions? Drop me a line!

Tom's electronics pages / tom@mmto.org