[PATCH] board: dhelectronics: imx: Use second Ethernet MAC also from fuse
Marek Vasut
marex at nabladev.com
Fri Mar 20 19:22:25 CET 2026
On 3/20/26 11:29 AM, Christoph Niedermaier wrote:
[...]
> +++ b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
> @@ -50,7 +50,7 @@ static int dh_imx8_setup_ethaddr(struct eeprom_id_page *eip)
> if (dh_get_mac_is_enabled("ethernet0"))
> return 0;
>
> - if (!dh_imx_get_mac_from_fuse(enetaddr))
> + if (!dh_imx_get_mac_from_fuse(0, enetaddr))
> goto out;
>
> if (!dh_get_value_from_eeprom_buffer(DH_MAC0, enetaddr, sizeof(enetaddr), eip))
> @@ -75,8 +75,8 @@ static int dh_imx8_setup_eth1addr(struct eeprom_id_page *eip)
> if (dh_get_mac_is_enabled("ethernet1"))
> return 0;
>
> - if (!dh_imx_get_mac_from_fuse(enetaddr))
> - goto increment_out;
> + if (!dh_imx_get_mac_from_fuse(1, enetaddr))
> + goto out;
The ordering in this and next hunk seems bogus.
If read from the (new/second) fuse slot 1 fails, the code should attempt
to use fuse slot 0 content incremented by 1, just like it did before ...
"
if (!dh_imx_get_mac_from_fuse(1, enetaddr))
goto out;
if (!dh_imx_get_mac_from_fuse(0, enetaddr))
goto increment_out;
"
> if (!dh_get_value_from_eeprom_buffer(DH_MAC1, enetaddr, sizeof(enetaddr), eip))
> goto out;
> @@ -92,6 +92,13 @@ static int dh_imx8_setup_eth1addr(struct eeprom_id_page *eip)
> if (!dh_get_mac_from_eeprom(enetaddr, "eeprom0"))
> goto increment_out;
>
> + /*
> + * If only the first MAC address is fused but not the second, use the
> + * fused MAC address incremented by one, for the second MAC address.
> + */
> + if (!dh_imx_get_mac_from_fuse(0, enetaddr))
> + goto increment_out;
... this part would then be unnecessary.
More information about the U-Boot
mailing list