aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/samsung_duallcd/ea8061_param.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/samsung_duallcd/ea8061_param.h')
-rw-r--r--drivers/video/samsung_duallcd/ea8061_param.h348
1 files changed, 348 insertions, 0 deletions
diff --git a/drivers/video/samsung_duallcd/ea8061_param.h b/drivers/video/samsung_duallcd/ea8061_param.h
new file mode 100644
index 0000000..2c2823c
--- /dev/null
+++ b/drivers/video/samsung_duallcd/ea8061_param.h
@@ -0,0 +1,348 @@
+#ifndef __EA8061_PARAM_H__
+#define __EA8061_PARAM_H__
+
+#define GAMMA_PARAM_SIZE 26
+#define ELVSS_PARAM_SIZE 3
+#define ACL_PARAM_SIZE ARRAY_SIZE(acl_cutoff_50)
+
+#ifdef CONFIG_AID_DIMMING
+#define ELVSS_OFFSET_300 0x00
+#define ELVSS_OFFSET_290 0x01
+#define ELVSS_OFFSET_280 0x02
+#define ELVSS_OFFSET_270 0x03
+#define ELVSS_OFFSET_260 0x04
+#define ELVSS_OFFSET_250 0x05
+#define ELVSS_OFFSET_240 0x06
+#define ELVSS_OFFSET_230 0x06
+#define ELVSS_OFFSET_220 0x07
+#define ELVSS_OFFSET_210 0x08
+#define ELVSS_OFFSET_200 0x09
+#define ELVSS_OFFSET_190 0x0A
+#define ELVSS_OFFSET_180 0x05
+#define ELVSS_OFFSET_170 0x06
+#define ELVSS_OFFSET_160 0x07
+#define ELVSS_OFFSET_150 0x08
+#define ELVSS_OFFSET_140 0x09
+#define ELVSS_OFFSET_130 0x0A
+#define ELVSS_OFFSET_120 0x0B
+#define ELVSS_OFFSET_110 0x0C
+#define ELVSS_OFFSET_100 0x0D
+
+enum {
+ ELVSS_110 = 0,
+ ELVSS_120,
+ ELVSS_130,
+ ELVSS_140,
+ ELVSS_150,
+ ELVSS_160,
+ ELVSS_170,
+ ELVSS_180,
+ ELVSS_190,
+ ELVSS_200,
+ ELVSS_210,
+ ELVSS_220,
+ ELVSS_230,
+ ELVSS_240,
+ ELVSS_250,
+ ELVSS_260,
+ ELVSS_270,
+ ELVSS_280,
+ ELVSS_290,
+ ELVSS_300,
+ ELVSS_STATUS_MAX,
+};
+
+#else
+#define ELVSS_OFFSET_300 0x00
+#define ELVSS_OFFSET_200 0x08
+#define ELVSS_OFFSET_160 0x0D
+#if defined(CONFIG_S6E8AA0_AMS529HA01)
+#define ELVSS_OFFSET_100 0x11
+#else
+#define ELVSS_OFFSET_100 0x12
+#endif
+
+#if defined(CONFIG_S6E8AA0_AMS529HA01)
+#define ELVSS_OFFSET_MAX ELVSS_OFFSET_300
+#define ELVSS_OFFSET_1 ELVSS_OFFSET_200
+#define ELVSS_OFFSET_2 ELVSS_OFFSET_160
+#define ELVSS_OFFSET_MIN ELVSS_OFFSET_100
+#else
+#define ELVSS_OFFSET_MAX ELVSS_OFFSET_300
+#define ELVSS_OFFSET_1 ELVSS_OFFSET_160
+#define ELVSS_OFFSET_2 ELVSS_OFFSET_1
+#define ELVSS_OFFSET_MIN ELVSS_OFFSET_100
+#endif
+
+enum {
+ ELVSS_MIN = 0,
+ ELVSS_1,
+ ELVSS_2,
+ ELVSS_MAX,
+ ELVSS_STATUS_MAX,
+};
+#endif
+
+enum {
+ GAMMA_20CD,
+#ifdef CONFIG_AID_DIMMING
+ GAMMA_30CD,
+#else
+ GAMMA_30CD = GAMMA_20CD,
+#endif
+ GAMMA_40CD,
+ GAMMA_50CD,
+ GAMMA_60CD,
+ GAMMA_70CD,
+ GAMMA_80CD,
+ GAMMA_90CD,
+ GAMMA_100CD,
+ GAMMA_110CD,
+ GAMMA_120CD,
+ GAMMA_130CD,
+ GAMMA_140CD,
+ GAMMA_150CD,
+ GAMMA_160CD,
+ GAMMA_170CD,
+ GAMMA_180CD,
+#ifdef CONFIG_AID_DIMMING
+ GAMMA_182CD,
+ GAMMA_184CD,
+ GAMMA_186CD,
+ GAMMA_188CD,
+#endif
+ GAMMA_190CD,
+ GAMMA_200CD,
+ GAMMA_210CD,
+ GAMMA_220CD,
+ GAMMA_230CD,
+ GAMMA_240CD,
+ GAMMA_250CD,
+ GAMMA_290CD,
+ GAMMA_300CD = GAMMA_290CD,
+ GAMMA_MAX
+};
+
+static const unsigned char SEQ_APPLY_LEVEL_2_KEY[] = {
+ 0xF0,
+ 0x5A, 0x5A
+};
+
+static const unsigned char SEQ_APPLY_LEVEL_2_KEY2[] = {
+ 0xFC,
+ 0x5A, 0x5A
+};
+
+
+
+static const unsigned char SEQ_DYNAMIC_ELVSS[] = {
+ 0xB2,
+ 0x04, 0xB4, 0xA0, 0x00, 0x00, 0x00,
+};
+
+static const unsigned char SEQ_SLEEP_OUT[] = {
+ 0x11,
+ 0x00, 0x00
+};
+
+static const unsigned char SEQ_PANEL_CONDITION_SET[] = {
+ 0xC4,
+ 0x4E, 0xBD, 0x00, 0x00, 0x58, 0xA7, 0x0B, 0x34, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0B, 0x92, 0x0B, 0x92, 0x08, 0x08, 0x07,
+ 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04,
+ 0x04, 0x04
+};
+
+static const unsigned char SEQ_GAMMA_CONDITION_SET[] = {
+ 0xCA,
+ 0x00, 0xE8, 0x00, 0xF7, 0x01, 0x03, 0xDB, 0xDB, 0xDC, 0xD9,
+ 0xD8, 0xDA, 0xCB, 0xC8, 0xCB, 0xD4, 0xD3, 0xD7, 0xE6, 0xE6,
+ 0xEA, 0xE2, 0xE4, 0xE5, 0xCE, 0xC3, 0xCF, 0xB9, 0x9D, 0xDE,
+ 0x11, 0x00
+};
+
+static const unsigned char SEQ_LTPS_AID[] = {
+ 0xB3,
+ 0x00, 0x0A, 0x00, 0x0A,
+};
+
+static const unsigned char SEQ_DISPLAY_CONDITION_SET[] = {
+ 0x36,
+ 0x02, 0x00
+};
+
+static const unsigned char SEQ_GAMMA_UPDATE[] = {
+ 0xF7, 0x5A,
+ 0x5A
+};
+
+static const unsigned char SEQ_GAMMA_UPDATE2[] = {
+ 0xF7, 0xA5,
+ 0xA5
+};
+
+static const unsigned char SEQ_ETC_WCABC_CONTROL[] = {
+ 0x55,
+ 0x00, 0x01, 0x02, 0x03
+};
+
+static const unsigned char SEQ_ETC_SLEW_CONTROL[] = {
+ 0xB4,
+ 0x33, 0x03, 0x00
+};
+
+static const unsigned char SEQ_DISPLAY_ON[] = {
+ 0x29,
+ 0x00, 0x00
+};
+
+static const unsigned char SEQ_DISPLAY_OFF[] = {
+ 0x28,
+ 0x00, 0x00
+};
+
+static const unsigned char SEQ_STANDBY_ON[] = {
+ 0x01,
+ 0x00, 0x00
+};
+
+
+static const unsigned char SEQ_ACL_ON[] = {
+ 0xC0, 0x01,
+ 0x00
+};
+
+static const unsigned char SEQ_ACL_OFF[] = {
+ 0xC0, 0x00,
+ 0x00
+};
+
+enum {
+ ACL_STATUS_0P = 0,
+ ACL_STATUS_20P,
+ ACL_STATUS_33P,
+ ACL_STATUS_40P,
+ ACL_STATUS_43P,
+ ACL_STATUS_45P,
+ ACL_STATUS_48P,
+ ACL_STATUS_50P,
+ ACL_STATUS_52P,
+ ACL_STATUS_53P,
+ ACL_STATUS_55P,
+ ACL_STATUS_MAX
+} ACL_STATUS;
+
+const unsigned char acl_cutoff_20[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x04, 0x07, 0x0A, 0x0D, 0x10,
+ 0x12, 0x15, 0x18, 0x1B, 0x1E
+};
+
+const unsigned char acl_cutoff_33[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x06, 0x0A, 0x0F, 0x14, 0x19,
+ 0x1D, 0x22, 0x27, 0x2B, 0x30
+};
+
+const unsigned char acl_cutoff_40[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x07, 0x0C, 0x12, 0x17, 0x1D,
+ 0x23, 0x28, 0x2E, 0x33, 0x39
+};
+
+const unsigned char acl_cutoff_43[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x07, 0x0D, 0x14, 0x1A, 0x20,
+ 0x26, 0x2C, 0x33, 0x39, 0x3F
+};
+
+const unsigned char acl_cutoff_45[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x07, 0x0E, 0x14, 0x1B, 0x21,
+ 0x27, 0x2E, 0x34, 0x3B, 0x41
+};
+
+const unsigned char acl_cutoff_48[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x08, 0x0F, 0x17, 0x1E, 0x25,
+ 0x2C, 0x33, 0x3B, 0x42, 0x49
+};
+
+const unsigned char acl_cutoff_50[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x09, 0x10, 0x18, 0x1F, 0x27,
+ 0x2E, 0x36, 0x3D, 0x45, 0x4C
+};
+
+const unsigned char acl_cutoff_52[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x09, 0x11, 0x19, 0x21, 0x29,
+ 0x31, 0x39, 0x41, 0x49, 0x51
+};
+
+const unsigned char acl_cutoff_53[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x09, 0x11, 0x1A, 0x22, 0x2A,
+ 0x32, 0x3A, 0x43, 0x4B, 0x53
+};
+
+const unsigned char acl_cutoff_55[] = {
+ 0xC1,
+ 0x47, 0x53, 0x13, 0x53, 0x00, 0x00,
+ 0x02, 0xCF, 0x00, 0x00, 0x04, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x01, 0x0A, 0x12, 0x1B, 0x23, 0x2C,
+ 0x35, 0x3D, 0x46, 0x4E, 0x57
+};
+
+const unsigned char *ACL_CUTOFF_TABLE[ACL_STATUS_MAX] = {
+ SEQ_ACL_OFF,
+ acl_cutoff_20,
+ acl_cutoff_33,
+ acl_cutoff_40,
+ acl_cutoff_43,
+ acl_cutoff_45,
+ acl_cutoff_48,
+ acl_cutoff_50,
+ acl_cutoff_52,
+ acl_cutoff_53,
+ acl_cutoff_55,
+};
+#endif /* __EA8061_PARAM_H__ */