]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
rockchip: misc: Set eth1addr mac address
authorJonas Karlman <jonas@kwiboo.se>
Wed, 22 Feb 2023 22:44:40 +0000 (22:44 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Tue, 28 Feb 2023 10:07:28 +0000 (18:07 +0800)
Set eth1addr in addition to ethaddr.

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 <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/mach-rockchip/misc.c

index b350f18f1140d3c4edb9e9f38a31867d8991a9bf..849014d2fb7d37289d0bdb756c146606318e8815 100644 (file)
@@ -23,7 +23,7 @@
 
 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 +52,10 @@ 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);
+
+       /* Make a valid MAC address for ethernet1 */
+       mac_addr[5] ^= 0x01;
+       eth_env_set_enetaddr("eth1addr", mac_addr);
 #endif
        return 0;
 }