brcm63xx: Add kernel support for Sagemcom F@ST2704V2 ADSL router
authorJonas Gorski <jogo@openwrt.org>
Sat, 22 Feb 2014 11:16:30 +0000 (11:16 +0000)
committerJonas Gorski <jogo@openwrt.org>
Sat, 22 Feb 2014 11:16:30 +0000 (11:16 +0000)
This adds kernel support support for Sagemcom F@st 2704 wireless ADSL
router.
It's a BCM6328-based 802.11n wireless router with USB port and ADSL2+
modem equipped with 64 MiB RAM and 8 MiB flash.

Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4266/
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 39671

target/linux/brcm63xx/patches-3.10/536-board_fast2704.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.10/550-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.10/551-96348gw_a_leds.patch
target/linux/brcm63xx/patches-3.10/553-boards_probe_switch.patch
target/linux/brcm63xx/patches-3.10/554-board_DWVS0_leds_buttons.patch
target/linux/brcm63xx/patches-3.10/555-board_96318ref.patch
target/linux/brcm63xx/patches-3.10/556-board_96318ref_p300.patch
target/linux/brcm63xx/patches-3.10/557-board_bcm963269bhr.patch
target/linux/brcm63xx/patches-3.10/801-ssb_export_fallback_sprom.patch

diff --git a/target/linux/brcm63xx/patches-3.10/536-board_fast2704.patch b/target/linux/brcm63xx/patches-3.10/536-board_fast2704.patch
new file mode 100644 (file)
index 0000000..f3d700a
--- /dev/null
@@ -0,0 +1,145 @@
+From: Marcin Jurkowski <marcin1j@gmail.com>
+Date: Thu, 31 Oct 2013 22:33:10 +0000
+Subject: [PATCH] bcm63xx: Add kernel support for Sagemcom F@ST2704V2 ADSL
+ router
+
+This adds kernel support support for Sagemcom F@st 2704 wireless ADSL
+router.
+It's a BCM6328-based 802.11n wireless router with USB port and ADSL2+
+modem equipped with 64 MiB RAM and 8 MiB flash.
+
+Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
+---
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1480,6 +1480,122 @@ static struct board_info __initdata boar
+       },
+ };
++static struct board_info __initdata board_FAST2704V2 = {
++      .name                           = "F@ST2704V2",
++      .expected_cpu_id                = 0x6328,
++
++      .has_uart0                      = 1,
++      .has_pci                        = 1,
++      .has_ohci0                      = 1,
++      .has_ehci0                      = 1,
++      .has_usbd                       = 1,
++
++      .has_enetsw                     = 1,
++
++      .enetsw = {
++              .used_ports = {
++                      [0] = {
++                              .used   = 1,
++                              .phy_id = 1,
++                              .name   = "Port 1",
++                      },
++                      [1] = {
++                              .used   = 1,
++                              .phy_id = 2,
++                              .name   = "Port 2",
++                      },
++                      [2] = {
++                              .used   = 1,
++                              .phy_id = 3,
++                              .name   = "Port 3",
++                      },
++                      [3] = {
++                              .used   = 1,
++                              .phy_id = 4,
++                              .name   = "Port 4",
++                      },
++              },
++      },
++
++      .leds = {
++              /* front LEDs */
++              {
++                      .name                   = "F@ST2704V2:green:power",
++                      .gpio                   = 4,
++                      .active_low             = 1,
++                      .default_trigger        = "default-on",
++              },
++              {
++                      .name                   = "F@ST2704V2:red:power",
++                      .gpio                   = 5,
++                      .active_low             = 1,
++              },
++              {
++                      .name                   = "F@ST2704V2:red:inet",
++                      .gpio                   = 2,
++                      .active_low             = 1,
++              },
++              {
++                      .name                   = "F@ST2704V2:green:dsl",
++                      .gpio                   = 3,
++                      .active_low             = 1,
++              },
++              {
++                      .name                   = "F@ST2704V2:green:inet",
++                      .gpio                   = 11,
++                      .active_low             = 1,
++              },
++              {
++                      .name                   = "F@ST2704V2:green:usb",
++                      .gpio                   = 1,
++                      .active_low             = 1,
++              },
++
++              /* side button LEDs */
++              {
++                      .name                   = "F@ST2704V2:green:wps",
++                      .gpio                   = 10,
++                      .active_low             = 1,
++              },
++
++              /* FIXME: can't control gpio0 line in "out" state, needs further investigation */
++              /*
++              {
++                      .name                   = "F@ST2704V2:green:rfkill",
++                      .gpio                   = 0,
++                      .active_low             = 1,
++              },
++              */
++
++      },
++      .buttons = {
++              {
++                      .desc                   = "reset",
++                      .gpio                   = 23,
++                      .active_low             = 1,
++                      .type                   = EV_KEY,
++                      .code                   = KEY_RESTART,
++                      .debounce_interval      = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++              },
++              {
++                      .desc                   = "wps",
++                      .gpio                   = 24,
++                      .active_low             = 1,
++                      .type                   = EV_KEY,
++                      .code                   = KEY_WPS_BUTTON,
++                      .debounce_interval      = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++              },
++              {
++                      .desc                   = "rfkill",
++                      .gpio                   = 15,
++                      .active_low             = 1,
++                      .type                   = EV_KEY,
++                      .code                   = KEY_WLAN,
++                      .debounce_interval      = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++              },
++      },
++};
++
+ static struct board_info __initdata board_rta1025w_16 = {
+       .name                           = "RTA1025W_16",
+       .expected_cpu_id                = 0x6348,
+@@ -3828,6 +3944,7 @@ static const struct board_info __initcon
+       &board_963281TAN,
+       &board_963281T_TEF,
+       &board_dsl_274xb_f1,
++      &board_FAST2704V2,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+       &board_96338gw,
index 0d65f3ed3701487a1004d502c66f826721dffb24..b687cb5e393bb58cadf2987a27abcbc3ea6399ef 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2094,6 +2094,99 @@ static struct board_info __initdata boar
+@@ -2210,6 +2210,99 @@ static struct board_info __initdata boar
  
        .has_ohci0 = 1,
        .has_ehci0 = 1,
index 2a04ad1583175f5eff73680788194b045b5a2662..07fceaaeb8045fcb93779cf0da3a509a7da128b4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1539,6 +1539,19 @@ static struct board_info __initdata boar
+@@ -1655,6 +1655,19 @@ static struct board_info __initdata boar
        },
  
        .has_ohci0 = 1,
index 882b141794d6f1b37aca84e4b70229b9ef74debe..e36a38f4d9196252fe32236bbb1dde74a4011b6e 100644 (file)
@@ -54,7 +54,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1545,6 +1557,12 @@ static struct board_info __initdata boar
+@@ -1621,6 +1633,12 @@ static struct board_info __initdata boar
                .use_internal_phy       = 1,
        },
        .enet1 = {
@@ -67,7 +67,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1920,6 +1938,8 @@ static struct board_info __initdata boar
+@@ -2036,6 +2054,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
@@ -76,7 +76,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1972,6 +1992,8 @@ static struct board_info __initdata boar
+@@ -2088,6 +2108,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
@@ -85,7 +85,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -2112,6 +2134,8 @@ static struct board_info __initdata boar
+@@ -2228,6 +2250,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
@@ -94,7 +94,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -2229,6 +2253,8 @@ static struct board_info __initdata boar
+@@ -2345,6 +2369,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
index 0f5c7f3fad45c1026923601d0350afdc1adb0ab8..d7e1f406d04df352ce21102e519bc0833f717e2b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2261,6 +2261,94 @@ static struct board_info __initdata boar
+@@ -2377,6 +2377,94 @@ static struct board_info __initdata boar
  
        .has_ohci0                      = 1,
        .has_ehci0                      = 1,
index 11cc46b405c5fdb0e04c2c3247c0a5275c7958e1..087d99bbe46153bd5bcfd97021d6d7cbf4bcf26f 100644 (file)
@@ -94,7 +94,7 @@
   * known 6328 boards
   */
  #ifdef CONFIG_BCM63XX_CPU_6328
-@@ -4052,6 +4139,9 @@ static const struct board_info __initcon
+@@ -4168,6 +4255,9 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_3368
        &board_cvg834g,
  #endif
index edabea5f1894360cbd309a98074a2df35f46d7ff..e06200fa26ea173d08db9eed81404c5c368958df 100644 (file)
@@ -95,7 +95,7 @@
  #endif
  
  /*
-@@ -4141,6 +4229,7 @@ static const struct board_info __initcon
+@@ -4257,6 +4345,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6318
        &board_96318ref,
index 8fcd420ff12b2e332cd92358297467ec9c630469..2a0cd81a5e66c4fbac9f5a5d0f9f15754233c208 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4221,6 +4221,75 @@ static struct board_info __initdata boar
+@@ -4337,6 +4337,75 @@ static struct board_info __initdata boar
  #endif
  
  /*
@@ -76,7 +76,7 @@
   * all boards
   */
  static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4303,6 +4372,9 @@ static const struct board_info __initcon
+@@ -4420,6 +4489,9 @@ static const struct board_info __initcon
        &board_96368mvwg,
        &board_96368mvngr,
  #endif
index 5d3bc21dedf749285448a8b0ad078a8194df0de2..7ed27a6211bccec4228009a108ed7720963a964b 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/spi/spi.h>
  #include <linux/spi/spi_gpio.h>
  #include <linux/spi/74x164.h>
-@@ -4382,7 +4383,7 @@ static const struct board_info __initcon
+@@ -4499,7 +4500,7 @@ static const struct board_info __initcon
   * bcm4318 WLAN work
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -17,7 +17,7 @@
        .revision               = 0x02,
        .board_rev              = 0x17,
        .country_code           = 0x0,
-@@ -4402,6 +4403,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -4519,6 +4520,7 @@ static struct ssb_sprom bcm63xx_sprom =
        .boardflags_lo          = 0x2848,
        .boardflags_hi          = 0x0000,
  };