[PATCH] sunxi: call fdt_fixup_ethernet again to set macaddr for more aliases

Andre Przywara andre.przywara at arm.com
Mon Jan 17 02:35:03 CET 2022


On Sat, 11 Sep 2021 19:39:16 +0200
Jernej Skrabec <jernej.skrabec at gmail.com> wrote:

> From: Icenowy Zheng <icenowy at aosc.io>
> 
> Sometimes some ethernet aliases do not exist in U-Boot DT but they
> exist in the DT used to boot the system (for example, modified via DT
> overlays). In this situation setup_environment is called again in
> ft_board_setup() to generate macaddr environment variable for them.
> However now the call to fdt_fixup_ethernet() is moved before the call
> of ft_board_setup().
> 
> Call fdt_fixup_ethernet() again to add MAC addresses for the extra
> ethernet aliases.
> 
> Signed-off-by: Icenowy Zheng <icenowy at aosc.io>
> [updated commit message]
> Signed-off-by: Jernej Skrabec <jernej.skrabec at gmail.com>
> ---
> 
> Hi all,
> 
> this is effectively resend of:
> https://patchwork.ozlabs.org/project/uboot/patch/20171027093439.12414-1-icenowy@aosc.io/
> 
> On at least one board, namely BananaPi M2 Zero, adding ethernet connector is
> pretty popular after market modification. Since this is not something that is
> already present on the board, ethernet node will never be part of upstream DT.
> Thus, the only sensible solution is to use DT overlay, which adds node to DT
> (maintaining patches is tedious). However, when overlays are used, U-Boot
> misses injecting MAC address, as described in commit message.
> 
> Please reconsider this patch for inclusion in upstream.
> 
> Best regards,
> Jernej

Applied to sunxi/master.

Thanks,
Andre

> 
>  board/sunxi/board.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/board/sunxi/board.c b/board/sunxi/board.c
> index 1a46100e408d..97554d4642ed 100644
> --- a/board/sunxi/board.c
> +++ b/board/sunxi/board.c
> @@ -997,10 +997,12 @@ int ft_board_setup(void *blob, struct bd_info *bd)
>  	int __maybe_unused r;
>  
>  	/*
> -	 * Call setup_environment again in case the boot fdt has
> -	 * ethernet aliases the u-boot copy does not have.
> +	 * Call setup_environment and fdt_fixup_ethernet again
> +	 * in case the boot fdt has ethernet aliases the u-boot
> +	 * copy does not have.
>  	 */
>  	setup_environment(blob);
> +	fdt_fixup_ethernet(blob);
>  
>  	bluetooth_dt_fixup(blob);
>  



More information about the U-Boot mailing list