KERNEL_ENTRY = $(LOADADDR) # Newer kernels add a jmp to the kernel_entry at the start of the binary
RAMSIZE = 0x01000000 # 64MB
+DROP_SECTIONS := .reginfo .mdebug .comment .note .pdr .options .MIPS.options
+OBJCOPY_BIN := $(TARGET_CROSS)objcopy -S -O binary $(addprefix --remove-section=,$(DROP_SECTIONS))
+
LOADER_MAKEOPTS= \
KDIR=$(KDIR) \
LOADADDR=$(LOADADDR) \
-o $(BIN_DIR)/openwrt-$(2)-$(1)-cfe.bin
endef
+define Image/Build/HCS
+ $(STAGING_DIR_HOST)/bin/hcsmakeimage --magic_byte=$(3) \
+ --rev_maj=$(4) --rev_min=$(5) --input_file=$(6) \
+ --output_file=$(BIN_DIR)/openwrt-$(2)-$(1).bin
+endef
+
define Build/Clean
$(MAKE) -C lzma-loader clean
endef
define Image/Prepare
+ # Binary kernel
+ $(OBJCOPY_BIN) $(LINUX_DIR)/vmlinux $(KDIR)/vmlinux.bin
# Standard LZMA kernel
cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma
# T-Com Speedport W 303V Typ B
$(call Image/Build/SPW303V,$(1),96358-502V,6358,SPW303V)
+
+ # Netgear CVG834G
+ $(call Image/Build/HCS,$(1),cvg834g,a020,0001,0022,$(KDIR)/vmlinux.bin)
endif
endef
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -520,6 +520,56 @@ static struct board_info __initdata boar
+@@ -522,6 +522,56 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif
/*
-@@ -694,6 +744,7 @@ static const struct board_info __initcon
+@@ -696,6 +746,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -46,6 +48,12 @@
- #define CFE_OFFSET_64K 0x10000
+@@ -48,6 +50,12 @@
#define CFE_OFFSET_128K 0x20000
+ #define HCS_OFFSET_128K 0x20000
+#define NB4_PID_OFFSET 0xff80
+#define NB4_74X164_GPIO_BASE 64
static struct board_info board;
/*
-@@ -719,6 +727,596 @@ static struct board_info __initdata boar
+@@ -721,6 +729,596 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif
/*
-@@ -752,6 +1350,11 @@ static const struct board_info __initcon
+@@ -754,6 +1352,11 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
#endif
};
-@@ -806,6 +1409,16 @@ static void __init boardid_fixup(u8 *boo
+@@ -808,6 +1411,16 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name();
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -191,6 +191,40 @@ static struct board_info __initdata boar
+@@ -193,6 +193,40 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1329,6 +1363,7 @@ static const struct board_info __initcon
+@@ -1331,6 +1365,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -718,6 +718,98 @@ static struct board_info __initdata boar
+@@ -720,6 +720,98 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -1384,6 +1476,7 @@ static const struct board_info __initcon
+@@ -1386,6 +1478,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -854,6 +854,61 @@ static struct board_info __initdata boar
+@@ -856,6 +856,61 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI,
-@@ -1478,6 +1533,7 @@ static const struct board_info __initcon
+@@ -1480,6 +1535,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -612,6 +612,67 @@ static struct board_info __initdata boar
+@@ -614,6 +614,67 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1525,6 +1586,7 @@ static const struct board_info __initcon
+@@ -1527,6 +1588,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -479,6 +479,112 @@ static struct board_info __initdata boar
+@@ -481,6 +481,112 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -1579,6 +1685,8 @@ static const struct board_info __initcon
+@@ -1581,6 +1687,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -779,6 +779,78 @@ static struct board_info __initdata boar
+@@ -781,6 +781,78 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1695,6 +1767,7 @@ static const struct board_info __initcon
+@@ -1697,6 +1769,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1737,6 +1737,82 @@ static struct board_info __initdata boar
+@@ -1739,6 +1739,82 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
#endif
/*
-@@ -1782,6 +1858,7 @@ static const struct board_info __initcon
+@@ -1784,6 +1860,7 @@ static const struct board_info __initcon
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -225,6 +225,45 @@ static struct board_info __initdata boar
+@@ -227,6 +227,45 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1826,6 +1865,7 @@ static const struct board_info __initcon
+@@ -1828,6 +1867,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1852,6 +1852,72 @@ static struct board_info __initdata boar
+@@ -1854,6 +1854,72 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1899,6 +1965,7 @@ static const struct board_info __initcon
+@@ -1901,6 +1967,7 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
&board_HW553,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -890,6 +890,65 @@ static struct board_info __initdata boar
+@@ -892,6 +892,65 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1950,6 +2009,7 @@ static const struct board_info __initcon
+@@ -1952,6 +2011,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -2070,6 +2130,22 @@ void __init board_prom_init(void)
+@@ -2073,6 +2133,22 @@ void __init board_prom_init(void)
val &= MPI_CSBASE_BASE_MASK;
}
boot_addr = (u8 *)KSEG1ADDR(val);
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_flash.h>
#include <bcm63xx_dev_hsspi.h>
-@@ -157,6 +158,13 @@ int __init bcm63xx_flash_register(int nu
+@@ -158,6 +159,13 @@ int __init bcm63xx_flash_register(int nu
val = bcm_mpi_readl(MPI_CSBASE_REG(0));
val &= MPI_CSBASE_BASE_MASK;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -450,6 +450,64 @@ static struct board_info __initdata boar
+@@ -452,6 +452,64 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2010,6 +2068,7 @@ static const struct board_info __initcon
+@@ -2012,6 +2070,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -508,6 +508,51 @@ static struct board_info __initdata boar
+@@ -510,6 +510,51 @@ static struct board_info __initdata boar
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2069,6 +2114,7 @@ static const struct board_info __initcon
+@@ -2071,6 +2116,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1277,6 +1277,8 @@ static struct board_info __initdata boar
+@@ -1279,6 +1279,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1292,6 +1294,7 @@ static struct board_info __initdata boar
+@@ -1294,6 +1296,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -553,6 +553,69 @@ static struct board_info __initdata boar
+@@ -555,6 +555,69 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2118,6 +2181,7 @@ static const struct board_info __initcon
+@@ -2120,6 +2183,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -818,6 +818,7 @@ static struct board_info __initdata boar
+@@ -820,6 +820,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1116,6 +1116,46 @@ static struct board_info __initdata boar
+@@ -1118,6 +1118,46 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -2183,6 +2223,7 @@ static const struct board_info __initcon
+@@ -2185,6 +2225,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2190,6 +2190,78 @@ static struct board_info __initdata boar
+@@ -2192,6 +2192,78 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -2241,6 +2313,10 @@ static const struct board_info __initcon
+@@ -2243,6 +2315,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
};
/*
-@@ -2409,12 +2485,25 @@ void __init board_prom_init(void)
+@@ -2416,12 +2492,25 @@ void __init board_prom_init(void)
bcm63xx_pci_enabled = 1;
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2259,6 +2259,72 @@ static struct board_info __initdata boar
+@@ -2261,6 +2261,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -2316,6 +2382,7 @@ static const struct board_info __initcon
+@@ -2318,6 +2384,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -73,13 +73,45 @@ static struct board_info __initdata boar
+@@ -75,13 +75,45 @@ static struct board_info __initdata boar
.port_no = 0,
},
.name = "96328avng::power",
.gpio = 4,
.active_low = 1,
-@@ -96,7 +128,7 @@ static struct board_info __initdata boar
+@@ -98,7 +130,7 @@ static struct board_info __initdata boar
.active_low = 1,
},
{
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -134,6 +134,76 @@ static struct board_info __initdata boar
+@@ -136,6 +136,76 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -2365,6 +2435,7 @@ static struct board_info __initdata boar
+@@ -2367,6 +2437,7 @@ static struct board_info __initdata boar
static const struct board_info __initconst *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -204,6 +204,111 @@ static struct board_info __initdata boar
+@@ -206,6 +206,111 @@ static struct board_info __initdata boar
},
};
#endif
/*
-@@ -2436,6 +2541,7 @@ static const struct board_info __initcon
+@@ -2438,6 +2543,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1363,6 +1363,59 @@ static struct board_info __initdata boar
+@@ -1365,6 +1365,59 @@ static struct board_info __initdata boar
},
};
#endif
/*
-@@ -2571,6 +2624,7 @@ static const struct board_info __initcon
+@@ -2573,6 +2626,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -54,6 +54,13 @@
+@@ -56,6 +56,13 @@
#define NB4_SPI_GPIO_CLK 6
#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
static struct board_info board;
/*
-@@ -2306,6 +2313,113 @@ static struct board_info __initdata boar
+@@ -2308,6 +2315,113 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2639,6 +2753,7 @@ static const struct board_info __initcon
+@@ -2641,6 +2755,7 @@ static const struct board_info __initcon
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2561,6 +2561,73 @@ static struct board_info __initdata boar
+@@ -2563,6 +2563,73 @@ static struct board_info __initdata boar
},
}
};
#endif
/*
-@@ -2756,6 +2823,7 @@ static const struct board_info __initcon
+@@ -2758,6 +2825,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -53,6 +54,8 @@
+@@ -55,6 +56,8 @@
#define NB4_SPI_GPIO_MOSI 7
#define NB4_SPI_GPIO_CLK 6
#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
#define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64
-@@ -2630,6 +2633,103 @@ static struct board_info __initdata boar
+@@ -2632,6 +2635,103 @@ static struct board_info __initdata boar
};
#endif
/*
* known 6368 boards
*/
-@@ -2826,6 +2926,10 @@ static const struct board_info __initcon
+@@ -2828,6 +2928,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -2893,6 +2997,11 @@ static void __init boardid_fixup(u8 *boo
+@@ -2895,6 +2999,11 @@ static void __init boardid_fixup(u8 *boo
}
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1031,6 +1031,57 @@ static struct board_info __initdata boar
+@@ -1033,6 +1033,57 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -2894,6 +2945,7 @@ static const struct board_info __initcon
+@@ -2896,6 +2947,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -215,6 +215,125 @@ static struct board_info __initdata boar
+@@ -217,6 +217,125 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -2926,6 +3045,7 @@ static const struct board_info __initcon
+@@ -2928,6 +3047,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -145,6 +145,78 @@ static struct board_info __initdata boar
+@@ -147,6 +147,78 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -3044,6 +3116,7 @@ static struct board_info __initdata boar
+@@ -3046,6 +3118,7 @@ static struct board_info __initdata boar
static const struct board_info __initconst *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -145,6 +145,72 @@ static struct board_info __initdata boar
+@@ -147,6 +147,72 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96328A_1441N1 = {
.name = "96328A-1441N1",
.expected_cpu_id = 0x6328,
-@@ -3116,6 +3182,7 @@ static struct board_info __initdata boar
+@@ -3118,6 +3184,7 @@ static struct board_info __initdata boar
static const struct board_info __initconst *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -750,6 +750,55 @@ static struct board_info __initdata boar
+@@ -752,6 +752,55 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
#endif
/*
-@@ -3196,6 +3245,7 @@ static const struct board_info __initcon
+@@ -3198,6 +3247,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2856,6 +2856,374 @@ static struct board_info __initdata boar
+@@ -2858,6 +2858,374 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3284,6 +3652,10 @@ static const struct board_info __initcon
+@@ -3286,6 +3654,10 @@ static const struct board_info __initcon
&board_nb4_fxc_r2,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3349,13 +3721,37 @@ static void __init boardid_fixup(u8 *boo
+@@ -3351,13 +3723,37 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name();
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -799,6 +799,60 @@ static struct board_info __initdata boar
+@@ -801,6 +801,60 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -3614,6 +3668,7 @@ static const struct board_info __initcon
+@@ -3616,6 +3670,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2056,6 +2056,99 @@ static struct board_info __initdata boar
+@@ -2058,6 +2058,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1501,6 +1501,19 @@ static struct board_info __initdata boar
+@@ -1503,6 +1503,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -961,6 +961,17 @@ static struct board_info __initdata boar
+@@ -963,6 +963,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -589,6 +589,8 @@ static struct board_info __initdata boar
+@@ -591,6 +591,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -632,6 +634,8 @@ static struct board_info __initdata boar
+@@ -634,6 +636,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -917,6 +921,8 @@ static struct board_info __initdata boar
+@@ -919,6 +923,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -989,6 +995,8 @@ static struct board_info __initdata boar
+@@ -991,6 +997,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1218,6 +1226,8 @@ static struct board_info __initdata boar
+@@ -1220,6 +1228,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1393,6 +1403,8 @@ static struct board_info __initdata boar
+@@ -1395,6 +1405,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1467,6 +1479,8 @@ static struct board_info __initdata boar
+@@ -1469,6 +1481,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1488,6 +1502,8 @@ static struct board_info __initdata boar
+@@ -1490,6 +1504,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1507,6 +1523,8 @@ static struct board_info __initdata boar
+@@ -1509,6 +1525,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1882,6 +1900,8 @@ static struct board_info __initdata boar
+@@ -1884,6 +1902,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1934,6 +1954,8 @@ static struct board_info __initdata boar
+@@ -1936,6 +1956,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2074,6 +2096,8 @@ static struct board_info __initdata boar
+@@ -2076,6 +2098,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2191,6 +2215,8 @@ static struct board_info __initdata boar
+@@ -2193,6 +2217,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2223,6 +2223,94 @@ static struct board_info __initdata boar
+@@ -2225,6 +2225,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -69,6 +69,41 @@
+ static struct board_info board;
+
+ /*
++ * known 3368 boards
++ */
++#ifdef CONFIG_BCM63XX_CPU_3368
++static struct board_info __initdata board_cvg834g = {
++ .name = "CVG834G_E15R3921",
++ .expected_cpu_id = 0x3368,
++
++ .has_uart0 = 1,
++ .has_uart1 = 1,
++
++ .has_enet0 = 1,
++ .has_pci = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .use_internal_phy = 1,
++ },
++
++ .leds = {
++ {
++ .name = "CVG834G::switch-reset",
++ .gpio = 36,
++ .default_trigger= "default-on",
++ },
++
++ {
++ .name = "CVG834G:green:power",
++ .gpio = 37,
++ .default_trigger= "default-on",
++ },
++ },
++};
++#endif
++
++/*
+ * known 6328 boards
+ */
+ #ifdef CONFIG_BCM63XX_CPU_6328
+@@ -3884,6 +3919,9 @@ static struct board_info __initdata boar
+ * all boards
+ */
+ static const struct board_info __initconst *bcm963xx_boards[] = {
++#ifdef CONFIG_BCM63XX_CPU_3368
++ &board_cvg834g,
++#endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
+ &board_96328A_1241N,
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h>
-@@ -3961,7 +3962,7 @@ static const struct board_info __initcon
+@@ -4001,7 +4002,7 @@ static const struct board_info __initcon
* bcm4318 WLAN work
*/
#ifdef CONFIG_SSB_PCIHOST
.revision = 0x02,
.board_rev = 0x17,
.country_code = 0x0,
-@@ -3981,6 +3982,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -4021,6 +4022,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848,
.boardflags_hi = 0x0000,
};
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -69,6 +69,41 @@
+ static struct board_info board;
+
+ /*
++ * known 3368 boards
++ */
++#ifdef CONFIG_BCM63XX_CPU_3368
++static struct board_info __initdata board_cvg834g = {
++ .name = "CVG834G_E15R3921",
++ .expected_cpu_id = 0x3368,
++
++ .has_uart0 = 1,
++ .has_uart1 = 1,
++
++ .has_enet0 = 1,
++ .has_pci = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .use_internal_phy = 1,
++ },
++
++ .leds = {
++ {
++ .name = "CVG834G::switch-reset",
++ .gpio = 36,
++ .default_trigger= "default-on",
++ },
++
++ {
++ .name = "CVG834G:green:power",
++ .gpio = 37,
++ .default_trigger= "default-on",
++ },
++ },
++};
++#endif
++
++/*
+ * known 6328 boards
+ */
+ #ifdef CONFIG_BCM63XX_CPU_6328
+@@ -3884,6 +3919,9 @@ static struct board_info __initdata boar
+ * all boards
+ */
+ static const struct board_info __initconst *bcm963xx_boards[] = {
++#ifdef CONFIG_BCM63XX_CPU_3368
++ &board_cvg834g,
++#endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
+ &board_96328A_1241N,