diff options
Diffstat (limited to 'arch/arm/plat-samsung/include/plat/regs-fb.h')
-rw-r--r-- | arch/arm/plat-samsung/include/plat/regs-fb.h | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/arch/arm/plat-samsung/include/plat/regs-fb.h b/arch/arm/plat-samsung/include/plat/regs-fb.h index 8f39aa5b26ea..9a78012d6f43 100644 --- a/arch/arm/plat-samsung/include/plat/regs-fb.h +++ b/arch/arm/plat-samsung/include/plat/regs-fb.h | |||
@@ -91,6 +91,9 @@ | |||
91 | #define VIDCON1_VSTATUS_BACKPORCH (0x1 << 13) | 91 | #define VIDCON1_VSTATUS_BACKPORCH (0x1 << 13) |
92 | #define VIDCON1_VSTATUS_ACTIVE (0x2 << 13) | 92 | #define VIDCON1_VSTATUS_ACTIVE (0x2 << 13) |
93 | #define VIDCON1_VSTATUS_FRONTPORCH (0x0 << 13) | 93 | #define VIDCON1_VSTATUS_FRONTPORCH (0x0 << 13) |
94 | #define VIDCON1_VCLK_MASK (0x3 << 9) | ||
95 | #define VIDCON1_VCLK_HOLD (0x0 << 9) | ||
96 | #define VIDCON1_VCLK_RUN (0x1 << 9) | ||
94 | 97 | ||
95 | #define VIDCON1_INV_VCLK (1 << 7) | 98 | #define VIDCON1_INV_VCLK (1 << 7) |
96 | #define VIDCON1_INV_HSYNC (1 << 6) | 99 | #define VIDCON1_INV_HSYNC (1 << 6) |
@@ -164,15 +167,17 @@ | |||
164 | #define VIDTCON1_HSPW(_x) ((_x) << 0) | 167 | #define VIDTCON1_HSPW(_x) ((_x) << 0) |
165 | 168 | ||
166 | #define VIDTCON2 (0x18) | 169 | #define VIDTCON2 (0x18) |
170 | #define VIDTCON2_LINEVAL_E(_x) ((((_x) & 0x800) >> 11) << 23) | ||
167 | #define VIDTCON2_LINEVAL_MASK (0x7ff << 11) | 171 | #define VIDTCON2_LINEVAL_MASK (0x7ff << 11) |
168 | #define VIDTCON2_LINEVAL_SHIFT (11) | 172 | #define VIDTCON2_LINEVAL_SHIFT (11) |
169 | #define VIDTCON2_LINEVAL_LIMIT (0x7ff) | 173 | #define VIDTCON2_LINEVAL_LIMIT (0x7ff) |
170 | #define VIDTCON2_LINEVAL(_x) ((_x) << 11) | 174 | #define VIDTCON2_LINEVAL(_x) (((_x) & 0x7ff) << 11) |
171 | 175 | ||
176 | #define VIDTCON2_HOZVAL_E(_x) ((((_x) & 0x800) >> 11) << 22) | ||
172 | #define VIDTCON2_HOZVAL_MASK (0x7ff << 0) | 177 | #define VIDTCON2_HOZVAL_MASK (0x7ff << 0) |
173 | #define VIDTCON2_HOZVAL_SHIFT (0) | 178 | #define VIDTCON2_HOZVAL_SHIFT (0) |
174 | #define VIDTCON2_HOZVAL_LIMIT (0x7ff) | 179 | #define VIDTCON2_HOZVAL_LIMIT (0x7ff) |
175 | #define VIDTCON2_HOZVAL(_x) ((_x) << 0) | 180 | #define VIDTCON2_HOZVAL(_x) (((_x) & 0x7ff) << 0) |
176 | 181 | ||
177 | /* WINCONx */ | 182 | /* WINCONx */ |
178 | 183 | ||
@@ -228,25 +233,29 @@ | |||
228 | /* Local input channels (windows 0-2) */ | 233 | /* Local input channels (windows 0-2) */ |
229 | #define SHADOWCON_CHx_LOCAL_ENABLE(_win) (1 << (5 + (_win))) | 234 | #define SHADOWCON_CHx_LOCAL_ENABLE(_win) (1 << (5 + (_win))) |
230 | 235 | ||
236 | #define VIDOSDxA_TOPLEFT_X_E(_x) ((((_x) & 0x800) >> 11) << 23) | ||
231 | #define VIDOSDxA_TOPLEFT_X_MASK (0x7ff << 11) | 237 | #define VIDOSDxA_TOPLEFT_X_MASK (0x7ff << 11) |
232 | #define VIDOSDxA_TOPLEFT_X_SHIFT (11) | 238 | #define VIDOSDxA_TOPLEFT_X_SHIFT (11) |
233 | #define VIDOSDxA_TOPLEFT_X_LIMIT (0x7ff) | 239 | #define VIDOSDxA_TOPLEFT_X_LIMIT (0x7ff) |
234 | #define VIDOSDxA_TOPLEFT_X(_x) ((_x) << 11) | 240 | #define VIDOSDxA_TOPLEFT_X(_x) (((_x) & 0x7ff) << 11) |
235 | 241 | ||
242 | #define VIDOSDxA_TOPLEFT_Y_E(_x) ((((_x) & 0x800) >> 11) << 22) | ||
236 | #define VIDOSDxA_TOPLEFT_Y_MASK (0x7ff << 0) | 243 | #define VIDOSDxA_TOPLEFT_Y_MASK (0x7ff << 0) |
237 | #define VIDOSDxA_TOPLEFT_Y_SHIFT (0) | 244 | #define VIDOSDxA_TOPLEFT_Y_SHIFT (0) |
238 | #define VIDOSDxA_TOPLEFT_Y_LIMIT (0x7ff) | 245 | #define VIDOSDxA_TOPLEFT_Y_LIMIT (0x7ff) |
239 | #define VIDOSDxA_TOPLEFT_Y(_x) ((_x) << 0) | 246 | #define VIDOSDxA_TOPLEFT_Y(_x) (((_x) & 0x7ff) << 0) |
240 | 247 | ||
248 | #define VIDOSDxB_BOTRIGHT_X_E(_x) ((((_x) & 0x800) >> 11) << 23) | ||
241 | #define VIDOSDxB_BOTRIGHT_X_MASK (0x7ff << 11) | 249 | #define VIDOSDxB_BOTRIGHT_X_MASK (0x7ff << 11) |
242 | #define VIDOSDxB_BOTRIGHT_X_SHIFT (11) | 250 | #define VIDOSDxB_BOTRIGHT_X_SHIFT (11) |
243 | #define VIDOSDxB_BOTRIGHT_X_LIMIT (0x7ff) | 251 | #define VIDOSDxB_BOTRIGHT_X_LIMIT (0x7ff) |
244 | #define VIDOSDxB_BOTRIGHT_X(_x) ((_x) << 11) | 252 | #define VIDOSDxB_BOTRIGHT_X(_x) (((_x) & 0x7ff) << 11) |
245 | 253 | ||
254 | #define VIDOSDxB_BOTRIGHT_Y_E(_x) ((((_x) & 0x800) >> 11) << 22) | ||
246 | #define VIDOSDxB_BOTRIGHT_Y_MASK (0x7ff << 0) | 255 | #define VIDOSDxB_BOTRIGHT_Y_MASK (0x7ff << 0) |
247 | #define VIDOSDxB_BOTRIGHT_Y_SHIFT (0) | 256 | #define VIDOSDxB_BOTRIGHT_Y_SHIFT (0) |
248 | #define VIDOSDxB_BOTRIGHT_Y_LIMIT (0x7ff) | 257 | #define VIDOSDxB_BOTRIGHT_Y_LIMIT (0x7ff) |
249 | #define VIDOSDxB_BOTRIGHT_Y(_x) ((_x) << 0) | 258 | #define VIDOSDxB_BOTRIGHT_Y(_x) (((_x) & 0x7ff) << 0) |
250 | 259 | ||
251 | /* For VIDOSD[1..4]C */ | 260 | /* For VIDOSD[1..4]C */ |
252 | #define VIDISD14C_ALPHA0_R(_x) ((_x) << 20) | 261 | #define VIDISD14C_ALPHA0_R(_x) ((_x) << 20) |
@@ -278,15 +287,17 @@ | |||
278 | #define VIDW_BUF_END1(_buff) (0xD4 + ((_buff) * 8)) | 287 | #define VIDW_BUF_END1(_buff) (0xD4 + ((_buff) * 8)) |
279 | #define VIDW_BUF_SIZE(_buff) (0x100 + ((_buff) * 4)) | 288 | #define VIDW_BUF_SIZE(_buff) (0x100 + ((_buff) * 4)) |
280 | 289 | ||
290 | #define VIDW_BUF_SIZE_OFFSET_E(_x) ((((_x) & 0x2000) >> 13) << 27) | ||
281 | #define VIDW_BUF_SIZE_OFFSET_MASK (0x1fff << 13) | 291 | #define VIDW_BUF_SIZE_OFFSET_MASK (0x1fff << 13) |
282 | #define VIDW_BUF_SIZE_OFFSET_SHIFT (13) | 292 | #define VIDW_BUF_SIZE_OFFSET_SHIFT (13) |
283 | #define VIDW_BUF_SIZE_OFFSET_LIMIT (0x1fff) | 293 | #define VIDW_BUF_SIZE_OFFSET_LIMIT (0x1fff) |
284 | #define VIDW_BUF_SIZE_OFFSET(_x) ((_x) << 13) | 294 | #define VIDW_BUF_SIZE_OFFSET(_x) (((_x) & 0x1fff) << 13) |
285 | 295 | ||
296 | #define VIDW_BUF_SIZE_PAGEWIDTH_E(_x) ((((_x) & 0x2000) >> 13) << 26) | ||
286 | #define VIDW_BUF_SIZE_PAGEWIDTH_MASK (0x1fff << 0) | 297 | #define VIDW_BUF_SIZE_PAGEWIDTH_MASK (0x1fff << 0) |
287 | #define VIDW_BUF_SIZE_PAGEWIDTH_SHIFT (0) | 298 | #define VIDW_BUF_SIZE_PAGEWIDTH_SHIFT (0) |
288 | #define VIDW_BUF_SIZE_PAGEWIDTH_LIMIT (0x1fff) | 299 | #define VIDW_BUF_SIZE_PAGEWIDTH_LIMIT (0x1fff) |
289 | #define VIDW_BUF_SIZE_PAGEWIDTH(_x) ((_x) << 0) | 300 | #define VIDW_BUF_SIZE_PAGEWIDTH(_x) (((_x) & 0x1fff) << 0) |
290 | 301 | ||
291 | /* Interrupt controls and status */ | 302 | /* Interrupt controls and status */ |
292 | 303 | ||
@@ -384,3 +395,9 @@ | |||
384 | #define WPALCON_W0PAL_16BPP_A555 (0x5 << 0) | 395 | #define WPALCON_W0PAL_16BPP_A555 (0x5 << 0) |
385 | #define WPALCON_W0PAL_16BPP_565 (0x6 << 0) | 396 | #define WPALCON_W0PAL_16BPP_565 (0x6 << 0) |
386 | 397 | ||
398 | /* Blending equation control */ | ||
399 | #define BLENDCON (0x260) | ||
400 | #define BLENDCON_NEW_MASK (1 << 0) | ||
401 | #define BLENDCON_NEW_8BIT_ALPHA_VALUE (1 << 0) | ||
402 | #define BLENDCON_NEW_4BIT_ALPHA_VALUE (0 << 0) | ||
403 | |||