Merge branch 'vuplus-1.6k_dev' into vuplus-1.6k
[vuplus_openembedded] / recipes / linux / linux-vuduo2-2.6.37 / brcm_mtd_mac.patch
diff --git a/recipes/linux/linux-vuduo2-2.6.37/brcm_mtd_mac.patch b/recipes/linux/linux-vuduo2-2.6.37/brcm_mtd_mac.patch
new file mode 100644 (file)
index 0000000..d4bc17f
--- /dev/null
@@ -0,0 +1,60 @@
+diff --git a/arch/mips/brcmstb/board.c b/arch/mips/brcmstb/board.c
+index f64b8bd..ab1b2d2 100644
+--- a/arch/mips/brcmstb/board.c
++++ b/arch/mips/brcmstb/board.c
+@@ -40,6 +40,8 @@ unsigned long brcm_mtd_rootfs_start;
+ unsigned long brcm_mtd_rootfs_len;
+ unsigned long brcm_mtd_kernel_start;
+ unsigned long brcm_mtd_kernel_len;
++unsigned long brcm_mtd_macaddr_start;
++unsigned long brcm_mtd_macaddr_len;
+ unsigned long brcm_mtd_ocap_start;
+ unsigned long brcm_mtd_ocap_len;
+ unsigned long brcm_mtd_flash_size_mb;
+@@ -795,7 +797,7 @@ int __init board_get_partition_map(struct mtd_partition **p)
+       if (brcm_mtd_rootfs_len == 0)
+               return -ENODEV;
+-      nr_parts = 2;
++      nr_parts = 3;
+       if (brcm_mtd_kernel_len != 0)
+               nr_parts++;
+@@ -816,6 +818,11 @@ int __init board_get_partition_map(struct mtd_partition **p)
+               ret[2].size = brcm_mtd_kernel_len;
+               ret[2].name = "kernel";
+       }
++      if (brcm_mtd_macaddr_len != 0) {
++              ret[3].offset = brcm_mtd_macaddr_start;
++              ret[3].size = brcm_mtd_macaddr_len;
++              ret[3].name = "mac";
++      }
+       *p = ret;
+       return nr_parts;
+diff --git a/arch/mips/brcmstb/prom.c b/arch/mips/brcmstb/prom.c
+index 4f4f5ca..a8282b7 100644
+--- a/arch/mips/brcmstb/prom.c
++++ b/arch/mips/brcmstb/prom.c
+@@ -275,6 +275,8 @@ static void __init __maybe_unused cfe_read_configuration(void)
+       FETCH("LINUX_FFS_SIZE", parse_hex, &brcm_mtd_rootfs_len);
+       FETCH("LINUX_PART_STARTAD", parse_hex, &brcm_mtd_kernel_start);
+       FETCH("LINUX_PART_SIZE", parse_hex, &brcm_mtd_kernel_len);
++      FETCH("LINUX_MACADDR_STARTAD", parse_hex, &brcm_mtd_macaddr_start);
++      FETCH("LINUX_MACADDR_SIZE", parse_hex, &brcm_mtd_macaddr_len);
+       FETCH("OCAP_PART_STARTAD", parse_hex, &brcm_mtd_ocap_start);
+       FETCH("OCAP_PART_SIZE", parse_hex, &brcm_mtd_ocap_len);
+       FETCH("FLASH_SIZE", parse_ulong, &brcm_mtd_flash_size_mb);
+diff --git a/arch/mips/include/asm/brcmstb/brcmstb.h b/arch/mips/include/asm/brcmstb/brcmstb.h
+index 244c59e..02de9f7 100644
+--- a/arch/mips/include/asm/brcmstb/brcmstb.h
++++ b/arch/mips/include/asm/brcmstb/brcmstb.h
+@@ -789,6 +789,8 @@ extern unsigned long brcm_mtd_rootfs_start;
+ extern unsigned long brcm_mtd_rootfs_len;
+ extern unsigned long brcm_mtd_kernel_start;
+ extern unsigned long brcm_mtd_kernel_len;
++extern unsigned long brcm_mtd_macaddr_start;
++extern unsigned long brcm_mtd_macaddr_len;
+ extern unsigned long brcm_mtd_ocap_start;
+ extern unsigned long brcm_mtd_ocap_len;
+ extern unsigned long brcm_mtd_flash_size_mb;