From: Max Krummenacher <[email protected]>

The toradex_smarc_imx95 board exposes three Ethernet ports.
Set the third MAC address equal to the second MAC address.

Signed-off-by: Max Krummenacher <[email protected]>
---

 board/toradex/common/tdx-common.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/board/toradex/common/tdx-common.c 
b/board/toradex/common/tdx-common.c
index f01fb369b4bb..81f7fa09002e 100644
--- a/board/toradex/common/tdx-common.c
+++ b/board/toradex/common/tdx-common.c
@@ -179,6 +179,18 @@ static int settings_r(void)
                eth_env_set_enetaddr("eth1addr", ethaddr);
        }
 
+       if (IS_ENABLED(CONFIG_TARGET_TORADEX_SMARC_IMX95) &&
+           !eth_env_get_enetaddr("eth2addr", ethaddr)) {
+               /*
+                * Third MAC address is allocated from block
+                * 0x100000 higher then the first MAC address.
+                * The same as the default for the secondary MAC.
+                */
+               memcpy(ethaddr, &tdx_eth_addr, 6);
+               ethaddr[3] += 0x10;
+               eth_env_set_enetaddr("eth2addr", ethaddr);
+       }
+
        return 0;
 }
 EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
-- 
2.42.0

Reply via email to