Merge branch 'bcm63xx'
authorFlorian Fainelli <florian@openwrt.org>
Mon, 5 Mar 2012 13:29:54 +0000 (13:29 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Mon, 5 Mar 2012 13:29:54 +0000 (13:29 +0000)
SVN-Revision: 30819

39 files changed:
target/linux/brcm63xx/base-files/etc/defconfig/96348A-122/network [new file with mode: 0644]
target/linux/brcm63xx/base-files/etc/uci-defaults/brcm63xx_fixcrc.sh
target/linux/brcm63xx/patches-3.0/100-reset_buttons.patch
target/linux/brcm63xx/patches-3.0/200-extended-platform-devices.patch
target/linux/brcm63xx/patches-3.0/300-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.0/457-board_96348A-122.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.0/458-RTA1205W_16_uart_fixes.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.0/459_board_CPVA502plus.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.0/977-ssb_export_fallback_sprom.patch
target/linux/brcm63xx/patches-3.1/100-reset_buttons.patch
target/linux/brcm63xx/patches-3.1/200-extended-platform-devices.patch
target/linux/brcm63xx/patches-3.1/300-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.1/457-board_96348A-122.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.1/458-RTA1205W_16_uart_fixes.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.1/459_board_CPVA502plus.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.1/977-ssb_export_fallback_sprom.patch
target/linux/brcm63xx/patches-3.2/100-reset_buttons.patch
target/linux/brcm63xx/patches-3.2/200-extended-platform-devices.patch
target/linux/brcm63xx/patches-3.2/300-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.2/457-board_96348A-122.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.2/458-RTA1205W_16_uart_fixes.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.2/459_board_CPVA502plus.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.2/977-ssb_export_fallback_sprom.patch
target/linux/brcm63xx/patches-3.3/011-add_bcm63xx_ehci_controller.patch
target/linux/brcm63xx/patches-3.3/100-reset_buttons.patch
target/linux/brcm63xx/patches-3.3/200-extended-platform-devices.patch
target/linux/brcm63xx/patches-3.3/300-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.3/457-board_96348A-122.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.3/458-RTA1205W_16_uart_fixes.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.3/459_board_CPVA502plus.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.3/977-ssb_export_fallback_sprom.patch
target/linux/generic/patches-3.0/050-linux-atm_nathan.patch
target/linux/generic/patches-3.0/321-powerpc_crtsavres_prereq.patch
target/linux/generic/patches-3.1/050-linux-atm_nathan.patch
target/linux/generic/patches-3.1/321-powerpc_crtsavres_prereq.patch
target/linux/generic/patches-3.2/321-powerpc_crtsavres_prereq.patch
target/linux/generic/patches-3.2/340-module_alloc_size_check.patch
target/linux/generic/patches-3.3/321-powerpc_crtsavres_prereq.patch
target/linux/generic/patches-3.3/340-module_alloc_size_check.patch

diff --git a/target/linux/brcm63xx/base-files/etc/defconfig/96348A-122/network b/target/linux/brcm63xx/base-files/etc/defconfig/96348A-122/network
new file mode 100644 (file)
index 0000000..ef1f288
--- /dev/null
@@ -0,0 +1,14 @@
+# Copyright (C) 2008 OpenWrt.org
+
+config interface loopback
+    option ifname   lo
+    option proto    static
+    option ipaddr   127.0.0.1
+    option netmask  255.0.0.0
+
+config interface lan
+    option type     bridge
+    option ifname   eth0
+    option proto    static
+    option ipaddr   192.168.1.1
+    option netmask  255.255.255.0
index 72ba3cc30bada7cbc5eefe136685316544bc8214..965ddba16c7035894ae6b4ea7ef2a0f354c6da59 100755 (executable)
@@ -13,7 +13,8 @@ do_fixcrc() {
 brcm63xx_detect
 
 case "$board_name" in
-       "bcm63xx/CPVA642 "* | "bcm63xx/MAGIC "* | "bcm63xx/V2500V_BB "* | "bcm63xx/V2110 "*)
+       "bcm63xx/CPVA642 "* | "bcm63xx/MAGIC "* | "bcm63xx/V2500V_BB "* | \
+       "bcm63xx/V2110 "* | "bcm63xx/CPVA502+ "*)
                do_fixcrc
                ;;
 esac
index f1f69f421ef939bdf933f16a563d04c4f6c9dc8d..ac61812f77fe4acc378e942a8863a2e38f2c7904 100644 (file)
@@ -92,7 +92,7 @@
        struct gpio_led leds[5];
 +
 +      /* Buttons */
-+      struct gpio_button buttons[2];
++      struct gpio_button buttons[4];
  };
  
  #endif /* ! BOARD_BCM963XX_H_ */
index 2ec70c174c0af25ec70a63cc45f610c0cc487304..363c6b159e9699a6faee57675a5d41d1ba936a4e 100644 (file)
@@ -15,7 +15,7 @@
 @@ -61,6 +61,10 @@ struct board_info {
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
 +
 +      /* Additional platform devices */
 +      struct platform_device **devs;
index f54fab736be7c290a62b02e4b176b78abeb05d24..d9f891f8a9afd1e8ff6bf6835df1d4a2dc64e4b8 100644 (file)
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:red",
++                      .name           = "adsl:green",
 +                      .gpio           = 9,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:green",
++                      .name           = "adsl:red",
 +                      .gpio           = 10,
 +                      .active_low     = 1,
 +              },
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:red",
++                      .name           = "internet:green",
 +                      .gpio           = 25,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:green",
++                      .name           = "internet:red",
 +                      .gpio           = 24,
 +                      .active_low     = 1,
 +              },
 +      struct gpio_led leds[14];
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
diff --git a/target/linux/brcm63xx/patches-3.0/457-board_96348A-122.patch b/target/linux/brcm63xx/patches-3.0/457-board_96348A-122.patch
new file mode 100644 (file)
index 0000000..a7ee975
--- /dev/null
@@ -0,0 +1,78 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1009,6 +1009,67 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_96348A_122 = {
++      .name                           = "96348A-122",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_ohci0 = 1,
++
++      .leds = {
++              {
++                      .name           = "power",
++                      .gpio           = 0,
++                      .active_low     = 1,
++                      .default_trigger = "default-on",
++              },
++              {
++                      .name           = "alarm",
++                      .gpio           = 2,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "wps",
++                      .gpio           = 6,
++                      .active_low     = 1,
++              },
++      },
++      .buttons = {
++              {
++                      .desc           = "reset",
++                      .gpio           = 33,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_RESTART,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wifi",
++                      .gpio           = 34,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = BTN_0,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wps",
++                      .gpio           = 35,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_WPS_BUTTON,
++                      .threshold      = 3,
++              },
++      },
++};
++
+ #endif
+ /*
+@@ -2068,6 +2129,7 @@ static const struct board_info __initdat
+       &board_V2500V_BB,
+       &board_V2110,
+       &board_ct536_ct5621,
++      &board_96348A_122,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
diff --git a/target/linux/brcm63xx/patches-3.0/458-RTA1205W_16_uart_fixes.patch b/target/linux/brcm63xx/patches-3.0/458-RTA1205W_16_uart_fixes.patch
new file mode 100644 (file)
index 0000000..90a9a5c
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -704,6 +704,7 @@ static struct board_info __initdata boar
+       .name                           = "RTA1025W_16",
+       .expected_cpu_id                = 0x6348,
++      .has_uart0                      = 1,
+       .has_enet0                      = 1,
+       .has_enet1                      = 1,
+       .has_pci                        = 1,
diff --git a/target/linux/brcm63xx/patches-3.0/459_board_CPVA502plus.patch b/target/linux/brcm63xx/patches-3.0/459_board_CPVA502plus.patch
new file mode 100644 (file)
index 0000000..426e9d0
--- /dev/null
@@ -0,0 +1,55 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1071,6 +1071,44 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_CPVA502plus = {
++      .name                           = "CPVA502+",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet0 = {
++              .has_phy                = 1,
++              .use_internal_phy       = 1,
++      },
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_udc0                       = 1,
++
++      .leds = {
++              {
++                      .name           = "phone",
++                      .gpio           = 0,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "link",
++                      .gpio           = 5,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "feth1", /* FIXME:does gpio4 enable eth1 phy? */
++                      .gpio           = 4,
++                      .active_low     = 1,
++              },
++      },
++};
+ #endif
+ /*
+@@ -2131,6 +2169,7 @@ static const struct board_info __initdat
+       &board_V2110,
+       &board_ct536_ct5621,
+       &board_96348A_122,
++      &board_CPVA502plus,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
index 478019d99ef6a41e4d9ca5b4136a3258014fdff7..6bfa419bfd2473eeb48ed4620107ddf7a409f40e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2108,7 +2108,7 @@ static void __init nb4_nvram_fixup(void)
+@@ -2210,7 +2210,7 @@ static void __init nb4_nvram_fixup(void)
   * bcm4318 WLAN work
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -9,7 +9,7 @@
        .revision               = 0x02,
        .board_rev              = 0x17,
        .country_code           = 0x0,
-@@ -2128,6 +2128,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -2230,6 +2230,7 @@ static struct ssb_sprom bcm63xx_sprom =
        .boardflags_lo          = 0x2848,
        .boardflags_hi          = 0x0000,
  };
index f1f69f421ef939bdf933f16a563d04c4f6c9dc8d..ac61812f77fe4acc378e942a8863a2e38f2c7904 100644 (file)
@@ -92,7 +92,7 @@
        struct gpio_led leds[5];
 +
 +      /* Buttons */
-+      struct gpio_button buttons[2];
++      struct gpio_button buttons[4];
  };
  
  #endif /* ! BOARD_BCM963XX_H_ */
index 2ec70c174c0af25ec70a63cc45f610c0cc487304..363c6b159e9699a6faee57675a5d41d1ba936a4e 100644 (file)
@@ -15,7 +15,7 @@
 @@ -61,6 +61,10 @@ struct board_info {
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
 +
 +      /* Additional platform devices */
 +      struct platform_device **devs;
index f54fab736be7c290a62b02e4b176b78abeb05d24..d9f891f8a9afd1e8ff6bf6835df1d4a2dc64e4b8 100644 (file)
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:red",
++                      .name           = "adsl:green",
 +                      .gpio           = 9,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:green",
++                      .name           = "adsl:red",
 +                      .gpio           = 10,
 +                      .active_low     = 1,
 +              },
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:red",
++                      .name           = "internet:green",
 +                      .gpio           = 25,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:green",
++                      .name           = "internet:red",
 +                      .gpio           = 24,
 +                      .active_low     = 1,
 +              },
 +      struct gpio_led leds[14];
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
diff --git a/target/linux/brcm63xx/patches-3.1/457-board_96348A-122.patch b/target/linux/brcm63xx/patches-3.1/457-board_96348A-122.patch
new file mode 100644 (file)
index 0000000..a7ee975
--- /dev/null
@@ -0,0 +1,78 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1009,6 +1009,67 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_96348A_122 = {
++      .name                           = "96348A-122",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_ohci0 = 1,
++
++      .leds = {
++              {
++                      .name           = "power",
++                      .gpio           = 0,
++                      .active_low     = 1,
++                      .default_trigger = "default-on",
++              },
++              {
++                      .name           = "alarm",
++                      .gpio           = 2,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "wps",
++                      .gpio           = 6,
++                      .active_low     = 1,
++              },
++      },
++      .buttons = {
++              {
++                      .desc           = "reset",
++                      .gpio           = 33,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_RESTART,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wifi",
++                      .gpio           = 34,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = BTN_0,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wps",
++                      .gpio           = 35,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_WPS_BUTTON,
++                      .threshold      = 3,
++              },
++      },
++};
++
+ #endif
+ /*
+@@ -2068,6 +2129,7 @@ static const struct board_info __initdat
+       &board_V2500V_BB,
+       &board_V2110,
+       &board_ct536_ct5621,
++      &board_96348A_122,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
diff --git a/target/linux/brcm63xx/patches-3.1/458-RTA1205W_16_uart_fixes.patch b/target/linux/brcm63xx/patches-3.1/458-RTA1205W_16_uart_fixes.patch
new file mode 100644 (file)
index 0000000..90a9a5c
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -704,6 +704,7 @@ static struct board_info __initdata boar
+       .name                           = "RTA1025W_16",
+       .expected_cpu_id                = 0x6348,
++      .has_uart0                      = 1,
+       .has_enet0                      = 1,
+       .has_enet1                      = 1,
+       .has_pci                        = 1,
diff --git a/target/linux/brcm63xx/patches-3.1/459_board_CPVA502plus.patch b/target/linux/brcm63xx/patches-3.1/459_board_CPVA502plus.patch
new file mode 100644 (file)
index 0000000..426e9d0
--- /dev/null
@@ -0,0 +1,55 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1071,6 +1071,44 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_CPVA502plus = {
++      .name                           = "CPVA502+",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet0 = {
++              .has_phy                = 1,
++              .use_internal_phy       = 1,
++      },
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_udc0                       = 1,
++
++      .leds = {
++              {
++                      .name           = "phone",
++                      .gpio           = 0,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "link",
++                      .gpio           = 5,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "feth1", /* FIXME:does gpio4 enable eth1 phy? */
++                      .gpio           = 4,
++                      .active_low     = 1,
++              },
++      },
++};
+ #endif
+ /*
+@@ -2131,6 +2169,7 @@ static const struct board_info __initdat
+       &board_V2110,
+       &board_ct536_ct5621,
+       &board_96348A_122,
++      &board_CPVA502plus,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
index 478019d99ef6a41e4d9ca5b4136a3258014fdff7..6bfa419bfd2473eeb48ed4620107ddf7a409f40e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2108,7 +2108,7 @@ static void __init nb4_nvram_fixup(void)
+@@ -2210,7 +2210,7 @@ static void __init nb4_nvram_fixup(void)
   * bcm4318 WLAN work
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -9,7 +9,7 @@
        .revision               = 0x02,
        .board_rev              = 0x17,
        .country_code           = 0x0,
-@@ -2128,6 +2128,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -2230,6 +2230,7 @@ static struct ssb_sprom bcm63xx_sprom =
        .boardflags_lo          = 0x2848,
        .boardflags_hi          = 0x0000,
  };
index f1f69f421ef939bdf933f16a563d04c4f6c9dc8d..ac61812f77fe4acc378e942a8863a2e38f2c7904 100644 (file)
@@ -92,7 +92,7 @@
        struct gpio_led leds[5];
 +
 +      /* Buttons */
-+      struct gpio_button buttons[2];
++      struct gpio_button buttons[4];
  };
  
  #endif /* ! BOARD_BCM963XX_H_ */
index 2ec70c174c0af25ec70a63cc45f610c0cc487304..363c6b159e9699a6faee57675a5d41d1ba936a4e 100644 (file)
@@ -15,7 +15,7 @@
 @@ -61,6 +61,10 @@ struct board_info {
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
 +
 +      /* Additional platform devices */
 +      struct platform_device **devs;
index cf229ce1b76264c30c5fb1ffea0e7ebd8af02c5c..e076cf62b536836ee1a05bef42ece3d3b6fe156f 100644 (file)
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:red",
++                      .name           = "adsl:green",
 +                      .gpio           = 9,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:green",
++                      .name           = "adsl:red",
 +                      .gpio           = 10,
 +                      .active_low     = 1,
 +              },
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:red",
++                      .name           = "internet:green",
 +                      .gpio           = 25,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:green",
++                      .name           = "internet:red",
 +                      .gpio           = 24,
 +                      .active_low     = 1,
 +              },
 +      struct gpio_led leds[14];
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
diff --git a/target/linux/brcm63xx/patches-3.2/457-board_96348A-122.patch b/target/linux/brcm63xx/patches-3.2/457-board_96348A-122.patch
new file mode 100644 (file)
index 0000000..b18e93f
--- /dev/null
@@ -0,0 +1,78 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1010,6 +1010,67 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_96348A_122 = {
++      .name                           = "96348A-122",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_ohci0 = 1,
++
++      .leds = {
++              {
++                      .name           = "power",
++                      .gpio           = 0,
++                      .active_low     = 1,
++                      .default_trigger = "default-on",
++              },
++              {
++                      .name           = "alarm",
++                      .gpio           = 2,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "wps",
++                      .gpio           = 6,
++                      .active_low     = 1,
++              },
++      },
++      .buttons = {
++              {
++                      .desc           = "reset",
++                      .gpio           = 33,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_RESTART,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wifi",
++                      .gpio           = 34,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = BTN_0,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wps",
++                      .gpio           = 35,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_WPS_BUTTON,
++                      .threshold      = 3,
++              },
++      },
++};
++
+ #endif
+ /*
+@@ -2069,6 +2130,7 @@ static const struct board_info __initdat
+       &board_V2500V_BB,
+       &board_V2110,
+       &board_ct536_ct5621,
++      &board_96348A_122,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
diff --git a/target/linux/brcm63xx/patches-3.2/458-RTA1205W_16_uart_fixes.patch b/target/linux/brcm63xx/patches-3.2/458-RTA1205W_16_uart_fixes.patch
new file mode 100644 (file)
index 0000000..89eab82
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -705,6 +705,7 @@ static struct board_info __initdata boar
+       .name                           = "RTA1025W_16",
+       .expected_cpu_id                = 0x6348,
++      .has_uart0                      = 1,
+       .has_enet0                      = 1,
+       .has_enet1                      = 1,
+       .has_pci                        = 1,
diff --git a/target/linux/brcm63xx/patches-3.2/459_board_CPVA502plus.patch b/target/linux/brcm63xx/patches-3.2/459_board_CPVA502plus.patch
new file mode 100644 (file)
index 0000000..fa25268
--- /dev/null
@@ -0,0 +1,55 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1072,6 +1072,44 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_CPVA502plus = {
++      .name                           = "CPVA502+",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet0 = {
++              .has_phy                = 1,
++              .use_internal_phy       = 1,
++      },
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_udc0                       = 1,
++
++      .leds = {
++              {
++                      .name           = "phone",
++                      .gpio           = 0,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "link",
++                      .gpio           = 5,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "feth1", /* FIXME:does gpio4 enable eth1 phy? */
++                      .gpio           = 4,
++                      .active_low     = 1,
++              },
++      },
++};
+ #endif
+ /*
+@@ -2132,6 +2170,7 @@ static const struct board_info __initdat
+       &board_V2110,
+       &board_ct536_ct5621,
+       &board_96348A_122,
++      &board_CPVA502plus,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
index 1181d102b9044d7d3312c16b1d88cddbf9fc2d1a..7f95d3fed90b2065372e01f2833ba2a384aa27bb 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2109,7 +2109,7 @@ static void __init nb4_nvram_fixup(void)
+@@ -2211,7 +2211,7 @@ static void __init nb4_nvram_fixup(void)
   * bcm4318 WLAN work
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -9,7 +9,7 @@
        .revision               = 0x02,
        .board_rev              = 0x17,
        .country_code           = 0x0,
-@@ -2129,6 +2129,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -2231,6 +2231,7 @@ static struct ssb_sprom bcm63xx_sprom =
        .boardflags_lo          = 0x2848,
        .boardflags_hi          = 0x0000,
  };
index 788375c1ca1abfac91d0f5375fc6838aa108c12b..969c3b78a4f5cb729abffe60fe836eb4c699ef54 100644 (file)
@@ -34,7 +34,7 @@ Subject: [PATCH 22/57] ehci: add driver for bcm63xx integrated controller.
 +        BCM6358 and later chips.
 +
  config USB_EHCI_FSL
-       bool "Support for Freescale on-chip EHCI USB controller"
+       bool "Support for Freescale PPC on-chip EHCI USB controller"
        depends on USB_EHCI_HCD && FSL_SOC
 --- /dev/null
 +++ b/drivers/usb/host/ehci-bcm63xx.c
index aa69ecdc60c3f71e83df29b72748e2b2a0f7b470..00380341ae62bd89ed17f71c13aab845794ff5b0 100644 (file)
        struct gpio_led leds[5];
 +
 +      /* Buttons */
-+      struct gpio_button buttons[2];
++      struct gpio_button buttons[4];
  };
  
  #endif /* ! BOARD_BCM963XX_H_ */
index 039df694fe588412f150226ea6dd99fe4a6c7c40..0e62140dc812f8a7f15f30c2eedd1433b6326b08 100644 (file)
@@ -15,7 +15,7 @@
 @@ -62,6 +62,10 @@ struct board_info {
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
 +
 +      /* Additional platform devices */
 +      struct platform_device **devs;
index c5043c9cc1393397b617341170a6111aa4129f11..2e096385cd9bb7ed6772c52c7857197d8038b191 100644 (file)
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:red",
++                      .name           = "adsl:green",
 +                      .gpio           = 9,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "adsl:green",
++                      .name           = "adsl:red",
 +                      .gpio           = 10,
 +                      .active_low     = 1,
 +              },
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:red",
++                      .name           = "internet:green",
 +                      .gpio           = 25,
 +                      .active_low     = 1,
 +              },
 +              {
-+                      .name           = "internet:green",
++                      .name           = "internet:red",
 +                      .gpio           = 24,
 +                      .active_low     = 1,
 +              },
 +      struct gpio_led leds[14];
  
        /* Buttons */
-       struct gpio_button buttons[2];
+       struct gpio_button buttons[4];
diff --git a/target/linux/brcm63xx/patches-3.3/457-board_96348A-122.patch b/target/linux/brcm63xx/patches-3.3/457-board_96348A-122.patch
new file mode 100644 (file)
index 0000000..b18e93f
--- /dev/null
@@ -0,0 +1,78 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1010,6 +1010,67 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_96348A_122 = {
++      .name                           = "96348A-122",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_ohci0 = 1,
++
++      .leds = {
++              {
++                      .name           = "power",
++                      .gpio           = 0,
++                      .active_low     = 1,
++                      .default_trigger = "default-on",
++              },
++              {
++                      .name           = "alarm",
++                      .gpio           = 2,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "wps",
++                      .gpio           = 6,
++                      .active_low     = 1,
++              },
++      },
++      .buttons = {
++              {
++                      .desc           = "reset",
++                      .gpio           = 33,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_RESTART,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wifi",
++                      .gpio           = 34,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = BTN_0,
++                      .threshold      = 3,
++              },
++              {
++                      .desc           = "wps",
++                      .gpio           = 35,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_WPS_BUTTON,
++                      .threshold      = 3,
++              },
++      },
++};
++
+ #endif
+ /*
+@@ -2069,6 +2130,7 @@ static const struct board_info __initdat
+       &board_V2500V_BB,
+       &board_V2110,
+       &board_ct536_ct5621,
++      &board_96348A_122,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
diff --git a/target/linux/brcm63xx/patches-3.3/458-RTA1205W_16_uart_fixes.patch b/target/linux/brcm63xx/patches-3.3/458-RTA1205W_16_uart_fixes.patch
new file mode 100644 (file)
index 0000000..89eab82
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -705,6 +705,7 @@ static struct board_info __initdata boar
+       .name                           = "RTA1025W_16",
+       .expected_cpu_id                = 0x6348,
++      .has_uart0                      = 1,
+       .has_enet0                      = 1,
+       .has_enet1                      = 1,
+       .has_pci                        = 1,
diff --git a/target/linux/brcm63xx/patches-3.3/459_board_CPVA502plus.patch b/target/linux/brcm63xx/patches-3.3/459_board_CPVA502plus.patch
new file mode 100644 (file)
index 0000000..fa25268
--- /dev/null
@@ -0,0 +1,55 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1072,6 +1072,44 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_CPVA502plus = {
++      .name                           = "CPVA502+",
++      .expected_cpu_id                = 0x6348,
++
++      .has_uart0                      = 1,
++      .has_enet0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet0 = {
++              .has_phy                = 1,
++              .use_internal_phy       = 1,
++      },
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .has_udc0                       = 1,
++
++      .leds = {
++              {
++                      .name           = "phone",
++                      .gpio           = 0,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "link",
++                      .gpio           = 5,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "feth1", /* FIXME:does gpio4 enable eth1 phy? */
++                      .gpio           = 4,
++                      .active_low     = 1,
++              },
++      },
++};
+ #endif
+ /*
+@@ -2132,6 +2170,7 @@ static const struct board_info __initdat
+       &board_V2110,
+       &board_ct536_ct5621,
+       &board_96348A_122,
++      &board_CPVA502plus,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
index 1181d102b9044d7d3312c16b1d88cddbf9fc2d1a..7f95d3fed90b2065372e01f2833ba2a384aa27bb 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2109,7 +2109,7 @@ static void __init nb4_nvram_fixup(void)
+@@ -2211,7 +2211,7 @@ static void __init nb4_nvram_fixup(void)
   * bcm4318 WLAN work
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -9,7 +9,7 @@
        .revision               = 0x02,
        .board_rev              = 0x17,
        .country_code           = 0x0,
-@@ -2129,6 +2129,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -2231,6 +2231,7 @@ static struct ssb_sprom bcm63xx_sprom =
        .boardflags_lo          = 0x2848,
        .boardflags_hi          = 0x0000,
  };
index 19e22d566f713fd519a5fa9aedee5a526cb58cb9..2c3b9e48add2f3f68a300a5f0f93c0f15fbc475e 100644 (file)
@@ -14,8 +14,6 @@ Signed-off-by: Nathan Williams <nathan@traverse.com.au>
  drivers/atm/solos-attrlist.c |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
 
-diff --git a/drivers/atm/solos-attrlist.c b/drivers/atm/solos-attrlist.c
-index 9a676ee..8092533 100644
 --- a/drivers/atm/solos-attrlist.c
 +++ b/drivers/atm/solos-attrlist.c
 @@ -71,6 +71,8 @@ SOLOS_ATTR_RW(BisAForceSNRMarginDn)
@@ -27,66 +25,61 @@ index 9a676ee..8092533 100644
  SOLOS_ATTR_RW(AnnexAForceSNRMarginDn)
  SOLOS_ATTR_RW(AnnexAMaxMargin)
  SOLOS_ATTR_RW(AnnexMMaxMargin)
-
-From: Nathan Williams <nathan@traverse.com.au>
-To: netdev@vger.kernel.org
-Date: Wed, 05 Oct 2011 15:44:17 +1100
-Cc: linux-atm-general@lists.sourceforge.net,
-        David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org
-Subject: [Linux-ATM-General] [PATCH 2/4] atm: solos-pci: Remove annoying
-       line of debugging
-
-"len: %d" isn't particularly useful for anyone and confuses users.
-
-Signed-off-by: Nathan Williams <nathan@traverse.com.au>
----
- drivers/atm/solos-pci.c |    1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index 5d1d076..bd01aa3 100644
 --- a/drivers/atm/solos-pci.c
 +++ b/drivers/atm/solos-pci.c
-@@ -452,7 +452,6 @@ static ssize_t console_show(struct device *dev, struct device_attribute *attr,
+@@ -42,7 +42,8 @@
+ #include <linux/swab.h>
+ #include <linux/slab.h>
  
-       len = skb->len;
-       memcpy(buf, skb->data, len);
--      dev_dbg(&card->dev->dev, "len: %d\n", len);
+-#define VERSION "0.07"
++#define VERSION "1.0"
++#define DRIVER_VERSION 0x01
+ #define PTAG "solos-pci"
  
-       kfree_skb(skb);
-       return len;
-From: Nathan Williams <nathan@traverse.com.au>
-To: netdev@vger.kernel.org
-Date: Wed, 05 Oct 2011 15:45:15 +1100
-Cc: linux-atm-general@lists.sourceforge.net,
-        David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org
-Subject: [Linux-ATM-General] [PATCH 3/4] atm: solos-pci: Add support for
-       Geos GPIO pins
-
-Geos ADSL2+ routers have on-board Solos chipsets with some
-extra I/O pins and a push button connected to the FPGA.
-
-PCB version and variant numbers are also made available
-through the HardwareVersion and HardwareVariant attributes.
-
-Signed-off-by: Nathan Williams <nathan@traverse.com.au>
----
- drivers/atm/solos-pci.c |   98 +++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 98 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index bd01aa3..33c0c2b 100644
---- a/drivers/atm/solos-pci.c
-+++ b/drivers/atm/solos-pci.c
-@@ -56,6 +56,7 @@
+ #define CONFIG_RAM_SIZE       128
+@@ -56,16 +57,21 @@
  #define FLASH_BUSY    0x60
  #define FPGA_MODE     0x5C
  #define FLASH_MODE    0x58
 +#define GPIO_STATUS   0x54
++#define DRIVER_VER    0x50
  #define TX_DMA_ADDR(port)     (0x40 + (4 * (port)))
  #define RX_DMA_ADDR(port)     (0x30 + (4 * (port)))
  
-@@ -498,6 +499,87 @@ static ssize_t console_store(struct device *dev, struct device_attribute *attr,
+ #define DATA_RAM_SIZE 32768
+ #define BUF_SIZE      2048
+ #define OLD_BUF_SIZE  4096 /* For FPGA versions <= 2*/
+-#define FPGA_PAGE     528 /* FPGA flash page size*/
+-#define SOLOS_PAGE    512 /* Solos flash page size*/
+-#define FPGA_BLOCK    (FPGA_PAGE * 8) /* FPGA flash block size*/
+-#define SOLOS_BLOCK   (SOLOS_PAGE * 8) /* Solos flash block size*/
++/* Old boards use ATMEL AD45DB161D flash */
++#define ATMEL_FPGA_PAGE       528 /* FPGA flash page size*/
++#define ATMEL_SOLOS_PAGE      512 /* Solos flash page size*/
++#define ATMEL_FPGA_BLOCK      (ATMEL_FPGA_PAGE * 8) /* FPGA block size*/
++#define ATMEL_SOLOS_BLOCK     (ATMEL_SOLOS_PAGE * 8) /* Solos block size*/
++/* Current boards use M25P/M25PE SPI flash */
++#define SPI_FLASH_BLOCK       (256 * 64)
+ #define RX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2)
+ #define TX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2 + (card->buffer_size))
+@@ -127,6 +133,7 @@ struct solos_card {
+       int using_dma;
+       int fpga_version;
+       int buffer_size;
++      int atmel_flash;
+ };
+@@ -452,7 +459,6 @@ static ssize_t console_show(struct devic
+       len = skb->len;
+       memcpy(buf, skb->data, len);
+-      dev_dbg(&card->dev->dev, "len: %d\n", len);
+       kfree_skb(skb);
+       return len;
+@@ -499,6 +505,87 @@ static ssize_t console_store(struct devi
        return err?:count;
  }
  
@@ -174,7 +167,7 @@ index bd01aa3..33c0c2b 100644
  static DEVICE_ATTR(console, 0644, console_show, console_store);
  
  
-@@ -506,6 +588,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store);
+@@ -507,6 +594,14 @@ static DEVICE_ATTR(console, 0644, consol
  
  #include "solos-attrlist.c"
  
@@ -189,7 +182,7 @@ index bd01aa3..33c0c2b 100644
  #undef SOLOS_ATTR_RO
  #undef SOLOS_ATTR_RW
  
-@@ -514,6 +604,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store);
+@@ -515,6 +610,14 @@ static DEVICE_ATTR(console, 0644, consol
  
  static struct attribute *solos_attrs[] = {
  #include "solos-attrlist.c"
@@ -204,71 +197,7 @@ index bd01aa3..33c0c2b 100644
        NULL
  };
  
-From: Nathan Williams <nathan@traverse.com.au>
-To: netdev@vger.kernel.org
-Date: Wed, 05 Oct 2011 15:46:08 +1100
-Cc: linux-atm-general@lists.sourceforge.net,
-        David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org
-Subject: [Linux-ATM-General] [PATCH 4/4] atm: solos-pci: M25P/M25PE SPI
-       flash support
-
-Newer Geos ADSL2+ routers have different SPI flash.
-The FPGA on these boards require driver version = 1 to enable
-flash upgrades so old drivers can't corrupt new boards.
-
-Signed-off-by: Nathan Williams <nathan@traverse.com.au>
----
- drivers/atm/solos-pci.c |   51 ++++++++++++++++++++++++++++++++++++----------
- 1 files changed, 40 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index 33c0c2b..2a75bf7 100644
---- a/drivers/atm/solos-pci.c
-+++ b/drivers/atm/solos-pci.c
-@@ -42,7 +42,8 @@
- #include <linux/swab.h>
- #include <linux/slab.h>
--#define VERSION "0.07"
-+#define VERSION "1.0"
-+#define DRIVER_VERSION 0x01
- #define PTAG "solos-pci"
- #define CONFIG_RAM_SIZE       128
-@@ -57,16 +58,20 @@
- #define FPGA_MODE     0x5C
- #define FLASH_MODE    0x58
- #define GPIO_STATUS   0x54
-+#define DRIVER_VER    0x50
- #define TX_DMA_ADDR(port)     (0x40 + (4 * (port)))
- #define RX_DMA_ADDR(port)     (0x30 + (4 * (port)))
- #define DATA_RAM_SIZE 32768
- #define BUF_SIZE      2048
- #define OLD_BUF_SIZE  4096 /* For FPGA versions <= 2*/
--#define FPGA_PAGE     528 /* FPGA flash page size*/
--#define SOLOS_PAGE    512 /* Solos flash page size*/
--#define FPGA_BLOCK    (FPGA_PAGE * 8) /* FPGA flash block size*/
--#define SOLOS_BLOCK   (SOLOS_PAGE * 8) /* Solos flash block size*/
-+/* Old boards use ATMEL AD45DB161D flash */
-+#define ATMEL_FPGA_PAGE       528 /* FPGA flash page size*/
-+#define ATMEL_SOLOS_PAGE      512 /* Solos flash page size*/
-+#define ATMEL_FPGA_BLOCK      (ATMEL_FPGA_PAGE * 8) /* FPGA block size*/
-+#define ATMEL_SOLOS_BLOCK     (ATMEL_SOLOS_PAGE * 8) /* Solos block size*/
-+/* Current boards use M25P/M25PE SPI flash */
-+#define SPI_FLASH_BLOCK       (256 * 64)
- #define RX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2)
- #define TX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2 + (card->buffer_size))
-@@ -128,6 +133,7 @@ struct solos_card {
-       int using_dma;
-       int fpga_version;
-       int buffer_size;
-+      int atmel_flash;
- };
-@@ -631,16 +637,25 @@ static int flash_upgrade(struct solos_card *card, int chip)
+@@ -534,16 +637,25 @@ static int flash_upgrade(struct solos_ca
        switch (chip) {
        case 0:
                fw_name = "solos-FPGA.bin";
@@ -297,7 +226,7 @@ index 33c0c2b..2a75bf7 100644
                } else {
                        dev_info(&card->dev->dev, "FPGA version doesn't support"
                                        " daughter board upgrades\n");
-@@ -650,7 +665,10 @@ static int flash_upgrade(struct solos_card *card, int chip)
+@@ -553,7 +665,10 @@ static int flash_upgrade(struct solos_ca
        case 3:
                if (card->fpga_version > LEGACY_BUFFERS){
                        fw_name = "solos-Firmware.bin";
@@ -309,7 +238,7 @@ index 33c0c2b..2a75bf7 100644
                } else {
                        dev_info(&card->dev->dev, "FPGA version doesn't support"
                                        " daughter board upgrades\n");
-@@ -695,9 +713,13 @@ static int flash_upgrade(struct solos_card *card, int chip)
+@@ -598,9 +713,13 @@ static int flash_upgrade(struct solos_ca
                /* dev_info(&card->dev->dev, "Set FPGA Flash mode to Block Write\n"); */
                iowrite32(((chip * 2) + 1), card->config_regs + FLASH_MODE);
  
@@ -325,7 +254,7 @@ index 33c0c2b..2a75bf7 100644
                        if(card->fpga_version > LEGACY_BUFFERS)
                                iowrite32(word, FLASH_BUF + i);
                        else
-@@ -1249,6 +1271,11 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
+@@ -1152,6 +1271,11 @@ static int fpga_probe(struct pci_dev *de
                db_fpga_upgrade = db_firmware_upgrade = 0;
        }
  
@@ -337,7 +266,7 @@ index 33c0c2b..2a75bf7 100644
        if (card->fpga_version >= DMA_SUPPORTED){
                card->using_dma = 1;
        } else {
-@@ -1256,6 +1283,8 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
+@@ -1159,6 +1283,8 @@ static int fpga_probe(struct pci_dev *de
                /* Set RX empty flag for all ports */
                iowrite32(0xF0, card->config_regs + FLAGS_ADDR);
        }
index df49ad017a523b25eeea094557702474ae9b7c9f..941aa909de00e3f44cdcec04d58ef1b56bf10bef 100644 (file)
@@ -8,4 +8,3 @@
  
  ifeq ($(CONFIG_TUNE_CELL),y)
        KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
-
index 19e22d566f713fd519a5fa9aedee5a526cb58cb9..2c3b9e48add2f3f68a300a5f0f93c0f15fbc475e 100644 (file)
@@ -14,8 +14,6 @@ Signed-off-by: Nathan Williams <nathan@traverse.com.au>
  drivers/atm/solos-attrlist.c |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
 
-diff --git a/drivers/atm/solos-attrlist.c b/drivers/atm/solos-attrlist.c
-index 9a676ee..8092533 100644
 --- a/drivers/atm/solos-attrlist.c
 +++ b/drivers/atm/solos-attrlist.c
 @@ -71,6 +71,8 @@ SOLOS_ATTR_RW(BisAForceSNRMarginDn)
@@ -27,66 +25,61 @@ index 9a676ee..8092533 100644
  SOLOS_ATTR_RW(AnnexAForceSNRMarginDn)
  SOLOS_ATTR_RW(AnnexAMaxMargin)
  SOLOS_ATTR_RW(AnnexMMaxMargin)
-
-From: Nathan Williams <nathan@traverse.com.au>
-To: netdev@vger.kernel.org
-Date: Wed, 05 Oct 2011 15:44:17 +1100
-Cc: linux-atm-general@lists.sourceforge.net,
-        David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org
-Subject: [Linux-ATM-General] [PATCH 2/4] atm: solos-pci: Remove annoying
-       line of debugging
-
-"len: %d" isn't particularly useful for anyone and confuses users.
-
-Signed-off-by: Nathan Williams <nathan@traverse.com.au>
----
- drivers/atm/solos-pci.c |    1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index 5d1d076..bd01aa3 100644
 --- a/drivers/atm/solos-pci.c
 +++ b/drivers/atm/solos-pci.c
-@@ -452,7 +452,6 @@ static ssize_t console_show(struct device *dev, struct device_attribute *attr,
+@@ -42,7 +42,8 @@
+ #include <linux/swab.h>
+ #include <linux/slab.h>
  
-       len = skb->len;
-       memcpy(buf, skb->data, len);
--      dev_dbg(&card->dev->dev, "len: %d\n", len);
+-#define VERSION "0.07"
++#define VERSION "1.0"
++#define DRIVER_VERSION 0x01
+ #define PTAG "solos-pci"
  
-       kfree_skb(skb);
-       return len;
-From: Nathan Williams <nathan@traverse.com.au>
-To: netdev@vger.kernel.org
-Date: Wed, 05 Oct 2011 15:45:15 +1100
-Cc: linux-atm-general@lists.sourceforge.net,
-        David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org
-Subject: [Linux-ATM-General] [PATCH 3/4] atm: solos-pci: Add support for
-       Geos GPIO pins
-
-Geos ADSL2+ routers have on-board Solos chipsets with some
-extra I/O pins and a push button connected to the FPGA.
-
-PCB version and variant numbers are also made available
-through the HardwareVersion and HardwareVariant attributes.
-
-Signed-off-by: Nathan Williams <nathan@traverse.com.au>
----
- drivers/atm/solos-pci.c |   98 +++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 98 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index bd01aa3..33c0c2b 100644
---- a/drivers/atm/solos-pci.c
-+++ b/drivers/atm/solos-pci.c
-@@ -56,6 +56,7 @@
+ #define CONFIG_RAM_SIZE       128
+@@ -56,16 +57,21 @@
  #define FLASH_BUSY    0x60
  #define FPGA_MODE     0x5C
  #define FLASH_MODE    0x58
 +#define GPIO_STATUS   0x54
++#define DRIVER_VER    0x50
  #define TX_DMA_ADDR(port)     (0x40 + (4 * (port)))
  #define RX_DMA_ADDR(port)     (0x30 + (4 * (port)))
  
-@@ -498,6 +499,87 @@ static ssize_t console_store(struct device *dev, struct device_attribute *attr,
+ #define DATA_RAM_SIZE 32768
+ #define BUF_SIZE      2048
+ #define OLD_BUF_SIZE  4096 /* For FPGA versions <= 2*/
+-#define FPGA_PAGE     528 /* FPGA flash page size*/
+-#define SOLOS_PAGE    512 /* Solos flash page size*/
+-#define FPGA_BLOCK    (FPGA_PAGE * 8) /* FPGA flash block size*/
+-#define SOLOS_BLOCK   (SOLOS_PAGE * 8) /* Solos flash block size*/
++/* Old boards use ATMEL AD45DB161D flash */
++#define ATMEL_FPGA_PAGE       528 /* FPGA flash page size*/
++#define ATMEL_SOLOS_PAGE      512 /* Solos flash page size*/
++#define ATMEL_FPGA_BLOCK      (ATMEL_FPGA_PAGE * 8) /* FPGA block size*/
++#define ATMEL_SOLOS_BLOCK     (ATMEL_SOLOS_PAGE * 8) /* Solos block size*/
++/* Current boards use M25P/M25PE SPI flash */
++#define SPI_FLASH_BLOCK       (256 * 64)
+ #define RX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2)
+ #define TX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2 + (card->buffer_size))
+@@ -127,6 +133,7 @@ struct solos_card {
+       int using_dma;
+       int fpga_version;
+       int buffer_size;
++      int atmel_flash;
+ };
+@@ -452,7 +459,6 @@ static ssize_t console_show(struct devic
+       len = skb->len;
+       memcpy(buf, skb->data, len);
+-      dev_dbg(&card->dev->dev, "len: %d\n", len);
+       kfree_skb(skb);
+       return len;
+@@ -499,6 +505,87 @@ static ssize_t console_store(struct devi
        return err?:count;
  }
  
@@ -174,7 +167,7 @@ index bd01aa3..33c0c2b 100644
  static DEVICE_ATTR(console, 0644, console_show, console_store);
  
  
-@@ -506,6 +588,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store);
+@@ -507,6 +594,14 @@ static DEVICE_ATTR(console, 0644, consol
  
  #include "solos-attrlist.c"
  
@@ -189,7 +182,7 @@ index bd01aa3..33c0c2b 100644
  #undef SOLOS_ATTR_RO
  #undef SOLOS_ATTR_RW
  
-@@ -514,6 +604,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store);
+@@ -515,6 +610,14 @@ static DEVICE_ATTR(console, 0644, consol
  
  static struct attribute *solos_attrs[] = {
  #include "solos-attrlist.c"
@@ -204,71 +197,7 @@ index bd01aa3..33c0c2b 100644
        NULL
  };
  
-From: Nathan Williams <nathan@traverse.com.au>
-To: netdev@vger.kernel.org
-Date: Wed, 05 Oct 2011 15:46:08 +1100
-Cc: linux-atm-general@lists.sourceforge.net,
-        David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org
-Subject: [Linux-ATM-General] [PATCH 4/4] atm: solos-pci: M25P/M25PE SPI
-       flash support
-
-Newer Geos ADSL2+ routers have different SPI flash.
-The FPGA on these boards require driver version = 1 to enable
-flash upgrades so old drivers can't corrupt new boards.
-
-Signed-off-by: Nathan Williams <nathan@traverse.com.au>
----
- drivers/atm/solos-pci.c |   51 ++++++++++++++++++++++++++++++++++++----------
- 1 files changed, 40 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index 33c0c2b..2a75bf7 100644
---- a/drivers/atm/solos-pci.c
-+++ b/drivers/atm/solos-pci.c
-@@ -42,7 +42,8 @@
- #include <linux/swab.h>
- #include <linux/slab.h>
--#define VERSION "0.07"
-+#define VERSION "1.0"
-+#define DRIVER_VERSION 0x01
- #define PTAG "solos-pci"
- #define CONFIG_RAM_SIZE       128
-@@ -57,16 +58,20 @@
- #define FPGA_MODE     0x5C
- #define FLASH_MODE    0x58
- #define GPIO_STATUS   0x54
-+#define DRIVER_VER    0x50
- #define TX_DMA_ADDR(port)     (0x40 + (4 * (port)))
- #define RX_DMA_ADDR(port)     (0x30 + (4 * (port)))
- #define DATA_RAM_SIZE 32768
- #define BUF_SIZE      2048
- #define OLD_BUF_SIZE  4096 /* For FPGA versions <= 2*/
--#define FPGA_PAGE     528 /* FPGA flash page size*/
--#define SOLOS_PAGE    512 /* Solos flash page size*/
--#define FPGA_BLOCK    (FPGA_PAGE * 8) /* FPGA flash block size*/
--#define SOLOS_BLOCK   (SOLOS_PAGE * 8) /* Solos flash block size*/
-+/* Old boards use ATMEL AD45DB161D flash */
-+#define ATMEL_FPGA_PAGE       528 /* FPGA flash page size*/
-+#define ATMEL_SOLOS_PAGE      512 /* Solos flash page size*/
-+#define ATMEL_FPGA_BLOCK      (ATMEL_FPGA_PAGE * 8) /* FPGA block size*/
-+#define ATMEL_SOLOS_BLOCK     (ATMEL_SOLOS_PAGE * 8) /* Solos block size*/
-+/* Current boards use M25P/M25PE SPI flash */
-+#define SPI_FLASH_BLOCK       (256 * 64)
- #define RX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2)
- #define TX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2 + (card->buffer_size))
-@@ -128,6 +133,7 @@ struct solos_card {
-       int using_dma;
-       int fpga_version;
-       int buffer_size;
-+      int atmel_flash;
- };
-@@ -631,16 +637,25 @@ static int flash_upgrade(struct solos_card *card, int chip)
+@@ -534,16 +637,25 @@ static int flash_upgrade(struct solos_ca
        switch (chip) {
        case 0:
                fw_name = "solos-FPGA.bin";
@@ -297,7 +226,7 @@ index 33c0c2b..2a75bf7 100644
                } else {
                        dev_info(&card->dev->dev, "FPGA version doesn't support"
                                        " daughter board upgrades\n");
-@@ -650,7 +665,10 @@ static int flash_upgrade(struct solos_card *card, int chip)
+@@ -553,7 +665,10 @@ static int flash_upgrade(struct solos_ca
        case 3:
                if (card->fpga_version > LEGACY_BUFFERS){
                        fw_name = "solos-Firmware.bin";
@@ -309,7 +238,7 @@ index 33c0c2b..2a75bf7 100644
                } else {
                        dev_info(&card->dev->dev, "FPGA version doesn't support"
                                        " daughter board upgrades\n");
-@@ -695,9 +713,13 @@ static int flash_upgrade(struct solos_card *card, int chip)
+@@ -598,9 +713,13 @@ static int flash_upgrade(struct solos_ca
                /* dev_info(&card->dev->dev, "Set FPGA Flash mode to Block Write\n"); */
                iowrite32(((chip * 2) + 1), card->config_regs + FLASH_MODE);
  
@@ -325,7 +254,7 @@ index 33c0c2b..2a75bf7 100644
                        if(card->fpga_version > LEGACY_BUFFERS)
                                iowrite32(word, FLASH_BUF + i);
                        else
-@@ -1249,6 +1271,11 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
+@@ -1152,6 +1271,11 @@ static int fpga_probe(struct pci_dev *de
                db_fpga_upgrade = db_firmware_upgrade = 0;
        }
  
@@ -337,7 +266,7 @@ index 33c0c2b..2a75bf7 100644
        if (card->fpga_version >= DMA_SUPPORTED){
                card->using_dma = 1;
        } else {
-@@ -1256,6 +1283,8 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
+@@ -1159,6 +1283,8 @@ static int fpga_probe(struct pci_dev *de
                /* Set RX empty flag for all ports */
                iowrite32(0xF0, card->config_regs + FLAGS_ADDR);
        }
index df49ad017a523b25eeea094557702474ae9b7c9f..941aa909de00e3f44cdcec04d58ef1b56bf10bef 100644 (file)
@@ -8,4 +8,3 @@
  
  ifeq ($(CONFIG_TUNE_CELL),y)
        KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
-
index df49ad017a523b25eeea094557702474ae9b7c9f..941aa909de00e3f44cdcec04d58ef1b56bf10bef 100644 (file)
@@ -8,4 +8,3 @@
  
  ifeq ($(CONFIG_TUNE_CELL),y)
        KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
-
index 6c7e50a0b189cce41c561db28e8c8fe68f0c2ce4..88aa325333642f4b9a771d32db080550161b4f24 100644 (file)
@@ -1,6 +1,6 @@
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -2286,12 +2286,15 @@
+@@ -2283,12 +2283,15 @@ static void dynamic_debug_remove(struct
  
  void * __weak module_alloc(unsigned long size)
  {
index df49ad017a523b25eeea094557702474ae9b7c9f..941aa909de00e3f44cdcec04d58ef1b56bf10bef 100644 (file)
@@ -8,4 +8,3 @@
  
  ifeq ($(CONFIG_TUNE_CELL),y)
        KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
-
index 9830bc507c84a2334ed3e82d9650273dc2489220..549df5a6673163a4048dcbb3720f8586585d0dfe 100644 (file)
@@ -1,6 +1,6 @@
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -2322,12 +2322,15 @@
+@@ -2322,12 +2322,15 @@ static void dynamic_debug_remove(struct
  
  void * __weak module_alloc(unsigned long size)
  {