brcm63xx: add linux 4.4 support
[openwrt.git] / target / linux / brcm63xx / patches-4.4 / 505-board_spw500v.patch
diff --git a/target/linux/brcm63xx/patches-4.4/505-board_spw500v.patch b/target/linux/brcm63xx/patches-4.4/505-board_spw500v.patch
new file mode 100644 (file)
index 0000000..a9847c1
--- /dev/null
@@ -0,0 +1,64 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -568,6 +568,45 @@ static struct board_info __initdata boar
+               .force_duplex_full      = 1,
+       },
+ };
++
++static struct sprom_fixup __initdata spw500v_fixups[] = {
++      { .offset = 46, .value = 0x3046 },
++      { .offset = 47, .value = 0x15a7 },
++      { .offset = 48, .value = 0xfa89 },
++      { .offset = 49, .value = 0xfe79 },
++      { .offset = 57, .value = 0x6a49 },
++};
++
++static struct board_info __initdata board_spw500v = {
++      .name                           = "SPW500V",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet0                      = 1,
++      .has_pci                        = 1,
++      .use_fallback_sprom             = 1,
++
++      .enet0 = {
++              .has_phy                = 1,
++              .use_internal_phy       = 1,
++      },
++
++      .has_dsp                        = 1,
++      .dsp = {
++              .gpio_rst               = 6,
++              .gpio_int               = 34,
++              .ext_irq                = 2,
++              .cs                     = 2,
++      },
++
++      .fallback_sprom = {
++              .type                   = SPROM_BCM4318,
++              .pci_bus                = 0,
++              .pci_dev                = 1,
++              .board_fixups           = spw500v_fixups,
++              .num_board_fixups       = ARRAY_SIZE(spw500v_fixups),
++      },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6348 */
+ /*
+@@ -852,6 +891,7 @@ static const struct board_info __initcon
+       &board_96348gw_a,
+       &board_rta1025w_16,
+       &board_96348_D4PW,
++      &board_spw500v,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
+@@ -893,6 +933,7 @@ static struct of_device_id const bcm963x
+       { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+       { .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
+       { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
++      { .compatible = "t-com,spw500v", .data = &board_spw500v, },
+       { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
+       { .compatible = "usr,9108", .data = &board_96348gw_a, },
+ #endif