| // SPDX-License-Identifier: GPL-2.0+ |
| * Copyright 2023 Variscite Ltd. |
| #include "../common/imx9_eeprom.h" |
| static u64 mac2int(const u8 hwaddr[]) |
| ret |= (u64)*p++ << (CHAR_BIT * (i - 1)); |
| static void int2mac(const u64 mac, u8 *hwaddr) |
| *p++ = mac >> (CHAR_BIT * (i - 1)); |
| int var_setup_mac(struct var_eeprom *eeprom) |
| unsigned char enetaddr[6]; |
| unsigned char enet1addr[6]; |
| ret = eth_env_get_enetaddr("ethaddr", enetaddr); |
| ret = var_eeprom_get_mac(eeprom, enetaddr); |
| if (!is_valid_ethaddr(enetaddr)) |
| eth_env_set_enetaddr("ethaddr", enetaddr); |
| addr = mac2int(enetaddr); |
| int2mac(addr + 1, enet1addr); |
| eth_env_set_enetaddr("eth1addr", enet1addr); |