upload tizen1.0 source
[kernel/linux-2.6.36.git] / arch / arm / plat-s5p / include / plat / 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_REG(x)            (x * 0x4)
18
19 #define MDNIE_R0                MDNIE_REG(0)
20 #define MDNIE_R1                MDNIE_REG(1)
21 #define MDNIE_R2                MDNIE_REG(2)
22 #define MDNIE_R3                MDNIE_REG(3)
23 #define MDNIE_R4                MDNIE_REG(4)
24 #define MDNIE_R5                MDNIE_REG(5)
25 #define MDNIE_R6                MDNIE_REG(6)
26 #define MDNIE_R26               MDNIE_REG(0x1a)
27 #define MDNIE_R34               MDNIE_REG(0x22)
28 #define MDNIE_R35               MDNIE_REG(0x23)
29 #define MDNIE_R40               MDNIE_REG(0x28)
30 #define MDNIE_R44               MDNIE_REG(0x2c)
31 #define MDNIE_R45               MDNIE_REG(0x2d)
32 #define MDNIE_R46               MDNIE_REG(0x2e)
33 #define MDNIE_R47               MDNIE_REG(0x2f)
34 #define MDNIE_R48               MDNIE_REG(0x30)
35
36 #define MDNIE_R58               MDNIE_REG(0x3a)
37 #define MDNIE_R59               MDNIE_REG(0x3b)
38 #define MDNIE_R60               MDNIE_REG(0x3c)
39 #define MDNIE_R61               MDNIE_REG(0x3d)
40 #define MDNIE_R62               MDNIE_REG(0x3e)
41 #define MDNIE_R63               MDNIE_REG(0x3f)
42 #define MDNIE_R64               MDNIE_REG(0x40)
43 #define MDNIE_R65               MDNIE_REG(0x41)
44 #define MDNIE_R66               MDNIE_REG(0x42)
45
46 #define MDNIE_R73               MDNIE_REG(0x49)
47 #define MDNIE_R74               MDNIE_REG(0x4a)
48 #define MDNIE_R75               MDNIE_REG(0x4b)
49 #define MDNIE_R76               MDNIE_REG(0x4c)
50 #define MDNIE_R77               MDNIE_REG(0x4d)
51 #define MDNIE_R78               MDNIE_REG(0x4e)
52 #define MDNIE_R79               MDNIE_REG(0x4f)
53 #define MDNIE_R80               MDNIE_REG(0x50)
54 #define MDNIE_R81               MDNIE_REG(0x51)
55 #define MDNIE_R82               MDNIE_REG(0x52)
56
57 #define MDNIE_R84               MDNIE_REG(0x54)
58 #define MDNIE_R85               MDNIE_REG(0x55)
59 #define MDNIE_R86               MDNIE_REG(0x56)
60 #define MDNIE_R87               MDNIE_REG(0x57)
61 #define MDNIE_R88               MDNIE_REG(0x58)
62 #define MDNIE_R89               MDNIE_REG(0x59)
63 #define MDNIE_R90               MDNIE_REG(0x5a)
64
65 #define MDNIE_R91               MDNIE_REG(0x5b)
66 #define MDNIE_R92               MDNIE_REG(0x5c)
67 #define MDNIE_R93               MDNIE_REG(0x5d)
68 #define MDNIE_R94               MDNIE_REG(0x5e)
69 #define MDNIE_R95               MDNIE_REG(0x5f)
70 #define MDNIE_R96               MDNIE_REG(0x60)
71 #define MDNIE_R97               MDNIE_REG(0x61)
72 #define MDNIE_R98               MDNIE_REG(0x62)
73 #define MDNIE_R99               MDNIE_REG(0x63)
74 #define MDNIE_R100              MDNIE_REG(0x64)
75 #define MDNIE_R101              MDNIE_REG(0x65)
76 #define MDNIE_R102              MDNIE_REG(0x66)
77 #define MDNIE_R103              MDNIE_REG(0x67)
78 #define MDNIE_R104              MDNIE_REG(0x68)
79 #define MDNIE_R105              MDNIE_REG(0x69)
80 #define MDNIE_R106              MDNIE_REG(0x6a)
81 #define MDNIE_R107              MDNIE_REG(0x6b)
82
83 #define MDNIE_R124              MDNIE_REG(0x7c)
84 #define MDNIE_R125              MDNIE_REG(0x7d)
85 #define MDNIE_R126              MDNIE_REG(0x7e)
86 #define MDNIE_R127              MDNIE_REG(0x7f)
87 #define MDNIE_R130              MDNIE_REG(0x82)
88 #define MDNIE_R179              MDNIE_REG(0xb3)
89 #define MDNIE_R180              MDNIE_REG(0xb4)
90 #define MDNIE_R238              MDNIE_REG(0xee)
91 #define MDNIE_R239              MDNIE_REG(0xef)
92 #define MDNIE_R240              MDNIE_REG(0xf0)
93 #define MDNIE_R241              MDNIE_REG(0xf1)
94 #define MDNIE_R253              MDNIE_REG(0xfd)
95
96 /* R1 */
97 #define MDNIE_R1_MCM_BYPASS_MODE        (1 << 2)
98 #define MDNIE_R1_ALG_DNR_HDTR_MASK      (0x3 << 0)
99 #define MDNIE_R1_ALG_DNR_HDTR(x)        (((x) & 0x3) << 0)
100 #define MDNIE_R1_ROI_PCA_OVE            (1 << 10)
101 #define MDNIE_R1_ROI_HDTR               (1 << 9)
102 #define MDNIE_R1_ROI_DNR                (1 << 8)
103 #define MDNIE_R1_ROI_OUTSIDE            (1 << 7)
104 #define MDNIE_R1_ABC_SEL_MASK           (0x3 << 4)
105 #define MDNIE_R1_ABC_SEL(x)             (((x) & 0x3) << 4)
106
107 /* R2 */
108 #define MDNIE_R2_H_START_MASK           (0x7ff << 0)
109 #define MDNIE_R2_H_START(x)             (((x) & 0x7ff) << 0)
110
111 /* R3 */
112 #define MDNIE_R3_H_END_MASK             (0x7ff << 0)
113 #define MDNIE_R3_H_END(x)               (((x) & 0x7ff) << 0)
114
115 /* R4 */
116 #define MDNIE_R4_V_START_MASK           (0x7ff << 0)
117 #define MDNIE_R4_V_START(x)             (((x) & 0x7ff) << 0)
118
119 /* R5 */
120 #define MDNIE_R5_V_END_MASK             (0x7ff << 0)
121 #define MDNIE_R5_V_END(x)               (((x) & 0x7ff) << 0)
122
123 /* R6 */
124 #define MDNIE_R6_DITHER_ENABLE          (1 << 4)
125
126 /* R34 */
127 #define MDNIE_R34_WIDTH_MASK            (0x7ff << 0)
128 #define MDNIE_R34_WIDTH(x)              (((x) & 0x7ff) << 0)
129
130 /* R35 */
131 #define MDNIE_R35_HEIGHT_MASK           (0x7ff << 0)
132 #define MDNIE_R35_HEIGHT(x)             (((x) & 0x7ff) << 0)
133
134 /* R44 */
135 #define MDNIE_R44_DNR_BYPASS_MODE       (1 << 14)
136
137 /* R58 */
138 #define MDNIE_R58_HDTR_BYPASS_MODE      (0x1f << 0)
139
140 /* R73 */
141 #define MDNIE_R73_SN_LVL_MASK           (0x3 << 10)
142 #define MDNIE_R73_SN_LVL(x)             (((x) & 0x3) << 10)
143 #define MDNIE_R73_SY_LVL_MASK           (0x3 << 8)
144 #define MDNIE_R73_SY_LVL(x)             (((x) & 0x3) << 8)
145 #define MDNIE_R73_GR_LVL_MASK           (0x3 << 6)
146 #define MDNIE_R73_GR_LVL(x)             (((x) & 0x3) << 6)
147 #define MDNIE_R73_RD_LVL_MASK           (0x3 << 4)
148 #define MDNIE_R73_RD_LVL(x)             (((x) & 0x3) << 4)
149 #define MDNIE_R73_YE_LVL_MASK           (0x3 << 2)
150 #define MDNIE_R73_YE_LVL(x)             (((x) & 0x3) << 2)
151 #define MDNIE_R73_PU_LVL_MASK           (0x3 << 0)
152 #define MDNIE_R73_PU_LVL(x)             (((x) & 0x3) << 0)
153
154 /* R82 */
155 #define MDNIE_R82_SN_CC_OFF             (1 << 5)
156 #define MDNIE_R82_SY_CC_OFF             (1 << 4)
157 #define MDNIE_R82_GR_CC_OFF             (1 << 3)
158 #define MDNIE_R82_RD_CC_OFF             (1 << 2)
159 #define MDNIE_R82_YE_CC_OFF             (1 << 1)
160 #define MDNIE_R82_PU_CC_OFF             (1 << 0)
161
162 /* R84 */
163 #define MDNIE_R84_LIGHT_P_MASK          (0xff << 8)
164 #define MDNIE_R84_LIGHT_P(x)            (((x) & 0xff) << 8)
165 #define MDNIE_R84_CHROMA_P_MASK         (0xff << 0)
166 #define MDNIE_R84_CHROMA_P(x)           (((x) & 0xff) << 0)
167
168 /* R91 */
169 #define MDNIE_R91_QUADRANT_ON           (1 << 8)
170 #define MDNIE_R91_COLOR_TEMP_DEST_MASK  (0xff << 0)
171 #define MDNIE_R91_COLOR_TEMP_DEST(x)    (((x) & 0xff) << 0)
172
173 /* R106 */
174 #define MDNIE_R106_QUADRANT_TMP1_MASK   (0xff << 8)
175 #define MDNIE_R106_QUADRANT_TMP1(x)     (((x) & 0xff) << 8)
176 #define MDNIE_R106_QUADRANT_TMP2_MASK   (0xff << 0)
177 #define MDNIE_R106_QUADRANT_TMP2(x)     (((x) & 0xff) << 0)
178
179 /* R107 */
180 #define MDNIE_R107_QUADRANT_TMP3_MASK   (0xff << 8)
181 #define MDNIE_R107_QUADRANT_TMP3(x)     (((x) & 0xff) << 8)
182 #define MDNIE_R107_QUADRANT_TMP4_MASK   (0xff << 0)
183 #define MDNIE_R107_QUADRANT_TMP4(x)     (((x) & 0xff) << 0)
184
185 /* R124 */
186 #define MDNIE_R124_CABC_BLU_ENABLE      (1 << 1)
187 #define MDNIE_R124_DISPLAY_SEL_OLED     (1 << 0)
188
189 /* R125 */
190 #define MDNIE_R125_ALS_FLAG_UPDATED     (1 << 0)
191
192 /* R126 */
193 #define MDNIE_R126_ALS_DATA_MASK        (0xffff << 0)
194 #define MDNIE_R126_ALS_DATA(x)          (((x) & 0xffff) << 0)
195
196 /* R127 */
197 #define MDNIE_R127_WIN_SIZE_MASK        (0xf << 4)
198 #define MDNIE_R127_WIN_SIZE(x)          (((x) & 0xf) << 4)
199 #define MDNIE_R127_ALS_MODE_MASK        (0x3 << 0)
200 #define MDNIE_R127_ALS_MODE(x)          (((x) & 0x3) << 0)
201
202 /* R130 */
203 #define MDNIE_R130_AMB_LVL_MASK         (0x4 << 0)
204 #define MDNIE_R130_AMB_LVL(x)           (((x) & 0x4) << 0)
205
206 /* R179 */
207 #define MDNIE_R179_UP_SL_MASK           (0xff << 8)
208 #define MDNIE_R179_UP_SL(x)             (((x) & 0xff) << 8)
209 #define MDNIE_R179_DOWN_SL_MASK         (0xff << 0)
210 #define MDNIE_R179_DOWN_SL(x)           (((x) & 0xff) << 0)
211
212 /* R180 */
213 #define MDNIE_R180_PWM_CE_PWM_COEFF     (1 << 15)
214 #define MDNIE_R180_POLARITY_HIGH_ACTIVE (1 << 14)
215 #define MDNIE_R180_LABC_MODE_MASK       (0x3 << 12)
216 #define MDNIE_R180_LABC_MODE(x)         (((x) & 0x3) << 12)
217 #define MDNIE_R180_ALC_EN               (1 << 11)
218 #define MDNIE_R180_PWM_COEFF_COUNT_MASK (0x7ff << 0)
219 #define MDNIE_R180_PWM_COEFF_COUNT(x)   (((x) & 0x7ff) << 0)
220
221 /* R238 */
222 #define MDNIE_R238_ROI_DITHER           (1 << 15)
223 #define MDNIE_R238_ROI_OUTSIDE          (1 << 14)
224 #define MDNIE_R238_H_START_MASK         (0x7ff << 0)
225 #define MDNIE_R238_H_START(x)           (((x) & 0x7ff) << 0)
226
227 /* R239 */
228 #define MDNIE_R239_H_END_MASK           (0x7ff << 0)
229 #define MDNIE_R239_H_END(x)             (((x) & 0x7ff) << 0)
230
231 /* R240 */
232 #define MDNIE_R240_V_START_MASK         (0x7ff << 0)
233 #define MDNIE_R240_V_START(x)           (((x) & 0x7ff) << 0)
234
235 /* R241 */
236 #define MDNIE_R241_V_END_MASK           (0x7ff << 0)
237 #define MDNIE_R241_V_END(x)             (((x) & 0x7ff) << 0)
238
239 #endif