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

Jagan Teki jagan at amarulasolutions.com
Tue Dec 7 07:24:37 CET 2021


On Sat, Sep 11, 2021 at 11:09 PM 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
>
>  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);

Reviewed-by: Jagan Teki <jagan at amarulasolutions.com>


More information about the U-Boot mailing list