diff options
Diffstat (limited to 'target/linux/ifxmips/patches-2.6.30/500-arv452.patch')
-rw-r--r-- | target/linux/ifxmips/patches-2.6.30/500-arv452.patch | 79 |
1 files changed, 79 insertions, 0 deletions
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 index 0000000000..77dcb7a2e2 --- /dev/null +++ b/target/linux/ifxmips/patches-2.6.30/500-arv452.patch @@ -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; |