]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
smegw01: Read the second MAC address
authorFabio Estevam <festevam@denx.de>
Wed, 26 Apr 2023 16:04:58 +0000 (13:04 -0300)
committerStefano Babic <sbabic@denx.de>
Tue, 2 May 2023 08:57:32 +0000 (10:57 +0200)
Currently, only the first MAC address is read from the fuses.

The second MAC address is not read and Linux assigns a random one.

To prevent this behavior, read the second MAC address from the fuses
and store it into the eth1addr environment variable so that it
can be passed to Linux.

Signed-off-by: Fabio Estevam <festevam@denx.de>
board/storopack/smegw01/smegw01.c

index e648b196b9d15bcaf337138ea69ac2eb5777897b..20c09700bf0d565ba6c541ebe54e650d7822ede7 100644 (file)
@@ -82,6 +82,7 @@ int board_init(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));
 
@@ -93,6 +94,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;
 }