Commit 0680dc86 authored by Florian Fainelli's avatar Florian Fainelli Committed by Ralf Baechle

MIPS: BCM63XX: provide a MAC address for BCM3368 chips

The BCM3368 SoC uses a NVRAM format which is not compatible with the one
used by CFE, provide a default MAC address which is suitable for use and
which is the default one also being used by the bootloader on these
chips.
Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
Cc: linux-mips@linux-mips.org
Cc: cernekee@gmail.com
Cc: jogo@openwrt.org
Patchwork: https://patchwork.linux-mips.org/patch/5498/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent d753601a
...@@ -42,6 +42,7 @@ void __init bcm63xx_nvram_init(void *addr) ...@@ -42,6 +42,7 @@ void __init bcm63xx_nvram_init(void *addr)
{ {
unsigned int check_len; unsigned int check_len;
u32 crc, expected_crc; u32 crc, expected_crc;
u8 hcs_mac_addr[ETH_ALEN] = { 0x00, 0x10, 0x18, 0xff, 0xff, 0xff };
/* extract nvram data */ /* extract nvram data */
memcpy(&nvram, addr, sizeof(nvram)); memcpy(&nvram, addr, sizeof(nvram));
...@@ -62,6 +63,15 @@ void __init bcm63xx_nvram_init(void *addr) ...@@ -62,6 +63,15 @@ void __init bcm63xx_nvram_init(void *addr)
if (crc != expected_crc) if (crc != expected_crc)
pr_warn("nvram checksum failed, contents may be invalid (expected %08x, got %08x)\n", pr_warn("nvram checksum failed, contents may be invalid (expected %08x, got %08x)\n",
expected_crc, crc); expected_crc, crc);
/* Cable modems have a different NVRAM which is embedded in the eCos
* firmware and not easily extractible, give at least a MAC address
* pool.
*/
if (BCMCPU_IS_3368()) {
memcpy(nvram.mac_addr_base, hcs_mac_addr, ETH_ALEN);
nvram.mac_addr_count = 2;
}
} }
u8 *bcm63xx_nvram_get_name(void) u8 *bcm63xx_nvram_get_name(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment