ixp4xx: add support for linux 3.3.1
[openwrt.git] / target / linux / brcm47xx / patches-3.0 / 0021-add-workarround-for-wndr3400.patch
1 From 3e889f1cf928c6d87229761a0bc4c18c775a988b Mon Sep 17 00:00:00 2001
2 From: Hauke Mehrtens <hauke@hauke-m.de>
3 Date: Sun, 17 Jul 2011 21:13:32 +0200
4 Subject: [PATCH 21/26] add workarround for wndr3400
5
6
7 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 ---
9  drivers/mtd/bcm47xxpart.c |   17 ++++++++++++-----
10  1 files changed, 12 insertions(+), 5 deletions(-)
11
12 --- a/drivers/mtd/bcm47xxpart.c
13 +++ b/drivers/mtd/bcm47xxpart.c
14 @@ -78,11 +78,12 @@ struct trx_header {
15  
16  #define NVRAM_SPACE 0x8000
17  
18 -#define ROUTER_NETGEAR_WGR614L         1
19 -#define ROUTER_NETGEAR_WNR834B         2
20 -#define ROUTER_NETGEAR_WNDR3300        3
21 -#define ROUTER_NETGEAR_WNR3500L        4
22 -#define ROUTER_SIMPLETECH_SIMPLESHARE  5
23 +#define ROUTER_NETGEAR_WGR614L         1
24 +#define ROUTER_NETGEAR_WNR834B         2
25 +#define ROUTER_NETGEAR_WNDR3300                3
26 +#define ROUTER_NETGEAR_WNR3500L                4
27 +#define ROUTER_SIMPLETECH_SIMPLESHARE  5
28 +#define ROUTER_NETGEAR_WNDR3400                6
29  
30  static struct mtd_partition bcm47xx_parts[] = {
31         { name: "cfe",  offset:0, size:0, mask_flags:MTD_WRITEABLE, },
32 @@ -400,6 +401,11 @@ static int get_router(void)
33                 return ROUTER_NETGEAR_WNR3500L;
34         }
35  
36 +       if (boardnum == 1 && boardtype == 0xb4cf && boardrev == 0x1100) {
37 +               /* Netgear WNDR3400 */
38 +               return ROUTER_NETGEAR_WNDR3400;
39 +       }
40 +
41         if (boardtype == 0x042f
42           && boardrev == 0x10
43           && boardflags == 0
44 @@ -440,6 +446,7 @@ static int parse_bcm47xx_partitions(stru
45                 case ROUTER_NETGEAR_WNR834B:
46                 case ROUTER_NETGEAR_WNDR3300:
47                 case ROUTER_NETGEAR_WNR3500L:
48 +               case ROUTER_NETGEAR_WNDR3400:
49                         /* Netgear: checksum is @ 0x003AFFF8 for 4M flash or checksum
50                          * is @ 0x007AFFF8 for 8M flash
51                          */