|
@@ -2012,3 +2012,135 @@ static struct adp5520_platform_data adp5520_pdev_data = {
|
|
|
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_GPIO_ADP5588) || defined(CONFIG_GPIO_ADP5588_MODULE)
|
|
|
+static struct adp5588_gpio_platform_data adp5588_gpio_data = {
|
|
|
+ .gpio_start = 50,
|
|
|
+ .pullup_dis_mask = 0,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_BACKLIGHT_ADP8870) || defined(CONFIG_BACKLIGHT_ADP8870_MODULE)
|
|
|
+#include <linux/i2c/adp8870.h>
|
|
|
+static struct led_info adp8870_leds[] = {
|
|
|
+ {
|
|
|
+ .name = "adp8870-led7",
|
|
|
+ .default_trigger = "none",
|
|
|
+ .flags = ADP8870_LED_D7 | ADP8870_LED_OFFT_600ms,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+static struct adp8870_backlight_platform_data adp8870_pdata = {
|
|
|
+ .bl_led_assign = ADP8870_BL_D1 | ADP8870_BL_D2 | ADP8870_BL_D3 |
|
|
|
+ ADP8870_BL_D4 | ADP8870_BL_D5 | ADP8870_BL_D6, /* 1 = Backlight 0 = Individual LED */
|
|
|
+ .pwm_assign = 0, /* 1 = Enables PWM mode */
|
|
|
+
|
|
|
+ .bl_fade_in = ADP8870_FADE_T_1200ms, /* Backlight Fade-In Timer */
|
|
|
+ .bl_fade_out = ADP8870_FADE_T_1200ms, /* Backlight Fade-Out Timer */
|
|
|
+ .bl_fade_law = ADP8870_FADE_LAW_CUBIC1, /* fade-on/fade-off transfer characteristic */
|
|
|
+
|
|
|
+ .en_ambl_sens = 1, /* 1 = enable ambient light sensor */
|
|
|
+ .abml_filt = ADP8870_BL_AMBL_FILT_320ms, /* Light sensor filter time */
|
|
|
+
|
|
|
+ .l1_daylight_max = ADP8870_BL_CUR_mA(20), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l1_daylight_dim = ADP8870_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l2_bright_max = ADP8870_BL_CUR_mA(14), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l2_bright_dim = ADP8870_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l3_office_max = ADP8870_BL_CUR_mA(6), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l3_office_dim = ADP8870_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l4_indoor_max = ADP8870_BL_CUR_mA(3), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l4_indor_dim = ADP8870_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l5_dark_max = ADP8870_BL_CUR_mA(2), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l5_dark_dim = ADP8870_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+
|
|
|
+ .l2_trip = ADP8870_L2_COMP_CURR_uA(710), /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */
|
|
|
+ .l2_hyst = ADP8870_L2_COMP_CURR_uA(73), /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */
|
|
|
+ .l3_trip = ADP8870_L3_COMP_CURR_uA(389), /* use L3_COMP_CURR_uA(I) 0 <= I <= 551 uA */
|
|
|
+ .l3_hyst = ADP8870_L3_COMP_CURR_uA(54), /* use L3_COMP_CURR_uA(I) 0 <= I <= 551 uA */
|
|
|
+ .l4_trip = ADP8870_L4_COMP_CURR_uA(167), /* use L4_COMP_CURR_uA(I) 0 <= I <= 275 uA */
|
|
|
+ .l4_hyst = ADP8870_L4_COMP_CURR_uA(16), /* use L4_COMP_CURR_uA(I) 0 <= I <= 275 uA */
|
|
|
+ .l5_trip = ADP8870_L5_COMP_CURR_uA(43), /* use L5_COMP_CURR_uA(I) 0 <= I <= 138 uA */
|
|
|
+ .l5_hyst = ADP8870_L5_COMP_CURR_uA(11), /* use L6_COMP_CURR_uA(I) 0 <= I <= 138 uA */
|
|
|
+
|
|
|
+ .leds = adp8870_leds,
|
|
|
+ .num_leds = ARRAY_SIZE(adp8870_leds),
|
|
|
+ .led_fade_law = ADP8870_FADE_LAW_SQUARE, /* fade-on/fade-off transfer characteristic */
|
|
|
+ .led_fade_in = ADP8870_FADE_T_600ms,
|
|
|
+ .led_fade_out = ADP8870_FADE_T_600ms,
|
|
|
+ .led_on_time = ADP8870_LED_ONT_200ms,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_BACKLIGHT_ADP8860) || defined(CONFIG_BACKLIGHT_ADP8860_MODULE)
|
|
|
+#include <linux/i2c/adp8860.h>
|
|
|
+static struct led_info adp8860_leds[] = {
|
|
|
+ {
|
|
|
+ .name = "adp8860-led7",
|
|
|
+ .default_trigger = "none",
|
|
|
+ .flags = ADP8860_LED_D7 | ADP8860_LED_OFFT_600ms,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct adp8860_backlight_platform_data adp8860_pdata = {
|
|
|
+ .bl_led_assign = ADP8860_BL_D1 | ADP8860_BL_D2 | ADP8860_BL_D3 |
|
|
|
+ ADP8860_BL_D4 | ADP8860_BL_D5 | ADP8860_BL_D6, /* 1 = Backlight 0 = Individual LED */
|
|
|
+
|
|
|
+ .bl_fade_in = ADP8860_FADE_T_1200ms, /* Backlight Fade-In Timer */
|
|
|
+ .bl_fade_out = ADP8860_FADE_T_1200ms, /* Backlight Fade-Out Timer */
|
|
|
+ .bl_fade_law = ADP8860_FADE_LAW_CUBIC1, /* fade-on/fade-off transfer characteristic */
|
|
|
+
|
|
|
+ .en_ambl_sens = 1, /* 1 = enable ambient light sensor */
|
|
|
+ .abml_filt = ADP8860_BL_AMBL_FILT_320ms, /* Light sensor filter time */
|
|
|
+
|
|
|
+ .l1_daylight_max = ADP8860_BL_CUR_mA(20), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l1_daylight_dim = ADP8860_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l2_office_max = ADP8860_BL_CUR_mA(6), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l2_office_dim = ADP8860_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l3_dark_max = ADP8860_BL_CUR_mA(2), /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+ .l3_dark_dim = ADP8860_BL_CUR_mA(0), /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
|
|
+
|
|
|
+ .l2_trip = ADP8860_L2_COMP_CURR_uA(710), /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */
|
|
|
+ .l2_hyst = ADP8860_L2_COMP_CURR_uA(73), /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */
|
|
|
+ .l3_trip = ADP8860_L3_COMP_CURR_uA(43), /* use L3_COMP_CURR_uA(I) 0 <= I <= 138 uA */
|
|
|
+ .l3_hyst = ADP8860_L3_COMP_CURR_uA(11), /* use L3_COMP_CURR_uA(I) 0 <= I <= 138 uA */
|
|
|
+
|
|
|
+ .leds = adp8860_leds,
|
|
|
+ .num_leds = ARRAY_SIZE(adp8860_leds),
|
|
|
+ .led_fade_law = ADP8860_FADE_LAW_SQUARE, /* fade-on/fade-off transfer characteristic */
|
|
|
+ .led_fade_in = ADP8860_FADE_T_600ms,
|
|
|
+ .led_fade_out = ADP8860_FADE_T_600ms,
|
|
|
+ .led_on_time = ADP8860_LED_ONT_200ms,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_REGULATOR_AD5398) || defined(CONFIG_REGULATOR_AD5398_MODULE)
|
|
|
+static struct regulator_consumer_supply ad5398_consumer = {
|
|
|
+ .supply = "current",
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data ad5398_regulator_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "current range",
|
|
|
+ .max_uA = 120000,
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_CURRENT | REGULATOR_CHANGE_STATUS,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = 1,
|
|
|
+ .consumer_supplies = &ad5398_consumer,
|
|
|
+};
|
|
|
+
|
|
|
+#if defined(CONFIG_REGULATOR_VIRTUAL_CONSUMER) || \
|
|
|
+ defined(CONFIG_REGULATOR_VIRTUAL_CONSUMER_MODULE)
|
|
|
+static struct platform_device ad5398_virt_consumer_device = {
|
|
|
+ .name = "reg-virt-consumer",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = "current", /* Passed to driver */
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif
|
|
|
+#if defined(CONFIG_REGULATOR_USERSPACE_CONSUMER) || \
|
|
|
+ defined(CONFIG_REGULATOR_USERSPACE_CONSUMER_MODULE)
|
|
|
+static struct regulator_bulk_data ad5398_bulk_data = {
|
|
|
+ .supply = "current",
|
|
|
+};
|
|
|
+
|