[ifxmips] adds support for airties wav-281/arcor a800/arcaydian arv452
authorJohn Crispin <john@openwrt.org>
Wed, 24 Mar 2010 15:55:23 +0000 (15:55 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 24 Mar 2010 15:55:23 +0000 (15:55 +0000)
SVN-Revision: 20402

target/linux/ifxmips/patches-2.6.30/500-arv452.patch [new file with mode: 0644]

diff --git a/target/linux/ifxmips/patches-2.6.30/500-arv452.patch b/target/linux/ifxmips/patches-2.6.30/500-arv452.patch
new file mode 100644 (file)
index 0000000..77dcb7a
--- /dev/null
@@ -0,0 +1,79 @@
+Index: linux-2.6.30.10/arch/mips/ifxmips/board.c
+===================================================================
+--- linux-2.6.30.10.orig/arch/mips/ifxmips/board.c     2010-03-24 16:45:31.000000000 +0100
++++ linux-2.6.30.10/arch/mips/ifxmips/board.c  2010-03-24 16:53:18.000000000 +0100
+@@ -52,6 +52,7 @@
+       EASY50712,
+       EASY4010,
+       ARV4519,
++      ARV452,
+ };
+ extern int ifxmips_pci_external_clock;
+@@ -141,6 +142,15 @@
+       { .name = "ifx:green:usb", .gpio = 19, .active_low = 1, },
+ };
++static struct gpio_led arv452_gpio_leds[] = {
++      { .name = "ifx:blue:power", .gpio = 3, .active_low = 1, },
++      { .name = "ifx:blue:adsl", .gpio = 4, .active_low = 1, },
++      { .name = "ifx:pink:internet", .gpio = 5, .active_low = 1, },
++      { .name = "ifx:red:power", .gpio = 6, .active_low = 1, },
++      { .name = "ifx:yello:wps", .gpio = 7, .active_low = 1, },
++      { .name = "ifx:red:wps", .gpio = 9, .active_low = 1, },
++};
++
+ static struct gpio_led_platform_data ifxmips_gpio_led_data;
+ static struct platform_device ifxmips_gpio_leds = {
+@@ -192,6 +202,14 @@
+ #endif
+ };
++struct platform_device *arv542_devs[] = {
++      /*&ifxmips_gpio,*/ &ifxmips_mii, &ifxmips_mtd,
++      &ifxmips_gpio_dev, &ifxmips_wdt, &dwc_usb,
++#ifdef CONFIG_LEDS_GPIO
++      &ifxmips_gpio_leds,
++#endif
++};
++
+ static struct gpio_led easy50712_leds[] = {
+       { .name = "ifx:green:test0", .gpio = 0,},
+       { .name = "ifx:green:test1", .gpio = 1,},
+@@ -237,7 +255,20 @@
+               .devs = arv5419_devs,
+               .reset_resource = {.name = "reset", .start = 1, .end = 14},
+               .pci_external_clock = 1,
++#ifdef CONFIG_LEDS_GPIO
+               .gpio_leds = arv4519_gpio_leds,
++#endif
++      }, {
++              /* arcaydian annex-b board used by airties, arcor */
++              .type = ARV452,
++              .name = "ARV452",
++              .system_type = SYSTEM_DANUBE_CHIPID2,
++              .devs = arv542_devs,
++              .reset_resource = {.name = "reset", .start = 1, .end = 14},
++              .pci_external_clock = 1,
++#ifdef CONFIG_LEDS_GPIO
++              .gpio_leds = arv452_gpio_leds,
++#endif
+       },
+ };
+@@ -382,6 +413,14 @@
+               ifxmips_gpio_led_data.num_leds = ARRAY_SIZE(arv4519_gpio_leds);
+ #endif
+               break;
++      case ARV452:
++              /* set some sane defaults for the gpios */
++              board->num_devs = ARRAY_SIZE(arv542_devs);
++              ifxmips_w32(0x8001e7ff, IFXMIPS_EBU_BUSCON1);
++#ifdef CONFIG_LEDS_GPIO
++              ifxmips_gpio_led_data.num_leds = ARRAY_SIZE(arv452_gpio_leds);
++#endif
++              break;
+       }
+ #ifdef CONFIG_LEDS_GPIO
+       ifxmips_gpio_led_data.leds = board->gpio_leds;