[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