blob: 4a9169134f5205683041a2ca8a496a1599f8069e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/* linux/drivers/video/samsung/s3cfb_mdnie.h
*
* Header file for Samsung (MDNIE) driver
*
* Copyright (c) 2009 Samsung Electronics
* http://www.samsungsemi.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __S3CFB_MDNIE_H__
#define __S3CFB_MDNIE_H__
#define S3C_MDNIE_PHY_BASE 0x11CA0000
#define S3C_MDNIE_MAP_SIZE 0x00001000
/* Register Address */
#if defined(CONFIG_CPU_EXYNOS4210)
#define MDNIE_REG_BANK_SEL 0x0000
#define MDNIE_REG_WIDTH 0x0022
#define MDNIE_REG_HEIGHT 0x0023
#define MDNIE_REG_MASK 0x0028
#define MDNIE_REG_PWM_CONTROL 0x00B4
#define MDNIE_REG_POWER_LUT0 0x0076
#define MDNIE_REG_POWER_LUT2 0x0077
#define MDNIE_REG_POWER_LUT4 0x0078
#define MDNIE_REG_POWER_LUT6 0x0079
#define MDNIE_REG_POWER_LUT8 0x007A
#elif defined(CONFIG_CPU_EXYNOS4212) || defined(CONFIG_CPU_EXYNOS4412)
#define MDNIE_REG_BANK_SEL 0x0000
#define MDNIE_REG_WIDTH 0x0003
#define MDNIE_REG_HEIGHT 0x0004
#define MDNIE_REG_MASK 0x00FF
#define S3C_MDNIE_rR1 0x0001
#define MDNIE_REG_PWM_CONTROL 0x00B6
#define MDNIE_REG_POWER_LUT0 0x0079
#define MDNIE_REG_POWER_LUT2 0x007A
#define MDNIE_REG_POWER_LUT4 0x007B
#define MDNIE_REG_POWER_LUT6 0x007C
#define MDNIE_REG_POWER_LUT8 0x007D
#endif
#define MDNIE_REG_RED_R 0x00E1 /*SCR RrCr*/
#define MDNIE_REG_RED_G 0x00E2 /*SCR RgCg*/
#define MDNIE_REG_RED_B 0x00E3 /*SCR RbCb*/
#define MDNIE_REG_BLUE_R 0x00E4 /*SCR GrMr*/
#define MDNIE_REG_BLUE_G 0x00E5 /*SCR GgMg*/
#define MDNIE_REG_BLUE_B 0x00E6 /*SCR GbMb*/
#define MDNIE_REG_GREEN_R 0x00E7 /*SCR BrYr*/
#define MDNIE_REG_GREEN_G 0x00E8 /*SCR BgYg*/
#define MDNIE_REG_GREEN_B 0x00E9 /*SCR BbYb*/
#define MDNIE_REG_BLACK_R 0x00EA /*SCR KrWr*/
#define MDNIE_REG_BLACK_G 0x00EB /*SCR KgWg*/
#define MDNIE_REG_BLACK_B 0x00EC /*SCR KbWb*/
/* Register Value */
#if defined(CONFIG_CPU_EXYNOS4210)
#define MDNIE_PWM_BANK 0x0000
#elif defined(CONFIG_CPU_EXYNOS4212) || defined(CONFIG_CPU_EXYNOS4412)
#define MDNIE_PWM_BANK 0x0001 /* CMC624's PWM CTL is in BANK1 */
#endif
#define S3C_MDNIE_INPUT_DATA_ENABLE (1 << 10)
#define S3C_MDNIE_SIZE_MASK 0x7FF
#define S3C_MDNIE_HSIZE(n) (n & S3C_MDNIE_SIZE_MASK)
#define S3C_MDNIE_VSIZE(n) (n & S3C_MDNIE_SIZE_MASK)
#define TRUE 1
#define FALSE 0
void mdnie_setup(void);
int mdnie_display_on(struct s3cfb_global *ctrl);
int mdnie_display_off(void);
int mdnie_write(unsigned int addr, unsigned int val);
int mdnie_mask(void);
int mdnie_unmask(void);
#endif
|