[PATCH v3 7/9] net: sh_eth: Adjust RZ/A1, add RZ/A2 support

Marek Vasut marek.vasut at mailbox.org
Mon Jul 7 17:47:54 CEST 2025


On 7/6/25 1:29 PM, Magnus Damm wrote:

> +++ work/drivers/net/sh_eth.c	2025-07-05 17:45:07.333754799 +0900
> @@ -144,10 +144,10 @@ static int sh_eth_reset(struct sh_eth_in
>   {
>   #if defined(SH_ETH_TYPE_GETHER) || defined(SH_ETH_TYPE_RZ)
>   	int ret = 0, i;
> -

Does something like this ...

if (!device_is_compatible(dev, "..."))

... work instead of the ifdef ?

If yes, it might be even improved into dedicated function:

static bool device_is_rza2(struct udevice *dev)
{
   if (!IS_ENABLED(CONFIG_RZA2))
     return false;
   else
     return device_is_compatible(dev, "...");
}

That should be compile-time checked and then optimized out, and in case 
of non-RZA2, this should be optimized out entirely.

> +#if !defined(CONFIG_RZA2)
>   	/* Start e-dmac transmitter and receiver */
>   	sh_eth_write(port_info, EDSR_ENALL, EDSR);
> -

[...]

> @@ -722,8 +726,11 @@ static int sh_ether_probe(struct udevice
>   		goto err_mdio_register;
>   
>   	priv->bus = mdiodev;
> -
> +#ifdef BASE_IO_ADDR
>   	port_info->iobase = (void __iomem *)(uintptr_t)BASE_IO_ADDR;
> +#else
> +	port_info->iobase = (void __iomem *)pdata->iobase;
> +#endif

Can the base address be pulled from DT?

[...]


More information about the U-Boot mailing list