1d722e3fbSopenharmony_ci#ifndef STATE_2D_XML
2d722e3fbSopenharmony_ci#define STATE_2D_XML
3d722e3fbSopenharmony_ci
4d722e3fbSopenharmony_ci/* Autogenerated file, DO NOT EDIT manually!
5d722e3fbSopenharmony_ci
6d722e3fbSopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository:
7d722e3fbSopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng
8d722e3fbSopenharmony_cigit clone git://0x04.net/rules-ng-ng
9d722e3fbSopenharmony_ci
10d722e3fbSopenharmony_ciThe rules-ng-ng source files this header was generated from are:
11d722e3fbSopenharmony_ci- state.xml     (  18940 bytes, from 2016-09-06 14:14:12)
12d722e3fbSopenharmony_ci- common.xml    (  20583 bytes, from 2016-09-06 14:14:12)
13d722e3fbSopenharmony_ci- state_hi.xml  (  25653 bytes, from 2016-09-06 14:45:17)
14d722e3fbSopenharmony_ci- copyright.xml (   1597 bytes, from 2016-09-06 14:44:16)
15d722e3fbSopenharmony_ci- state_2d.xml  (  51552 bytes, from 2016-09-06 14:44:16)
16d722e3fbSopenharmony_ci- state_3d.xml  (  54603 bytes, from 2016-09-06 14:44:16)
17d722e3fbSopenharmony_ci- state_vg.xml  (   5975 bytes, from 2016-09-06 14:44:16)
18d722e3fbSopenharmony_ci
19d722e3fbSopenharmony_ciCopyright (C) 2012-2016 by the following authors:
20d722e3fbSopenharmony_ci- Wladimir J. van der Laan <laanwj@gmail.com>
21d722e3fbSopenharmony_ci- Christian Gmeiner <christian.gmeiner@gmail.com>
22d722e3fbSopenharmony_ci- Lucas Stach <l.stach@pengutronix.de>
23d722e3fbSopenharmony_ci- Russell King <rmk@arm.linux.org.uk>
24d722e3fbSopenharmony_ci
25d722e3fbSopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a
26d722e3fbSopenharmony_cicopy of this software and associated documentation files (the "Software"),
27d722e3fbSopenharmony_cito deal in the Software without restriction, including without limitation
28d722e3fbSopenharmony_cithe rights to use, copy, modify, merge, publish, distribute, sub license,
29d722e3fbSopenharmony_ciand/or sell copies of the Software, and to permit persons to whom the
30d722e3fbSopenharmony_ciSoftware is furnished to do so, subject to the following conditions:
31d722e3fbSopenharmony_ci
32d722e3fbSopenharmony_ciThe above copyright notice and this permission notice (including the
33d722e3fbSopenharmony_cinext paragraph) shall be included in all copies or substantial portions
34d722e3fbSopenharmony_ciof the Software.
35d722e3fbSopenharmony_ci
36d722e3fbSopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37d722e3fbSopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
38d722e3fbSopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
39d722e3fbSopenharmony_ciTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
40d722e3fbSopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41d722e3fbSopenharmony_ciFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
42d722e3fbSopenharmony_ciDEALINGS IN THE SOFTWARE.
43d722e3fbSopenharmony_ci*/
44d722e3fbSopenharmony_ci
45d722e3fbSopenharmony_ci
46d722e3fbSopenharmony_ci#define DE_FORMAT_X4R4G4B4					0x00000000
47d722e3fbSopenharmony_ci#define DE_FORMAT_A4R4G4B4					0x00000001
48d722e3fbSopenharmony_ci#define DE_FORMAT_X1R5G5B5					0x00000002
49d722e3fbSopenharmony_ci#define DE_FORMAT_A1R5G5B5					0x00000003
50d722e3fbSopenharmony_ci#define DE_FORMAT_R5G6B5					0x00000004
51d722e3fbSopenharmony_ci#define DE_FORMAT_X8R8G8B8					0x00000005
52d722e3fbSopenharmony_ci#define DE_FORMAT_A8R8G8B8					0x00000006
53d722e3fbSopenharmony_ci#define DE_FORMAT_YUY2						0x00000007
54d722e3fbSopenharmony_ci#define DE_FORMAT_UYVY						0x00000008
55d722e3fbSopenharmony_ci#define DE_FORMAT_INDEX8					0x00000009
56d722e3fbSopenharmony_ci#define DE_FORMAT_MONOCHROME					0x0000000a
57d722e3fbSopenharmony_ci#define DE_FORMAT_YV12						0x0000000f
58d722e3fbSopenharmony_ci#define DE_FORMAT_A8						0x00000010
59d722e3fbSopenharmony_ci#define DE_FORMAT_NV12						0x00000011
60d722e3fbSopenharmony_ci#define DE_FORMAT_NV16						0x00000012
61d722e3fbSopenharmony_ci#define DE_FORMAT_RG16						0x00000013
62d722e3fbSopenharmony_ci#define DE_SWIZZLE_ARGB						0x00000000
63d722e3fbSopenharmony_ci#define DE_SWIZZLE_RGBA						0x00000001
64d722e3fbSopenharmony_ci#define DE_SWIZZLE_ABGR						0x00000002
65d722e3fbSopenharmony_ci#define DE_SWIZZLE_BGRA						0x00000003
66d722e3fbSopenharmony_ci#define DE_BLENDMODE_ZERO					0x00000000
67d722e3fbSopenharmony_ci#define DE_BLENDMODE_ONE					0x00000001
68d722e3fbSopenharmony_ci#define DE_BLENDMODE_NORMAL					0x00000002
69d722e3fbSopenharmony_ci#define DE_BLENDMODE_INVERSED					0x00000003
70d722e3fbSopenharmony_ci#define DE_BLENDMODE_COLOR					0x00000004
71d722e3fbSopenharmony_ci#define DE_BLENDMODE_COLOR_INVERSED				0x00000005
72d722e3fbSopenharmony_ci#define DE_BLENDMODE_SATURATED_ALPHA				0x00000006
73d722e3fbSopenharmony_ci#define DE_BLENDMODE_SATURATED_DEST_ALPHA			0x00000007
74d722e3fbSopenharmony_ci#define DE_COMPONENT_BLUE					0x00000000
75d722e3fbSopenharmony_ci#define DE_COMPONENT_GREEN					0x00000001
76d722e3fbSopenharmony_ci#define DE_COMPONENT_RED					0x00000002
77d722e3fbSopenharmony_ci#define DE_COMPONENT_ALPHA					0x00000003
78d722e3fbSopenharmony_ci#define DE_ROT_MODE_ROT0					0x00000000
79d722e3fbSopenharmony_ci#define DE_ROT_MODE_FLIP_X					0x00000001
80d722e3fbSopenharmony_ci#define DE_ROT_MODE_FLIP_Y					0x00000002
81d722e3fbSopenharmony_ci#define DE_ROT_MODE_ROT90					0x00000004
82d722e3fbSopenharmony_ci#define DE_ROT_MODE_ROT180					0x00000005
83d722e3fbSopenharmony_ci#define DE_ROT_MODE_ROT270					0x00000006
84d722e3fbSopenharmony_ci#define DE_MIRROR_MODE_NONE					0x00000000
85d722e3fbSopenharmony_ci#define DE_MIRROR_MODE_MIRROR_X					0x00000001
86d722e3fbSopenharmony_ci#define DE_MIRROR_MODE_MIRROR_Y					0x00000002
87d722e3fbSopenharmony_ci#define DE_MIRROR_MODE_MIRROR_XY				0x00000003
88d722e3fbSopenharmony_ci#define DE_COLOR_BLUE__MASK					0x000000ff
89d722e3fbSopenharmony_ci#define DE_COLOR_BLUE__SHIFT					0
90d722e3fbSopenharmony_ci#define DE_COLOR_BLUE(x)					(((x) << DE_COLOR_BLUE__SHIFT) & DE_COLOR_BLUE__MASK)
91d722e3fbSopenharmony_ci#define DE_COLOR_GREEN__MASK					0x0000ff00
92d722e3fbSopenharmony_ci#define DE_COLOR_GREEN__SHIFT					8
93d722e3fbSopenharmony_ci#define DE_COLOR_GREEN(x)					(((x) << DE_COLOR_GREEN__SHIFT) & DE_COLOR_GREEN__MASK)
94d722e3fbSopenharmony_ci#define DE_COLOR_RED__MASK					0x00ff0000
95d722e3fbSopenharmony_ci#define DE_COLOR_RED__SHIFT					16
96d722e3fbSopenharmony_ci#define DE_COLOR_RED(x)						(((x) << DE_COLOR_RED__SHIFT) & DE_COLOR_RED__MASK)
97d722e3fbSopenharmony_ci#define DE_COLOR_ALPHA__MASK					0xff000000
98d722e3fbSopenharmony_ci#define DE_COLOR_ALPHA__SHIFT					24
99d722e3fbSopenharmony_ci#define DE_COLOR_ALPHA(x)					(((x) << DE_COLOR_ALPHA__SHIFT) & DE_COLOR_ALPHA__MASK)
100d722e3fbSopenharmony_ci#define VIVS_DE							0x00000000
101d722e3fbSopenharmony_ci
102d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ADDRESS					0x00001200
103d722e3fbSopenharmony_ci
104d722e3fbSopenharmony_ci#define VIVS_DE_SRC_STRIDE					0x00001204
105d722e3fbSopenharmony_ci#define VIVS_DE_SRC_STRIDE_STRIDE__MASK				0x0003ffff
106d722e3fbSopenharmony_ci#define VIVS_DE_SRC_STRIDE_STRIDE__SHIFT			0
107d722e3fbSopenharmony_ci#define VIVS_DE_SRC_STRIDE_STRIDE(x)				(((x) << VIVS_DE_SRC_STRIDE_STRIDE__SHIFT) & VIVS_DE_SRC_STRIDE_STRIDE__MASK)
108d722e3fbSopenharmony_ci
109d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG				0x00001208
110d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG_WIDTH__MASK			0x0000ffff
111d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG_WIDTH__SHIFT		0
112d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG_WIDTH(x)			(((x) << VIVS_DE_SRC_ROTATION_CONFIG_WIDTH__SHIFT) & VIVS_DE_SRC_ROTATION_CONFIG_WIDTH__MASK)
113d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG_ROTATION__MASK		0x00010000
114d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG_ROTATION__SHIFT		16
115d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG_ROTATION_DISABLE		0x00000000
116d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_CONFIG_ROTATION_ENABLE		0x00010000
117d722e3fbSopenharmony_ci
118d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG					0x0000120c
119d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PE10_SOURCE_FORMAT__MASK		0x0000000f
120d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PE10_SOURCE_FORMAT__SHIFT		0
121d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PE10_SOURCE_FORMAT(x)		(((x) << VIVS_DE_SRC_CONFIG_PE10_SOURCE_FORMAT__SHIFT) & VIVS_DE_SRC_CONFIG_PE10_SOURCE_FORMAT__MASK)
122d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_TRANSPARENCY__MASK			0x00000030
123d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_TRANSPARENCY__SHIFT			4
124d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_TRANSPARENCY(x)			(((x) << VIVS_DE_SRC_CONFIG_TRANSPARENCY__SHIFT) & VIVS_DE_SRC_CONFIG_TRANSPARENCY__MASK)
125d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SRC_RELATIVE__MASK			0x00000040
126d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SRC_RELATIVE__SHIFT			6
127d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SRC_RELATIVE_ABSOLUTE		0x00000000
128d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SRC_RELATIVE_RELATIVE		0x00000040
129d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_TILED__MASK				0x00000080
130d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_TILED__SHIFT				7
131d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_TILED_DISABLE			0x00000000
132d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_TILED_ENABLE				0x00000080
133d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_LOCATION__MASK			0x00000100
134d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_LOCATION__SHIFT			8
135d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_LOCATION_MEMORY			0x00000000
136d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_LOCATION_STREAM			0x00000100
137d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PACK__MASK				0x00003000
138d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PACK__SHIFT				12
139d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PACK_PACKED8				0x00000000
140d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PACK_PACKED16			0x00001000
141d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PACK_PACKED32			0x00002000
142d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_PACK_UNPACKED			0x00003000
143d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_MONO_TRANSPARENCY__MASK		0x00008000
144d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_MONO_TRANSPARENCY__SHIFT		15
145d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_MONO_TRANSPARENCY_BACKGROUND		0x00000000
146d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_MONO_TRANSPARENCY_FOREGROUND		0x00008000
147d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_UNK16				0x00010000
148d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SWIZZLE__MASK			0x00300000
149d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SWIZZLE__SHIFT			20
150d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SWIZZLE(x)				(((x) << VIVS_DE_SRC_CONFIG_SWIZZLE__SHIFT) & VIVS_DE_SRC_CONFIG_SWIZZLE__MASK)
151d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SOURCE_FORMAT__MASK			0x1f000000
152d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SOURCE_FORMAT__SHIFT			24
153d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_SOURCE_FORMAT(x)			(((x) << VIVS_DE_SRC_CONFIG_SOURCE_FORMAT__SHIFT) & VIVS_DE_SRC_CONFIG_SOURCE_FORMAT__MASK)
154d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_DISABLE420_L2_CACHE			0x20000000
155d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_ENDIAN_CONTROL__MASK			0xc0000000
156d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_ENDIAN_CONTROL__SHIFT		30
157d722e3fbSopenharmony_ci#define VIVS_DE_SRC_CONFIG_ENDIAN_CONTROL(x)			(((x) << VIVS_DE_SRC_CONFIG_ENDIAN_CONTROL__SHIFT) & VIVS_DE_SRC_CONFIG_ENDIAN_CONTROL__MASK)
158d722e3fbSopenharmony_ci
159d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN					0x00001210
160d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_X__MASK				0x0000ffff
161d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_X__SHIFT				0
162d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_X(x)					(((x) << VIVS_DE_SRC_ORIGIN_X__SHIFT) & VIVS_DE_SRC_ORIGIN_X__MASK)
163d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_Y__MASK				0xffff0000
164d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_Y__SHIFT				16
165d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_Y(x)					(((x) << VIVS_DE_SRC_ORIGIN_Y__SHIFT) & VIVS_DE_SRC_ORIGIN_Y__MASK)
166d722e3fbSopenharmony_ci
167d722e3fbSopenharmony_ci#define VIVS_DE_SRC_SIZE					0x00001214
168d722e3fbSopenharmony_ci#define VIVS_DE_SRC_SIZE_X__MASK				0x0000ffff
169d722e3fbSopenharmony_ci#define VIVS_DE_SRC_SIZE_X__SHIFT				0
170d722e3fbSopenharmony_ci#define VIVS_DE_SRC_SIZE_X(x)					(((x) << VIVS_DE_SRC_SIZE_X__SHIFT) & VIVS_DE_SRC_SIZE_X__MASK)
171d722e3fbSopenharmony_ci#define VIVS_DE_SRC_SIZE_Y__MASK				0xffff0000
172d722e3fbSopenharmony_ci#define VIVS_DE_SRC_SIZE_Y__SHIFT				16
173d722e3fbSopenharmony_ci#define VIVS_DE_SRC_SIZE_Y(x)					(((x) << VIVS_DE_SRC_SIZE_Y__SHIFT) & VIVS_DE_SRC_SIZE_Y__MASK)
174d722e3fbSopenharmony_ci
175d722e3fbSopenharmony_ci#define VIVS_DE_SRC_COLOR_BG					0x00001218
176d722e3fbSopenharmony_ci
177d722e3fbSopenharmony_ci#define VIVS_DE_SRC_COLOR_FG					0x0000121c
178d722e3fbSopenharmony_ci
179d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_LOW				0x00001220
180d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_LOW_X__MASK			0x7fffffff
181d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_LOW_X__SHIFT			0
182d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_LOW_X(x)				(((x) << VIVS_DE_STRETCH_FACTOR_LOW_X__SHIFT) & VIVS_DE_STRETCH_FACTOR_LOW_X__MASK)
183d722e3fbSopenharmony_ci
184d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_HIGH				0x00001224
185d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_HIGH_Y__MASK			0x7fffffff
186d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_HIGH_Y__SHIFT			0
187d722e3fbSopenharmony_ci#define VIVS_DE_STRETCH_FACTOR_HIGH_Y(x)			(((x) << VIVS_DE_STRETCH_FACTOR_HIGH_Y__SHIFT) & VIVS_DE_STRETCH_FACTOR_HIGH_Y__MASK)
188d722e3fbSopenharmony_ci
189d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ADDRESS					0x00001228
190d722e3fbSopenharmony_ci
191d722e3fbSopenharmony_ci#define VIVS_DE_DEST_STRIDE					0x0000122c
192d722e3fbSopenharmony_ci#define VIVS_DE_DEST_STRIDE_STRIDE__MASK			0x0003ffff
193d722e3fbSopenharmony_ci#define VIVS_DE_DEST_STRIDE_STRIDE__SHIFT			0
194d722e3fbSopenharmony_ci#define VIVS_DE_DEST_STRIDE_STRIDE(x)				(((x) << VIVS_DE_DEST_STRIDE_STRIDE__SHIFT) & VIVS_DE_DEST_STRIDE_STRIDE__MASK)
195d722e3fbSopenharmony_ci
196d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG				0x00001230
197d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG_WIDTH__MASK		0x0000ffff
198d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG_WIDTH__SHIFT		0
199d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG_WIDTH(x)			(((x) << VIVS_DE_DEST_ROTATION_CONFIG_WIDTH__SHIFT) & VIVS_DE_DEST_ROTATION_CONFIG_WIDTH__MASK)
200d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG_ROTATION__MASK		0x00010000
201d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG_ROTATION__SHIFT		16
202d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG_ROTATION_DISABLE		0x00000000
203d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_CONFIG_ROTATION_ENABLE		0x00010000
204d722e3fbSopenharmony_ci
205d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG					0x00001234
206d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_FORMAT__MASK			0x0000001f
207d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_FORMAT__SHIFT			0
208d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_FORMAT(x)				(((x) << VIVS_DE_DEST_CONFIG_FORMAT__SHIFT) & VIVS_DE_DEST_CONFIG_FORMAT__MASK)
209d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_TILED__MASK				0x00000100
210d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_TILED__SHIFT			8
211d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_TILED_DISABLE			0x00000000
212d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_TILED_ENABLE			0x00000100
213d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND__MASK			0x0000f000
214d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND__SHIFT			12
215d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_CLEAR			0x00000000
216d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_LINE			0x00001000
217d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_BIT_BLT			0x00002000
218d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_BIT_BLT_REVERSED		0x00003000
219d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_STRETCH_BLT			0x00004000
220d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_HOR_FILTER_BLT		0x00005000
221d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_VER_FILTER_BLT		0x00006000
222d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_ONE_PASS_FILTER_BLT		0x00007000
223d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_COMMAND_MULTI_SOURCE_BLT		0x00008000
224d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_SWIZZLE__MASK			0x00030000
225d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_SWIZZLE__SHIFT			16
226d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_SWIZZLE(x)				(((x) << VIVS_DE_DEST_CONFIG_SWIZZLE__SHIFT) & VIVS_DE_DEST_CONFIG_SWIZZLE__MASK)
227d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_ENDIAN_CONTROL__MASK		0x00300000
228d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_ENDIAN_CONTROL__SHIFT		20
229d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_ENDIAN_CONTROL(x)			(((x) << VIVS_DE_DEST_CONFIG_ENDIAN_CONTROL__SHIFT) & VIVS_DE_DEST_CONFIG_ENDIAN_CONTROL__MASK)
230d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_GDI_STRE__MASK			0x01000000
231d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_GDI_STRE__SHIFT			24
232d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_GDI_STRE_DISABLE			0x00000000
233d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_GDI_STRE_ENABLE			0x01000000
234d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_INTER_TILE_PER_FIX__MASK		0x02000000
235d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_INTER_TILE_PER_FIX__SHIFT		25
236d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_INTER_TILE_PER_FIX_DISABLED		0x02000000
237d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_INTER_TILE_PER_FIX_ENABLED		0x00000000
238d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_MINOR_TILED__MASK			0x04000000
239d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_MINOR_TILED__SHIFT			26
240d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_MINOR_TILED_DISABLE			0x00000000
241d722e3fbSopenharmony_ci#define VIVS_DE_DEST_CONFIG_MINOR_TILED_ENABLE			0x04000000
242d722e3fbSopenharmony_ci
243d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_ADDRESS					0x00001238
244d722e3fbSopenharmony_ci
245d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG					0x0000123c
246d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_FORMAT__MASK			0x0000000f
247d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_FORMAT__SHIFT			0
248d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_FORMAT(x)			(((x) << VIVS_DE_PATTERN_CONFIG_FORMAT__SHIFT) & VIVS_DE_PATTERN_CONFIG_FORMAT__MASK)
249d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_TYPE__MASK			0x00000010
250d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_TYPE__SHIFT			4
251d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_TYPE_SOLID_COLOR			0x00000000
252d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_TYPE_PATTERN			0x00000010
253d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_COLOR_CONVERT__MASK		0x00000020
254d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_COLOR_CONVERT__SHIFT		5
255d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_COLOR_CONVERT_DISABLE		0x00000000
256d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_COLOR_CONVERT_ENABLE		0x00000020
257d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_INIT_TRIGGER__MASK		0x000000c0
258d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_INIT_TRIGGER__SHIFT		6
259d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_INIT_TRIGGER(x)			(((x) << VIVS_DE_PATTERN_CONFIG_INIT_TRIGGER__SHIFT) & VIVS_DE_PATTERN_CONFIG_INIT_TRIGGER__MASK)
260d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_ORIGIN_X__MASK			0x00070000
261d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_ORIGIN_X__SHIFT			16
262d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_ORIGIN_X(x)			(((x) << VIVS_DE_PATTERN_CONFIG_ORIGIN_X__SHIFT) & VIVS_DE_PATTERN_CONFIG_ORIGIN_X__MASK)
263d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_ORIGIN_Y__MASK			0x00700000
264d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_ORIGIN_Y__SHIFT			20
265d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_CONFIG_ORIGIN_Y(x)			(((x) << VIVS_DE_PATTERN_CONFIG_ORIGIN_Y__SHIFT) & VIVS_DE_PATTERN_CONFIG_ORIGIN_Y__MASK)
266d722e3fbSopenharmony_ci
267d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_LOW					0x00001240
268d722e3fbSopenharmony_ci
269d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_HIGH					0x00001244
270d722e3fbSopenharmony_ci
271d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_MASK_LOW				0x00001248
272d722e3fbSopenharmony_ci
273d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_MASK_HIGH				0x0000124c
274d722e3fbSopenharmony_ci
275d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_BG_COLOR				0x00001250
276d722e3fbSopenharmony_ci
277d722e3fbSopenharmony_ci#define VIVS_DE_PATTERN_FG_COLOR				0x00001254
278d722e3fbSopenharmony_ci
279d722e3fbSopenharmony_ci#define VIVS_DE_ROP						0x0000125c
280d722e3fbSopenharmony_ci#define VIVS_DE_ROP_ROP_FG__MASK				0x000000ff
281d722e3fbSopenharmony_ci#define VIVS_DE_ROP_ROP_FG__SHIFT				0
282d722e3fbSopenharmony_ci#define VIVS_DE_ROP_ROP_FG(x)					(((x) << VIVS_DE_ROP_ROP_FG__SHIFT) & VIVS_DE_ROP_ROP_FG__MASK)
283d722e3fbSopenharmony_ci#define VIVS_DE_ROP_ROP_BG__MASK				0x0000ff00
284d722e3fbSopenharmony_ci#define VIVS_DE_ROP_ROP_BG__SHIFT				8
285d722e3fbSopenharmony_ci#define VIVS_DE_ROP_ROP_BG(x)					(((x) << VIVS_DE_ROP_ROP_BG__SHIFT) & VIVS_DE_ROP_ROP_BG__MASK)
286d722e3fbSopenharmony_ci#define VIVS_DE_ROP_TYPE__MASK					0x00300000
287d722e3fbSopenharmony_ci#define VIVS_DE_ROP_TYPE__SHIFT					20
288d722e3fbSopenharmony_ci#define VIVS_DE_ROP_TYPE_ROP2_PATTERN				0x00000000
289d722e3fbSopenharmony_ci#define VIVS_DE_ROP_TYPE_ROP2_SOURCE				0x00100000
290d722e3fbSopenharmony_ci#define VIVS_DE_ROP_TYPE_ROP3					0x00200000
291d722e3fbSopenharmony_ci#define VIVS_DE_ROP_TYPE_ROP4					0x00300000
292d722e3fbSopenharmony_ci
293d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_TOP_LEFT					0x00001260
294d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_TOP_LEFT_X__MASK				0x00007fff
295d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_TOP_LEFT_X__SHIFT				0
296d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_TOP_LEFT_X(x)				(((x) << VIVS_DE_CLIP_TOP_LEFT_X__SHIFT) & VIVS_DE_CLIP_TOP_LEFT_X__MASK)
297d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_TOP_LEFT_Y__MASK				0x7fff0000
298d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_TOP_LEFT_Y__SHIFT				16
299d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_TOP_LEFT_Y(x)				(((x) << VIVS_DE_CLIP_TOP_LEFT_Y__SHIFT) & VIVS_DE_CLIP_TOP_LEFT_Y__MASK)
300d722e3fbSopenharmony_ci
301d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_BOTTOM_RIGHT				0x00001264
302d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_BOTTOM_RIGHT_X__MASK			0x00007fff
303d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_BOTTOM_RIGHT_X__SHIFT			0
304d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_BOTTOM_RIGHT_X(x)				(((x) << VIVS_DE_CLIP_BOTTOM_RIGHT_X__SHIFT) & VIVS_DE_CLIP_BOTTOM_RIGHT_X__MASK)
305d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_BOTTOM_RIGHT_Y__MASK			0x7fff0000
306d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_BOTTOM_RIGHT_Y__SHIFT			16
307d722e3fbSopenharmony_ci#define VIVS_DE_CLIP_BOTTOM_RIGHT_Y(x)				(((x) << VIVS_DE_CLIP_BOTTOM_RIGHT_Y__SHIFT) & VIVS_DE_CLIP_BOTTOM_RIGHT_Y__MASK)
308d722e3fbSopenharmony_ci
309d722e3fbSopenharmony_ci#define VIVS_DE_CLEAR_BYTE_MASK					0x00001268
310d722e3fbSopenharmony_ci
311d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG						0x0000126c
312d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_ENABLE__MASK			0x00000001
313d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_ENABLE__SHIFT			0
314d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_ENABLE_OFF			0x00000000
315d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_ENABLE_ON			0x00000001
316d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_MODE__MASK			0x00000030
317d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_MODE__SHIFT			4
318d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_MODE_NORMAL			0x00000000
319d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_MODE_HMIRROR			0x00000010
320d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_MODE_VMIRROR			0x00000020
321d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_MIRROR_BLT_MODE_FULL_MIRROR		0x00000030
322d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_SOURCE_SELECT__MASK			0x00070000
323d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_SOURCE_SELECT__SHIFT			16
324d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_SOURCE_SELECT(x)				(((x) << VIVS_DE_CONFIG_SOURCE_SELECT__SHIFT) & VIVS_DE_CONFIG_SOURCE_SELECT__MASK)
325d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_DESTINATION_SELECT__MASK			0x00300000
326d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_DESTINATION_SELECT__SHIFT		20
327d722e3fbSopenharmony_ci#define VIVS_DE_CONFIG_DESTINATION_SELECT(x)			(((x) << VIVS_DE_CONFIG_DESTINATION_SELECT__SHIFT) & VIVS_DE_CONFIG_DESTINATION_SELECT__MASK)
328d722e3fbSopenharmony_ci
329d722e3fbSopenharmony_ci#define VIVS_DE_CLEAR_PIXEL_VALUE_LOW				0x00001270
330d722e3fbSopenharmony_ci
331d722e3fbSopenharmony_ci#define VIVS_DE_CLEAR_PIXEL_VALUE_HIGH				0x00001274
332d722e3fbSopenharmony_ci
333d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_FRACTION				0x00001278
334d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_FRACTION_X__MASK			0x0000ffff
335d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_FRACTION_X__SHIFT			0
336d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_FRACTION_X(x)			(((x) << VIVS_DE_SRC_ORIGIN_FRACTION_X__SHIFT) & VIVS_DE_SRC_ORIGIN_FRACTION_X__MASK)
337d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_FRACTION_Y__MASK			0xffff0000
338d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_FRACTION_Y__SHIFT			16
339d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ORIGIN_FRACTION_Y(x)			(((x) << VIVS_DE_SRC_ORIGIN_FRACTION_Y__SHIFT) & VIVS_DE_SRC_ORIGIN_FRACTION_Y__MASK)
340d722e3fbSopenharmony_ci
341d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL					0x0000127c
342d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_ENABLE__MASK			0x00000001
343d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_ENABLE__SHIFT			0
344d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_ENABLE_OFF			0x00000000
345d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_ENABLE_ON				0x00000001
346d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__MASK	0x00ff0000
347d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__SHIFT	16
348d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA(x)		(((x) << VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__SHIFT) & VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__MASK)
349d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__MASK	0xff000000
350d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__SHIFT	24
351d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA(x)		(((x) << VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__SHIFT) & VIVS_DE_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__MASK)
352d722e3fbSopenharmony_ci
353d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES					0x00001280
354d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_MODE__MASK		0x00000001
355d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_MODE__SHIFT		0
356d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_MODE_NORMAL		0x00000000
357d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_MODE_INVERSED		0x00000001
358d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_MODE__MASK		0x00000010
359d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_MODE__SHIFT		4
360d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_MODE_NORMAL		0x00000000
361d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_MODE_INVERSED		0x00000010
362d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE__MASK		0x00000300
363d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE__SHIFT	8
364d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_NORMAL	0x00000000
365d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_GLOBAL	0x00000100
366d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_SCALED	0x00000200
367d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE__MASK		0x00003000
368d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE__SHIFT	12
369d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_NORMAL	0x00000000
370d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_GLOBAL	0x00001000
371d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_SCALED	0x00002000
372d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY__MASK	0x00010000
373d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY__SHIFT	16
374d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY_DISABLE	0x00000000
375d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY_ENABLE	0x00010000
376d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY__MASK	0x00100000
377d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY__SHIFT	20
378d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY_DISABLE	0x00000000
379d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY_ENABLE	0x00100000
380d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_BLENDING_MODE__MASK		0x07000000
381d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_BLENDING_MODE__SHIFT		24
382d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_BLENDING_MODE(x)		(((x) << VIVS_DE_ALPHA_MODES_SRC_BLENDING_MODE__SHIFT) & VIVS_DE_ALPHA_MODES_SRC_BLENDING_MODE__MASK)
383d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_FACTOR__MASK		0x08000000
384d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_FACTOR__SHIFT		27
385d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_FACTOR_DISABLE		0x00000000
386d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_SRC_ALPHA_FACTOR_ENABLE		0x08000000
387d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_BLENDING_MODE__MASK		0x70000000
388d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_BLENDING_MODE__SHIFT		28
389d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_BLENDING_MODE(x)		(((x) << VIVS_DE_ALPHA_MODES_DST_BLENDING_MODE__SHIFT) & VIVS_DE_ALPHA_MODES_DST_BLENDING_MODE__MASK)
390d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_FACTOR__MASK		0x80000000
391d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_FACTOR__SHIFT		31
392d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_FACTOR_DISABLE		0x00000000
393d722e3fbSopenharmony_ci#define VIVS_DE_ALPHA_MODES_DST_ALPHA_FACTOR_ENABLE		0x80000000
394d722e3fbSopenharmony_ci
395d722e3fbSopenharmony_ci#define VIVS_DE_UPLANE_ADDRESS					0x00001284
396d722e3fbSopenharmony_ci
397d722e3fbSopenharmony_ci#define VIVS_DE_UPLANE_STRIDE					0x00001288
398d722e3fbSopenharmony_ci#define VIVS_DE_UPLANE_STRIDE_STRIDE__MASK			0x0003ffff
399d722e3fbSopenharmony_ci#define VIVS_DE_UPLANE_STRIDE_STRIDE__SHIFT			0
400d722e3fbSopenharmony_ci#define VIVS_DE_UPLANE_STRIDE_STRIDE(x)				(((x) << VIVS_DE_UPLANE_STRIDE_STRIDE__SHIFT) & VIVS_DE_UPLANE_STRIDE_STRIDE__MASK)
401d722e3fbSopenharmony_ci
402d722e3fbSopenharmony_ci#define VIVS_DE_VPLANE_ADDRESS					0x0000128c
403d722e3fbSopenharmony_ci
404d722e3fbSopenharmony_ci#define VIVS_DE_VPLANE_STRIDE					0x00001290
405d722e3fbSopenharmony_ci#define VIVS_DE_VPLANE_STRIDE_STRIDE__MASK			0x0003ffff
406d722e3fbSopenharmony_ci#define VIVS_DE_VPLANE_STRIDE_STRIDE__SHIFT			0
407d722e3fbSopenharmony_ci#define VIVS_DE_VPLANE_STRIDE_STRIDE(x)				(((x) << VIVS_DE_VPLANE_STRIDE_STRIDE__SHIFT) & VIVS_DE_VPLANE_STRIDE_STRIDE__MASK)
408d722e3fbSopenharmony_ci
409d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG					0x00001294
410d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_START__MASK				0x00000003
411d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_START__SHIFT				0
412d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_START_HORIZONTAL_BLIT			0x00000000
413d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_START_VERTICAL_BLIT			0x00000001
414d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_START_ONE_PASS_BLIT			0x00000002
415d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_START_MASK				0x00000008
416d722e3fbSopenharmony_ci
417d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_LOW				0x00001298
418d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_LOW_LEFT__MASK			0x0000ffff
419d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_LOW_LEFT__SHIFT			0
420d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_LOW_LEFT(x)			(((x) << VIVS_DE_VR_SOURCE_IMAGE_LOW_LEFT__SHIFT) & VIVS_DE_VR_SOURCE_IMAGE_LOW_LEFT__MASK)
421d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_LOW_TOP__MASK			0xffff0000
422d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_LOW_TOP__SHIFT			16
423d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_LOW_TOP(x)			(((x) << VIVS_DE_VR_SOURCE_IMAGE_LOW_TOP__SHIFT) & VIVS_DE_VR_SOURCE_IMAGE_LOW_TOP__MASK)
424d722e3fbSopenharmony_ci
425d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_HIGH				0x0000129c
426d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_HIGH_RIGHT__MASK		0x0000ffff
427d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_HIGH_RIGHT__SHIFT		0
428d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_HIGH_RIGHT(x)			(((x) << VIVS_DE_VR_SOURCE_IMAGE_HIGH_RIGHT__SHIFT) & VIVS_DE_VR_SOURCE_IMAGE_HIGH_RIGHT__MASK)
429d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_HIGH_BOTTOM__MASK		0xffff0000
430d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_HIGH_BOTTOM__SHIFT		16
431d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_IMAGE_HIGH_BOTTOM(x)			(((x) << VIVS_DE_VR_SOURCE_IMAGE_HIGH_BOTTOM__SHIFT) & VIVS_DE_VR_SOURCE_IMAGE_HIGH_BOTTOM__MASK)
432d722e3fbSopenharmony_ci
433d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_LOW				0x000012a0
434d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_LOW_X__MASK			0xffffffff
435d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_LOW_X__SHIFT			0
436d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_LOW_X(x)			(((x) << VIVS_DE_VR_SOURCE_ORIGIN_LOW_X__SHIFT) & VIVS_DE_VR_SOURCE_ORIGIN_LOW_X__MASK)
437d722e3fbSopenharmony_ci
438d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_HIGH				0x000012a4
439d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_HIGH_Y__MASK			0xffffffff
440d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_HIGH_Y__SHIFT			0
441d722e3fbSopenharmony_ci#define VIVS_DE_VR_SOURCE_ORIGIN_HIGH_Y(x)			(((x) << VIVS_DE_VR_SOURCE_ORIGIN_HIGH_Y__SHIFT) & VIVS_DE_VR_SOURCE_ORIGIN_HIGH_Y__MASK)
442d722e3fbSopenharmony_ci
443d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_LOW				0x000012a8
444d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_LOW_LEFT__MASK			0x0000ffff
445d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_LOW_LEFT__SHIFT		0
446d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_LOW_LEFT(x)			(((x) << VIVS_DE_VR_TARGET_WINDOW_LOW_LEFT__SHIFT) & VIVS_DE_VR_TARGET_WINDOW_LOW_LEFT__MASK)
447d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_LOW_TOP__MASK			0xffff0000
448d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_LOW_TOP__SHIFT			16
449d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_LOW_TOP(x)			(((x) << VIVS_DE_VR_TARGET_WINDOW_LOW_TOP__SHIFT) & VIVS_DE_VR_TARGET_WINDOW_LOW_TOP__MASK)
450d722e3fbSopenharmony_ci
451d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_HIGH				0x000012ac
452d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_HIGH_RIGHT__MASK		0x0000ffff
453d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_HIGH_RIGHT__SHIFT		0
454d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_HIGH_RIGHT(x)			(((x) << VIVS_DE_VR_TARGET_WINDOW_HIGH_RIGHT__SHIFT) & VIVS_DE_VR_TARGET_WINDOW_HIGH_RIGHT__MASK)
455d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_HIGH_BOTTOM__MASK		0xffff0000
456d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_HIGH_BOTTOM__SHIFT		16
457d722e3fbSopenharmony_ci#define VIVS_DE_VR_TARGET_WINDOW_HIGH_BOTTOM(x)			(((x) << VIVS_DE_VR_TARGET_WINDOW_HIGH_BOTTOM__SHIFT) & VIVS_DE_VR_TARGET_WINDOW_HIGH_BOTTOM__MASK)
458d722e3fbSopenharmony_ci
459d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONFIG					0x000012b0
460d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONFIG_DESTINATION_FETCH__MASK		0x00000003
461d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONFIG_DESTINATION_FETCH__SHIFT		0
462d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONFIG_DESTINATION_FETCH_DISABLE		0x00000000
463d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONFIG_DESTINATION_FETCH_DEFAULT		0x00000001
464d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONFIG_DESTINATION_FETCH_ALWAYS		0x00000002
465d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONFIG_DESTINATION_FETCH_MASK		0x00000008
466d722e3fbSopenharmony_ci
467d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_HEIGHT				0x000012b4
468d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_HEIGHT_HEIGHT__MASK		0x0000ffff
469d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_HEIGHT_HEIGHT__SHIFT		0
470d722e3fbSopenharmony_ci#define VIVS_DE_DEST_ROTATION_HEIGHT_HEIGHT(x)			(((x) << VIVS_DE_DEST_ROTATION_HEIGHT_HEIGHT__SHIFT) & VIVS_DE_DEST_ROTATION_HEIGHT_HEIGHT__MASK)
471d722e3fbSopenharmony_ci
472d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_HEIGHT				0x000012b8
473d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_HEIGHT_HEIGHT__MASK		0x0000ffff
474d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_HEIGHT_HEIGHT__SHIFT		0
475d722e3fbSopenharmony_ci#define VIVS_DE_SRC_ROTATION_HEIGHT_HEIGHT(x)			(((x) << VIVS_DE_SRC_ROTATION_HEIGHT_HEIGHT__SHIFT) & VIVS_DE_SRC_ROTATION_HEIGHT_HEIGHT__MASK)
476d722e3fbSopenharmony_ci
477d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE					0x000012bc
478d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC__MASK				0x00000007
479d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC__SHIFT				0
480d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC(x)				(((x) << VIVS_DE_ROT_ANGLE_SRC__SHIFT) & VIVS_DE_ROT_ANGLE_SRC__MASK)
481d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST__MASK				0x00000038
482d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST__SHIFT				3
483d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST(x)				(((x) << VIVS_DE_ROT_ANGLE_DST__SHIFT) & VIVS_DE_ROT_ANGLE_DST__MASK)
484d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC_MASK				0x00000100
485d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST_MASK				0x00000200
486d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC_MIRROR__MASK			0x00003000
487d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC_MIRROR__SHIFT			12
488d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC_MIRROR(x)				(((x) << VIVS_DE_ROT_ANGLE_SRC_MIRROR__SHIFT) & VIVS_DE_ROT_ANGLE_SRC_MIRROR__MASK)
489d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_SRC_MIRROR_MASK			0x00008000
490d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST_MIRROR__MASK			0x00030000
491d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST_MIRROR__SHIFT			16
492d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST_MIRROR(x)				(((x) << VIVS_DE_ROT_ANGLE_DST_MIRROR__SHIFT) & VIVS_DE_ROT_ANGLE_DST_MIRROR__MASK)
493d722e3fbSopenharmony_ci#define VIVS_DE_ROT_ANGLE_DST_MIRROR_MASK			0x00080000
494d722e3fbSopenharmony_ci
495d722e3fbSopenharmony_ci#define VIVS_DE_CLEAR_PIXEL_VALUE32				0x000012c0
496d722e3fbSopenharmony_ci
497d722e3fbSopenharmony_ci#define VIVS_DE_DEST_COLOR_KEY					0x000012c4
498d722e3fbSopenharmony_ci
499d722e3fbSopenharmony_ci#define VIVS_DE_GLOBAL_SRC_COLOR				0x000012c8
500d722e3fbSopenharmony_ci
501d722e3fbSopenharmony_ci#define VIVS_DE_GLOBAL_DEST_COLOR				0x000012cc
502d722e3fbSopenharmony_ci
503d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES				0x000012d0
504d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY__MASK	0x00000001
505d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY__SHIFT	0
506d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY_DISABLE	0x00000000
507d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY_ENABLE	0x00000001
508d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY__MASK	0x00000010
509d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY__SHIFT	4
510d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY_DISABLE	0x00000000
511d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY_ENABLE	0x00000010
512d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY__MASK	0x00000300
513d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY__SHIFT	8
514d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_DISABLE	0x00000000
515d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_ALPHA	0x00000100
516d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_COLOR	0x00000200
517d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY__MASK	0x00100000
518d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY__SHIFT	20
519d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY_DISABLE	0x00000000
520d722e3fbSopenharmony_ci#define VIVS_DE_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY_ENABLE	0x00100000
521d722e3fbSopenharmony_ci
522d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY					0x000012d4
523d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_SOURCE__MASK			0x00000003
524d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_SOURCE__SHIFT			0
525d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_SOURCE_OPAQUE			0x00000000
526d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_SOURCE_MASK			0x00000001
527d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_SOURCE_KEY			0x00000002
528d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_PATTERN__MASK			0x00000030
529d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_PATTERN__SHIFT			4
530d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_PATTERN_OPAQUE			0x00000000
531d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_PATTERN_MASK			0x00000010
532d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_PATTERN_KEY			0x00000020
533d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DESTINATION__MASK		0x00000300
534d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DESTINATION__SHIFT		8
535d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DESTINATION_OPAQUE		0x00000000
536d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DESTINATION_MASK		0x00000100
537d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DESTINATION_KEY			0x00000200
538d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_TRANSPARENCY_MASK		0x00001000
539d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_SRC_OVERRIDE__MASK		0x00030000
540d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_SRC_OVERRIDE__SHIFT		16
541d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_SRC_OVERRIDE_DEFAULT	0x00000000
542d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_SRC_OVERRIDE_USE_ENABLE	0x00010000
543d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_SRC_OVERRIDE_USE_DISABLE	0x00020000
544d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_PAT_OVERRIDE__MASK		0x00300000
545d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_PAT_OVERRIDE__SHIFT		20
546d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_PAT_OVERRIDE_DEFAULT	0x00000000
547d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_PAT_OVERRIDE_USE_ENABLE	0x00100000
548d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_PAT_OVERRIDE_USE_DISABLE	0x00200000
549d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_DST_OVERRIDE__MASK		0x03000000
550d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_DST_OVERRIDE__SHIFT		24
551d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_DST_OVERRIDE_DEFAULT	0x00000000
552d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_DST_OVERRIDE_USE_ENABLE	0x01000000
553d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_USE_DST_OVERRIDE_USE_DISABLE	0x02000000
554d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_RESOURCE_OVERRIDE_MASK		0x10000000
555d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DFB_COLOR_KEY__MASK		0x20000000
556d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DFB_COLOR_KEY__SHIFT		29
557d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DFB_COLOR_KEY_DISABLE		0x00000000
558d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DFB_COLOR_KEY_ENABLE		0x20000000
559d722e3fbSopenharmony_ci#define VIVS_DE_PE_TRANSPARENCY_DFB_COLOR_KEY_MASK		0x80000000
560d722e3fbSopenharmony_ci
561d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL					0x000012d8
562d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUV__MASK				0x00000001
563d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUV__SHIFT				0
564d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUV_601				0x00000000
565d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUV_709				0x00000001
566d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUV_MASK				0x00000008
567d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_UV_SWIZZLE__MASK			0x00000010
568d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_UV_SWIZZLE__SHIFT			4
569d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_UV_SWIZZLE_UV			0x00000000
570d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_UV_SWIZZLE_VU			0x00000010
571d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_UV_SWIZZLE_MASK			0x00000080
572d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUVRGB__MASK				0x00000100
573d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUVRGB__SHIFT			8
574d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUVRGB_DISABLE			0x00000000
575d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUVRGB_ENABLE			0x00000100
576d722e3fbSopenharmony_ci#define VIVS_DE_PE_CONTROL_YUVRGB_MASK				0x00000800
577d722e3fbSopenharmony_ci
578d722e3fbSopenharmony_ci#define VIVS_DE_SRC_COLOR_KEY_HIGH				0x000012dc
579d722e3fbSopenharmony_ci
580d722e3fbSopenharmony_ci#define VIVS_DE_DEST_COLOR_KEY_HIGH				0x000012e0
581d722e3fbSopenharmony_ci
582d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX					0x000012e4
583d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_VERTICAL_LINE_WIDTH__MASK		0x00000003
584d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_VERTICAL_LINE_WIDTH__SHIFT		0
585d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_VERTICAL_LINE_WIDTH_AUTO		0x00000000
586d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_VERTICAL_LINE_WIDTH_PIXELS16	0x00000001
587d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_VERTICAL_LINE_WIDTH_PIXELS32	0x00000002
588d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_VERTICAL_LINE_WIDTH_MASK		0x00000008
589d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_FILTER_TAP__MASK			0x000000f0
590d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_FILTER_TAP__SHIFT			4
591d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_FILTER_TAP(x)			(((x) << VIVS_DE_VR_CONFIG_EX_FILTER_TAP__SHIFT) & VIVS_DE_VR_CONFIG_EX_FILTER_TAP__MASK)
592d722e3fbSopenharmony_ci#define VIVS_DE_VR_CONFIG_EX_FILTER_TAP_MASK			0x00000100
593d722e3fbSopenharmony_ci
594d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW					0x000012e8
595d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y0__MASK			0x0000000f
596d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y0__SHIFT		0
597d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y0(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y0__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y0__MASK)
598d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y0__MASK			0x000000f0
599d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y0__SHIFT		4
600d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y0(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y0__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y0__MASK)
601d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y0__MASK			0x00000f00
602d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y0__SHIFT		8
603d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y0(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y0__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y0__MASK)
604d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y0__MASK			0x0000f000
605d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y0__SHIFT		12
606d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y0(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y0__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y0__MASK)
607d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y1__MASK			0x000f0000
608d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y1__SHIFT		16
609d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y1(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y1__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X0_Y1__MASK)
610d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y1__MASK			0x00f00000
611d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y1__SHIFT		20
612d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y1(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y1__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X1_Y1__MASK)
613d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y1__MASK			0x0f000000
614d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y1__SHIFT		24
615d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y1(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y1__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X2_Y1__MASK)
616d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y1__MASK			0xf0000000
617d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y1__SHIFT		28
618d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y1(x)			(((x) << VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y1__SHIFT) & VIVS_DE_PE_DITHER_LOW_PIXEL_X3_Y1__MASK)
619d722e3fbSopenharmony_ci
620d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH					0x000012ec
621d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y2__MASK		0x0000000f
622d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y2__SHIFT		0
623d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y2(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y2__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y2__MASK)
624d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y2__MASK		0x000000f0
625d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y2__SHIFT		4
626d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y2(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y2__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y2__MASK)
627d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y2__MASK		0x00000f00
628d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y2__SHIFT		8
629d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y2(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y2__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y2__MASK)
630d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y2__MASK		0x0000f000
631d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y2__SHIFT		12
632d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y2(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y2__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y2__MASK)
633d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y3__MASK		0x000f0000
634d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y3__SHIFT		16
635d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y3(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y3__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X0_Y3__MASK)
636d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y3__MASK		0x00f00000
637d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y3__SHIFT		20
638d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y3(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y3__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X1_Y3__MASK)
639d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y3__MASK		0x0f000000
640d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y3__SHIFT		24
641d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y3(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y3__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X2_Y3__MASK)
642d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y3__MASK		0xf0000000
643d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y3__SHIFT		28
644d722e3fbSopenharmony_ci#define VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y3(x)			(((x) << VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y3__SHIFT) & VIVS_DE_PE_DITHER_HIGH_PIXEL_X3_Y3__MASK)
645d722e3fbSopenharmony_ci
646d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG					0x000012f0
647d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_CONFIG__MASK			0x00000001
648d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_CONFIG__SHIFT			0
649d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_CONFIG_AUTO			0x00000000
650d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_CONFIG_CUSTOMIZE		0x00000001
651d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_CONFIG_MASK			0x00000008
652d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_WALK_DIRECTION__MASK		0x00000010
653d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_WALK_DIRECTION__SHIFT		4
654d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_WALK_DIRECTION_RIGHT_BOTTOM	0x00000000
655d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_WALK_DIRECTION_BOTTOM_RIGHT	0x00000010
656d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_BLOCK_WALK_DIRECTION_MASK		0x00000080
657d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_TILE_WALK_DIRECTION__MASK		0x00000100
658d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_TILE_WALK_DIRECTION__SHIFT		8
659d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_TILE_WALK_DIRECTION_RIGHT_BOTTOM	0x00000000
660d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_TILE_WALK_DIRECTION_BOTTOM_RIGHT	0x00000100
661d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_TILE_WALK_DIRECTION_MASK		0x00000800
662d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_PIXEL_WALK_DIRECTION__MASK		0x00001000
663d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_PIXEL_WALK_DIRECTION__SHIFT		12
664d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_PIXEL_WALK_DIRECTION_RIGHT_BOTTOM	0x00000000
665d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_PIXEL_WALK_DIRECTION_BOTTOM_RIGHT	0x00001000
666d722e3fbSopenharmony_ci#define VIVS_DE_BW_CONFIG_PIXEL_WALK_DIRECTION_MASK		0x00008000
667d722e3fbSopenharmony_ci
668d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_SIZE					0x000012f4
669d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_SIZE_WIDTH__MASK			0x0000ffff
670d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_SIZE_WIDTH__SHIFT			0
671d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_SIZE_WIDTH(x)				(((x) << VIVS_DE_BW_BLOCK_SIZE_WIDTH__SHIFT) & VIVS_DE_BW_BLOCK_SIZE_WIDTH__MASK)
672d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_SIZE_HEIGHT__MASK			0xffff0000
673d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_SIZE_HEIGHT__SHIFT			16
674d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_SIZE_HEIGHT(x)				(((x) << VIVS_DE_BW_BLOCK_SIZE_HEIGHT__SHIFT) & VIVS_DE_BW_BLOCK_SIZE_HEIGHT__MASK)
675d722e3fbSopenharmony_ci
676d722e3fbSopenharmony_ci#define VIVS_DE_BW_TILE_SIZE					0x000012f8
677d722e3fbSopenharmony_ci#define VIVS_DE_BW_TILE_SIZE_WIDTH__MASK			0x0000ffff
678d722e3fbSopenharmony_ci#define VIVS_DE_BW_TILE_SIZE_WIDTH__SHIFT			0
679d722e3fbSopenharmony_ci#define VIVS_DE_BW_TILE_SIZE_WIDTH(x)				(((x) << VIVS_DE_BW_TILE_SIZE_WIDTH__SHIFT) & VIVS_DE_BW_TILE_SIZE_WIDTH__MASK)
680d722e3fbSopenharmony_ci#define VIVS_DE_BW_TILE_SIZE_HEIGHT__MASK			0xffff0000
681d722e3fbSopenharmony_ci#define VIVS_DE_BW_TILE_SIZE_HEIGHT__SHIFT			16
682d722e3fbSopenharmony_ci#define VIVS_DE_BW_TILE_SIZE_HEIGHT(x)				(((x) << VIVS_DE_BW_TILE_SIZE_HEIGHT__SHIFT) & VIVS_DE_BW_TILE_SIZE_HEIGHT__MASK)
683d722e3fbSopenharmony_ci
684d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_MASK					0x000012fc
685d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_MASK_HORIZONTAL__MASK			0x0000ffff
686d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_MASK_HORIZONTAL__SHIFT			0
687d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_MASK_HORIZONTAL(x)			(((x) << VIVS_DE_BW_BLOCK_MASK_HORIZONTAL__SHIFT) & VIVS_DE_BW_BLOCK_MASK_HORIZONTAL__MASK)
688d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_MASK_VERTICAL__MASK			0xffff0000
689d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_MASK_VERTICAL__SHIFT			16
690d722e3fbSopenharmony_ci#define VIVS_DE_BW_BLOCK_MASK_VERTICAL(x)			(((x) << VIVS_DE_BW_BLOCK_MASK_VERTICAL__SHIFT) & VIVS_DE_BW_BLOCK_MASK_VERTICAL__MASK)
691d722e3fbSopenharmony_ci
692d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG					0x00001300
693d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MULTI_TILED__MASK			0x00000001
694d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MULTI_TILED__SHIFT		0
695d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MULTI_TILED_DISABLE		0x00000000
696d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MULTI_TILED_ENABLE		0x00000001
697d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_SUPER_TILED__MASK			0x00000008
698d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_SUPER_TILED__SHIFT		3
699d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_SUPER_TILED_DISABLE		0x00000000
700d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_SUPER_TILED_ENABLE		0x00000008
701d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MINOR_TILED__MASK			0x00000100
702d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MINOR_TILED__SHIFT		8
703d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MINOR_TILED_DISABLE		0x00000000
704d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_CONFIG_MINOR_TILED_ENABLE		0x00000100
705d722e3fbSopenharmony_ci
706d722e3fbSopenharmony_ci#define VIVS_DE_SRC_EX_ADDRESS					0x00001304
707d722e3fbSopenharmony_ci
708d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE					0x00001308
709d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_MAX_SOURCE__MASK		0x00000007
710d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_MAX_SOURCE__SHIFT		0
711d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_MAX_SOURCE(x)			(((x) << VIVS_DE_DE_MULTI_SOURCE_MAX_SOURCE__SHIFT) & VIVS_DE_DE_MULTI_SOURCE_MAX_SOURCE__MASK)
712d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK__MASK		0x00000700
713d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK__SHIFT		8
714d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK_PIXEL16	0x00000000
715d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK_PIXEL32	0x00000100
716d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK_PIXEL64	0x00000200
717d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK_PIXEL128	0x00000300
718d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK_PIXEL256	0x00000400
719d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_HORIZONTAL_BLOCK_PIXEL512	0x00000500
720d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK__MASK		0x00070000
721d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK__SHIFT		16
722d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE1		0x00000000
723d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE2		0x00010000
724d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE4		0x00020000
725d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE8		0x00030000
726d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE16		0x00040000
727d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE32		0x00050000
728d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE64		0x00060000
729d722e3fbSopenharmony_ci#define VIVS_DE_DE_MULTI_SOURCE_VERTICAL_BLOCK_LINE128		0x00070000
730d722e3fbSopenharmony_ci
731d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION				0x0000130c
732d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_ENABLE__MASK			0x00000003
733d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_ENABLE__SHIFT			0
734d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_ENABLE_OFF			0x00000000
735d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_ENABLE_PLANE1			0x00000001
736d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_ENABLE_PLANE2			0x00000002
737d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_ENABLE_PLANE3			0x00000003
738d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_COUNT__MASK		0x0000000c
739d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_COUNT__SHIFT		2
740d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_COUNT(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE1_COUNT__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE1_COUNT__MASK)
741d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_COUNT__MASK		0x00000030
742d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_COUNT__SHIFT		4
743d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_COUNT(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE2_COUNT__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE2_COUNT__MASK)
744d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_COUNT__MASK		0x000000c0
745d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_COUNT__SHIFT		6
746d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_COUNT(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE3_COUNT__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE3_COUNT__MASK)
747d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_B__MASK		0x00000300
748d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_B__SHIFT	8
749d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_B(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_B__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_B__MASK)
750d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_G__MASK		0x00000c00
751d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_G__SHIFT	10
752d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_G(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_G__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_G__MASK)
753d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_R__MASK		0x00003000
754d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_R__SHIFT	12
755d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_R(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_R__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_R__MASK)
756d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_A__MASK		0x0000c000
757d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_A__SHIFT	14
758d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_A(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_A__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE1_SWIZZLE_A__MASK)
759d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_B__MASK		0x00030000
760d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_B__SHIFT	16
761d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_B(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_B__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_B__MASK)
762d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_G__MASK		0x000c0000
763d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_G__SHIFT	18
764d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_G(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_G__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_G__MASK)
765d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_R__MASK		0x00300000
766d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_R__SHIFT	20
767d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_R(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_R__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_R__MASK)
768d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_A__MASK		0x00c00000
769d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_A__SHIFT	22
770d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_A(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_A__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE2_SWIZZLE_A__MASK)
771d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_B__MASK		0x03000000
772d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_B__SHIFT	24
773d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_B(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_B__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_B__MASK)
774d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_G__MASK		0x0c000000
775d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_G__SHIFT	26
776d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_G(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_G__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_G__MASK)
777d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_R__MASK		0x30000000
778d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_R__SHIFT	28
779d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_R(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_R__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_R__MASK)
780d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_A__MASK		0xc0000000
781d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_A__SHIFT	30
782d722e3fbSopenharmony_ci#define VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_A(x)		(((x) << VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_A__SHIFT) & VIVS_DE_DEYUV_CONVERSION_PLANE3_SWIZZLE_A__MASK)
783d722e3fbSopenharmony_ci
784d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE2_ADDRESS				0x00001310
785d722e3fbSopenharmony_ci
786d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE2_STRIDE				0x00001314
787d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE2_STRIDE_STRIDE__MASK			0x0003ffff
788d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE2_STRIDE_STRIDE__SHIFT			0
789d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE2_STRIDE_STRIDE(x)			(((x) << VIVS_DE_DE_PLANE2_STRIDE_STRIDE__SHIFT) & VIVS_DE_DE_PLANE2_STRIDE_STRIDE__MASK)
790d722e3fbSopenharmony_ci
791d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE3_ADDRESS				0x00001318
792d722e3fbSopenharmony_ci
793d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE3_STRIDE				0x0000131c
794d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE3_STRIDE_STRIDE__MASK			0x0003ffff
795d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE3_STRIDE_STRIDE__SHIFT			0
796d722e3fbSopenharmony_ci#define VIVS_DE_DE_PLANE3_STRIDE_STRIDE(x)			(((x) << VIVS_DE_DE_PLANE3_STRIDE_STRIDE__SHIFT) & VIVS_DE_DE_PLANE3_STRIDE_STRIDE__MASK)
797d722e3fbSopenharmony_ci
798d722e3fbSopenharmony_ci#define VIVS_DE_DE_STALL_DE					0x00001320
799d722e3fbSopenharmony_ci#define VIVS_DE_DE_STALL_DE_ENABLE__MASK			0x00000001
800d722e3fbSopenharmony_ci#define VIVS_DE_DE_STALL_DE_ENABLE__SHIFT			0
801d722e3fbSopenharmony_ci#define VIVS_DE_DE_STALL_DE_ENABLE_DISABLE			0x00000000
802d722e3fbSopenharmony_ci#define VIVS_DE_DE_STALL_DE_ENABLE_ENABLE			0x00000001
803d722e3fbSopenharmony_ci
804d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL(i0)			       (0x00001800 + 0x4*(i0))
805d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL__ESIZE				0x00000004
806d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL__LEN				0x00000080
807d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL_COEFFICIENT0__MASK		0x0000ffff
808d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL_COEFFICIENT0__SHIFT		0
809d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL_COEFFICIENT0(x)			(((x) << VIVS_DE_FILTER_KERNEL_COEFFICIENT0__SHIFT) & VIVS_DE_FILTER_KERNEL_COEFFICIENT0__MASK)
810d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL_COEFFICIENT1__MASK		0xffff0000
811d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL_COEFFICIENT1__SHIFT		16
812d722e3fbSopenharmony_ci#define VIVS_DE_FILTER_KERNEL_COEFFICIENT1(x)			(((x) << VIVS_DE_FILTER_KERNEL_COEFFICIENT1__SHIFT) & VIVS_DE_FILTER_KERNEL_COEFFICIENT1__MASK)
813d722e3fbSopenharmony_ci
814d722e3fbSopenharmony_ci#define VIVS_DE_INDEX_COLOR_TABLE(i0)			       (0x00001c00 + 0x4*(i0))
815d722e3fbSopenharmony_ci#define VIVS_DE_INDEX_COLOR_TABLE__ESIZE			0x00000004
816d722e3fbSopenharmony_ci#define VIVS_DE_INDEX_COLOR_TABLE__LEN				0x00000100
817d722e3fbSopenharmony_ci
818d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL(i0)			       (0x00002800 + 0x4*(i0))
819d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL__ESIZE			0x00000004
820d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL__LEN				0x00000080
821d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT0__MASK		0x0000ffff
822d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT0__SHIFT		0
823d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT0(x)		(((x) << VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT0__SHIFT) & VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT0__MASK)
824d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT1__MASK		0xffff0000
825d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT1__SHIFT		16
826d722e3fbSopenharmony_ci#define VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT1(x)		(((x) << VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT1__SHIFT) & VIVS_DE_HORI_FILTER_KERNEL_COEFFICIENT1__MASK)
827d722e3fbSopenharmony_ci
828d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL(i0)			       (0x00002a00 + 0x4*(i0))
829d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL__ESIZE			0x00000004
830d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL__LEN			0x00000080
831d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT0__MASK		0x0000ffff
832d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT0__SHIFT		0
833d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT0(x)		(((x) << VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT0__SHIFT) & VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT0__MASK)
834d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT1__MASK		0xffff0000
835d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT1__SHIFT		16
836d722e3fbSopenharmony_ci#define VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT1(x)		(((x) << VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT1__SHIFT) & VIVS_DE_VERTI_FILTER_KERNEL_COEFFICIENT1__MASK)
837d722e3fbSopenharmony_ci
838d722e3fbSopenharmony_ci#define VIVS_DE_INDEX_COLOR_TABLE32(i0)			       (0x00003400 + 0x4*(i0))
839d722e3fbSopenharmony_ci#define VIVS_DE_INDEX_COLOR_TABLE32__ESIZE			0x00000004
840d722e3fbSopenharmony_ci#define VIVS_DE_INDEX_COLOR_TABLE32__LEN			0x00000100
841d722e3fbSopenharmony_ci
842d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4						0x00000000
843d722e3fbSopenharmony_ci
844d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ADDRESS(i0)			       (0x00012800 + 0x4*(i0))
845d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ADDRESS__ESIZE			0x00000004
846d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ADDRESS__LEN				0x00000004
847d722e3fbSopenharmony_ci
848d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_STRIDE(i0)			       (0x00012810 + 0x4*(i0))
849d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_STRIDE__ESIZE			0x00000004
850d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_STRIDE__LEN				0x00000004
851d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_STRIDE_STRIDE__MASK			0x0003ffff
852d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_STRIDE_STRIDE__SHIFT			0
853d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_STRIDE_STRIDE(x)			(((x) << VIVS_DE_BLOCK4_SRC_STRIDE_STRIDE__SHIFT) & VIVS_DE_BLOCK4_SRC_STRIDE_STRIDE__MASK)
854d722e3fbSopenharmony_ci
855d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG(i0)		       (0x00012820 + 0x4*(i0))
856d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG__ESIZE		0x00000004
857d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG__LEN			0x00000004
858d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_WIDTH__MASK		0x0000ffff
859d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_WIDTH__SHIFT		0
860d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_WIDTH(x)		(((x) << VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_WIDTH__SHIFT) & VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_WIDTH__MASK)
861d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_ROTATION__MASK	0x00010000
862d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_ROTATION__SHIFT	16
863d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_ROTATION_DISABLE	0x00000000
864d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_CONFIG_ROTATION_ENABLE	0x00010000
865d722e3fbSopenharmony_ci
866d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG(i0)			       (0x00012830 + 0x4*(i0))
867d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG__ESIZE			0x00000004
868d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG__LEN				0x00000004
869d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PE10_SOURCE_FORMAT__MASK	0x0000000f
870d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PE10_SOURCE_FORMAT__SHIFT	0
871d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PE10_SOURCE_FORMAT(x)		(((x) << VIVS_DE_BLOCK4_SRC_CONFIG_PE10_SOURCE_FORMAT__SHIFT) & VIVS_DE_BLOCK4_SRC_CONFIG_PE10_SOURCE_FORMAT__MASK)
872d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_TRANSPARENCY__MASK		0x00000030
873d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_TRANSPARENCY__SHIFT		4
874d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_TRANSPARENCY(x)		(((x) << VIVS_DE_BLOCK4_SRC_CONFIG_TRANSPARENCY__SHIFT) & VIVS_DE_BLOCK4_SRC_CONFIG_TRANSPARENCY__MASK)
875d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SRC_RELATIVE__MASK		0x00000040
876d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SRC_RELATIVE__SHIFT		6
877d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SRC_RELATIVE_ABSOLUTE		0x00000000
878d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SRC_RELATIVE_RELATIVE		0x00000040
879d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_TILED__MASK			0x00000080
880d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_TILED__SHIFT			7
881d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_TILED_DISABLE			0x00000000
882d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_TILED_ENABLE			0x00000080
883d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_LOCATION__MASK		0x00000100
884d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_LOCATION__SHIFT		8
885d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_LOCATION_MEMORY		0x00000000
886d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_LOCATION_STREAM		0x00000100
887d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PACK__MASK			0x00003000
888d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PACK__SHIFT			12
889d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PACK_PACKED8			0x00000000
890d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PACK_PACKED16			0x00001000
891d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PACK_PACKED32			0x00002000
892d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_PACK_UNPACKED			0x00003000
893d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_MONO_TRANSPARENCY__MASK	0x00008000
894d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_MONO_TRANSPARENCY__SHIFT	15
895d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_MONO_TRANSPARENCY_BACKGROUND	0x00000000
896d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_MONO_TRANSPARENCY_FOREGROUND	0x00008000
897d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_UNK16				0x00010000
898d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SWIZZLE__MASK			0x00300000
899d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SWIZZLE__SHIFT		20
900d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SWIZZLE(x)			(((x) << VIVS_DE_BLOCK4_SRC_CONFIG_SWIZZLE__SHIFT) & VIVS_DE_BLOCK4_SRC_CONFIG_SWIZZLE__MASK)
901d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SOURCE_FORMAT__MASK		0x1f000000
902d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SOURCE_FORMAT__SHIFT		24
903d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_SOURCE_FORMAT(x)		(((x) << VIVS_DE_BLOCK4_SRC_CONFIG_SOURCE_FORMAT__SHIFT) & VIVS_DE_BLOCK4_SRC_CONFIG_SOURCE_FORMAT__MASK)
904d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_DISABLE420_L2_CACHE		0x20000000
905d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_ENDIAN_CONTROL__MASK		0xc0000000
906d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_ENDIAN_CONTROL__SHIFT		30
907d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_CONFIG_ENDIAN_CONTROL(x)		(((x) << VIVS_DE_BLOCK4_SRC_CONFIG_ENDIAN_CONTROL__SHIFT) & VIVS_DE_BLOCK4_SRC_CONFIG_ENDIAN_CONTROL__MASK)
908d722e3fbSopenharmony_ci
909d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN(i0)			       (0x00012840 + 0x4*(i0))
910d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN__ESIZE			0x00000004
911d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN__LEN				0x00000004
912d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN_X__MASK			0x0000ffff
913d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN_X__SHIFT			0
914d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN_X(x)				(((x) << VIVS_DE_BLOCK4_SRC_ORIGIN_X__SHIFT) & VIVS_DE_BLOCK4_SRC_ORIGIN_X__MASK)
915d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN_Y__MASK			0xffff0000
916d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN_Y__SHIFT			16
917d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ORIGIN_Y(x)				(((x) << VIVS_DE_BLOCK4_SRC_ORIGIN_Y__SHIFT) & VIVS_DE_BLOCK4_SRC_ORIGIN_Y__MASK)
918d722e3fbSopenharmony_ci
919d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE(i0)			       (0x00012850 + 0x4*(i0))
920d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE__ESIZE				0x00000004
921d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE__LEN				0x00000004
922d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE_X__MASK				0x0000ffff
923d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE_X__SHIFT			0
924d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE_X(x)				(((x) << VIVS_DE_BLOCK4_SRC_SIZE_X__SHIFT) & VIVS_DE_BLOCK4_SRC_SIZE_X__MASK)
925d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE_Y__MASK				0xffff0000
926d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE_Y__SHIFT			16
927d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_SIZE_Y(x)				(((x) << VIVS_DE_BLOCK4_SRC_SIZE_Y__SHIFT) & VIVS_DE_BLOCK4_SRC_SIZE_Y__MASK)
928d722e3fbSopenharmony_ci
929d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_COLOR_BG(i0)			       (0x00012860 + 0x4*(i0))
930d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_COLOR_BG__ESIZE			0x00000004
931d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_COLOR_BG__LEN			0x00000004
932d722e3fbSopenharmony_ci
933d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP(i0)				       (0x00012870 + 0x4*(i0))
934d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP__ESIZE				0x00000004
935d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP__LEN					0x00000004
936d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_ROP_FG__MASK				0x000000ff
937d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_ROP_FG__SHIFT			0
938d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_ROP_FG(x)				(((x) << VIVS_DE_BLOCK4_ROP_ROP_FG__SHIFT) & VIVS_DE_BLOCK4_ROP_ROP_FG__MASK)
939d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_ROP_BG__MASK				0x0000ff00
940d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_ROP_BG__SHIFT			8
941d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_ROP_BG(x)				(((x) << VIVS_DE_BLOCK4_ROP_ROP_BG__SHIFT) & VIVS_DE_BLOCK4_ROP_ROP_BG__MASK)
942d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_TYPE__MASK				0x00300000
943d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_TYPE__SHIFT				20
944d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_TYPE_ROP2_PATTERN			0x00000000
945d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_TYPE_ROP2_SOURCE			0x00100000
946d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_TYPE_ROP3				0x00200000
947d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROP_TYPE_ROP4				0x00300000
948d722e3fbSopenharmony_ci
949d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL(i0)		       (0x00012880 + 0x4*(i0))
950d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL__ESIZE			0x00000004
951d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL__LEN			0x00000004
952d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_ENABLE__MASK		0x00000001
953d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_ENABLE__SHIFT		0
954d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_ENABLE_OFF			0x00000000
955d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_ENABLE_ON			0x00000001
956d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__MASK	0x00ff0000
957d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__SHIFT	16
958d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA(x)	(((x) << VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__SHIFT) & VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__MASK)
959d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__MASK	0xff000000
960d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__SHIFT	24
961d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA(x)	(((x) << VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__SHIFT) & VIVS_DE_BLOCK4_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__MASK)
962d722e3fbSopenharmony_ci
963d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES(i0)			       (0x00012890 + 0x4*(i0))
964d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES__ESIZE			0x00000004
965d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES__LEN				0x00000004
966d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_MODE__MASK		0x00000001
967d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_MODE__SHIFT	0
968d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_MODE_NORMAL	0x00000000
969d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_MODE_INVERSED	0x00000001
970d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_MODE__MASK		0x00000010
971d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_MODE__SHIFT	4
972d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_MODE_NORMAL	0x00000000
973d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_MODE_INVERSED	0x00000010
974d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE__MASK	0x00000300
975d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE__SHIFT	8
976d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_NORMAL	0x00000000
977d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_GLOBAL	0x00000100
978d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_SCALED	0x00000200
979d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE__MASK	0x00003000
980d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE__SHIFT	12
981d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_NORMAL	0x00000000
982d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_GLOBAL	0x00001000
983d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_SCALED	0x00002000
984d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY__MASK	0x00010000
985d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY__SHIFT	16
986d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY_DISABLE	0x00000000
987d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY_ENABLE	0x00010000
988d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY__MASK	0x00100000
989d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY__SHIFT	20
990d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY_DISABLE	0x00000000
991d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY_ENABLE	0x00100000
992d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_BLENDING_MODE__MASK	0x07000000
993d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_BLENDING_MODE__SHIFT	24
994d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_BLENDING_MODE(x)		(((x) << VIVS_DE_BLOCK4_ALPHA_MODES_SRC_BLENDING_MODE__SHIFT) & VIVS_DE_BLOCK4_ALPHA_MODES_SRC_BLENDING_MODE__MASK)
995d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_FACTOR__MASK	0x08000000
996d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_FACTOR__SHIFT	27
997d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_FACTOR_DISABLE	0x00000000
998d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_SRC_ALPHA_FACTOR_ENABLE	0x08000000
999d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_BLENDING_MODE__MASK	0x70000000
1000d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_BLENDING_MODE__SHIFT	28
1001d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_BLENDING_MODE(x)		(((x) << VIVS_DE_BLOCK4_ALPHA_MODES_DST_BLENDING_MODE__SHIFT) & VIVS_DE_BLOCK4_ALPHA_MODES_DST_BLENDING_MODE__MASK)
1002d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_FACTOR__MASK	0x80000000
1003d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_FACTOR__SHIFT	31
1004d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_FACTOR_DISABLE	0x00000000
1005d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ALPHA_MODES_DST_ALPHA_FACTOR_ENABLE	0x80000000
1006d722e3fbSopenharmony_ci
1007d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ADDRESS_U(i0)			       (0x000128a0 + 0x4*(i0))
1008d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ADDRESS_U__ESIZE				0x00000004
1009d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ADDRESS_U__LEN				0x00000004
1010d722e3fbSopenharmony_ci
1011d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_U(i0)			       (0x000128b0 + 0x4*(i0))
1012d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_U__ESIZE				0x00000004
1013d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_U__LEN				0x00000004
1014d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_U_STRIDE__MASK			0x0003ffff
1015d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_U_STRIDE__SHIFT			0
1016d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_U_STRIDE(x)			(((x) << VIVS_DE_BLOCK4_STRIDE_U_STRIDE__SHIFT) & VIVS_DE_BLOCK4_STRIDE_U_STRIDE__MASK)
1017d722e3fbSopenharmony_ci
1018d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ADDRESS_V(i0)			       (0x000128c0 + 0x4*(i0))
1019d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ADDRESS_V__ESIZE				0x00000004
1020d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ADDRESS_V__LEN				0x00000004
1021d722e3fbSopenharmony_ci
1022d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_V(i0)			       (0x000128d0 + 0x4*(i0))
1023d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_V__ESIZE				0x00000004
1024d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_V__LEN				0x00000004
1025d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_V_STRIDE__MASK			0x0003ffff
1026d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_V_STRIDE__SHIFT			0
1027d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_STRIDE_V_STRIDE(x)			(((x) << VIVS_DE_BLOCK4_STRIDE_V_STRIDE__SHIFT) & VIVS_DE_BLOCK4_STRIDE_V_STRIDE__MASK)
1028d722e3fbSopenharmony_ci
1029d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT(i0)		       (0x000128e0 + 0x4*(i0))
1030d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT__ESIZE		0x00000004
1031d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT__LEN			0x00000004
1032d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT_HEIGHT__MASK		0x0000ffff
1033d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT_HEIGHT__SHIFT	0
1034d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT_HEIGHT(x)		(((x) << VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT_HEIGHT__SHIFT) & VIVS_DE_BLOCK4_SRC_ROTATION_HEIGHT_HEIGHT__MASK)
1035d722e3fbSopenharmony_ci
1036d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE(i0)			       (0x000128f0 + 0x4*(i0))
1037d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE__ESIZE				0x00000004
1038d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE__LEN				0x00000004
1039d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC__MASK			0x00000007
1040d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC__SHIFT			0
1041d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC(x)				(((x) << VIVS_DE_BLOCK4_ROT_ANGLE_SRC__SHIFT) & VIVS_DE_BLOCK4_ROT_ANGLE_SRC__MASK)
1042d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST__MASK			0x00000038
1043d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST__SHIFT			3
1044d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST(x)				(((x) << VIVS_DE_BLOCK4_ROT_ANGLE_DST__SHIFT) & VIVS_DE_BLOCK4_ROT_ANGLE_DST__MASK)
1045d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC_MASK			0x00000100
1046d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST_MASK			0x00000200
1047d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC_MIRROR__MASK		0x00003000
1048d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC_MIRROR__SHIFT		12
1049d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC_MIRROR(x)			(((x) << VIVS_DE_BLOCK4_ROT_ANGLE_SRC_MIRROR__SHIFT) & VIVS_DE_BLOCK4_ROT_ANGLE_SRC_MIRROR__MASK)
1050d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_SRC_MIRROR_MASK		0x00008000
1051d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST_MIRROR__MASK		0x00030000
1052d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST_MIRROR__SHIFT		16
1053d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST_MIRROR(x)			(((x) << VIVS_DE_BLOCK4_ROT_ANGLE_DST_MIRROR__SHIFT) & VIVS_DE_BLOCK4_ROT_ANGLE_DST_MIRROR__MASK)
1054d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_ROT_ANGLE_DST_MIRROR_MASK		0x00080000
1055d722e3fbSopenharmony_ci
1056d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_GLOBAL_SRC_COLOR(i0)		       (0x00012900 + 0x4*(i0))
1057d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_GLOBAL_SRC_COLOR__ESIZE			0x00000004
1058d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_GLOBAL_SRC_COLOR__LEN			0x00000004
1059d722e3fbSopenharmony_ci
1060d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_GLOBAL_DEST_COLOR(i0)		       (0x00012910 + 0x4*(i0))
1061d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_GLOBAL_DEST_COLOR__ESIZE			0x00000004
1062d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_GLOBAL_DEST_COLOR__LEN			0x00000004
1063d722e3fbSopenharmony_ci
1064d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES(i0)		       (0x00012920 + 0x4*(i0))
1065d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES__ESIZE		0x00000004
1066d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES__LEN		0x00000004
1067d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY__MASK	0x00000001
1068d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY__SHIFT	0
1069d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY_DISABLE	0x00000000
1070d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY_ENABLE	0x00000001
1071d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY__MASK	0x00000010
1072d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY__SHIFT	4
1073d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY_DISABLE	0x00000000
1074d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY_ENABLE	0x00000010
1075d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY__MASK	0x00000300
1076d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY__SHIFT	8
1077d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_DISABLE	0x00000000
1078d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_ALPHA	0x00000100
1079d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_COLOR	0x00000200
1080d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY__MASK	0x00100000
1081d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY__SHIFT	20
1082d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY_DISABLE	0x00000000
1083d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY_ENABLE	0x00100000
1084d722e3fbSopenharmony_ci
1085d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY(i0)			       (0x00012930 + 0x4*(i0))
1086d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY__ESIZE			0x00000004
1087d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY__LEN			0x00000004
1088d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_SOURCE__MASK		0x00000003
1089d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_SOURCE__SHIFT		0
1090d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_SOURCE_OPAQUE		0x00000000
1091d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_SOURCE_MASK			0x00000001
1092d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_SOURCE_KEY			0x00000002
1093d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_PATTERN__MASK		0x00000030
1094d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_PATTERN__SHIFT		4
1095d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_PATTERN_OPAQUE		0x00000000
1096d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_PATTERN_MASK		0x00000010
1097d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_PATTERN_KEY			0x00000020
1098d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DESTINATION__MASK		0x00000300
1099d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DESTINATION__SHIFT		8
1100d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DESTINATION_OPAQUE		0x00000000
1101d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DESTINATION_MASK		0x00000100
1102d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DESTINATION_KEY		0x00000200
1103d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_TRANSPARENCY_MASK		0x00001000
1104d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_SRC_OVERRIDE__MASK	0x00030000
1105d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_SRC_OVERRIDE__SHIFT	16
1106d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_SRC_OVERRIDE_DEFAULT	0x00000000
1107d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_SRC_OVERRIDE_USE_ENABLE	0x00010000
1108d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_SRC_OVERRIDE_USE_DISABLE	0x00020000
1109d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_PAT_OVERRIDE__MASK	0x00300000
1110d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_PAT_OVERRIDE__SHIFT	20
1111d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_PAT_OVERRIDE_DEFAULT	0x00000000
1112d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_PAT_OVERRIDE_USE_ENABLE	0x00100000
1113d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_PAT_OVERRIDE_USE_DISABLE	0x00200000
1114d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_DST_OVERRIDE__MASK	0x03000000
1115d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_DST_OVERRIDE__SHIFT	24
1116d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_DST_OVERRIDE_DEFAULT	0x00000000
1117d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_DST_OVERRIDE_USE_ENABLE	0x01000000
1118d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_USE_DST_OVERRIDE_USE_DISABLE	0x02000000
1119d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_RESOURCE_OVERRIDE_MASK	0x10000000
1120d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DFB_COLOR_KEY__MASK		0x20000000
1121d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DFB_COLOR_KEY__SHIFT	29
1122d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DFB_COLOR_KEY_DISABLE	0x00000000
1123d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DFB_COLOR_KEY_ENABLE	0x20000000
1124d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_TRANSPARENCY_DFB_COLOR_KEY_MASK		0x80000000
1125d722e3fbSopenharmony_ci
1126d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL(i0)			       (0x00012940 + 0x4*(i0))
1127d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL__ESIZE				0x00000004
1128d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL__LEN				0x00000004
1129d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUV__MASK			0x00000001
1130d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUV__SHIFT			0
1131d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUV_601				0x00000000
1132d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUV_709				0x00000001
1133d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUV_MASK				0x00000008
1134d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_UV_SWIZZLE__MASK			0x00000010
1135d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_UV_SWIZZLE__SHIFT		4
1136d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_UV_SWIZZLE_UV			0x00000000
1137d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_UV_SWIZZLE_VU			0x00000010
1138d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_UV_SWIZZLE_MASK			0x00000080
1139d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUVRGB__MASK			0x00000100
1140d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUVRGB__SHIFT			8
1141d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUVRGB_DISABLE			0x00000000
1142d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUVRGB_ENABLE			0x00000100
1143d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_CONTROL_YUVRGB_MASK			0x00000800
1144d722e3fbSopenharmony_ci
1145d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_COLOR_KEY_HIGH(i0)		       (0x00012950 + 0x4*(i0))
1146d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_COLOR_KEY_HIGH__ESIZE		0x00000004
1147d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_COLOR_KEY_HIGH__LEN			0x00000004
1148d722e3fbSopenharmony_ci
1149d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG(i0)		       (0x00012960 + 0x4*(i0))
1150d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG__ESIZE			0x00000004
1151d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG__LEN			0x00000004
1152d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MULTI_TILED__MASK		0x00000001
1153d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MULTI_TILED__SHIFT		0
1154d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MULTI_TILED_DISABLE	0x00000000
1155d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MULTI_TILED_ENABLE		0x00000001
1156d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_SUPER_TILED__MASK		0x00000008
1157d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_SUPER_TILED__SHIFT		3
1158d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_SUPER_TILED_DISABLE	0x00000000
1159d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_SUPER_TILED_ENABLE		0x00000008
1160d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MINOR_TILED__MASK		0x00000100
1161d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MINOR_TILED__SHIFT		8
1162d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MINOR_TILED_DISABLE	0x00000000
1163d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_CONFIG_MINOR_TILED_ENABLE		0x00000100
1164d722e3fbSopenharmony_ci
1165d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_ADDRESS(i0)		       (0x00012970 + 0x4*(i0))
1166d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_ADDRESS__ESIZE			0x00000004
1167d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK4_SRC_EX_ADDRESS__LEN			0x00000004
1168d722e3fbSopenharmony_ci
1169d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8						0x00000000
1170d722e3fbSopenharmony_ci
1171d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ADDRESS(i0)			       (0x00012a00 + 0x4*(i0))
1172d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ADDRESS__ESIZE			0x00000004
1173d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ADDRESS__LEN				0x00000008
1174d722e3fbSopenharmony_ci
1175d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_STRIDE(i0)			       (0x00012a20 + 0x4*(i0))
1176d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_STRIDE__ESIZE			0x00000004
1177d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_STRIDE__LEN				0x00000008
1178d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_STRIDE_STRIDE__MASK			0x0003ffff
1179d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_STRIDE_STRIDE__SHIFT			0
1180d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_STRIDE_STRIDE(x)			(((x) << VIVS_DE_BLOCK8_SRC_STRIDE_STRIDE__SHIFT) & VIVS_DE_BLOCK8_SRC_STRIDE_STRIDE__MASK)
1181d722e3fbSopenharmony_ci
1182d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG(i0)		       (0x00012a40 + 0x4*(i0))
1183d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG__ESIZE		0x00000004
1184d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG__LEN			0x00000008
1185d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_WIDTH__MASK		0x0000ffff
1186d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_WIDTH__SHIFT		0
1187d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_WIDTH(x)		(((x) << VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_WIDTH__SHIFT) & VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_WIDTH__MASK)
1188d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_ROTATION__MASK	0x00010000
1189d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_ROTATION__SHIFT	16
1190d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_ROTATION_DISABLE	0x00000000
1191d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_CONFIG_ROTATION_ENABLE	0x00010000
1192d722e3fbSopenharmony_ci
1193d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG(i0)			       (0x00012a60 + 0x4*(i0))
1194d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG__ESIZE			0x00000004
1195d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG__LEN				0x00000008
1196d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PE10_SOURCE_FORMAT__MASK	0x0000000f
1197d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PE10_SOURCE_FORMAT__SHIFT	0
1198d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PE10_SOURCE_FORMAT(x)		(((x) << VIVS_DE_BLOCK8_SRC_CONFIG_PE10_SOURCE_FORMAT__SHIFT) & VIVS_DE_BLOCK8_SRC_CONFIG_PE10_SOURCE_FORMAT__MASK)
1199d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_TRANSPARENCY__MASK		0x00000030
1200d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_TRANSPARENCY__SHIFT		4
1201d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_TRANSPARENCY(x)		(((x) << VIVS_DE_BLOCK8_SRC_CONFIG_TRANSPARENCY__SHIFT) & VIVS_DE_BLOCK8_SRC_CONFIG_TRANSPARENCY__MASK)
1202d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SRC_RELATIVE__MASK		0x00000040
1203d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SRC_RELATIVE__SHIFT		6
1204d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SRC_RELATIVE_ABSOLUTE		0x00000000
1205d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SRC_RELATIVE_RELATIVE		0x00000040
1206d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_TILED__MASK			0x00000080
1207d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_TILED__SHIFT			7
1208d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_TILED_DISABLE			0x00000000
1209d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_TILED_ENABLE			0x00000080
1210d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_LOCATION__MASK		0x00000100
1211d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_LOCATION__SHIFT		8
1212d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_LOCATION_MEMORY		0x00000000
1213d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_LOCATION_STREAM		0x00000100
1214d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PACK__MASK			0x00003000
1215d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PACK__SHIFT			12
1216d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PACK_PACKED8			0x00000000
1217d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PACK_PACKED16			0x00001000
1218d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PACK_PACKED32			0x00002000
1219d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_PACK_UNPACKED			0x00003000
1220d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_MONO_TRANSPARENCY__MASK	0x00008000
1221d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_MONO_TRANSPARENCY__SHIFT	15
1222d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_MONO_TRANSPARENCY_BACKGROUND	0x00000000
1223d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_MONO_TRANSPARENCY_FOREGROUND	0x00008000
1224d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_UNK16				0x00010000
1225d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SWIZZLE__MASK			0x00300000
1226d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SWIZZLE__SHIFT		20
1227d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SWIZZLE(x)			(((x) << VIVS_DE_BLOCK8_SRC_CONFIG_SWIZZLE__SHIFT) & VIVS_DE_BLOCK8_SRC_CONFIG_SWIZZLE__MASK)
1228d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SOURCE_FORMAT__MASK		0x1f000000
1229d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SOURCE_FORMAT__SHIFT		24
1230d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_SOURCE_FORMAT(x)		(((x) << VIVS_DE_BLOCK8_SRC_CONFIG_SOURCE_FORMAT__SHIFT) & VIVS_DE_BLOCK8_SRC_CONFIG_SOURCE_FORMAT__MASK)
1231d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_DISABLE420_L2_CACHE		0x20000000
1232d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_ENDIAN_CONTROL__MASK		0xc0000000
1233d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_ENDIAN_CONTROL__SHIFT		30
1234d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_CONFIG_ENDIAN_CONTROL(x)		(((x) << VIVS_DE_BLOCK8_SRC_CONFIG_ENDIAN_CONTROL__SHIFT) & VIVS_DE_BLOCK8_SRC_CONFIG_ENDIAN_CONTROL__MASK)
1235d722e3fbSopenharmony_ci
1236d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN(i0)			       (0x00012a80 + 0x4*(i0))
1237d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN__ESIZE			0x00000004
1238d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN__LEN				0x00000008
1239d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN_X__MASK			0x0000ffff
1240d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN_X__SHIFT			0
1241d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN_X(x)				(((x) << VIVS_DE_BLOCK8_SRC_ORIGIN_X__SHIFT) & VIVS_DE_BLOCK8_SRC_ORIGIN_X__MASK)
1242d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN_Y__MASK			0xffff0000
1243d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN_Y__SHIFT			16
1244d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ORIGIN_Y(x)				(((x) << VIVS_DE_BLOCK8_SRC_ORIGIN_Y__SHIFT) & VIVS_DE_BLOCK8_SRC_ORIGIN_Y__MASK)
1245d722e3fbSopenharmony_ci
1246d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE(i0)			       (0x00012aa0 + 0x4*(i0))
1247d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE__ESIZE				0x00000004
1248d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE__LEN				0x00000008
1249d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE_X__MASK				0x0000ffff
1250d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE_X__SHIFT			0
1251d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE_X(x)				(((x) << VIVS_DE_BLOCK8_SRC_SIZE_X__SHIFT) & VIVS_DE_BLOCK8_SRC_SIZE_X__MASK)
1252d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE_Y__MASK				0xffff0000
1253d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE_Y__SHIFT			16
1254d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_SIZE_Y(x)				(((x) << VIVS_DE_BLOCK8_SRC_SIZE_Y__SHIFT) & VIVS_DE_BLOCK8_SRC_SIZE_Y__MASK)
1255d722e3fbSopenharmony_ci
1256d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_COLOR_BG(i0)			       (0x00012ac0 + 0x4*(i0))
1257d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_COLOR_BG__ESIZE			0x00000004
1258d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_COLOR_BG__LEN			0x00000008
1259d722e3fbSopenharmony_ci
1260d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP(i0)				       (0x00012ae0 + 0x4*(i0))
1261d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP__ESIZE				0x00000004
1262d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP__LEN					0x00000008
1263d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_ROP_FG__MASK				0x000000ff
1264d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_ROP_FG__SHIFT			0
1265d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_ROP_FG(x)				(((x) << VIVS_DE_BLOCK8_ROP_ROP_FG__SHIFT) & VIVS_DE_BLOCK8_ROP_ROP_FG__MASK)
1266d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_ROP_BG__MASK				0x0000ff00
1267d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_ROP_BG__SHIFT			8
1268d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_ROP_BG(x)				(((x) << VIVS_DE_BLOCK8_ROP_ROP_BG__SHIFT) & VIVS_DE_BLOCK8_ROP_ROP_BG__MASK)
1269d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_TYPE__MASK				0x00300000
1270d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_TYPE__SHIFT				20
1271d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_TYPE_ROP2_PATTERN			0x00000000
1272d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_TYPE_ROP2_SOURCE			0x00100000
1273d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_TYPE_ROP3				0x00200000
1274d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROP_TYPE_ROP4				0x00300000
1275d722e3fbSopenharmony_ci
1276d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL(i0)		       (0x00012b00 + 0x4*(i0))
1277d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL__ESIZE			0x00000004
1278d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL__LEN			0x00000008
1279d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_ENABLE__MASK		0x00000001
1280d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_ENABLE__SHIFT		0
1281d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_ENABLE_OFF			0x00000000
1282d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_ENABLE_ON			0x00000001
1283d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__MASK	0x00ff0000
1284d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__SHIFT	16
1285d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA(x)	(((x) << VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__SHIFT) & VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_SRC_ALPHA__MASK)
1286d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__MASK	0xff000000
1287d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__SHIFT	24
1288d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA(x)	(((x) << VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__SHIFT) & VIVS_DE_BLOCK8_ALPHA_CONTROL_PE10_GLOBAL_DST_ALPHA__MASK)
1289d722e3fbSopenharmony_ci
1290d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES(i0)			       (0x00012b20 + 0x4*(i0))
1291d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES__ESIZE			0x00000004
1292d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES__LEN				0x00000008
1293d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_MODE__MASK		0x00000001
1294d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_MODE__SHIFT	0
1295d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_MODE_NORMAL	0x00000000
1296d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_MODE_INVERSED	0x00000001
1297d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_MODE__MASK		0x00000010
1298d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_MODE__SHIFT	4
1299d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_MODE_NORMAL	0x00000000
1300d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_MODE_INVERSED	0x00000010
1301d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE__MASK	0x00000300
1302d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE__SHIFT	8
1303d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_NORMAL	0x00000000
1304d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_GLOBAL	0x00000100
1305d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_SRC_ALPHA_MODE_SCALED	0x00000200
1306d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE__MASK	0x00003000
1307d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE__SHIFT	12
1308d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_NORMAL	0x00000000
1309d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_GLOBAL	0x00001000
1310d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_GLOBAL_DST_ALPHA_MODE_SCALED	0x00002000
1311d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY__MASK	0x00010000
1312d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY__SHIFT	16
1313d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY_DISABLE	0x00000000
1314d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_SRC_COLOR_MULTIPLY_ENABLE	0x00010000
1315d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY__MASK	0x00100000
1316d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY__SHIFT	20
1317d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY_DISABLE	0x00000000
1318d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_PE10_DST_COLOR_MULTIPLY_ENABLE	0x00100000
1319d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_BLENDING_MODE__MASK	0x07000000
1320d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_BLENDING_MODE__SHIFT	24
1321d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_BLENDING_MODE(x)		(((x) << VIVS_DE_BLOCK8_ALPHA_MODES_SRC_BLENDING_MODE__SHIFT) & VIVS_DE_BLOCK8_ALPHA_MODES_SRC_BLENDING_MODE__MASK)
1322d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_FACTOR__MASK	0x08000000
1323d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_FACTOR__SHIFT	27
1324d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_FACTOR_DISABLE	0x00000000
1325d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_SRC_ALPHA_FACTOR_ENABLE	0x08000000
1326d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_BLENDING_MODE__MASK	0x70000000
1327d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_BLENDING_MODE__SHIFT	28
1328d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_BLENDING_MODE(x)		(((x) << VIVS_DE_BLOCK8_ALPHA_MODES_DST_BLENDING_MODE__SHIFT) & VIVS_DE_BLOCK8_ALPHA_MODES_DST_BLENDING_MODE__MASK)
1329d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_FACTOR__MASK	0x80000000
1330d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_FACTOR__SHIFT	31
1331d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_FACTOR_DISABLE	0x00000000
1332d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ALPHA_MODES_DST_ALPHA_FACTOR_ENABLE	0x80000000
1333d722e3fbSopenharmony_ci
1334d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ADDRESS_U(i0)			       (0x00012b40 + 0x4*(i0))
1335d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ADDRESS_U__ESIZE				0x00000004
1336d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ADDRESS_U__LEN				0x00000008
1337d722e3fbSopenharmony_ci
1338d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_U(i0)			       (0x00012b60 + 0x4*(i0))
1339d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_U__ESIZE				0x00000004
1340d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_U__LEN				0x00000008
1341d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_U_STRIDE__MASK			0x0003ffff
1342d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_U_STRIDE__SHIFT			0
1343d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_U_STRIDE(x)			(((x) << VIVS_DE_BLOCK8_STRIDE_U_STRIDE__SHIFT) & VIVS_DE_BLOCK8_STRIDE_U_STRIDE__MASK)
1344d722e3fbSopenharmony_ci
1345d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ADDRESS_V(i0)			       (0x00012b80 + 0x4*(i0))
1346d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ADDRESS_V__ESIZE				0x00000004
1347d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ADDRESS_V__LEN				0x00000008
1348d722e3fbSopenharmony_ci
1349d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_V(i0)			       (0x00012ba0 + 0x4*(i0))
1350d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_V__ESIZE				0x00000004
1351d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_V__LEN				0x00000008
1352d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_V_STRIDE__MASK			0x0003ffff
1353d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_V_STRIDE__SHIFT			0
1354d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_STRIDE_V_STRIDE(x)			(((x) << VIVS_DE_BLOCK8_STRIDE_V_STRIDE__SHIFT) & VIVS_DE_BLOCK8_STRIDE_V_STRIDE__MASK)
1355d722e3fbSopenharmony_ci
1356d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT(i0)		       (0x00012bc0 + 0x4*(i0))
1357d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT__ESIZE		0x00000004
1358d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT__LEN			0x00000008
1359d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT_HEIGHT__MASK		0x0000ffff
1360d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT_HEIGHT__SHIFT	0
1361d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT_HEIGHT(x)		(((x) << VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT_HEIGHT__SHIFT) & VIVS_DE_BLOCK8_SRC_ROTATION_HEIGHT_HEIGHT__MASK)
1362d722e3fbSopenharmony_ci
1363d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE(i0)			       (0x00012be0 + 0x4*(i0))
1364d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE__ESIZE				0x00000004
1365d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE__LEN				0x00000008
1366d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC__MASK			0x00000007
1367d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC__SHIFT			0
1368d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC(x)				(((x) << VIVS_DE_BLOCK8_ROT_ANGLE_SRC__SHIFT) & VIVS_DE_BLOCK8_ROT_ANGLE_SRC__MASK)
1369d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST__MASK			0x00000038
1370d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST__SHIFT			3
1371d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST(x)				(((x) << VIVS_DE_BLOCK8_ROT_ANGLE_DST__SHIFT) & VIVS_DE_BLOCK8_ROT_ANGLE_DST__MASK)
1372d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC_MASK			0x00000100
1373d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST_MASK			0x00000200
1374d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC_MIRROR__MASK		0x00003000
1375d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC_MIRROR__SHIFT		12
1376d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC_MIRROR(x)			(((x) << VIVS_DE_BLOCK8_ROT_ANGLE_SRC_MIRROR__SHIFT) & VIVS_DE_BLOCK8_ROT_ANGLE_SRC_MIRROR__MASK)
1377d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_SRC_MIRROR_MASK		0x00008000
1378d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST_MIRROR__MASK		0x00030000
1379d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST_MIRROR__SHIFT		16
1380d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST_MIRROR(x)			(((x) << VIVS_DE_BLOCK8_ROT_ANGLE_DST_MIRROR__SHIFT) & VIVS_DE_BLOCK8_ROT_ANGLE_DST_MIRROR__MASK)
1381d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_ROT_ANGLE_DST_MIRROR_MASK		0x00080000
1382d722e3fbSopenharmony_ci
1383d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_GLOBAL_SRC_COLOR(i0)		       (0x00012c00 + 0x4*(i0))
1384d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_GLOBAL_SRC_COLOR__ESIZE			0x00000004
1385d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_GLOBAL_SRC_COLOR__LEN			0x00000008
1386d722e3fbSopenharmony_ci
1387d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_GLOBAL_DEST_COLOR(i0)		       (0x00012c20 + 0x4*(i0))
1388d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_GLOBAL_DEST_COLOR__ESIZE			0x00000004
1389d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_GLOBAL_DEST_COLOR__LEN			0x00000008
1390d722e3fbSopenharmony_ci
1391d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES(i0)		       (0x00012c40 + 0x4*(i0))
1392d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES__ESIZE		0x00000004
1393d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES__LEN		0x00000008
1394d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY__MASK	0x00000001
1395d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY__SHIFT	0
1396d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY_DISABLE	0x00000000
1397d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_PREMULTIPLY_ENABLE	0x00000001
1398d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY__MASK	0x00000010
1399d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY__SHIFT	4
1400d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY_DISABLE	0x00000000
1401d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_PREMULTIPLY_ENABLE	0x00000010
1402d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY__MASK	0x00000300
1403d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY__SHIFT	8
1404d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_DISABLE	0x00000000
1405d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_ALPHA	0x00000100
1406d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_SRC_GLOBAL_PREMULTIPLY_COLOR	0x00000200
1407d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY__MASK	0x00100000
1408d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY__SHIFT	20
1409d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY_DISABLE	0x00000000
1410d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_COLOR_MULTIPLY_MODES_DST_DEMULTIPLY_ENABLE	0x00100000
1411d722e3fbSopenharmony_ci
1412d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY(i0)			       (0x00012c60 + 0x4*(i0))
1413d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY__ESIZE			0x00000004
1414d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY__LEN			0x00000008
1415d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_SOURCE__MASK		0x00000003
1416d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_SOURCE__SHIFT		0
1417d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_SOURCE_OPAQUE		0x00000000
1418d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_SOURCE_MASK			0x00000001
1419d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_SOURCE_KEY			0x00000002
1420d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_PATTERN__MASK		0x00000030
1421d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_PATTERN__SHIFT		4
1422d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_PATTERN_OPAQUE		0x00000000
1423d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_PATTERN_MASK		0x00000010
1424d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_PATTERN_KEY			0x00000020
1425d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DESTINATION__MASK		0x00000300
1426d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DESTINATION__SHIFT		8
1427d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DESTINATION_OPAQUE		0x00000000
1428d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DESTINATION_MASK		0x00000100
1429d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DESTINATION_KEY		0x00000200
1430d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_TRANSPARENCY_MASK		0x00001000
1431d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_SRC_OVERRIDE__MASK	0x00030000
1432d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_SRC_OVERRIDE__SHIFT	16
1433d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_SRC_OVERRIDE_DEFAULT	0x00000000
1434d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_SRC_OVERRIDE_USE_ENABLE	0x00010000
1435d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_SRC_OVERRIDE_USE_DISABLE	0x00020000
1436d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_PAT_OVERRIDE__MASK	0x00300000
1437d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_PAT_OVERRIDE__SHIFT	20
1438d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_PAT_OVERRIDE_DEFAULT	0x00000000
1439d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_PAT_OVERRIDE_USE_ENABLE	0x00100000
1440d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_PAT_OVERRIDE_USE_DISABLE	0x00200000
1441d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_DST_OVERRIDE__MASK	0x03000000
1442d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_DST_OVERRIDE__SHIFT	24
1443d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_DST_OVERRIDE_DEFAULT	0x00000000
1444d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_DST_OVERRIDE_USE_ENABLE	0x01000000
1445d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_USE_DST_OVERRIDE_USE_DISABLE	0x02000000
1446d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_RESOURCE_OVERRIDE_MASK	0x10000000
1447d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DFB_COLOR_KEY__MASK		0x20000000
1448d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DFB_COLOR_KEY__SHIFT	29
1449d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DFB_COLOR_KEY_DISABLE	0x00000000
1450d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DFB_COLOR_KEY_ENABLE	0x20000000
1451d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_TRANSPARENCY_DFB_COLOR_KEY_MASK		0x80000000
1452d722e3fbSopenharmony_ci
1453d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL(i0)			       (0x00012c80 + 0x4*(i0))
1454d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL__ESIZE				0x00000004
1455d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL__LEN				0x00000008
1456d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUV__MASK			0x00000001
1457d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUV__SHIFT			0
1458d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUV_601				0x00000000
1459d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUV_709				0x00000001
1460d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUV_MASK				0x00000008
1461d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_UV_SWIZZLE__MASK			0x00000010
1462d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_UV_SWIZZLE__SHIFT		4
1463d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_UV_SWIZZLE_UV			0x00000000
1464d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_UV_SWIZZLE_VU			0x00000010
1465d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_UV_SWIZZLE_MASK			0x00000080
1466d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUVRGB__MASK			0x00000100
1467d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUVRGB__SHIFT			8
1468d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUVRGB_DISABLE			0x00000000
1469d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUVRGB_ENABLE			0x00000100
1470d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_CONTROL_YUVRGB_MASK			0x00000800
1471d722e3fbSopenharmony_ci
1472d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_COLOR_KEY_HIGH(i0)		       (0x00012ca0 + 0x4*(i0))
1473d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_COLOR_KEY_HIGH__ESIZE		0x00000004
1474d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_COLOR_KEY_HIGH__LEN			0x00000008
1475d722e3fbSopenharmony_ci
1476d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG(i0)		       (0x00012cc0 + 0x4*(i0))
1477d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG__ESIZE			0x00000004
1478d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG__LEN			0x00000008
1479d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MULTI_TILED__MASK		0x00000001
1480d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MULTI_TILED__SHIFT		0
1481d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MULTI_TILED_DISABLE	0x00000000
1482d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MULTI_TILED_ENABLE		0x00000001
1483d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_SUPER_TILED__MASK		0x00000008
1484d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_SUPER_TILED__SHIFT		3
1485d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_SUPER_TILED_DISABLE	0x00000000
1486d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_SUPER_TILED_ENABLE		0x00000008
1487d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MINOR_TILED__MASK		0x00000100
1488d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MINOR_TILED__SHIFT		8
1489d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MINOR_TILED_DISABLE	0x00000000
1490d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_CONFIG_MINOR_TILED_ENABLE		0x00000100
1491d722e3fbSopenharmony_ci
1492d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_ADDRESS(i0)		       (0x00012ce0 + 0x4*(i0))
1493d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_ADDRESS__ESIZE			0x00000004
1494d722e3fbSopenharmony_ci#define VIVS_DE_BLOCK8_SRC_EX_ADDRESS__LEN			0x00000008
1495d722e3fbSopenharmony_ci
1496d722e3fbSopenharmony_ci
1497d722e3fbSopenharmony_ci#endif /* STATE_2D_XML */
1498