From 1a38049d595d34da77c821df63583df8ef57747a Mon Sep 17 00:00:00 2001
From: florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Wed, 4 Apr 2012 15:53:12 +0000
Subject: [PATCH] [adm5120] add Edimax specific MAGIC_MAC_BASE to read MAC from
 flash (#4241]

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31195 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../adm5120/files/arch/mips/adm5120/prom/admboot.c    | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

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 5d436f62f..b655390c1 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;
-- 
2.20.1