1d722e3fbSopenharmony_ci/*
2d722e3fbSopenharmony_ci * Copyright (C) 2013 Samsung Electronics Co.Ltd
3d722e3fbSopenharmony_ci * Authors:
4d722e3fbSopenharmony_ci *	Inki Dae <inki.dae@samsung.com>
5d722e3fbSopenharmony_ci *
6d722e3fbSopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a
7d722e3fbSopenharmony_ci * copy of this software and associated documentation files (the "Software"),
8d722e3fbSopenharmony_ci * to deal in the Software without restriction, including without limitation
9d722e3fbSopenharmony_ci * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10d722e3fbSopenharmony_ci * and/or sell copies of the Software, and to permit persons to whom the
11d722e3fbSopenharmony_ci * Software is furnished to do so, subject to the following conditions:
12d722e3fbSopenharmony_ci *
13d722e3fbSopenharmony_ci * The above copyright notice and this permission notice (including the next
14d722e3fbSopenharmony_ci * paragraph) shall be included in all copies or substantial portions of the
15d722e3fbSopenharmony_ci * Software.
16d722e3fbSopenharmony_ci *
17d722e3fbSopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18d722e3fbSopenharmony_ci * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19d722e3fbSopenharmony_ci * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20d722e3fbSopenharmony_ci * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
21d722e3fbSopenharmony_ci * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22d722e3fbSopenharmony_ci * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23d722e3fbSopenharmony_ci * OTHER DEALINGS IN THE SOFTWARE.
24d722e3fbSopenharmony_ci */
25d722e3fbSopenharmony_ci
26d722e3fbSopenharmony_ci#ifndef _FIMG2D_REG_H_
27d722e3fbSopenharmony_ci#define _FIMG2D_REG_H_
28d722e3fbSopenharmony_ci
29d722e3fbSopenharmony_ci#define SOFT_RESET_REG			(0x0000)
30d722e3fbSopenharmony_ci#define INTEN_REG			(0x0004)
31d722e3fbSopenharmony_ci#define INTC_PEND_REG			(0x000C)
32d722e3fbSopenharmony_ci#define FIFO_STAT_REG			(0x0010)
33d722e3fbSopenharmony_ci#define AXI_MODE_REG			(0x001C)
34d722e3fbSopenharmony_ci#define DMA_SFR_BASE_ADDR_REG		(0x0080)
35d722e3fbSopenharmony_ci#define DMA_COMMAND_REG			(0x0084)
36d722e3fbSopenharmony_ci#define DMA_EXE_LIST_NUM_REG		(0x0088)
37d722e3fbSopenharmony_ci#define DMA_STATUS_REG			(0x008C)
38d722e3fbSopenharmony_ci#define DMA_HOLD_CMD_REG		(0x0090)
39d722e3fbSopenharmony_ci
40d722e3fbSopenharmony_ci/* COMMAND REGISTER */
41d722e3fbSopenharmony_ci#define BITBLT_START_REG		(0x0100)
42d722e3fbSopenharmony_ci#define BITBLT_COMMAND_REG		(0x0104)
43d722e3fbSopenharmony_ci#define BLEND_FUNCTION_REG		(0x0108)	/* VER4.1 */
44d722e3fbSopenharmony_ci#define ROUND_MODE_REG			(0x010C)	/* VER4.1 */
45d722e3fbSopenharmony_ci
46d722e3fbSopenharmony_ci/* PARAMETER SETTING REGISTER */
47d722e3fbSopenharmony_ci#define ROTATE_REG			(0x0200)
48d722e3fbSopenharmony_ci#define SRC_MASK_DIRECT_REG		(0x0204)
49d722e3fbSopenharmony_ci#define DST_PAT_DIRECT_REG		(0x0208)
50d722e3fbSopenharmony_ci
51d722e3fbSopenharmony_ci/* SOURCE */
52d722e3fbSopenharmony_ci#define SRC_SELECT_REG			(0x0300)
53d722e3fbSopenharmony_ci#define SRC_BASE_ADDR_REG		(0x0304)
54d722e3fbSopenharmony_ci#define SRC_STRIDE_REG			(0x0308)
55d722e3fbSopenharmony_ci#define SRC_COLOR_MODE_REG		(0x030c)
56d722e3fbSopenharmony_ci#define SRC_LEFT_TOP_REG		(0x0310)
57d722e3fbSopenharmony_ci#define SRC_RIGHT_BOTTOM_REG		(0x0314)
58d722e3fbSopenharmony_ci#define SRC_PLANE2_BASE_ADDR_REG	(0x0318)	/* VER4.1 */
59d722e3fbSopenharmony_ci#define SRC_REPEAT_MODE_REG		(0x031C)
60d722e3fbSopenharmony_ci#define SRC_PAD_VALUE_REG		(0x0320)
61d722e3fbSopenharmony_ci#define SRC_A8_RGB_EXT_REG		(0x0324)
62d722e3fbSopenharmony_ci#define SRC_SCALE_CTRL_REG		(0x0328)
63d722e3fbSopenharmony_ci#define SRC_XSCALE_REG			(0x032C)
64d722e3fbSopenharmony_ci#define SRC_YSCALE_REG			(0x0330)
65d722e3fbSopenharmony_ci
66d722e3fbSopenharmony_ci/* DESTINATION */
67d722e3fbSopenharmony_ci#define DST_SELECT_REG			(0x0400)
68d722e3fbSopenharmony_ci#define DST_BASE_ADDR_REG		(0x0404)
69d722e3fbSopenharmony_ci#define DST_STRIDE_REG			(0x0408)
70d722e3fbSopenharmony_ci#define DST_COLOR_MODE_REG		(0x040C)
71d722e3fbSopenharmony_ci#define DST_LEFT_TOP_REG		(0x0410)
72d722e3fbSopenharmony_ci#define DST_RIGHT_BOTTOM_REG		(0x0414)
73d722e3fbSopenharmony_ci#define DST_PLANE2_BASE_ADDR_REG	(0x0418)	/* VER4.1 */
74d722e3fbSopenharmony_ci#define DST_A8_RGB_EXT_REG		(0x041C)
75d722e3fbSopenharmony_ci
76d722e3fbSopenharmony_ci/* PATTERN */
77d722e3fbSopenharmony_ci#define PAT_BASE_ADDR_REG		(0x0500)
78d722e3fbSopenharmony_ci#define PAT_SIZE_REG			(0x0504)
79d722e3fbSopenharmony_ci#define PAT_COLOR_MODE_REG		(0x0508)
80d722e3fbSopenharmony_ci#define PAT_OFFSET_REG			(0x050C)
81d722e3fbSopenharmony_ci#define PAT_STRIDE_REG			(0x0510)
82d722e3fbSopenharmony_ci
83d722e3fbSopenharmony_ci/* MASK	*/
84d722e3fbSopenharmony_ci#define MASK_BASE_ADDR_REG		(0x0520)
85d722e3fbSopenharmony_ci#define MASK_STRIDE_REG			(0x0524)
86d722e3fbSopenharmony_ci#define MASK_LEFT_TOP_REG		(0x0528)	/* VER4.1 */
87d722e3fbSopenharmony_ci#define MASK_RIGHT_BOTTOM_REG		(0x052C)	/* VER4.1 */
88d722e3fbSopenharmony_ci#define MASK_MODE_REG			(0x0530)	/* VER4.1 */
89d722e3fbSopenharmony_ci#define MASK_REPEAT_MODE_REG		(0x0534)
90d722e3fbSopenharmony_ci#define MASK_PAD_VALUE_REG		(0x0538)
91d722e3fbSopenharmony_ci#define MASK_SCALE_CTRL_REG		(0x053C)
92d722e3fbSopenharmony_ci#define MASK_XSCALE_REG			(0x0540)
93d722e3fbSopenharmony_ci#define MASK_YSCALE_REG			(0x0544)
94d722e3fbSopenharmony_ci
95d722e3fbSopenharmony_ci/* CLIPPING WINDOW */
96d722e3fbSopenharmony_ci#define CW_LT_REG			(0x0600)
97d722e3fbSopenharmony_ci#define CW_RB_REG			(0x0604)
98d722e3fbSopenharmony_ci
99d722e3fbSopenharmony_ci/* ROP & ALPHA SETTING */
100d722e3fbSopenharmony_ci#define THIRD_OPERAND_REG		(0x0610)
101d722e3fbSopenharmony_ci#define ROP4_REG			(0x0614)
102d722e3fbSopenharmony_ci#define ALPHA_REG			(0x0618)
103d722e3fbSopenharmony_ci
104d722e3fbSopenharmony_ci/* COLOR SETTING */
105d722e3fbSopenharmony_ci#define FG_COLOR_REG			(0x0700)
106d722e3fbSopenharmony_ci#define BG_COLOR_REG			(0x0704)
107d722e3fbSopenharmony_ci#define BS_COLOR_REG			(0x0708)
108d722e3fbSopenharmony_ci#define SF_COLOR_REG			(0x070C)	/* VER4.1 */
109d722e3fbSopenharmony_ci
110d722e3fbSopenharmony_ci/* COLOR KEY */
111d722e3fbSopenharmony_ci#define SRC_COLORKEY_CTRL_REG		(0x0710)
112d722e3fbSopenharmony_ci#define SRC_COLORKEY_DR_MIN_REG		(0x0714)
113d722e3fbSopenharmony_ci#define SRC_COLORKEY_DR_MAX_REG		(0x0718)
114d722e3fbSopenharmony_ci#define DST_COLORKEY_CTRL_REG		(0x071C)
115d722e3fbSopenharmony_ci#define DST_COLORKEY_DR_MIN_REG		(0x0720)
116d722e3fbSopenharmony_ci#define DST_COLORKEY_DR_MAX_REG		(0x0724)
117d722e3fbSopenharmony_ci/* YCbCr src Color Key */
118d722e3fbSopenharmony_ci#define YCbCr_SRC_COLORKEY_CTRL_REG	(0x0728)	/* VER4.1 */
119d722e3fbSopenharmony_ci#define YCbCr_SRC_COLORKEY_DR_MIN_REG	(0x072C)	/* VER4.1 */
120d722e3fbSopenharmony_ci#define YCbCr_SRC_COLORKEY_DR_MAX_REG	(0x0730)	/* VER4.1 */
121d722e3fbSopenharmony_ci/*Y CbCr dst Color Key */
122d722e3fbSopenharmony_ci#define YCbCr_DST_COLORKEY_CTRL_REG	(0x0734)	/* VER4.1 */
123d722e3fbSopenharmony_ci#define YCbCr_DST_COLORKEY_DR_MIN_REG	(0x0738)	/* VER4.1 */
124d722e3fbSopenharmony_ci#define YCbCr_DST_COLORKEY_DR_MAX_REG	(0x073C)	/* VER4.1 */
125d722e3fbSopenharmony_ci
126d722e3fbSopenharmony_ci#endif
127d722e3fbSopenharmony_ci
128