Port the mainline Linux AC200/AC300 PHY initialization to U-Boot using the Ethernet PHY package bindings. Keep the shared link-side tuning separate from AC200's I2C register provider and AC300's secondary MDIO control interface. Resolve the package variant from its configuration cell before accessing either control path.
Require the described clocks and supplies, apply the calibration and MII/RMII settings, and propagate initialization failures to the MAC. Keep the RMII reference clock running between network commands so the MAC can reset before restarting the PHY. Add H616 EMAC1 match data for its syscon control register and expose the EMAC1 and I2C3 pinmux functions. These let the MAC bind to its dedicated compatible, select the RMII pins and configure the AC200 control bus through the device tree. The preparation patches preserve PHY setup errors, release the MDIO bus after failed PHY setup and add the H616 MAC and pinctrl support. Node-based NVMEM lookup, an Allwinner SID provider and AC200 register access precede the PHY driver. Based on U-Boot main at b0da72e3e8e7, with no external prerequisites. Assisted-by: Codex:gpt-6-astra Signed-off-by: James Hilliard <[email protected]> --- James Hilliard (8): net: phy: check the first status read when resetting a PHY net: sun8i-emac: propagate MDIO and PHY setup errors pinctrl: sunxi: add H616 I2C3 function net: sun8i-emac: add H616 EMAC1 support nvmem: add node-based cell lookup helpers misc: add Allwinner SID NVMEM provider misc: add X-Powers AC200 register provider net: phy: add X-Powers AC200/AC300 Ethernet PHY support Richard Genoud (1): pinctrl: sunxi: add the H616 EMAC1 function MAINTAINERS | 8 + drivers/misc/Kconfig | 19 ++ drivers/misc/Makefile | 2 + drivers/misc/nvmem.c | 36 ++- drivers/misc/sunxi_sid.c | 118 +++++++++ drivers/misc/xpowers-ac200.c | 148 +++++++++++ drivers/net/phy/Kconfig | 10 + drivers/net/phy/Makefile | 1 + drivers/net/phy/phy.c | 18 +- drivers/net/phy/xpowers/Makefile | 2 + drivers/net/phy/xpowers/ac200.c | 150 +++++++++++ drivers/net/phy/xpowers/ac300.c | 252 ++++++++++++++++++ drivers/net/phy/xpowers/acx00.c | 485 ++++++++++++++++++++++++++++++++++ drivers/net/phy/xpowers/acx00.h | 40 +++ drivers/net/sun8i_emac.c | 43 ++- drivers/pinctrl/sunxi/pinctrl-sunxi.c | 2 + include/nvmem.h | 41 +++ include/xpowers-ac200.h | 34 +++ 18 files changed, 1378 insertions(+), 31 deletions(-) --- base-commit: b0da72e3e8e77e36c29a5f3fecc04c47764031bf change-id: 20261025-submit-xpowers-acx00-ephy-mainline-v1-bfe33dd73039 Best regards, -- James Hilliard <[email protected]>
