[PATCH 0/6] sunxi: net: add Ethernet support for X96QPro+
From: Andre Przywara <andre.przywara@arm.com>
Date: 2026-08-03 10:15:26
Also in:
linux-arm-kernel, linux-devicetree, linux-sunxi
The X96QPro+ is a TV box with an Allwinner H728 SoC (the same die as the Allwinner A523). The Ethernet connection is using the secondary GMAC, connected to a MAXIO MAE0621A-Q2C PHY. The setup is a bit special, as it's not using a crystal oscillator to clock the PHY, but instead a clock fanout pin from the SoC. To make Ethernet work on this device, we need this clock, we need to adjust the PHY-ID, and we need the devicetree bits: - To make the PHY operational, the PHY driver needs to enable the fanout clock. The generic PHY DT binding describes such a clock already, so the binding needs no addition in this respect, but it's in each PHY driver's responsibility to take care of that clock enablement, which is done in the first two patches. - Also the MAXIO PHY used on the board is the -Q2C variant, which uses a slightly different PHY-ID than the Q3C variant described in the current version of the driver. Add this new PHY-ID to the driver, but also allow it in the DT binding, since we need to use that PHY-ID compatible string version, to skip the MDIO probing process, which wouldn't work without the clock. This is done in patches 3 and 4. - Lastly we need to describe the config in the board's devicetree. Patch 5 adds clock fanout pins to the .dtsi, which the final patch 6 enables the MAC and PHY nodes and connects them together. This enables the box' Ethernet functionality, made possible by the new MAXIO PHY driver. The MAC part is already supported for a few releases. This is based on v7.2-rc1, plus version 2 of the MAXIO PHY driver as sent by Liu Changjie. Since those two patches have been reviewed already some weeks back, I assume they are ready to go. Please let me know if that is not the case and if I can help with anything there. Cheers, Andre Andre Przywara (6): net: phy: maxio: prepare for more DT properties net: phy: maxio: parse and enable PHY clock from generic DT binding dt-bindings: net: Maxio PHY: add PHY-ID for -Q2C variant net: phy: maxio: extend PHY ID matching arm64: dts: allwinner: a523: add EPHY 25MHz clock fanout pins arm64: dts: allwinner: a523: x96qpro+: enable Ethernet support .../bindings/net/maxio,mae0621a.yaml | 4 ++- .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 14 ++++++++++ .../dts/allwinner/sun55i-h728-x96qpro+.dts | 28 +++++++++++++++++++ drivers/net/phy/maxio.c | 27 +++++++++++------- 4 files changed, 62 insertions(+), 11 deletions(-) base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482 prerequisite-patch-id: aa3058cd68d68f361088b39cac0b12fb96be8b55 prerequisite-patch-id: 90f19ec9993e373e39efda42984c88d7b51151e5 -- 2.43.0