1 diff --git a/arch/mips/brcmstb/prom.c b/arch/mips/brcmstb/prom.c
2 index 97691d1..995255d 100644
3 --- a/arch/mips/brcmstb/prom.c
4 +++ b/arch/mips/brcmstb/prom.c
5 @@ -223,6 +223,8 @@ static void __init __maybe_unused cfe_read_configuration(void)
6 FETCH("LINUX_FFS_SIZE", parse_hex, &brcm_mtd_rootfs_len);
7 FETCH("LINUX_PART_STARTAD", parse_hex, &brcm_mtd_kernel_start);
8 FETCH("LINUX_PART_SIZE", parse_hex, &brcm_mtd_kernel_len);
9 + FETCH("LINUX_MACADDR_STARTAD", parse_hex, &brcm_mtd_macaddr_start);
10 + FETCH("LINUX_MACADDR_SIZE", parse_hex, &brcm_mtd_macaddr_len);
11 FETCH("OCAP_PART_STARTAD", parse_hex, &brcm_mtd_ocap_start);
12 FETCH("OCAP_PART_SIZE", parse_hex, &brcm_mtd_ocap_len);
13 FETCH("FLASH_SIZE", parse_ulong, &brcm_mtd_flash_size_mb);
14 diff --git a/drivers/brcmstb/board.c b/drivers/brcmstb/board.c
15 index 936818b..5d2c870 100644
16 --- a/drivers/brcmstb/board.c
17 +++ b/drivers/brcmstb/board.c
18 @@ -34,6 +34,8 @@ unsigned long brcm_mtd_rootfs_start;
19 unsigned long brcm_mtd_rootfs_len;
20 unsigned long brcm_mtd_kernel_start;
21 unsigned long brcm_mtd_kernel_len;
22 +unsigned long brcm_mtd_macaddr_start;
23 +unsigned long brcm_mtd_macaddr_len;
24 unsigned long brcm_mtd_ocap_start;
25 unsigned long brcm_mtd_ocap_len;
26 unsigned long brcm_mtd_flash_size_mb;
27 @@ -486,6 +488,8 @@ int __init board_get_partition_map(struct mtd_partition **p)
29 if (brcm_mtd_kernel_len != 0)
31 + if (brcm_mtd_macaddr_len != 0)
34 ret = kzalloc(nr_parts * sizeof(struct mtd_partition), GFP_KERNEL);
36 @@ -504,6 +508,12 @@ int __init board_get_partition_map(struct mtd_partition **p)
37 ret[2].size = brcm_mtd_kernel_len;
38 ret[2].name = "kernel";
40 + if (brcm_mtd_macaddr_len != 0) {
41 + ret[3].offset = brcm_mtd_macaddr_start;
42 + ret[3].size = brcm_mtd_macaddr_len;
43 + ret[3].name = "mac";
49 diff --git a/include/linux/brcmstb/brcmstb.h b/include/linux/brcmstb/brcmstb.h
50 index ffca523..eb25084 100644
51 --- a/include/linux/brcmstb/brcmstb.h
52 +++ b/include/linux/brcmstb/brcmstb.h
53 @@ -684,6 +684,8 @@ extern unsigned long brcm_mtd_rootfs_start;
54 extern unsigned long brcm_mtd_rootfs_len;
55 extern unsigned long brcm_mtd_kernel_start;
56 extern unsigned long brcm_mtd_kernel_len;
57 +extern unsigned long brcm_mtd_macaddr_start;
58 +extern unsigned long brcm_mtd_macaddr_len;
59 extern unsigned long brcm_mtd_ocap_start;
60 extern unsigned long brcm_mtd_ocap_len;
61 extern unsigned long brcm_mtd_flash_size_mb;