Initial commit
[kernel/linux-3.0.git] / drivers / video / samsung_duallcd / extension / regs-mdnie.h
1 /* linux/arch/arm/plat-s5p/include/plat/regs-mdnie.h
2  *
3  * Header file for Samsung SoC mDNIe device.
4  *
5  * Copyright (c) 2010 Samsung Electronics
6  *
7  * Author : Inki Dae <inki.dae@samsung.com>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2 as
11  * published by the Free Software Foundation.
12 */
13
14 #ifndef _REGS_MDNIE_H
15 #define _REGS_MDNIE_H
16
17 #define MDNIE_R0                0x0000
18 #define MDNIE_R1                0x0004
19 #define MDNIE_R2                0x0008
20 #define MDNIE_R3                0x000C
21 #define MDNIE_R4                0x0010
22 #define MDNIE_R5                0x0014
23 #define MDNIE_R28               0x00A0
24
25 /* R1 */
26 #define MDNIE_R1_MCM_BYPASS_MODE        (1 << 2)
27 #define MDNIE_R1_ALG_DNR_HDTR_MASK      (0x3 << 0)
28 #define MDNIE_R1_ALG_DNR_HDTR(x)        (((x) & 0x3) << 0)
29 #define MDNIE_R1_ROI_PCA_OVE            (1 << 10)
30 #define MDNIE_R1_ROI_HDTR               (1 << 9)
31 #define MDNIE_R1_ROI_DNR                (1 << 8)
32 #define MDNIE_R1_ROI_OUTSIDE            (1 << 7)
33 #define MDNIE_R1_ABC_SEL_MASK           (0x3 << 4)
34 #define MDNIE_R1_ABC_SEL(x)             (((x) & 0x3) << 4)
35
36 /* R2 */
37 #define MDNIE_R2_H_START_MASK           (0x7ff << 0)
38 #define MDNIE_R2_H_START(x)             (((x) & 0x7ff) << 0)
39
40 /* R3 */
41 #define MDNIE_R3_WIDTH_MASK             (0x7ff << 0)
42
43 /* R4 */
44 #define MDNIE_R4_HEIGHT_MASK            (0x7ff << 0)
45
46 /* R5 */
47 #define MDNIE_R5_V_END_MASK             (0x7ff << 0)
48 #define MDNIE_R5_V_END(x)               (((x) & 0x7ff) << 0)
49
50 /* R6 */
51 #define MDNIE_R6_DITHER_ENABLE          (1 << 4)
52
53 /* R34 */
54 #define MDNIE_R34_WIDTH_MASK            (0x7ff << 0)
55 #define MDNIE_R34_WIDTH(x)              (((x) & 0x7ff) << 0)
56
57 /* R35 */
58 #define MDNIE_R35_HEIGHT_MASK           (0x7ff << 0)
59 #define MDNIE_R35_HEIGHT(x)             (((x) & 0x7ff) << 0)
60
61 /* R44 */
62 #define MDNIE_R44_DNR_BYPASS_MODE       (1 << 14)
63
64 /* R58 */
65 #define MDNIE_R58_HDTR_BYPASS_MODE      (0x1f << 0)
66
67 /* R73 */
68 #define MDNIE_R73_SN_LVL_MASK           (0x3 << 10)
69 #define MDNIE_R73_SN_LVL(x)             (((x) & 0x3) << 10)
70 #define MDNIE_R73_SY_LVL_MASK           (0x3 << 8)
71 #define MDNIE_R73_SY_LVL(x)             (((x) & 0x3) << 8)
72 #define MDNIE_R73_GR_LVL_MASK           (0x3 << 6)
73 #define MDNIE_R73_GR_LVL(x)             (((x) & 0x3) << 6)
74 #define MDNIE_R73_RD_LVL_MASK           (0x3 << 4)
75 #define MDNIE_R73_RD_LVL(x)             (((x) & 0x3) << 4)
76 #define MDNIE_R73_YE_LVL_MASK           (0x3 << 2)
77 #define MDNIE_R73_YE_LVL(x)             (((x) & 0x3) << 2)
78 #define MDNIE_R73_PU_LVL_MASK           (0x3 << 0)
79 #define MDNIE_R73_PU_LVL(x)             (((x) & 0x3) << 0)
80
81 /* R82 */
82 #define MDNIE_R82_SN_CC_OFF             (1 << 5)
83 #define MDNIE_R82_SY_CC_OFF             (1 << 4)
84 #define MDNIE_R82_GR_CC_OFF             (1 << 3)
85 #define MDNIE_R82_RD_CC_OFF             (1 << 2)
86 #define MDNIE_R82_YE_CC_OFF             (1 << 1)
87 #define MDNIE_R82_PU_CC_OFF             (1 << 0)
88
89 /* R84 */
90 #define MDNIE_R84_LIGHT_P_MASK          (0xff << 8)
91 #define MDNIE_R84_LIGHT_P(x)            (((x) & 0xff) << 8)
92 #define MDNIE_R84_CHROMA_P_MASK         (0xff << 0)
93 #define MDNIE_R84_CHROMA_P(x)           (((x) & 0xff) << 0)
94
95 /* R91 */
96 #define MDNIE_R91_QUADRANT_ON           (1 << 8)
97 #define MDNIE_R91_COLOR_TEMP_DEST_MASK  (0xff << 0)
98 #define MDNIE_R91_COLOR_TEMP_DEST(x)    (((x) & 0xff) << 0)
99
100 /* R106 */
101 #define MDNIE_R106_QUADRANT_TMP1_MASK   (0xff << 8)
102 #define MDNIE_R106_QUADRANT_TMP1(x)     (((x) & 0xff) << 8)
103 #define MDNIE_R106_QUADRANT_TMP2_MASK   (0xff << 0)
104 #define MDNIE_R106_QUADRANT_TMP2(x)     (((x) & 0xff) << 0)
105
106 /* R107 */
107 #define MDNIE_R107_QUADRANT_TMP3_MASK   (0xff << 8)
108 #define MDNIE_R107_QUADRANT_TMP3(x)     (((x) & 0xff) << 8)
109 #define MDNIE_R107_QUADRANT_TMP4_MASK   (0xff << 0)
110 #define MDNIE_R107_QUADRANT_TMP4(x)     (((x) & 0xff) << 0)
111
112 /* R124 */
113 #define MDNIE_R124_CABC_BLU_ENABLE      (1 << 1)
114 #define MDNIE_R124_DISPLAY_SEL_OLED     (1 << 0)
115
116 /* R125 */
117 #define MDNIE_R125_ALS_FLAG_UPDATED     (1 << 0)
118
119 /* R126 */
120 #define MDNIE_R126_ALS_DATA_MASK        (0xffff << 0)
121 #define MDNIE_R126_ALS_DATA(x)          (((x) & 0xffff) << 0)
122
123 /* R127 */
124 #define MDNIE_R127_WIN_SIZE_MASK        (0xf << 4)
125 #define MDNIE_R127_WIN_SIZE(x)          (((x) & 0xf) << 4)
126 #define MDNIE_R127_ALS_MODE_MASK        (0x3 << 0)
127 #define MDNIE_R127_ALS_MODE(x)          (((x) & 0x3) << 0)
128
129 /* R130 */
130 #define MDNIE_R130_AMB_LVL_MASK         (0x4 << 0)
131 #define MDNIE_R130_AMB_LVL(x)           (((x) & 0x4) << 0)
132
133 /* R179 */
134 #define MDNIE_R179_UP_SL_MASK           (0xff << 8)
135 #define MDNIE_R179_UP_SL(x)             (((x) & 0xff) << 8)
136 #define MDNIE_R179_DOWN_SL_MASK         (0xff << 0)
137 #define MDNIE_R179_DOWN_SL(x)           (((x) & 0xff) << 0)
138
139 /* R180 */
140 #define MDNIE_R180_PWM_CE_PWM_COEFF     (1 << 15)
141 #define MDNIE_R180_POLARITY_HIGH_ACTIVE (1 << 14)
142 #define MDNIE_R180_LABC_MODE_MASK       (0x3 << 12)
143 #define MDNIE_R180_LABC_MODE(x)         (((x) & 0x3) << 12)
144 #define MDNIE_R180_ALC_EN               (1 << 11)
145 #define MDNIE_R180_PWM_COEFF_COUNT_MASK (0x7ff << 0)
146 #define MDNIE_R180_PWM_COEFF_COUNT(x)   (((x) & 0x7ff) << 0)
147
148 /* R238 */
149 #define MDNIE_R238_ROI_DITHER           (1 << 15)
150 #define MDNIE_R238_ROI_OUTSIDE          (1 << 14)
151 #define MDNIE_R238_H_START_MASK         (0x7ff << 0)
152 #define MDNIE_R238_H_START(x)           (((x) & 0x7ff) << 0)
153
154 /* R239 */
155 #define MDNIE_R239_H_END_MASK           (0x7ff << 0)
156 #define MDNIE_R239_H_END(x)             (((x) & 0x7ff) << 0)
157
158 /* R240 */
159 #define MDNIE_R240_V_START_MASK         (0x7ff << 0)
160 #define MDNIE_R240_V_START(x)           (((x) & 0x7ff) << 0)
161
162 /* R241 */
163 #define MDNIE_R241_V_END_MASK           (0x7ff << 0)
164 #define MDNIE_R241_V_END(x)             (((x) & 0x7ff) << 0)
165
166 #endif