1 /* linux/arch/arm/mach-s5pv210/include/mach/regs-fimg2d.h
3 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com/
6 * Register Definitions for Samsung Graphics 2D Hardware
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.
13 #ifndef __ASM_ARCH_REGS_FIMG2D_H
14 #define __ASM_ARCH_REGS_FIMG2D_H __FILE__
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)
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)
70 #define FIMG2D_SOFT_RESET (1 << 0)
73 #define FIMG2D_INT_EN (1 << 0)
76 #define FIMG2D_INTP_CMD_FIN (1 << 0)
79 #define FIMG2D_CMD_FIN (1 << 0)
82 #define FIMG2D_PATCACHE_CLEAR (1 << 2)
83 #define FIMG2D_SRCBUFFER_CLEAR (1 << 1)
84 #define FIMG2D_MASKBUFFER_CLEAR (1 << 0)
86 /* BITBLT_START_REG */
87 #define FIMG2D_START_BITBLT (1 << 0)
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)
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)
100 #define FIMG2D_ENABLE_CW (1 << 8)
101 #define FIMG2D_ENABLE_STRETCH (1 << 4)
102 #define FIMG2D_ENABLE_MASK (1 << 0)
105 #define FIMG2D_ROTATE_90_ENABLE (1 << 0)
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)
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)
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)
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)
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)
131 /* XXX_COLOR_MODE_REG */
132 #define FIMG2D_CHANNEL_ORDER_SHIFT (4)
133 #define FIMG2D_COLOR_FORMAT_SHIFT (0)
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)
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)
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)
153 #define FIMG2D_MASKED_ROP3_SHIFT (8)
154 #define FIMG2D_UNMASKED_ROP3_SHIFT (0)
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)
162 #endif /* __ASM_MACH_REGS_FIMG2D_H */