summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorFabio Estevam <festevam@denx.de>2023-07-12 00:57:57 +0300
committerStefano Babic <sbabic@denx.de>2023-07-13 12:58:18 +0300
commitcdbef023e2538da12b3ca4a2b8a5b7bd1c3ada02 (patch)
tree678b810cbd6d87db548e4a896f7ea2f9bf83295c /board
parent0a4e4143603fc7468ffb3bacf73b52d9620f27db (diff)
downloadu-boot-cdbef023e2538da12b3ca4a2b8a5b7bd1c3ada02.tar.xz
mx7dsabresd: Retrieve the second MAC address from fuses
Currently, a random MAC address is assigned to eth1 in Linux. Fix this behavor by retrieving the second MAC address from the fuses. Signed-off-by: Fabio Estevam <festevam@denx.de>
Diffstat (limited to 'board')
-rw-r--r--board/freescale/mx7dsabresd/mx7dsabresd.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/board/freescale/mx7dsabresd/mx7dsabresd.c b/board/freescale/mx7dsabresd/mx7dsabresd.c
index 2777ae13bc..cff2e6a871 100644
--- a/board/freescale/mx7dsabresd/mx7dsabresd.c
+++ b/board/freescale/mx7dsabresd/mx7dsabresd.c
@@ -292,6 +292,7 @@ int power_init_board(void)
int board_late_init(void)
{
struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR;
+ unsigned char eth1addr[6];
imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads));
@@ -303,6 +304,11 @@ int board_late_init(void)
*/
clrsetbits_le16(&wdog->wcr, 0, 0x10);
+ /* Get the second MAC address */
+ imx_get_mac_from_fuse(1, eth1addr);
+ if (!env_get("eth1addr") && is_valid_ethaddr(eth1addr))
+ eth_env_set_enetaddr("eth1addr", eth1addr);
+
return 0;
}