upload tizen1.0 source
[kernel/linux-2.6.36.git] / arch / arm / mach-s5pv210 / include / mach / regs-fimg2d.h
1 /* linux/arch/arm/mach-s5pv210/include/mach/regs-fimg2d.h
2  *
3  * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4  *      http://www.samsung.com/
5  *
6  * Register Definitions for Samsung Graphics 2D Hardware
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11 */
12
13 #ifndef __ASM_ARCH_REGS_FIMG2D_H
14 #define __ASM_ARCH_REGS_FIMG2D_H __FILE__
15
16 /* Macros */
17 #define FIMG2D_ADDR(v)                  ((v) << 0)
18 #define FIMG2D_STRIDE(v)                (((v) & (0xffff)) << 0)
19 #define FIMG2D_OFFSET(x, y)             ((((y) & 0x1fff) << 16) | (((x) & 0x1fff) << 0))
20 #define FIMG2D_SIZE(w, h)               ((((h) & 0x1fff) << 16) | (((w) & 0x1fff) << 0))
21 #define FIMG2D_COLOR(v)                 ((v) << 0)
22
23 /* Registers */
24 #define FIMG2D_SOFT_RESET_REG           (0x000)
25 #define FIMG2D_INTEN_REG                (0x004)
26 #define FIMG2D_INTC_PEND_REG            (0x00c)
27 #define FIMG2D_FIFO_STAT_REG            (0x010)
28 #define FIMG2D_AXI_ID_MODE_REG          (0x014)
29 #define FIMG2D_CACHECTL_REG             (0x018)
30 #define FIMG2D_BITBLT_START_REG         (0x100)
31 #define FIMG2D_BITBLT_COMMAND_REG       (0x104)
32 #define FIMG2D_ROTATE_REG               (0x200)
33 #define FIMG2D_SRC_MSK_DIRECT_REG       (0x204)
34 #define FIMG2D_DST_PAT_DIRECT_REG       (0x208)
35 #define FIMG2D_SRC_SELECT_REG           (0x300)
36 #define FIMG2D_SRC_BASE_ADDR_REG        (0x304)
37 #define FIMG2D_SRC_STRIDE_REG           (0x308)
38 #define FIMG2D_SRC_COLOR_MODE_REG       (0x30c)
39 #define FIMG2D_SRC_LEFT_TOP_REG         (0x310)
40 #define FIMG2D_SRC_RIGHT_BOTTOM_REG     (0x314)
41 #define FIMG2D_DST_SELECT_REG           (0x400)
42 #define FIMG2D_DST_BASE_ADDR_REG        (0x404)
43 #define FIMG2D_DST_STRIDE_REG           (0x408)
44 #define FIMG2D_DST_COLOR_MODE_REG       (0x40c)
45 #define FIMG2D_DST_LEFT_TOP_REG         (0x410)
46 #define FIMG2D_DST_RIGHT_BOTTOM_REG     (0x414)
47 #define FIMG2D_PAT_BASE_ADDR_REG        (0x500)
48 #define FIMG2D_PAT_SIZE_REG             (0x504)
49 #define FIMG2D_PAT_COLOR_MODE_REG       (0x508)
50 #define FIMG2D_PAT_OFFSET_REG           (0x50c)
51 #define FIMG2D_PAT_STRIDE_REG           (0x510)
52 #define FIMG2D_CW_LT_REG                (0x600)
53 #define FIMG2D_CW_RB_REG                (0x604)
54 #define FIMG2D_THIRD_OPERAND_REG        (0x610)
55 #define FIMG2D_ROP4_REG                 (0x614)
56 #define FIMG2D_ALPHA_REG                (0x618)
57 #define FIMG2D_FG_COLOR_REG             (0x700)
58 #define FIMG2D_BG_COLOR_REG             (0x704)
59 #define FIMG2D_BS_COLOR_REG             (0x708)
60 #define FIMG2D_SRC_COLORKEY_CTRL_REG    (0x710)
61 #define FIMG2D_SRC_COLORKEY_DR_MIN_REG  (0x714)
62 #define FIMG2D_SRC_COLORKEY_DR_MAX_REG  (0x718)
63 #define FIMG2D_DST_COLORKEY_CTRL_REG    (0x71c)
64 #define FIMG2D_DST_COLORKEY_DR_MIN_REG  (0x720)
65 #define FIMG2D_DST_COLORKEY_DR_MAX_REG  (0x724)
66
67 /* Bit Definitions */
68
69 /* SOFT_RESET_REG */
70 #define FIMG2D_SOFT_RESET               (1 << 0)
71
72 /* INTEN_REG */
73 #define FIMG2D_INT_EN                   (1 << 0)
74
75 /* INTC_PEND_REG */
76 #define FIMG2D_INTP_CMD_FIN             (1 << 0)
77
78 /* FIFO_STAT_REG */
79 #define FIMG2D_CMD_FIN                  (1 << 0)
80
81 /* CACHECTL_REG */
82 #define FIMG2D_PATCACHE_CLEAR           (1 << 2)
83 #define FIMG2D_SRCBUFFER_CLEAR          (1 << 1)
84 #define FIMG2D_MASKBUFFER_CLEAR         (1 << 0)
85
86 /* BITBLT_START_REG */
87 #define FIMG2D_START_BITBLT             (1 << 0)
88
89 /* BITBLT_COMMAND_REG */
90 #define FIMG2D_NONPREBLEND_DISABLE      (0 << 22)
91 #define FIMG2D_NONPREBLEND_CONSTANT     (1 << 22)
92 #define FIMG2D_NONPREBLEND_PERPIXEL     (2 << 22)
93 #define FIMG2D_NONPREBLEND_MASK         (3 << 22)
94
95 #define FIMG2D_ALPHA_MODE_NONE          (0 << 20)
96 #define FIMG2D_ALPHA_MODE_ALPHA         (1 << 20)
97 #define FIMG2D_ALPHA_MODE_FADING        (2 << 20)
98 #define FIMG2D_ALPHA_MODE_MASK          (3 << 20)
99
100 #define FIMG2D_ENABLE_CW                (1 << 8)
101 #define FIMG2D_ENABLE_STRETCH           (1 << 4)
102 #define FIMG2D_ENABLE_MASK              (1 << 0)
103
104 /* ROTATE_REG */
105 #define FIMG2D_ROTATE_90_ENABLE         (1 << 0)
106
107 /* SRC_MSK_DIRECT_REG */
108 #define FIMG2D_MSK_X_DIR_NEGATIVE       (1 << 4)
109 #define FIMG2D_MSK_Y_DIR_NEGATIVE       (1 << 5)
110 #define FIMG2D_MSK_DIR_MASK             (3 << 4)
111
112 #define FIMG2D_SRC_X_DIR_NEGATIVE       (1 << 0)
113 #define FIMG2D_SRC_Y_DIR_NEGATIVE       (1 << 1)
114 #define FIMG2D_SRC_DIR_MASK             (3 << 0)
115
116 /* DST_PAT_DIRECT_REG */
117 #define FIMG2D_PAT_X_DIR_NEGATIVE       (1 << 4)
118 #define FIMG2D_PAT_Y_DIR_NEGATIVE       (1 << 5)
119 #define FIMG2D_PAT_DIR_MASK             (3 << 4)
120
121 #define FIMG2D_DST_X_DIR_NEGATIVE       (1 << 0)
122 #define FIMG2D_DST_Y_DIR_NEGATIVE       (1 << 1)
123 #define FIMG2D_DST_DIR_MASK             (3 << 0)
124
125 /* XXX_SELECT_REG */
126 #define FIMG2D_IMG_TYPE_MEMORY          (0 << 0)
127 #define FIMG2D_IMG_TYPE_FGCOLOR         (1 << 0)
128 #define FIMG2D_IMG_TYPE_BGCOLOR         (2 << 0)
129 #define FIMG2D_IMG_TYPE_MASK            (3 << 0)
130
131 /* XXX_COLOR_MODE_REG */
132 #define FIMG2D_CHANNEL_ORDER_SHIFT      (4)
133 #define FIMG2D_COLOR_FORMAT_SHIFT       (0)
134
135 /* XXX_LEFT_TOP_REG & XXX_RIGHT_BOTTOM_REG */
136 #define FIMG2D_COORD_TOP_Y_SHIFT        (16)
137 #define FIMG2D_COORD_LEFT_X_SHIFT       (0)
138 #define FIMG2D_COORD_BOTTOM_Y_SHIFT     (16)
139 #define FIMG2D_COORD_RIGHT_X_SHIFT      (0)
140
141 /* THIRD_OPERAND_REG */
142 #define FIMG2D_MASKED_OPR3_PATTERN      (0 << 4)
143 #define FIMG2D_MASKED_OPR3_FGCOLOR      (1 << 4)
144 #define FIMG2D_MASKED_OPR3_BGCOLOR      (2 << 4)
145 #define FIMG2D_MASKED_OPR3_MASK         (3 << 4)
146
147 #define FIMG2D_UNMASKED_OPR3_PATTERN    (0 << 0)
148 #define FIMG2D_UNMASKED_OPR3_FGCOLOR    (1 << 0)
149 #define FIMG2D_UNMASKED_OPR3_BGCOLOR    (2 << 0)
150 #define FIMG2D_UNMASKED_OPR3_MASK       (3 << 0)
151
152 /* ROP4_REG */
153 #define FIMG2D_MASKED_ROP3_SHIFT        (8)
154 #define FIMG2D_UNMASKED_ROP3_SHIFT      (0)
155
156 /* ALPHA_REG */
157 #define FIMG2D_FADING_OFFSET_SHIFT      (8)
158 #define FIMG2D_FADING_OFFSET_MASK       (0xff)
159 #define FIMG2D_ALPHA_VALUE_SHIFT        (0)
160 #define FIMG2D_ALPHA_VALUE_MASK         (0xff)
161
162 #endif /* __ASM_MACH_REGS_FIMG2D_H */