|
@@ -19,6 +19,7 @@
|
|
|
#include <linux/input.h>
|
|
|
#include <linux/gpio.h>
|
|
|
#include <linux/gpio_keys.h>
|
|
|
+#include <linux/leds-lp3944.h>
|
|
|
|
|
|
#include <media/soc_camera.h>
|
|
|
|
|
@@ -1037,6 +1038,57 @@ static struct platform_device a910_camera = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+/* leds-lp3944 */
|
|
|
+static struct lp3944_platform_data a910_lp3944_leds = {
|
|
|
+ .leds_size = LP3944_LEDS_MAX,
|
|
|
+ .leds = {
|
|
|
+ [0] = {
|
|
|
+ .name = "a910:red:",
|
|
|
+ .status = LP3944_LED_STATUS_OFF,
|
|
|
+ .type = LP3944_LED_TYPE_LED,
|
|
|
+ },
|
|
|
+ [1] = {
|
|
|
+ .name = "a910:green:",
|
|
|
+ .status = LP3944_LED_STATUS_OFF,
|
|
|
+ .type = LP3944_LED_TYPE_LED,
|
|
|
+ },
|
|
|
+ [2] {
|
|
|
+ .name = "a910:blue:",
|
|
|
+ .status = LP3944_LED_STATUS_OFF,
|
|
|
+ .type = LP3944_LED_TYPE_LED,
|
|
|
+ },
|
|
|
+ /* Leds 3 and 4 are used as display power switches */
|
|
|
+ [3] = {
|
|
|
+ .name = "a910::cli_display",
|
|
|
+ .status = LP3944_LED_STATUS_OFF,
|
|
|
+ .type = LP3944_LED_TYPE_LED_INVERTED
|
|
|
+ },
|
|
|
+ [4] = {
|
|
|
+ .name = "a910::main_display",
|
|
|
+ .status = LP3944_LED_STATUS_ON,
|
|
|
+ .type = LP3944_LED_TYPE_LED_INVERTED
|
|
|
+ },
|
|
|
+ [5] = { .type = LP3944_LED_TYPE_NONE },
|
|
|
+ [6] = {
|
|
|
+ .name = "a910::torch",
|
|
|
+ .status = LP3944_LED_STATUS_OFF,
|
|
|
+ .type = LP3944_LED_TYPE_LED,
|
|
|
+ },
|
|
|
+ [7] = {
|
|
|
+ .name = "a910::flash",
|
|
|
+ .status = LP3944_LED_STATUS_OFF,
|
|
|
+ .type = LP3944_LED_TYPE_LED_INVERTED,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct i2c_board_info __initdata a910_i2c_board_info[] = {
|
|
|
+ {
|
|
|
+ I2C_BOARD_INFO("lp3944", 0x60),
|
|
|
+ .platform_data = &a910_lp3944_leds,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct platform_device *a910_devices[] __initdata = {
|
|
|
&a910_gpio_keys,
|
|
|
};
|
|
@@ -1052,6 +1104,7 @@ static void __init a910_init(void)
|
|
|
pxa_set_stuart_info(NULL);
|
|
|
|
|
|
pxa_set_i2c_info(NULL);
|
|
|
+ i2c_register_board_info(0, ARRAY_AND_SIZE(a910_i2c_board_info));
|
|
|
|
|
|
set_pxa_fb_info(&ezx_fb_info_2);
|
|
|
|