openwrtv4/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
Jonas Gorski 52b0935efe brcm63xx: use dtb board detection for HW556
This requires individual images for each board version for now.
Linux partition was shrunk to ensure writing thewrong image won't
erase wifi calibration data.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 42126
2014-08-11 11:37:14 +00:00

127 lines
2.4 KiB
Diff

--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -4696,6 +4696,116 @@ static struct board_info __initdata boar
},
};
+static struct sprom_fixup __initdata vr3025un_fixups[] = {
+ { .offset = 97, .value = 0xfeb3 },
+ { .offset = 98, .value = 0x1618 },
+ { .offset = 99, .value = 0xfab0 },
+ { .offset = 113, .value = 0xfed1 },
+ { .offset = 114, .value = 0x1609 },
+ { .offset = 115, .value = 0xfad9 },
+};
+
+static struct board_info __initdata board_VR3025un = {
+ .name = "96368M-1341N",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
+ .has_pci = 1,
+ .use_fallback_sprom = 1,
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+
+ .has_enetsw = 1,
+ .enetsw = {
+ .used_ports = {
+ [0] = {
+ .used = 1,
+ .phy_id = 1,
+ .name = "port1",
+ },
+ [1] = {
+ .used = 1,
+ .phy_id = 2,
+ .name = "port2",
+ },
+ [2] = {
+ .used = 1,
+ .phy_id = 3,
+ .name = "port3",
+ },
+ [3] = {
+ .used = 1,
+ .phy_id = 4,
+ .name = "port4",
+ },
+ },
+ },
+
+ .leds = {
+ {
+ .name = "VR-3025un:green:dsl",
+ .gpio = 2,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025un:green:inet",
+ .gpio = 5,
+ },
+ {
+ .name = "VR-3025un:green:lan1",
+ .gpio = 6,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025un:green:lan2",
+ .gpio = 7,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025un:green:lan3",
+ .gpio = 8,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025un:green:iptv",
+ .gpio = 9,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025un:green:power",
+ .gpio = 22,
+ .default_trigger = "default-on",
+ },
+ {
+ .name = "VR-3025un:red:power",
+ .gpio = 24,
+ },
+ {
+ .name = "VR-3025un:red:inet",
+ .gpio = 31,
+ },
+ },
+
+ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ .active_low = 1,
+ },
+ },
+
+ .fallback_sprom = {
+ .type = SPROM_BCM43222,
+ .pci_bus = 0,
+ .pci_dev = 1,
+ .board_fixups = vr3025un_fixups,
+ .num_board_fixups = ARRAY_SIZE(vr3025un_fixups),
+ },
+};
+
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -5190,6 +5300,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
+ &board_VR3025un,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268