aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2007-12-16 19:03:40 +0000
committerGabor Juhos <juhosg@openwrt.org>2007-12-16 19:03:40 +0000
commit187f18539d9f70822ac005dd541065c323fd7269 (patch)
tree5abce9a29e8d327383c94452837adc9771634af6
parent6c07da1b36e71bb3a5ae828677368eb5f554696b (diff)
downloadupstream-187f18539d9f70822ac005dd541065c323fd7269.tar.gz
upstream-187f18539d9f70822ac005dd541065c323fd7269.tar.bz2
upstream-187f18539d9f70822ac005dd541065c323fd7269.zip
[adm5120] add support for LEDs on the NP28G board, thanks to kenny (closes: #2825)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9781 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/adm5120/files/arch/mips/adm5120/boards/compex.c27
-rw-r--r--target/linux/adm5120/files/drivers/leds/leds-adm5120.c31
2 files changed, 38 insertions, 20 deletions
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/compex.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/compex.c
index a58bec3d43..d1c6bc42a6 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/boards/compex.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/compex.c
@@ -102,7 +102,12 @@ static void wp54_reset(void)
gpio_set_value(ADM5120_GPIO_PIN3, 0);
}
-static void __init np2xg_setup(void)
+static void np28g_reset(void)
+{
+ gpio_set_value(ADM5120_GPIO_PIN4, 0);
+}
+
+static void __init np27g_setup(void)
{
gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
gpio_direction_output(ADM5120_GPIO_PIN5, 0);
@@ -113,6 +118,20 @@ static void __init np2xg_setup(void)
/* TODO: setup mac address */
}
+static void __init np28g_setup(void)
+{
+ gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
+ gpio_direction_output(ADM5120_GPIO_PIN5, 0);
+
+ gpio_request(ADM5120_GPIO_PIN4, NULL); /* for system reset */
+ gpio_direction_output(ADM5120_GPIO_PIN4, 1);
+
+ /* setup data for flash0 device */
+ adm5120_flash0_data.switch_bank = switch_bank_gpio5;
+
+ /* TODO: setup mac address */
+}
+
static void __init wp54_setup(void)
{
gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
@@ -121,7 +140,6 @@ static void __init wp54_setup(void)
gpio_request(ADM5120_GPIO_PIN3, NULL); /* for system reset */
gpio_direction_output(ADM5120_GPIO_PIN3, 1);
-
/* setup data for flash0 device */
adm5120_flash0_data.switch_bank = switch_bank_gpio5;
@@ -147,15 +165,16 @@ static void __init wp54_wrt_setup(void)
/*--------------------------------------------------------------------------*/
ADM5120_BOARD_START(NP27G, "Compex NetPassage 27G")
- .board_setup = np2xg_setup,
+ .board_setup = np27g_setup,
.eth_num_ports = 5,
.eth_vlans = np27g_vlans,
.num_devices = ARRAY_SIZE(np2xg_devices),
.devices = np2xg_devices,
+ /* TODO: add PCI IRQ map */
ADM5120_BOARD_END
ADM5120_BOARD_START(NP28G, "Compex NetPassage 28G")
- .board_setup = np2xg_setup,
+ .board_setup = np28g_setup,
.eth_num_ports = 4,
.eth_vlans = np28g_vlans,
.num_devices = ARRAY_SIZE(np2xg_devices),
diff --git a/target/linux/adm5120/files/drivers/leds/leds-adm5120.c b/target/linux/adm5120/files/drivers/leds/leds-adm5120.c
index b57f97a036..9e4649221f 100644
--- a/target/linux/adm5120/files/drivers/leds/leds-adm5120.c
+++ b/target/linux/adm5120/files/drivers/leds/leds-adm5120.c
@@ -89,21 +89,20 @@ LED_ARRAY(np27g) { /* FIXME: untested */
};
#endif
-#if defined(CONFIG_LEDS_ADM5120_EXPERIMENTAL)
-LED_ARRAY(np28g) { /* FIXME: untested */
- LED_STD(ADM5120_GPIO_xxxx, "lan1", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "lan2", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "lan3", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "wan", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "wlan", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "usb1", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "usb2", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "usb3", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "usb4", NULL),
- LED_INV(ADM5120_GPIO_PIN2, "power", NULL),
- LED_STD(ADM5120_GPIO_xxxx, "diag", NULL),
+LED_ARRAY(np28g) {
+ LED_INV(ADM5120_GPIO_PIN2, "diag", NULL),
+ LED_INV(ADM5120_GPIO_PIN3, "power", NULL),
+ LED_INV(ADM5120_GPIO_PIN6, "wan_cond", NULL),
+ LED_INV(ADM5120_GPIO_PIN7, "wifi", NULL),
+ LED_INV(ADM5120_GPIO_P0L2, "usb1", NULL),
+ LED_INV(ADM5120_GPIO_P1L0, "lan1", NULL),
+ LED_INV(ADM5120_GPIO_P1L2, "usb2", NULL),
+ LED_INV(ADM5120_GPIO_P2L0, "lan2", NULL),
+ LED_INV(ADM5120_GPIO_P2L2, "usb3", NULL),
+ LED_INV(ADM5120_GPIO_P3L0, "lan3", NULL),
+ LED_INV(ADM5120_GPIO_P3L2, "usb4", NULL),
+ LED_INV(ADM5120_GPIO_P4L0, "wan", NULL),
};
-#endif
LED_ARRAY(wp54g) {
LED_INV(ADM5120_GPIO_PIN2, "diag", NULL),
@@ -240,6 +239,8 @@ LED_ARRAY(generic) {
static struct mach_data machines[] __initdata = {
MACH_DATA(MACH_ADM5120_GENERIC, generic),
/* Compex */
+ MACH_DATA(MACH_ADM5120_NP28G, np28g),
+ MACH_DATA(MACH_ADM5120_NP28GHS, np28g),
MACH_DATA(MACH_ADM5120_WP54AG, wp54g),
MACH_DATA(MACH_ADM5120_WP54G, wp54g),
MACH_DATA(MACH_ADM5120_WP54G_WRT, wp54g),
@@ -260,8 +261,6 @@ static struct mach_data machines[] __initdata = {
MACH_DATA(MACH_ADM5120_RB_111, rb100),
MACH_DATA(MACH_ADM5120_RB_112, rb100),
MACH_DATA(MACH_ADM5120_NP27G, np27g),
- MACH_DATA(MACH_ADM5120_NP28G, np28g),
- MACH_DATA(MACH_ADM5120_NP28GHS, np28g),
#endif
};