From 09ade17a15c4d4c67449e52a1dc7f76cacdc433d Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Wed, 4 Apr 2012 15:53:12 +0000
Subject: [PATCH] add Edimax specific MAGIC_MAC_BASE to read MAC from flash
 (#4241]

SVN-Revision: 31195
---
 .../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 5d436f62f6f..b655390c16f 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;
-- 
GitLab