[PATCH v4 0/3] sun8i: r40: second ethernet support

Evgeny Boger
2022-01-11T16:07:34Z

This patch series adds support for two Ethernet ports on Allwinner R40.

R40 (aka V40,A40i,T3) has two different Ethernet IPs called EMAC and GMAC.
EMAC only support 10/100 Mbit in MII mode, while GMAC support both 10/100
(MII) and 10/100/1000 (RGMII).

In contrast to A10/A20 where GMAC and EMAC share the same pins making EMAC
somewhat pointless, on R40 EMAC can be routed to port H.
Both EMAC (on port H) and GMAC (on port A) can be then enabled at the same
time, allowing for two ethernet ports.

Tested on custom A40i board with two IP101GRI PHYs in MII mode.

Changes in v4:
- Rename sun4i-r40-emac to sun8i-r40-emac to match R40 family.
- remove redundant status = "okay" in dts
- less obscure commit messages

Changes in v3:
Minor fixes in bindings. Rebased on top of linux-next/master.
dt_bindings_check and dtbs_check passed.

- bindings: separate commit for DT bindings
- bindings: simplify handling of compatible strings
- bindings: make resets property required on R40
- dts: get rid of duplicate node

Changes in v2:
- EMAC reset is no longer optional on R40
- Add a new DT compatible string for R40 EMAC
- Deassert reset line before enabling the clock
- minor fixes: formatting, DT node order, leftover pinctrl props

Evgeny Boger (3):
net: allwinner: reset control support
dt-bindings: net: support for Allwinner R40 EMAC controller
ARM: dts: sun8i: r40: add second ethernet support

.../net/allwinner,sun4i-a10-emac.yaml | 20 +++++-
arch/arm/boot/dts/sun8i-r40.dtsi | 49 ++++++++++++++
drivers/net/ethernet/allwinner/sun4i-emac.c | 64 +++++++++++++++++--
3 files changed, 127 insertions(+), 6 deletions(-)