diff options
author | John Crispin <john@openwrt.org> | 2008-07-06 00:59:48 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2008-07-06 00:59:48 +0000 |
commit | 9e6c38917c9b612bc46a6a94ee406151193641a6 (patch) | |
tree | c514352597d2596a465e53e7d6dd43f4b6daeedc /target/linux/ifxmips/files/arch/mips | |
parent | 9be32c744bbbe93bb5f2697129b91d80f9d818ca (diff) | |
download | master-31e0f0ae-9e6c38917c9b612bc46a6a94ee406151193641a6.tar.gz master-31e0f0ae-9e6c38917c9b612bc46a6a94ee406151193641a6.tar.bz2 master-31e0f0ae-9e6c38917c9b612bc46a6a94ee406151193641a6.zip |
make atheros wifi cards used on arcaydian 4519 ifxmips based boards work
SVN-Revision: 11676
Diffstat (limited to 'target/linux/ifxmips/files/arch/mips')
-rw-r--r-- | target/linux/ifxmips/files/arch/mips/ifxmips/board.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/target/linux/ifxmips/files/arch/mips/ifxmips/board.c b/target/linux/ifxmips/files/arch/mips/ifxmips/board.c index f0c2f70321..25cc03c6d3 100644 --- a/target/linux/ifxmips/files/arch/mips/ifxmips/board.c +++ b/target/linux/ifxmips/files/arch/mips/ifxmips/board.c @@ -32,6 +32,7 @@ #include <asm/io.h> #include <linux/etherdevice.h> #include <asm/ifxmips/ifxmips.h> +#include <linux/leds.h> #define MAX_BOARD_NAME_LEN 32 #define MAX_IFXMIPS_DEVS 9 @@ -120,6 +121,31 @@ ifxmips_gpio_dev = { .num_resources = 1, }; +#ifdef CONFIG_LEDS_GPIO +static struct gpio_led arv4519_leds[] = { + { .name = "ifxmips:green:power0", .gpio = 3, .active_low = 0, }, + { .name = "ifxmips:red:power1", .gpio = 7, .active_low = 1, }, + { .name = "ifxmips:green:adsl", .gpio = 4, .active_low = 1, }, + { .name = "ifxmips:green:internet0", .gpio = 5, .active_low = 0, }, + { .name = "ifxmips:red:internet1", .gpio = 8, .active_low = 1, }, + { .name = "ifxmips:green:wlan", .gpio = 6, .active_low = 1, }, + { .name = "ifxmips:green:usb", .gpio = 19, .active_low = 1, }, +}; + +static const struct gpio_led_platform_data arv4519_led_data = { + .num_leds = ARRAY_SIZE(arv4519_leds), + .leds = (void *) arv4519_leds, +}; + +static struct platform_device arv4519_gpio_leds = { + .name = "leds-gpio", + .id = -1, + .dev = { + .platform_data = (void *) &arv4519_led_data, + } +}; +#endif + const char* get_system_type(void) { @@ -235,8 +261,11 @@ static struct ifxmips_board boards[] = .system_type = SYSTEM_DANUBE_CHIPID2, .devs = { - &ifxmips_led, &ifxmips_gpio, &ifxmips_mii, + &ifxmips_gpio, &ifxmips_mii, &ifxmips_mtd, &ifxmips_wdt, &ifxmips_gpio_dev, +#ifdef CONFIG_LEDS_GPIO + &arv4519_gpio_leds, +#endif }, .reset_resource = { @@ -277,6 +306,7 @@ ifxmips_has_brn_block(void) { return ifxmips_brn; } +EXPORT_SYMBOL(ifxmips_has_brn_block); struct ifxmips_board* ifxmips_find_board(void) |