diff options
Diffstat (limited to 'arch/mips/bcm47xx/board.c')
-rw-r--r-- | arch/mips/bcm47xx/board.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c index cdd8246f92b3..44ab1be68c3c 100644 --- a/arch/mips/bcm47xx/board.c +++ b/arch/mips/bcm47xx/board.c | |||
@@ -72,7 +72,11 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initcons | |||
72 | {{BCM47XX_BOARD_ASUS_WL500W, "Asus WL500W"}, "WL500gW-"}, | 72 | {{BCM47XX_BOARD_ASUS_WL500W, "Asus WL500W"}, "WL500gW-"}, |
73 | {{BCM47XX_BOARD_ASUS_WL520GC, "Asus WL520GC"}, "WL520GC-"}, | 73 | {{BCM47XX_BOARD_ASUS_WL520GC, "Asus WL520GC"}, "WL520GC-"}, |
74 | {{BCM47XX_BOARD_ASUS_WL520GU, "Asus WL520GU"}, "WL520GU-"}, | 74 | {{BCM47XX_BOARD_ASUS_WL520GU, "Asus WL520GU"}, "WL520GU-"}, |
75 | {{BCM47XX_BOARD_BELKIN_F7D3301, "Belkin F7D3301"}, "F7D3301"}, | ||
76 | {{BCM47XX_BOARD_BELKIN_F7D3302, "Belkin F7D3302"}, "F7D3302"}, | ||
75 | {{BCM47XX_BOARD_BELKIN_F7D4301, "Belkin F7D4301"}, "F7D4301"}, | 77 | {{BCM47XX_BOARD_BELKIN_F7D4301, "Belkin F7D4301"}, "F7D4301"}, |
78 | {{BCM47XX_BOARD_BELKIN_F7D4302, "Belkin F7D4302"}, "F7D4302"}, | ||
79 | {{BCM47XX_BOARD_BELKIN_F7D4401, "Belkin F7D4401"}, "F7D4401"}, | ||
76 | { {0}, NULL}, | 80 | { {0}, NULL}, |
77 | }; | 81 | }; |
78 | 82 | ||
@@ -176,7 +180,16 @@ struct bcm47xx_board_type_list3 bcm47xx_board_list_board[] __initconst = { | |||
176 | {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, | 180 | {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, |
177 | {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, | 181 | {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, |
178 | {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, | 182 | {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, |
179 | {{BCM47XX_BOARD_LINKSYS_WRT54GSV1, "Linksys WRT54GS V1"}, "0x0101", "42", "0x10"}, | 183 | {{BCM47XX_BOARD_LINKSYS_WRT54G, "Linksys WRT54G/GS/GL"}, "0x0101", "42", "0x10"}, |
184 | {{BCM47XX_BOARD_LINKSYS_WRT54G, "Linksys WRT54G/GS/GL"}, "0x0467", "42", "0x10"}, | ||
185 | {{BCM47XX_BOARD_LINKSYS_WRT54G, "Linksys WRT54G/GS/GL"}, "0x0708", "42", "0x10"}, | ||
186 | { {0}, NULL}, | ||
187 | }; | ||
188 | |||
189 | /* boardtype, boardrev */ | ||
190 | static const | ||
191 | struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst = { | ||
192 | {{BCM47XX_BOARD_SIEMENS_SE505V2, "Siemens SE505 V2"}, "0x0101", "0x10"}, | ||
180 | { {0}, NULL}, | 193 | { {0}, NULL}, |
181 | }; | 194 | }; |
182 | 195 | ||
@@ -273,6 +286,16 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void) | |||
273 | return &e3->board; | 286 | return &e3->board; |
274 | } | 287 | } |
275 | } | 288 | } |
289 | |||
290 | if (bcm47xx_nvram_getenv("boardtype", buf1, sizeof(buf1)) >= 0 && | ||
291 | bcm47xx_nvram_getenv("boardrev", buf2, sizeof(buf2)) >= 0 && | ||
292 | bcm47xx_nvram_getenv("boardnum", buf3, sizeof(buf3)) == -ENOENT) { | ||
293 | for (e2 = bcm47xx_board_list_board_type_rev; e2->value1; e2++) { | ||
294 | if (!strcmp(buf1, e2->value1) && | ||
295 | !strcmp(buf2, e2->value2)) | ||
296 | return &e2->board; | ||
297 | } | ||
298 | } | ||
276 | return bcm47xx_board_unknown; | 299 | return bcm47xx_board_unknown; |
277 | } | 300 | } |
278 | 301 | ||