openwrt/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.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

128 lines
2.4 KiB
Diff

--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -4586,6 +4586,116 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
+static struct sprom_fixup __initdata vr3025u_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_VR3025u = {
+ .name = "96368M-1541N",
+ .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-3025u:green:dsl",
+ .gpio = 2,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025u:green:inet",
+ .gpio = 5,
+ },
+ {
+ .name = "VR-3025u:green:lan1",
+ .gpio = 6,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025u:green:lan2",
+ .gpio = 7,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025u:green:lan3",
+ .gpio = 8,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025u:green:lan4",
+ .gpio = 9,
+ .active_low = 1,
+ },
+ {
+ .name = "VR-3025u:green:power",
+ .gpio = 22,
+ .default_trigger = "default-on",
+ },
+ {
+ .name = "VR-3025u:red:power",
+ .gpio = 24,
+ },
+ {
+ .name = "VR-3025u: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 = vr3025u_fixups,
+ .num_board_fixups = ARRAY_SIZE(vr3025u_fixups),
+ },
+};
+
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -5079,6 +5189,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
+ &board_VR3025u,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268