diff options
-rw-r--r-- | target/linux/adm5120/files/arch/mips/adm5120/prom/admboot.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/prom/admboot.c b/target/linux/adm5120/files/arch/mips/adm5120/prom/admboot.c index 5d436f62f6..b655390c16 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/prom/admboot.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/prom/admboot.c @@ -20,7 +20,8 @@ #include <prom/admboot.h> #include "prom_read.h" -#define ADMBOOT_MAGIC_MAC_BASE 0x636D676D /* 'mgmc' */ +#define ADMBOOT_MAGIC_MAC_BASE 0x636D676D /* 'mgmc' */ +#define ADMBOOT_MAGIC_MAC_BASE_BR6104XX 0x31305348 /* 'HS01' */ int __init admboot_get_mac_base(u32 offset, u32 len, u8 *mac) { @@ -40,6 +41,14 @@ int __init admboot_get_mac_base(u32 offset, u32 len, u8 *mac) return 0; } + if (magic == ADMBOOT_MAGIC_MAC_BASE_BR6104XX) { + int j; + + for (j = 0; j < 6; j++) + mac[j] = cfg[i + 7 + j]; + + return 0; + } } return -ENXIO; |