1bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/*
2bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae * Copyright (C) 2013 Samsung Electronics Co.Ltd
3bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae * Authors:
4bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae *	Inki Dae <inki.dae@samsung.com>
5bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae *
6bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae * This program is free software; you can redistribute  it and/or modify it
7bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae * under  the terms of  the GNU General  Public License as published by the
8bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae * Free Software Foundation;  either version 2 of the  License, or (at your
9bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae * option) any later version.
10bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae *
11bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae */
12bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
13bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#ifndef _FIMG2D_REG_H_
14bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define _FIMG2D_REG_H_
15bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
16bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SOFT_RESET_REG			(0x0000)
17bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define INTEN_REG			(0x0004)
1881b71e48e753ac3327a86e773f00d4955b6c21abTobias Jakobi#define INTC_PEND_REG			(0x000C)
19bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define FIFO_STAT_REG			(0x0010)
20bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define AXI_MODE_REG			(0x001C)
21bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DMA_SFR_BASE_ADDR_REG		(0x0080)
22bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DMA_COMMAND_REG			(0x0084)
23bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DMA_EXE_LIST_NUM_REG		(0x0088)
24bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DMA_STATUS_REG			(0x008C)
25bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DMA_HOLD_CMD_REG		(0x0090)
26bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
27bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* COMMAND REGISTER */
28bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define BITBLT_START_REG		(0x0100)
29bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define BITBLT_COMMAND_REG		(0x0104)
30bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define BLEND_FUNCTION_REG		(0x0108)	/* VER4.1 */
31bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define ROUND_MODE_REG			(0x010C)	/* VER4.1 */
32bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
33bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* PARAMETER SETTING REGISTER */
34bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define ROTATE_REG			(0x0200)
35bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_MASK_DIRECT_REG		(0x0204)
36bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_PAT_DIRECT_REG		(0x0208)
37bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
38bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* SOURCE */
39bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_SELECT_REG			(0x0300)
40bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_BASE_ADDR_REG		(0x0304)
41bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_STRIDE_REG			(0x0308)
42bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_COLOR_MODE_REG		(0x030c)
43bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_LEFT_TOP_REG		(0x0310)
44bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_RIGHT_BOTTOM_REG		(0x0314)
45bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_PLANE2_BASE_ADDR_REG	(0x0318)	/* VER4.1 */
46bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_REPEAT_MODE_REG		(0x031C)
47bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_PAD_VALUE_REG		(0x0320)
48bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_A8_RGB_EXT_REG		(0x0324)
49bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_SCALE_CTRL_REG		(0x0328)
50bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_XSCALE_REG			(0x032C)
51bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_YSCALE_REG			(0x0330)
52bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
53bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* DESTINATION */
54bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_SELECT_REG			(0x0400)
55bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_BASE_ADDR_REG		(0x0404)
56bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_STRIDE_REG			(0x0408)
57bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_COLOR_MODE_REG		(0x040C)
58bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_LEFT_TOP_REG		(0x0410)
59bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_RIGHT_BOTTOM_REG		(0x0414)
60bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_PLANE2_BASE_ADDR_REG	(0x0418)	/* VER4.1 */
61bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_A8_RGB_EXT_REG		(0x041C)
62bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
63bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* PATTERN */
64bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define PAT_BASE_ADDR_REG		(0x0500)
65bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define PAT_SIZE_REG			(0x0504)
66bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define PAT_COLOR_MODE_REG		(0x0508)
67bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define PAT_OFFSET_REG			(0x050C)
68bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define PAT_STRIDE_REG			(0x0510)
69bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
70bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* MASK	*/
71bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_BASE_ADDR_REG		(0x0520)
72bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_STRIDE_REG			(0x0524)
73bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_LEFT_TOP_REG		(0x0528)	/* VER4.1 */
74bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_RIGHT_BOTTOM_REG		(0x052C)	/* VER4.1 */
75bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_MODE_REG			(0x0530)	/* VER4.1 */
76bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_REPEAT_MODE_REG		(0x0534)
77bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_PAD_VALUE_REG		(0x0538)
78bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_SCALE_CTRL_REG		(0x053C)
79bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_XSCALE_REG			(0x0540)
80bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define MASK_YSCALE_REG			(0x0544)
81bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
82bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* CLIPPING WINDOW */
83bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define CW_LT_REG			(0x0600)
84bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define CW_RB_REG			(0x0604)
85bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
86bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* ROP & ALPHA SETTING */
87bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define THIRD_OPERAND_REG		(0x0610)
88bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define ROP4_REG			(0x0614)
89bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define ALPHA_REG			(0x0618)
90bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
91bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* COLOR SETTING */
92bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define FG_COLOR_REG			(0x0700)
93bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define BG_COLOR_REG			(0x0704)
94bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define BS_COLOR_REG			(0x0708)
95bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SF_COLOR_REG			(0x070C)	/* VER4.1 */
96bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
97bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* COLOR KEY */
98bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_COLORKEY_CTRL_REG		(0x0710)
99bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_COLORKEY_DR_MIN_REG		(0x0714)
100bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define SRC_COLORKEY_DR_MAX_REG		(0x0718)
101bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_COLORKEY_CTRL_REG		(0x071C)
102bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_COLORKEY_DR_MIN_REG		(0x0720)
103bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define DST_COLORKEY_DR_MAX_REG		(0x0724)
104bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/* YCbCr src Color Key */
105bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define YCbCr_SRC_COLORKEY_CTRL_REG	(0x0728)	/* VER4.1 */
106bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define YCbCr_SRC_COLORKEY_DR_MIN_REG	(0x072C)	/* VER4.1 */
107bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define YCbCr_SRC_COLORKEY_DR_MAX_REG	(0x0730)	/* VER4.1 */
108bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae/*Y CbCr dst Color Key */
109bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define YCbCr_DST_COLORKEY_CTRL_REG	(0x0734)	/* VER4.1 */
110bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define YCbCr_DST_COLORKEY_DR_MIN_REG	(0x0738)	/* VER4.1 */
111bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#define YCbCr_DST_COLORKEY_DR_MAX_REG	(0x073C)	/* VER4.1 */
112bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
113bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae#endif
114bbf6e3dea3c79ea8e0c3e1dd8f80014201e003fcInki Dae
115