0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef __LINUX_I2C_ADP8870_H
0010 #define __LINUX_I2C_ADP8870_H
0011
0012 #define ID_ADP8870 8870
0013
0014 #define ADP8870_MAX_BRIGHTNESS 0x7F
0015 #define FLAG_OFFT_SHIFT 8
0016
0017
0018
0019
0020
0021 #define ADP8870_LED_DIS_BLINK (0 << FLAG_OFFT_SHIFT)
0022 #define ADP8870_LED_OFFT_600ms (1 << FLAG_OFFT_SHIFT)
0023 #define ADP8870_LED_OFFT_1200ms (2 << FLAG_OFFT_SHIFT)
0024 #define ADP8870_LED_OFFT_1800ms (3 << FLAG_OFFT_SHIFT)
0025
0026 #define ADP8870_LED_ONT_200ms 0
0027 #define ADP8870_LED_ONT_600ms 1
0028 #define ADP8870_LED_ONT_800ms 2
0029 #define ADP8870_LED_ONT_1200ms 3
0030
0031 #define ADP8870_LED_D7 (7)
0032 #define ADP8870_LED_D6 (6)
0033 #define ADP8870_LED_D5 (5)
0034 #define ADP8870_LED_D4 (4)
0035 #define ADP8870_LED_D3 (3)
0036 #define ADP8870_LED_D2 (2)
0037 #define ADP8870_LED_D1 (1)
0038
0039
0040
0041
0042
0043 #define ADP8870_BL_D7 (1 << 6)
0044 #define ADP8870_BL_D6 (1 << 5)
0045 #define ADP8870_BL_D5 (1 << 4)
0046 #define ADP8870_BL_D4 (1 << 3)
0047 #define ADP8870_BL_D3 (1 << 2)
0048 #define ADP8870_BL_D2 (1 << 1)
0049 #define ADP8870_BL_D1 (1 << 0)
0050
0051 #define ADP8870_FADE_T_DIS 0
0052 #define ADP8870_FADE_T_300ms 1
0053 #define ADP8870_FADE_T_600ms 2
0054 #define ADP8870_FADE_T_900ms 3
0055 #define ADP8870_FADE_T_1200ms 4
0056 #define ADP8870_FADE_T_1500ms 5
0057 #define ADP8870_FADE_T_1800ms 6
0058 #define ADP8870_FADE_T_2100ms 7
0059 #define ADP8870_FADE_T_2400ms 8
0060 #define ADP8870_FADE_T_2700ms 9
0061 #define ADP8870_FADE_T_3000ms 10
0062 #define ADP8870_FADE_T_3500ms 11
0063 #define ADP8870_FADE_T_4000ms 12
0064 #define ADP8870_FADE_T_4500ms 13
0065 #define ADP8870_FADE_T_5000ms 14
0066 #define ADP8870_FADE_T_5500ms 15
0067
0068 #define ADP8870_FADE_LAW_LINEAR 0
0069 #define ADP8870_FADE_LAW_SQUARE 1
0070 #define ADP8870_FADE_LAW_CUBIC1 2
0071 #define ADP8870_FADE_LAW_CUBIC2 3
0072
0073 #define ADP8870_BL_AMBL_FILT_80ms 0
0074 #define ADP8870_BL_AMBL_FILT_160ms 1
0075 #define ADP8870_BL_AMBL_FILT_320ms 2
0076 #define ADP8870_BL_AMBL_FILT_640ms 3
0077 #define ADP8870_BL_AMBL_FILT_1280ms 4
0078 #define ADP8870_BL_AMBL_FILT_2560ms 5
0079 #define ADP8870_BL_AMBL_FILT_5120ms 6
0080 #define ADP8870_BL_AMBL_FILT_10240ms 7
0081
0082
0083
0084
0085 #define ADP8870_BL_CUR_mA(I) ((I * 127) / 30)
0086
0087
0088
0089
0090 #define ADP8870_L2_COMP_CURR_uA(I) ((I * 255) / 1106)
0091
0092
0093
0094
0095 #define ADP8870_L3_COMP_CURR_uA(I) ((I * 255) / 551)
0096
0097
0098
0099
0100 #define ADP8870_L4_COMP_CURR_uA(I) ((I * 255) / 275)
0101
0102
0103
0104
0105 #define ADP8870_L5_COMP_CURR_uA(I) ((I * 255) / 138)
0106
0107 struct adp8870_backlight_platform_data {
0108 u8 bl_led_assign;
0109 u8 pwm_assign;
0110
0111 u8 bl_fade_in;
0112 u8 bl_fade_out;
0113 u8 bl_fade_law;
0114
0115 u8 en_ambl_sens;
0116 u8 abml_filt;
0117
0118 u8 l1_daylight_max;
0119 u8 l1_daylight_dim;
0120 u8 l2_bright_max;
0121 u8 l2_bright_dim;
0122 u8 l3_office_max;
0123 u8 l3_office_dim;
0124 u8 l4_indoor_max;
0125 u8 l4_indor_dim;
0126 u8 l5_dark_max;
0127 u8 l5_dark_dim;
0128
0129 u8 l2_trip;
0130 u8 l2_hyst;
0131 u8 l3_trip;
0132 u8 l3_hyst;
0133 u8 l4_trip;
0134 u8 l4_hyst;
0135 u8 l5_trip;
0136 u8 l5_hyst;
0137
0138
0139
0140
0141
0142
0143
0144 int num_leds;
0145 struct led_info *leds;
0146 u8 led_fade_in;
0147 u8 led_fade_out;
0148 u8 led_fade_law;
0149 u8 led_on_time;
0150 };
0151
0152 #endif