96 lines
2.6 KiB
Diff
96 lines
2.6 KiB
Diff
From fb46eb08b24fcfee0e97eba2bcb937acf96961a4 Mon Sep 17 00:00:00 2001
|
|
From: Riku Voipio <riku.voipio@iki.fi>
|
|
Date: Sat, 31 May 2008 13:45:16 +0000
|
|
Subject: leds: Add pca9532 platform data for Thecus N2100
|
|
|
|
Thecus N2100 has leds and a buzzer attached to a pca9532 controller. Attach
|
|
the driver to the i2c bus and define the pca9532 pin coniguration for this
|
|
platform in n2100_leds.
|
|
|
|
With this patch, support for N2100 should be complete in mainline Linux.
|
|
|
|
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
|
|
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
|
|
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
|
|
---
|
|
diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c
|
|
index 2741063..28f164e 100644
|
|
--- a/arch/arm/mach-iop32x/n2100.c
|
|
+++ b/arch/arm/mach-iop32x/n2100.c
|
|
@@ -17,6 +17,7 @@
|
|
#include <linux/mm.h>
|
|
#include <linux/init.h>
|
|
#include <linux/f75375s.h>
|
|
+#include <linux/leds-pca9532.h>
|
|
#include <linux/delay.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/pci.h>
|
|
@@ -206,6 +207,53 @@ static struct f75375s_platform_data n2100_f75375s = {
|
|
.pwm_enable = { 0, 0 },
|
|
};
|
|
|
|
+static struct pca9532_platform_data n2100_leds = {
|
|
+ .leds = {
|
|
+ { .name = "n2100:red:satafail0",
|
|
+ .state = PCA9532_OFF,
|
|
+ .type = PCA9532_TYPE_LED,
|
|
+ },
|
|
+ { .name = "n2100:red:satafail1",
|
|
+ .state = PCA9532_OFF,
|
|
+ .type = PCA9532_TYPE_LED,
|
|
+ },
|
|
+ { .name = "n2100:blue:usb",
|
|
+ .state = PCA9532_OFF,
|
|
+ .type = PCA9532_TYPE_LED,
|
|
+ },
|
|
+ { .type = PCA9532_TYPE_NONE },
|
|
+
|
|
+ { .type = PCA9532_TYPE_NONE },
|
|
+ { .type = PCA9532_TYPE_NONE },
|
|
+ { .type = PCA9532_TYPE_NONE },
|
|
+ { .name = "n2100:red:usb",
|
|
+ .state = PCA9532_OFF,
|
|
+ .type = PCA9532_TYPE_LED,
|
|
+ },
|
|
+
|
|
+ { .type = PCA9532_TYPE_NONE }, /* power OFF gpio */
|
|
+ { .type = PCA9532_TYPE_NONE }, /* reset gpio */
|
|
+ { .type = PCA9532_TYPE_NONE },
|
|
+ { .type = PCA9532_TYPE_NONE },
|
|
+
|
|
+ { .type = PCA9532_TYPE_NONE },
|
|
+ { .name = "n2100:orange:system",
|
|
+ .state = PCA9532_OFF,
|
|
+ .type = PCA9532_TYPE_LED,
|
|
+ },
|
|
+ { .name = "n2100:red:system",
|
|
+ .state = PCA9532_OFF,
|
|
+ .type = PCA9532_TYPE_LED,
|
|
+ },
|
|
+ { .name = "N2100 beeper" ,
|
|
+ .state = PCA9532_OFF,
|
|
+ .type = PCA9532_TYPE_N2100_BEEP,
|
|
+ },
|
|
+ },
|
|
+ .psc = { 0, 0 },
|
|
+ .pwm = { 0, 0 },
|
|
+};
|
|
+
|
|
static struct i2c_board_info __initdata n2100_i2c_devices[] = {
|
|
{
|
|
I2C_BOARD_INFO("rs5c372b", 0x32),
|
|
@@ -214,6 +262,10 @@ static struct i2c_board_info __initdata n2100_i2c_devices[] = {
|
|
I2C_BOARD_INFO("f75375", 0x2e),
|
|
.platform_data = &n2100_f75375s,
|
|
},
|
|
+ {
|
|
+ I2C_BOARD_INFO("pca9532", 0x60),
|
|
+ .platform_data = &n2100_leds,
|
|
+ },
|
|
};
|
|
|
|
/*
|
|
--
|
|
cgit v0.7.2-85-gd188
|