diff options
author | Riku Voipio <riku.voipio@iki.fi> | 2008-05-31 09:45:16 -0400 |
---|---|---|
committer | Richard Purdie <rpurdie@rpsys.net> | 2008-07-23 04:49:56 -0400 |
commit | 30be0486791fb637e758c771956c8f73bef3467c (patch) | |
tree | 4f9ac59c17f25c2d807d9c432bcf745d521612db /arch/arm/mach-iop32x/n2100.c | |
parent | e14fa82439d33cef67eaafc1a48960bbfa610c8e (diff) |
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>
Diffstat (limited to 'arch/arm/mach-iop32x/n2100.c')
-rw-r--r-- | arch/arm/mach-iop32x/n2100.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c index 2741063bf361..28f164ea4726 100644 --- a/arch/arm/mach-iop32x/n2100.c +++ b/arch/arm/mach-iop32x/n2100.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/f75375s.h> | 19 | #include <linux/f75375s.h> |
20 | #include <linux/leds-pca9532.h> | ||
20 | #include <linux/delay.h> | 21 | #include <linux/delay.h> |
21 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
22 | #include <linux/pci.h> | 23 | #include <linux/pci.h> |
@@ -206,6 +207,53 @@ static struct f75375s_platform_data n2100_f75375s = { | |||
206 | .pwm_enable = { 0, 0 }, | 207 | .pwm_enable = { 0, 0 }, |
207 | }; | 208 | }; |
208 | 209 | ||
210 | static struct pca9532_platform_data n2100_leds = { | ||
211 | .leds = { | ||
212 | { .name = "n2100:red:satafail0", | ||
213 | .state = PCA9532_OFF, | ||
214 | .type = PCA9532_TYPE_LED, | ||
215 | }, | ||
216 | { .name = "n2100:red:satafail1", | ||
217 | .state = PCA9532_OFF, | ||
218 | .type = PCA9532_TYPE_LED, | ||
219 | }, | ||
220 | { .name = "n2100:blue:usb", | ||
221 | .state = PCA9532_OFF, | ||
222 | .type = PCA9532_TYPE_LED, | ||
223 | }, | ||
224 | { .type = PCA9532_TYPE_NONE }, | ||
225 | |||
226 | { .type = PCA9532_TYPE_NONE }, | ||
227 | { .type = PCA9532_TYPE_NONE }, | ||
228 | { .type = PCA9532_TYPE_NONE }, | ||
229 | { .name = "n2100:red:usb", | ||
230 | .state = PCA9532_OFF, | ||
231 | .type = PCA9532_TYPE_LED, | ||
232 | }, | ||
233 | |||
234 | { .type = PCA9532_TYPE_NONE }, /* power OFF gpio */ | ||
235 | { .type = PCA9532_TYPE_NONE }, /* reset gpio */ | ||
236 | { .type = PCA9532_TYPE_NONE }, | ||
237 | { .type = PCA9532_TYPE_NONE }, | ||
238 | |||
239 | { .type = PCA9532_TYPE_NONE }, | ||
240 | { .name = "n2100:orange:system", | ||
241 | .state = PCA9532_OFF, | ||
242 | .type = PCA9532_TYPE_LED, | ||
243 | }, | ||
244 | { .name = "n2100:red:system", | ||
245 | .state = PCA9532_OFF, | ||
246 | .type = PCA9532_TYPE_LED, | ||
247 | }, | ||
248 | { .name = "N2100 beeper" , | ||
249 | .state = PCA9532_OFF, | ||
250 | .type = PCA9532_TYPE_N2100_BEEP, | ||
251 | }, | ||
252 | }, | ||
253 | .psc = { 0, 0 }, | ||
254 | .pwm = { 0, 0 }, | ||
255 | }; | ||
256 | |||
209 | static struct i2c_board_info __initdata n2100_i2c_devices[] = { | 257 | static struct i2c_board_info __initdata n2100_i2c_devices[] = { |
210 | { | 258 | { |
211 | I2C_BOARD_INFO("rs5c372b", 0x32), | 259 | I2C_BOARD_INFO("rs5c372b", 0x32), |
@@ -214,6 +262,10 @@ static struct i2c_board_info __initdata n2100_i2c_devices[] = { | |||
214 | I2C_BOARD_INFO("f75375", 0x2e), | 262 | I2C_BOARD_INFO("f75375", 0x2e), |
215 | .platform_data = &n2100_f75375s, | 263 | .platform_data = &n2100_f75375s, |
216 | }, | 264 | }, |
265 | { | ||
266 | I2C_BOARD_INFO("pca9532", 0x60), | ||
267 | .platform_data = &n2100_leds, | ||
268 | }, | ||
217 | }; | 269 | }; |
218 | 270 | ||
219 | /* | 271 | /* |