Hi Chen-Yu, On 2023-02-16 03:42, Chen-Yu Tsai wrote: > On Thu, Feb 16, 2023 at 7:57 AM Jonas Karlman <jo...@kwiboo.se> wrote: >> >> Set eth1addr when there is an ethernet1 alias in the fdt. > > Maybe it makes sense to set it regardless whether an alias is present > or not?
Makes sense, changed to always set eth1addr in v2, thanks! Regards, Jonas > > The user might be loading a custom FDT for the kernel, or have DT > overlays stacked on, either could have the "ethernet1" alias while > the U-boot DT doesn't. > > ChenYu > >> Also allow fdt fixup of ethernet mac addresses when CMD_NET is disabled. >> Set ethaddr and eth1addr based on HASH and SHA256 options. >> >> Signed-off-by: Jonas Karlman <jo...@kwiboo.se> >> --- >> arch/arm/mach-rockchip/misc.c | 10 +++++++++- >> 1 file changed, 9 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm/mach-rockchip/misc.c b/arch/arm/mach-rockchip/misc.c >> index b350f18f1140..aceaea6b29b7 100644 >> --- a/arch/arm/mach-rockchip/misc.c >> +++ b/arch/arm/mach-rockchip/misc.c >> @@ -21,9 +21,11 @@ >> >> #include <asm/arch-rockchip/misc.h> >> >> +DECLARE_GLOBAL_DATA_PTR; >> + >> int rockchip_setup_macaddr(void) >> { >> -#if IS_ENABLED(CONFIG_CMD_NET) >> +#if CONFIG_IS_ENABLED(HASH) && CONFIG_IS_ENABLED(SHA256) >> int ret; >> const char *cpuid = env_get("cpuid#"); >> u8 hash[SHA256_SUM_LEN]; >> @@ -52,6 +54,12 @@ int rockchip_setup_macaddr(void) >> mac_addr[0] &= 0xfe; /* clear multicast bit */ >> mac_addr[0] |= 0x02; /* set local assignment bit (IEEE802) */ >> eth_env_set_enetaddr("ethaddr", mac_addr); >> + >> + if (gd->fdt_blob && fdt_get_alias(gd->fdt_blob, "ethernet1")) { >> + /* Make a valid MAC address for eth1 */ >> + mac_addr[5] += 0x20; >> + eth_env_set_enetaddr("eth1addr", mac_addr); >> + } >> #endif >> return 0; >> } >> -- >> 2.39.1 >>