brcm63xx: use consistent gpio chip labeling for OF/non-OF
[openwrt/svn-archive/archive.git] / target / linux / brcm63xx / patches-3.14 / 505-board_spw500v.patch
index fa5874569fa5e527e78d42e0652e789263b83bea..8d366153af842c6c81f679b5b2a5522c20fb174d 100644 (file)
@@ -1,18 +1,26 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -653,6 +653,68 @@ static struct board_info __initdata boar
-               },
+@@ -574,6 +574,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",
-+      .of_board_id                    = "t-com,spw500v",
 +      .expected_cpu_id                = 0x6348,
 +
 +      .has_uart0                      = 1,
 +      .has_enet0                      = 1,
 +      .has_pci                        = 1,
++      .use_fallback_sprom             = 1,
 +
 +      .enet0 = {
 +              .has_phy                = 1,
 +              .cs                     = 2,
 +      },
 +
-+      .leds = {
-+              {
-+                      .name           = "SPW500V:red:power",
-+                      .gpio           = 1,
-+                      .active_low     = 1,
-+              },
-+              {
-+                      .name           = "SPW500V:green:power",
-+                      .gpio           = 0,
-+                      .active_low     = 1,
-+                      .default_trigger = "default-on",
-+              },
-+              {
-+                      .name           = "SPW500V:green:ppp",
-+                      .gpio           = 3,
-+                      .active_low     = 1,
-+              },
-+              {       .name           = "SPW500V:green:pstn",
-+                      .gpio           = 28,
-+                      .active_low     = 1,
-+              },
-+              {
-+                      .name           = "SPW500V:green:voip",
-+                      .gpio           = 32,
-+                      .active_low     = 1,
-+              },
-+      },
-+
-+      .buttons = {
-+              {
-+                      .desc           = "reset",
-+                      .gpio           = 33,
-+                      .active_low     = 1,
-+                      .type           = EV_KEY,
-+                      .code           = KEY_RESTART,
-+                      .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+              },
++      .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 */
  
  /*
-@@ -1252,6 +1314,7 @@ static const struct board_info __initcon
+@@ -850,6 +889,7 @@ static const struct board_info __initcon
        &board_96348gw_a,
        &board_rta1025w_16,
        &board_96348_D4PW,
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
+@@ -890,6 +930,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