[PATCH v2 5/5] net: airoha: bind MDIO controller on Ethernet load
Jerome Forissier
jerome.forissier at linaro.org
Wed Oct 22 15:42:16 CEST 2025
Hi Christian,
On 9/20/25 18:09, Christian Marangi wrote:
> Bind MDIO controller on Ethernet Controller load. The Airoha AN7581 SoC
> have an integrated Switch based on MT7531 (or more saying MT7988).
>
> Attach it to the switch node to support scanning for MDIO devices on the
> BUS.
>
> Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
> ---
> drivers/net/Kconfig | 1 +
> drivers/net/airoha_eth.c | 26 ++++++++++++++++++++++++++
> 2 files changed, 27 insertions(+)
>
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index cee4a3fc9bd..ce7c7e6297e 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -126,6 +126,7 @@ config AIROHA_ETH
> depends on ARCH_AIROHA
> select PHYLIB
> select DM_RESET
> + select MDIO_MT7531
> help
> This Driver support Airoha Ethernet QDMA Driver
> Say Y to enable support for the Airoha Ethernet QDMA.
> diff --git a/drivers/net/airoha_eth.c b/drivers/net/airoha_eth.c
> index 6588eb3a806..6be6ec2845b 100644
> --- a/drivers/net/airoha_eth.c
> +++ b/drivers/net/airoha_eth.c
> @@ -971,6 +971,31 @@ static int arht_eth_write_hwaddr(struct udevice *dev)
> return 0;
> }
>
> +static int airoha_eth_bind(struct udevice *dev)
> +{
> + struct airoha_eth_soc_data *data = (void *)dev_get_driver_data(dev);
data is unused and causes a build warning which is an error in CI.
> + struct udevice *mdio_dev;
> + ofnode switch_node;
> + int ret = 0;
> +
> + if (!CONFIG_IS_ENABLED(MDIO_MT7531))
> + return 0;
> +
> + switch_node = ofnode_by_compatible(ofnode_null(),
> + "airoha,en7581-switch");
> + if (!ofnode_valid(switch_node)) {
> + debug("Warning: missing switch node\n");
> + return 0;
> + }
> +
> + ret = device_bind_driver_to_node(dev, "mt7531-mdio", "mdio",
> + switch_node, &mdio_dev);
This needs #include <dm/lists.h> AFAICT
> + if (ret)
> + debug("Warning: failed to bind mdio controller\n");
> +
> + return 0;
> +}
> +
> static const struct udevice_id airoha_eth_ids[] = {
> { .compatible = "airoha,en7581-eth" },
> { }
> @@ -990,6 +1015,7 @@ U_BOOT_DRIVER(airoha_eth) = {
> .id = UCLASS_ETH,
> .of_match = airoha_eth_ids,
> .probe = airoha_eth_probe,
> + .bind = airoha_eth_bind,
> .ops = &airoha_eth_ops,
> .priv_auto = sizeof(struct airoha_eth),
> .plat_auto = sizeof(struct eth_pdata),
I have picked up the four other patches in this series [1]. Please fix
and resend only that one.
[1] https://source.denx.de/u-boot/custodians/u-boot-net/-/commits/net-20251022
Thanks,
--
Jerome
More information about the U-Boot
mailing list