xref: /OK3568_Linux_fs/kernel/drivers/gpu/drm/msm/disp/mdp4/mdp4.xml.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifndef MDP4_XML
2*4882a593Smuzhiyun #define MDP4_XML
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun /* Autogenerated file, DO NOT EDIT manually!
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun This file was generated by the rules-ng-ng headergen tool in this git repository:
7*4882a593Smuzhiyun http://github.com/freedreno/envytools/
8*4882a593Smuzhiyun git clone https://github.com/freedreno/envytools.git
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun The rules-ng-ng source files this header was generated from are:
11*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2020-07-23 21:58:14)
12*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2020-07-23 21:58:14)
13*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2020-07-23 21:58:14)
14*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2020-07-23 21:58:14)
15*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2020-07-23 21:58:14)
16*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  42301 bytes, from 2020-07-23 21:58:14)
17*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2020-07-23 21:58:14)
18*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2020-07-23 21:58:14)
19*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2020-07-23 21:58:14)
20*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41874 bytes, from 2020-07-23 21:58:14)
21*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2020-07-23 21:58:14)
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun Copyright (C) 2013-2020 by the following authors:
24*4882a593Smuzhiyun - Rob Clark <robdclark@gmail.com> (robclark)
25*4882a593Smuzhiyun - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun Permission is hereby granted, free of charge, to any person obtaining
28*4882a593Smuzhiyun a copy of this software and associated documentation files (the
29*4882a593Smuzhiyun "Software"), to deal in the Software without restriction, including
30*4882a593Smuzhiyun without limitation the rights to use, copy, modify, merge, publish,
31*4882a593Smuzhiyun distribute, sublicense, and/or sell copies of the Software, and to
32*4882a593Smuzhiyun permit persons to whom the Software is furnished to do so, subject to
33*4882a593Smuzhiyun the following conditions:
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun The above copyright notice and this permission notice (including the
36*4882a593Smuzhiyun next paragraph) shall be included in all copies or substantial
37*4882a593Smuzhiyun portions of the Software.
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40*4882a593Smuzhiyun EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41*4882a593Smuzhiyun MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
42*4882a593Smuzhiyun IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
43*4882a593Smuzhiyun LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
44*4882a593Smuzhiyun OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
45*4882a593Smuzhiyun WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
46*4882a593Smuzhiyun */
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun enum mdp4_pipe {
50*4882a593Smuzhiyun 	VG1 = 0,
51*4882a593Smuzhiyun 	VG2 = 1,
52*4882a593Smuzhiyun 	RGB1 = 2,
53*4882a593Smuzhiyun 	RGB2 = 3,
54*4882a593Smuzhiyun 	RGB3 = 4,
55*4882a593Smuzhiyun 	VG3 = 5,
56*4882a593Smuzhiyun 	VG4 = 6,
57*4882a593Smuzhiyun };
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun enum mdp4_mixer {
60*4882a593Smuzhiyun 	MIXER0 = 0,
61*4882a593Smuzhiyun 	MIXER1 = 1,
62*4882a593Smuzhiyun 	MIXER2 = 2,
63*4882a593Smuzhiyun };
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun enum mdp4_intf {
66*4882a593Smuzhiyun 	INTF_LCDC_DTV = 0,
67*4882a593Smuzhiyun 	INTF_DSI_VIDEO = 1,
68*4882a593Smuzhiyun 	INTF_DSI_CMD = 2,
69*4882a593Smuzhiyun 	INTF_EBI2_TV = 3,
70*4882a593Smuzhiyun };
71*4882a593Smuzhiyun 
72*4882a593Smuzhiyun enum mdp4_cursor_format {
73*4882a593Smuzhiyun 	CURSOR_ARGB = 1,
74*4882a593Smuzhiyun 	CURSOR_XRGB = 2,
75*4882a593Smuzhiyun };
76*4882a593Smuzhiyun 
77*4882a593Smuzhiyun enum mdp4_frame_format {
78*4882a593Smuzhiyun 	FRAME_LINEAR = 0,
79*4882a593Smuzhiyun 	FRAME_TILE_ARGB_4X4 = 1,
80*4882a593Smuzhiyun 	FRAME_TILE_YCBCR_420 = 2,
81*4882a593Smuzhiyun };
82*4882a593Smuzhiyun 
83*4882a593Smuzhiyun enum mdp4_scale_unit {
84*4882a593Smuzhiyun 	SCALE_FIR = 0,
85*4882a593Smuzhiyun 	SCALE_MN_PHASE = 1,
86*4882a593Smuzhiyun 	SCALE_PIXEL_RPT = 2,
87*4882a593Smuzhiyun };
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun enum mdp4_dma {
90*4882a593Smuzhiyun 	DMA_P = 0,
91*4882a593Smuzhiyun 	DMA_S = 1,
92*4882a593Smuzhiyun 	DMA_E = 2,
93*4882a593Smuzhiyun };
94*4882a593Smuzhiyun 
95*4882a593Smuzhiyun #define MDP4_IRQ_OVERLAY0_DONE					0x00000001
96*4882a593Smuzhiyun #define MDP4_IRQ_OVERLAY1_DONE					0x00000002
97*4882a593Smuzhiyun #define MDP4_IRQ_DMA_S_DONE					0x00000004
98*4882a593Smuzhiyun #define MDP4_IRQ_DMA_E_DONE					0x00000008
99*4882a593Smuzhiyun #define MDP4_IRQ_DMA_P_DONE					0x00000010
100*4882a593Smuzhiyun #define MDP4_IRQ_VG1_HISTOGRAM					0x00000020
101*4882a593Smuzhiyun #define MDP4_IRQ_VG2_HISTOGRAM					0x00000040
102*4882a593Smuzhiyun #define MDP4_IRQ_PRIMARY_VSYNC					0x00000080
103*4882a593Smuzhiyun #define MDP4_IRQ_PRIMARY_INTF_UDERRUN				0x00000100
104*4882a593Smuzhiyun #define MDP4_IRQ_EXTERNAL_VSYNC					0x00000200
105*4882a593Smuzhiyun #define MDP4_IRQ_EXTERNAL_INTF_UDERRUN				0x00000400
106*4882a593Smuzhiyun #define MDP4_IRQ_PRIMARY_RDPTR					0x00000800
107*4882a593Smuzhiyun #define MDP4_IRQ_DMA_P_HISTOGRAM				0x00020000
108*4882a593Smuzhiyun #define MDP4_IRQ_DMA_S_HISTOGRAM				0x04000000
109*4882a593Smuzhiyun #define MDP4_IRQ_OVERLAY2_DONE					0x40000000
110*4882a593Smuzhiyun #define REG_MDP4_VERSION					0x00000000
111*4882a593Smuzhiyun #define MDP4_VERSION_MINOR__MASK				0x00ff0000
112*4882a593Smuzhiyun #define MDP4_VERSION_MINOR__SHIFT				16
MDP4_VERSION_MINOR(uint32_t val)113*4882a593Smuzhiyun static inline uint32_t MDP4_VERSION_MINOR(uint32_t val)
114*4882a593Smuzhiyun {
115*4882a593Smuzhiyun 	return ((val) << MDP4_VERSION_MINOR__SHIFT) & MDP4_VERSION_MINOR__MASK;
116*4882a593Smuzhiyun }
117*4882a593Smuzhiyun #define MDP4_VERSION_MAJOR__MASK				0xff000000
118*4882a593Smuzhiyun #define MDP4_VERSION_MAJOR__SHIFT				24
MDP4_VERSION_MAJOR(uint32_t val)119*4882a593Smuzhiyun static inline uint32_t MDP4_VERSION_MAJOR(uint32_t val)
120*4882a593Smuzhiyun {
121*4882a593Smuzhiyun 	return ((val) << MDP4_VERSION_MAJOR__SHIFT) & MDP4_VERSION_MAJOR__MASK;
122*4882a593Smuzhiyun }
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun #define REG_MDP4_OVLP0_KICK					0x00000004
125*4882a593Smuzhiyun 
126*4882a593Smuzhiyun #define REG_MDP4_OVLP1_KICK					0x00000008
127*4882a593Smuzhiyun 
128*4882a593Smuzhiyun #define REG_MDP4_OVLP2_KICK					0x000000d0
129*4882a593Smuzhiyun 
130*4882a593Smuzhiyun #define REG_MDP4_DMA_P_KICK					0x0000000c
131*4882a593Smuzhiyun 
132*4882a593Smuzhiyun #define REG_MDP4_DMA_S_KICK					0x00000010
133*4882a593Smuzhiyun 
134*4882a593Smuzhiyun #define REG_MDP4_DMA_E_KICK					0x00000014
135*4882a593Smuzhiyun 
136*4882a593Smuzhiyun #define REG_MDP4_DISP_STATUS					0x00000018
137*4882a593Smuzhiyun 
138*4882a593Smuzhiyun #define REG_MDP4_DISP_INTF_SEL					0x00000038
139*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_PRIM__MASK				0x00000003
140*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_PRIM__SHIFT				0
MDP4_DISP_INTF_SEL_PRIM(enum mdp4_intf val)141*4882a593Smuzhiyun static inline uint32_t MDP4_DISP_INTF_SEL_PRIM(enum mdp4_intf val)
142*4882a593Smuzhiyun {
143*4882a593Smuzhiyun 	return ((val) << MDP4_DISP_INTF_SEL_PRIM__SHIFT) & MDP4_DISP_INTF_SEL_PRIM__MASK;
144*4882a593Smuzhiyun }
145*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_SEC__MASK				0x0000000c
146*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_SEC__SHIFT				2
MDP4_DISP_INTF_SEL_SEC(enum mdp4_intf val)147*4882a593Smuzhiyun static inline uint32_t MDP4_DISP_INTF_SEL_SEC(enum mdp4_intf val)
148*4882a593Smuzhiyun {
149*4882a593Smuzhiyun 	return ((val) << MDP4_DISP_INTF_SEL_SEC__SHIFT) & MDP4_DISP_INTF_SEL_SEC__MASK;
150*4882a593Smuzhiyun }
151*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_EXT__MASK				0x00000030
152*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_EXT__SHIFT				4
MDP4_DISP_INTF_SEL_EXT(enum mdp4_intf val)153*4882a593Smuzhiyun static inline uint32_t MDP4_DISP_INTF_SEL_EXT(enum mdp4_intf val)
154*4882a593Smuzhiyun {
155*4882a593Smuzhiyun 	return ((val) << MDP4_DISP_INTF_SEL_EXT__SHIFT) & MDP4_DISP_INTF_SEL_EXT__MASK;
156*4882a593Smuzhiyun }
157*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_DSI_VIDEO				0x00000040
158*4882a593Smuzhiyun #define MDP4_DISP_INTF_SEL_DSI_CMD				0x00000080
159*4882a593Smuzhiyun 
160*4882a593Smuzhiyun #define REG_MDP4_RESET_STATUS					0x0000003c
161*4882a593Smuzhiyun 
162*4882a593Smuzhiyun #define REG_MDP4_READ_CNFG					0x0000004c
163*4882a593Smuzhiyun 
164*4882a593Smuzhiyun #define REG_MDP4_INTR_ENABLE					0x00000050
165*4882a593Smuzhiyun 
166*4882a593Smuzhiyun #define REG_MDP4_INTR_STATUS					0x00000054
167*4882a593Smuzhiyun 
168*4882a593Smuzhiyun #define REG_MDP4_INTR_CLEAR					0x00000058
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun #define REG_MDP4_EBI2_LCD0					0x00000060
171*4882a593Smuzhiyun 
172*4882a593Smuzhiyun #define REG_MDP4_EBI2_LCD1					0x00000064
173*4882a593Smuzhiyun 
174*4882a593Smuzhiyun #define REG_MDP4_PORTMAP_MODE					0x00000070
175*4882a593Smuzhiyun 
176*4882a593Smuzhiyun #define REG_MDP4_CS_CONTROLLER0					0x000000c0
177*4882a593Smuzhiyun 
178*4882a593Smuzhiyun #define REG_MDP4_CS_CONTROLLER1					0x000000c4
179*4882a593Smuzhiyun 
180*4882a593Smuzhiyun #define REG_MDP4_LAYERMIXER2_IN_CFG				0x000100f0
181*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK			0x00000007
182*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT			0
MDP4_LAYERMIXER2_IN_CFG_PIPE0(enum mdp_mixer_stage_id val)183*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE0(enum mdp_mixer_stage_id val)
184*4882a593Smuzhiyun {
185*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK;
186*4882a593Smuzhiyun }
187*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE0_MIXER1			0x00000008
188*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK			0x00000070
189*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT			4
MDP4_LAYERMIXER2_IN_CFG_PIPE1(enum mdp_mixer_stage_id val)190*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE1(enum mdp_mixer_stage_id val)
191*4882a593Smuzhiyun {
192*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK;
193*4882a593Smuzhiyun }
194*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE1_MIXER1			0x00000080
195*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK			0x00000700
196*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT			8
MDP4_LAYERMIXER2_IN_CFG_PIPE2(enum mdp_mixer_stage_id val)197*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE2(enum mdp_mixer_stage_id val)
198*4882a593Smuzhiyun {
199*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK;
200*4882a593Smuzhiyun }
201*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE2_MIXER1			0x00000800
202*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK			0x00007000
203*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT			12
MDP4_LAYERMIXER2_IN_CFG_PIPE3(enum mdp_mixer_stage_id val)204*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE3(enum mdp_mixer_stage_id val)
205*4882a593Smuzhiyun {
206*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK;
207*4882a593Smuzhiyun }
208*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE3_MIXER1			0x00008000
209*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK			0x00070000
210*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT			16
MDP4_LAYERMIXER2_IN_CFG_PIPE4(enum mdp_mixer_stage_id val)211*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE4(enum mdp_mixer_stage_id val)
212*4882a593Smuzhiyun {
213*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK;
214*4882a593Smuzhiyun }
215*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE4_MIXER1			0x00080000
216*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK			0x00700000
217*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT			20
MDP4_LAYERMIXER2_IN_CFG_PIPE5(enum mdp_mixer_stage_id val)218*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE5(enum mdp_mixer_stage_id val)
219*4882a593Smuzhiyun {
220*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK;
221*4882a593Smuzhiyun }
222*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE5_MIXER1			0x00800000
223*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK			0x07000000
224*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT			24
MDP4_LAYERMIXER2_IN_CFG_PIPE6(enum mdp_mixer_stage_id val)225*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE6(enum mdp_mixer_stage_id val)
226*4882a593Smuzhiyun {
227*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK;
228*4882a593Smuzhiyun }
229*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE6_MIXER1			0x08000000
230*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK			0x70000000
231*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT			28
MDP4_LAYERMIXER2_IN_CFG_PIPE7(enum mdp_mixer_stage_id val)232*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE7(enum mdp_mixer_stage_id val)
233*4882a593Smuzhiyun {
234*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK;
235*4882a593Smuzhiyun }
236*4882a593Smuzhiyun #define MDP4_LAYERMIXER2_IN_CFG_PIPE7_MIXER1			0x80000000
237*4882a593Smuzhiyun 
238*4882a593Smuzhiyun #define REG_MDP4_LAYERMIXER_IN_CFG_UPDATE_METHOD		0x000100fc
239*4882a593Smuzhiyun 
240*4882a593Smuzhiyun #define REG_MDP4_LAYERMIXER_IN_CFG				0x00010100
241*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK			0x00000007
242*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT			0
MDP4_LAYERMIXER_IN_CFG_PIPE0(enum mdp_mixer_stage_id val)243*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE0(enum mdp_mixer_stage_id val)
244*4882a593Smuzhiyun {
245*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK;
246*4882a593Smuzhiyun }
247*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE0_MIXER1			0x00000008
248*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK			0x00000070
249*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT			4
MDP4_LAYERMIXER_IN_CFG_PIPE1(enum mdp_mixer_stage_id val)250*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE1(enum mdp_mixer_stage_id val)
251*4882a593Smuzhiyun {
252*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK;
253*4882a593Smuzhiyun }
254*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE1_MIXER1			0x00000080
255*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK			0x00000700
256*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT			8
MDP4_LAYERMIXER_IN_CFG_PIPE2(enum mdp_mixer_stage_id val)257*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE2(enum mdp_mixer_stage_id val)
258*4882a593Smuzhiyun {
259*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK;
260*4882a593Smuzhiyun }
261*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE2_MIXER1			0x00000800
262*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK			0x00007000
263*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT			12
MDP4_LAYERMIXER_IN_CFG_PIPE3(enum mdp_mixer_stage_id val)264*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE3(enum mdp_mixer_stage_id val)
265*4882a593Smuzhiyun {
266*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK;
267*4882a593Smuzhiyun }
268*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE3_MIXER1			0x00008000
269*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK			0x00070000
270*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT			16
MDP4_LAYERMIXER_IN_CFG_PIPE4(enum mdp_mixer_stage_id val)271*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE4(enum mdp_mixer_stage_id val)
272*4882a593Smuzhiyun {
273*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK;
274*4882a593Smuzhiyun }
275*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE4_MIXER1			0x00080000
276*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK			0x00700000
277*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT			20
MDP4_LAYERMIXER_IN_CFG_PIPE5(enum mdp_mixer_stage_id val)278*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE5(enum mdp_mixer_stage_id val)
279*4882a593Smuzhiyun {
280*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK;
281*4882a593Smuzhiyun }
282*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE5_MIXER1			0x00800000
283*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK			0x07000000
284*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT			24
MDP4_LAYERMIXER_IN_CFG_PIPE6(enum mdp_mixer_stage_id val)285*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE6(enum mdp_mixer_stage_id val)
286*4882a593Smuzhiyun {
287*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK;
288*4882a593Smuzhiyun }
289*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE6_MIXER1			0x08000000
290*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK			0x70000000
291*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT			28
MDP4_LAYERMIXER_IN_CFG_PIPE7(enum mdp_mixer_stage_id val)292*4882a593Smuzhiyun static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE7(enum mdp_mixer_stage_id val)
293*4882a593Smuzhiyun {
294*4882a593Smuzhiyun 	return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK;
295*4882a593Smuzhiyun }
296*4882a593Smuzhiyun #define MDP4_LAYERMIXER_IN_CFG_PIPE7_MIXER1			0x80000000
297*4882a593Smuzhiyun 
298*4882a593Smuzhiyun #define REG_MDP4_VG2_SRC_FORMAT					0x00030050
299*4882a593Smuzhiyun 
300*4882a593Smuzhiyun #define REG_MDP4_VG2_CONST_COLOR				0x00031008
301*4882a593Smuzhiyun 
302*4882a593Smuzhiyun #define REG_MDP4_OVERLAY_FLUSH					0x00018000
303*4882a593Smuzhiyun #define MDP4_OVERLAY_FLUSH_OVLP0				0x00000001
304*4882a593Smuzhiyun #define MDP4_OVERLAY_FLUSH_OVLP1				0x00000002
305*4882a593Smuzhiyun #define MDP4_OVERLAY_FLUSH_VG1					0x00000004
306*4882a593Smuzhiyun #define MDP4_OVERLAY_FLUSH_VG2					0x00000008
307*4882a593Smuzhiyun #define MDP4_OVERLAY_FLUSH_RGB1					0x00000010
308*4882a593Smuzhiyun #define MDP4_OVERLAY_FLUSH_RGB2					0x00000020
309*4882a593Smuzhiyun 
__offset_OVLP(uint32_t idx)310*4882a593Smuzhiyun static inline uint32_t __offset_OVLP(uint32_t idx)
311*4882a593Smuzhiyun {
312*4882a593Smuzhiyun 	switch (idx) {
313*4882a593Smuzhiyun 		case 0: return 0x00010000;
314*4882a593Smuzhiyun 		case 1: return 0x00018000;
315*4882a593Smuzhiyun 		case 2: return 0x00088000;
316*4882a593Smuzhiyun 		default: return INVALID_IDX(idx);
317*4882a593Smuzhiyun 	}
318*4882a593Smuzhiyun }
REG_MDP4_OVLP(uint32_t i0)319*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP(uint32_t i0) { return 0x00000000 + __offset_OVLP(i0); }
320*4882a593Smuzhiyun 
REG_MDP4_OVLP_CFG(uint32_t i0)321*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CFG(uint32_t i0) { return 0x00000004 + __offset_OVLP(i0); }
322*4882a593Smuzhiyun 
REG_MDP4_OVLP_SIZE(uint32_t i0)323*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_SIZE(uint32_t i0) { return 0x00000008 + __offset_OVLP(i0); }
324*4882a593Smuzhiyun #define MDP4_OVLP_SIZE_HEIGHT__MASK				0xffff0000
325*4882a593Smuzhiyun #define MDP4_OVLP_SIZE_HEIGHT__SHIFT				16
MDP4_OVLP_SIZE_HEIGHT(uint32_t val)326*4882a593Smuzhiyun static inline uint32_t MDP4_OVLP_SIZE_HEIGHT(uint32_t val)
327*4882a593Smuzhiyun {
328*4882a593Smuzhiyun 	return ((val) << MDP4_OVLP_SIZE_HEIGHT__SHIFT) & MDP4_OVLP_SIZE_HEIGHT__MASK;
329*4882a593Smuzhiyun }
330*4882a593Smuzhiyun #define MDP4_OVLP_SIZE_WIDTH__MASK				0x0000ffff
331*4882a593Smuzhiyun #define MDP4_OVLP_SIZE_WIDTH__SHIFT				0
MDP4_OVLP_SIZE_WIDTH(uint32_t val)332*4882a593Smuzhiyun static inline uint32_t MDP4_OVLP_SIZE_WIDTH(uint32_t val)
333*4882a593Smuzhiyun {
334*4882a593Smuzhiyun 	return ((val) << MDP4_OVLP_SIZE_WIDTH__SHIFT) & MDP4_OVLP_SIZE_WIDTH__MASK;
335*4882a593Smuzhiyun }
336*4882a593Smuzhiyun 
REG_MDP4_OVLP_BASE(uint32_t i0)337*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_BASE(uint32_t i0) { return 0x0000000c + __offset_OVLP(i0); }
338*4882a593Smuzhiyun 
REG_MDP4_OVLP_STRIDE(uint32_t i0)339*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STRIDE(uint32_t i0) { return 0x00000010 + __offset_OVLP(i0); }
340*4882a593Smuzhiyun 
REG_MDP4_OVLP_OPMODE(uint32_t i0)341*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_OPMODE(uint32_t i0) { return 0x00000014 + __offset_OVLP(i0); }
342*4882a593Smuzhiyun 
__offset_STAGE(uint32_t idx)343*4882a593Smuzhiyun static inline uint32_t __offset_STAGE(uint32_t idx)
344*4882a593Smuzhiyun {
345*4882a593Smuzhiyun 	switch (idx) {
346*4882a593Smuzhiyun 		case 0: return 0x00000104;
347*4882a593Smuzhiyun 		case 1: return 0x00000124;
348*4882a593Smuzhiyun 		case 2: return 0x00000144;
349*4882a593Smuzhiyun 		case 3: return 0x00000160;
350*4882a593Smuzhiyun 		default: return INVALID_IDX(idx);
351*4882a593Smuzhiyun 	}
352*4882a593Smuzhiyun }
REG_MDP4_OVLP_STAGE(uint32_t i0,uint32_t i1)353*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE(i1); }
354*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_OP(uint32_t i0,uint32_t i1)355*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_OP(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE(i1); }
356*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK			0x00000003
357*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT			0
MDP4_OVLP_STAGE_OP_FG_ALPHA(enum mdp_alpha_type val)358*4882a593Smuzhiyun static inline uint32_t MDP4_OVLP_STAGE_OP_FG_ALPHA(enum mdp_alpha_type val)
359*4882a593Smuzhiyun {
360*4882a593Smuzhiyun 	return ((val) << MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK;
361*4882a593Smuzhiyun }
362*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_FG_INV_ALPHA				0x00000004
363*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_FG_MOD_ALPHA				0x00000008
364*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK			0x00000030
365*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT			4
MDP4_OVLP_STAGE_OP_BG_ALPHA(enum mdp_alpha_type val)366*4882a593Smuzhiyun static inline uint32_t MDP4_OVLP_STAGE_OP_BG_ALPHA(enum mdp_alpha_type val)
367*4882a593Smuzhiyun {
368*4882a593Smuzhiyun 	return ((val) << MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK;
369*4882a593Smuzhiyun }
370*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_BG_INV_ALPHA				0x00000040
371*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_BG_MOD_ALPHA				0x00000080
372*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_FG_TRANSP				0x00000100
373*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_OP_BG_TRANSP				0x00000200
374*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_FG_ALPHA(uint32_t i0,uint32_t i1)375*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_FG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000004 + __offset_OVLP(i0) + __offset_STAGE(i1); }
376*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_BG_ALPHA(uint32_t i0,uint32_t i1)377*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_BG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000008 + __offset_OVLP(i0) + __offset_STAGE(i1); }
378*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_TRANSP_LOW0(uint32_t i0,uint32_t i1)379*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_LOW0(uint32_t i0, uint32_t i1) { return 0x0000000c + __offset_OVLP(i0) + __offset_STAGE(i1); }
380*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_TRANSP_LOW1(uint32_t i0,uint32_t i1)381*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_LOW1(uint32_t i0, uint32_t i1) { return 0x00000010 + __offset_OVLP(i0) + __offset_STAGE(i1); }
382*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_TRANSP_HIGH0(uint32_t i0,uint32_t i1)383*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_HIGH0(uint32_t i0, uint32_t i1) { return 0x00000014 + __offset_OVLP(i0) + __offset_STAGE(i1); }
384*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_TRANSP_HIGH1(uint32_t i0,uint32_t i1)385*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_HIGH1(uint32_t i0, uint32_t i1) { return 0x00000018 + __offset_OVLP(i0) + __offset_STAGE(i1); }
386*4882a593Smuzhiyun 
__offset_STAGE_CO3(uint32_t idx)387*4882a593Smuzhiyun static inline uint32_t __offset_STAGE_CO3(uint32_t idx)
388*4882a593Smuzhiyun {
389*4882a593Smuzhiyun 	switch (idx) {
390*4882a593Smuzhiyun 		case 0: return 0x00001004;
391*4882a593Smuzhiyun 		case 1: return 0x00001404;
392*4882a593Smuzhiyun 		case 2: return 0x00001804;
393*4882a593Smuzhiyun 		case 3: return 0x00001b84;
394*4882a593Smuzhiyun 		default: return INVALID_IDX(idx);
395*4882a593Smuzhiyun 	}
396*4882a593Smuzhiyun }
REG_MDP4_OVLP_STAGE_CO3(uint32_t i0,uint32_t i1)397*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_CO3(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE_CO3(i1); }
398*4882a593Smuzhiyun 
REG_MDP4_OVLP_STAGE_CO3_SEL(uint32_t i0,uint32_t i1)399*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_STAGE_CO3_SEL(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE_CO3(i1); }
400*4882a593Smuzhiyun #define MDP4_OVLP_STAGE_CO3_SEL_FG_ALPHA			0x00000001
401*4882a593Smuzhiyun 
REG_MDP4_OVLP_TRANSP_LOW0(uint32_t i0)402*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_TRANSP_LOW0(uint32_t i0) { return 0x00000180 + __offset_OVLP(i0); }
403*4882a593Smuzhiyun 
REG_MDP4_OVLP_TRANSP_LOW1(uint32_t i0)404*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_TRANSP_LOW1(uint32_t i0) { return 0x00000184 + __offset_OVLP(i0); }
405*4882a593Smuzhiyun 
REG_MDP4_OVLP_TRANSP_HIGH0(uint32_t i0)406*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_TRANSP_HIGH0(uint32_t i0) { return 0x00000188 + __offset_OVLP(i0); }
407*4882a593Smuzhiyun 
REG_MDP4_OVLP_TRANSP_HIGH1(uint32_t i0)408*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_TRANSP_HIGH1(uint32_t i0) { return 0x0000018c + __offset_OVLP(i0); }
409*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_CONFIG(uint32_t i0)410*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_CONFIG(uint32_t i0) { return 0x00000200 + __offset_OVLP(i0); }
411*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC(uint32_t i0)412*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC(uint32_t i0) { return 0x00002000 + __offset_OVLP(i0); }
413*4882a593Smuzhiyun 
414*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_MV(uint32_t i0,uint32_t i1)415*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_MV(uint32_t i0, uint32_t i1) { return 0x00002400 + __offset_OVLP(i0) + 0x4*i1; }
416*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_MV_VAL(uint32_t i0,uint32_t i1)417*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_MV_VAL(uint32_t i0, uint32_t i1) { return 0x00002400 + __offset_OVLP(i0) + 0x4*i1; }
418*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_PRE_BV(uint32_t i0,uint32_t i1)419*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_PRE_BV(uint32_t i0, uint32_t i1) { return 0x00002500 + __offset_OVLP(i0) + 0x4*i1; }
420*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_PRE_BV_VAL(uint32_t i0,uint32_t i1)421*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_PRE_BV_VAL(uint32_t i0, uint32_t i1) { return 0x00002500 + __offset_OVLP(i0) + 0x4*i1; }
422*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_POST_BV(uint32_t i0,uint32_t i1)423*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_POST_BV(uint32_t i0, uint32_t i1) { return 0x00002580 + __offset_OVLP(i0) + 0x4*i1; }
424*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_POST_BV_VAL(uint32_t i0,uint32_t i1)425*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_POST_BV_VAL(uint32_t i0, uint32_t i1) { return 0x00002580 + __offset_OVLP(i0) + 0x4*i1; }
426*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_PRE_LV(uint32_t i0,uint32_t i1)427*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_PRE_LV(uint32_t i0, uint32_t i1) { return 0x00002600 + __offset_OVLP(i0) + 0x4*i1; }
428*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_PRE_LV_VAL(uint32_t i0,uint32_t i1)429*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_PRE_LV_VAL(uint32_t i0, uint32_t i1) { return 0x00002600 + __offset_OVLP(i0) + 0x4*i1; }
430*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_POST_LV(uint32_t i0,uint32_t i1)431*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_POST_LV(uint32_t i0, uint32_t i1) { return 0x00002680 + __offset_OVLP(i0) + 0x4*i1; }
432*4882a593Smuzhiyun 
REG_MDP4_OVLP_CSC_POST_LV_VAL(uint32_t i0,uint32_t i1)433*4882a593Smuzhiyun static inline uint32_t REG_MDP4_OVLP_CSC_POST_LV_VAL(uint32_t i0, uint32_t i1) { return 0x00002680 + __offset_OVLP(i0) + 0x4*i1; }
434*4882a593Smuzhiyun 
435*4882a593Smuzhiyun #define REG_MDP4_DMA_P_OP_MODE					0x00090070
436*4882a593Smuzhiyun 
REG_MDP4_LUTN(uint32_t i0)437*4882a593Smuzhiyun static inline uint32_t REG_MDP4_LUTN(uint32_t i0) { return 0x00094800 + 0x400*i0; }
438*4882a593Smuzhiyun 
REG_MDP4_LUTN_LUT(uint32_t i0,uint32_t i1)439*4882a593Smuzhiyun static inline uint32_t REG_MDP4_LUTN_LUT(uint32_t i0, uint32_t i1) { return 0x00094800 + 0x400*i0 + 0x4*i1; }
440*4882a593Smuzhiyun 
REG_MDP4_LUTN_LUT_VAL(uint32_t i0,uint32_t i1)441*4882a593Smuzhiyun static inline uint32_t REG_MDP4_LUTN_LUT_VAL(uint32_t i0, uint32_t i1) { return 0x00094800 + 0x400*i0 + 0x4*i1; }
442*4882a593Smuzhiyun 
443*4882a593Smuzhiyun #define REG_MDP4_DMA_S_OP_MODE					0x000a0028
444*4882a593Smuzhiyun 
REG_MDP4_DMA_E_QUANT(uint32_t i0)445*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_E_QUANT(uint32_t i0) { return 0x000b0070 + 0x4*i0; }
446*4882a593Smuzhiyun 
__offset_DMA(enum mdp4_dma idx)447*4882a593Smuzhiyun static inline uint32_t __offset_DMA(enum mdp4_dma idx)
448*4882a593Smuzhiyun {
449*4882a593Smuzhiyun 	switch (idx) {
450*4882a593Smuzhiyun 		case DMA_P: return 0x00090000;
451*4882a593Smuzhiyun 		case DMA_S: return 0x000a0000;
452*4882a593Smuzhiyun 		case DMA_E: return 0x000b0000;
453*4882a593Smuzhiyun 		default: return INVALID_IDX(idx);
454*4882a593Smuzhiyun 	}
455*4882a593Smuzhiyun }
REG_MDP4_DMA(enum mdp4_dma i0)456*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA(enum mdp4_dma i0) { return 0x00000000 + __offset_DMA(i0); }
457*4882a593Smuzhiyun 
REG_MDP4_DMA_CONFIG(enum mdp4_dma i0)458*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CONFIG(enum mdp4_dma i0) { return 0x00000000 + __offset_DMA(i0); }
459*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_G_BPC__MASK				0x00000003
460*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_G_BPC__SHIFT				0
MDP4_DMA_CONFIG_G_BPC(enum mdp_bpc val)461*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CONFIG_G_BPC(enum mdp_bpc val)
462*4882a593Smuzhiyun {
463*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CONFIG_G_BPC__SHIFT) & MDP4_DMA_CONFIG_G_BPC__MASK;
464*4882a593Smuzhiyun }
465*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_B_BPC__MASK				0x0000000c
466*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_B_BPC__SHIFT				2
MDP4_DMA_CONFIG_B_BPC(enum mdp_bpc val)467*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CONFIG_B_BPC(enum mdp_bpc val)
468*4882a593Smuzhiyun {
469*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CONFIG_B_BPC__SHIFT) & MDP4_DMA_CONFIG_B_BPC__MASK;
470*4882a593Smuzhiyun }
471*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_R_BPC__MASK				0x00000030
472*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_R_BPC__SHIFT				4
MDP4_DMA_CONFIG_R_BPC(enum mdp_bpc val)473*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CONFIG_R_BPC(enum mdp_bpc val)
474*4882a593Smuzhiyun {
475*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CONFIG_R_BPC__SHIFT) & MDP4_DMA_CONFIG_R_BPC__MASK;
476*4882a593Smuzhiyun }
477*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_PACK_ALIGN_MSB				0x00000080
478*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_PACK__MASK				0x0000ff00
479*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_PACK__SHIFT				8
MDP4_DMA_CONFIG_PACK(uint32_t val)480*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CONFIG_PACK(uint32_t val)
481*4882a593Smuzhiyun {
482*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CONFIG_PACK__SHIFT) & MDP4_DMA_CONFIG_PACK__MASK;
483*4882a593Smuzhiyun }
484*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_DEFLKR_EN				0x01000000
485*4882a593Smuzhiyun #define MDP4_DMA_CONFIG_DITHER_EN				0x01000000
486*4882a593Smuzhiyun 
REG_MDP4_DMA_SRC_SIZE(enum mdp4_dma i0)487*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_SRC_SIZE(enum mdp4_dma i0) { return 0x00000004 + __offset_DMA(i0); }
488*4882a593Smuzhiyun #define MDP4_DMA_SRC_SIZE_HEIGHT__MASK				0xffff0000
489*4882a593Smuzhiyun #define MDP4_DMA_SRC_SIZE_HEIGHT__SHIFT				16
MDP4_DMA_SRC_SIZE_HEIGHT(uint32_t val)490*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_SRC_SIZE_HEIGHT(uint32_t val)
491*4882a593Smuzhiyun {
492*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_SRC_SIZE_HEIGHT__SHIFT) & MDP4_DMA_SRC_SIZE_HEIGHT__MASK;
493*4882a593Smuzhiyun }
494*4882a593Smuzhiyun #define MDP4_DMA_SRC_SIZE_WIDTH__MASK				0x0000ffff
495*4882a593Smuzhiyun #define MDP4_DMA_SRC_SIZE_WIDTH__SHIFT				0
MDP4_DMA_SRC_SIZE_WIDTH(uint32_t val)496*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_SRC_SIZE_WIDTH(uint32_t val)
497*4882a593Smuzhiyun {
498*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_SRC_SIZE_WIDTH__SHIFT) & MDP4_DMA_SRC_SIZE_WIDTH__MASK;
499*4882a593Smuzhiyun }
500*4882a593Smuzhiyun 
REG_MDP4_DMA_SRC_BASE(enum mdp4_dma i0)501*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_SRC_BASE(enum mdp4_dma i0) { return 0x00000008 + __offset_DMA(i0); }
502*4882a593Smuzhiyun 
REG_MDP4_DMA_SRC_STRIDE(enum mdp4_dma i0)503*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_SRC_STRIDE(enum mdp4_dma i0) { return 0x0000000c + __offset_DMA(i0); }
504*4882a593Smuzhiyun 
REG_MDP4_DMA_DST_SIZE(enum mdp4_dma i0)505*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_DST_SIZE(enum mdp4_dma i0) { return 0x00000010 + __offset_DMA(i0); }
506*4882a593Smuzhiyun #define MDP4_DMA_DST_SIZE_HEIGHT__MASK				0xffff0000
507*4882a593Smuzhiyun #define MDP4_DMA_DST_SIZE_HEIGHT__SHIFT				16
MDP4_DMA_DST_SIZE_HEIGHT(uint32_t val)508*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_DST_SIZE_HEIGHT(uint32_t val)
509*4882a593Smuzhiyun {
510*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_DST_SIZE_HEIGHT__SHIFT) & MDP4_DMA_DST_SIZE_HEIGHT__MASK;
511*4882a593Smuzhiyun }
512*4882a593Smuzhiyun #define MDP4_DMA_DST_SIZE_WIDTH__MASK				0x0000ffff
513*4882a593Smuzhiyun #define MDP4_DMA_DST_SIZE_WIDTH__SHIFT				0
MDP4_DMA_DST_SIZE_WIDTH(uint32_t val)514*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_DST_SIZE_WIDTH(uint32_t val)
515*4882a593Smuzhiyun {
516*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_DST_SIZE_WIDTH__SHIFT) & MDP4_DMA_DST_SIZE_WIDTH__MASK;
517*4882a593Smuzhiyun }
518*4882a593Smuzhiyun 
REG_MDP4_DMA_CURSOR_SIZE(enum mdp4_dma i0)519*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CURSOR_SIZE(enum mdp4_dma i0) { return 0x00000044 + __offset_DMA(i0); }
520*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_SIZE_WIDTH__MASK			0x0000007f
521*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_SIZE_WIDTH__SHIFT			0
MDP4_DMA_CURSOR_SIZE_WIDTH(uint32_t val)522*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CURSOR_SIZE_WIDTH(uint32_t val)
523*4882a593Smuzhiyun {
524*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CURSOR_SIZE_WIDTH__SHIFT) & MDP4_DMA_CURSOR_SIZE_WIDTH__MASK;
525*4882a593Smuzhiyun }
526*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_SIZE_HEIGHT__MASK			0x007f0000
527*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_SIZE_HEIGHT__SHIFT			16
MDP4_DMA_CURSOR_SIZE_HEIGHT(uint32_t val)528*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CURSOR_SIZE_HEIGHT(uint32_t val)
529*4882a593Smuzhiyun {
530*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CURSOR_SIZE_HEIGHT__SHIFT) & MDP4_DMA_CURSOR_SIZE_HEIGHT__MASK;
531*4882a593Smuzhiyun }
532*4882a593Smuzhiyun 
REG_MDP4_DMA_CURSOR_BASE(enum mdp4_dma i0)533*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CURSOR_BASE(enum mdp4_dma i0) { return 0x00000048 + __offset_DMA(i0); }
534*4882a593Smuzhiyun 
REG_MDP4_DMA_CURSOR_POS(enum mdp4_dma i0)535*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CURSOR_POS(enum mdp4_dma i0) { return 0x0000004c + __offset_DMA(i0); }
536*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_POS_X__MASK				0x0000ffff
537*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_POS_X__SHIFT				0
MDP4_DMA_CURSOR_POS_X(uint32_t val)538*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CURSOR_POS_X(uint32_t val)
539*4882a593Smuzhiyun {
540*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CURSOR_POS_X__SHIFT) & MDP4_DMA_CURSOR_POS_X__MASK;
541*4882a593Smuzhiyun }
542*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_POS_Y__MASK				0xffff0000
543*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_POS_Y__SHIFT				16
MDP4_DMA_CURSOR_POS_Y(uint32_t val)544*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CURSOR_POS_Y(uint32_t val)
545*4882a593Smuzhiyun {
546*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CURSOR_POS_Y__SHIFT) & MDP4_DMA_CURSOR_POS_Y__MASK;
547*4882a593Smuzhiyun }
548*4882a593Smuzhiyun 
REG_MDP4_DMA_CURSOR_BLEND_CONFIG(enum mdp4_dma i0)549*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CURSOR_BLEND_CONFIG(enum mdp4_dma i0) { return 0x00000060 + __offset_DMA(i0); }
550*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_BLEND_CONFIG_CURSOR_EN			0x00000001
551*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__MASK		0x00000006
552*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__SHIFT		1
MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT(enum mdp4_cursor_format val)553*4882a593Smuzhiyun static inline uint32_t MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT(enum mdp4_cursor_format val)
554*4882a593Smuzhiyun {
555*4882a593Smuzhiyun 	return ((val) << MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__SHIFT) & MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__MASK;
556*4882a593Smuzhiyun }
557*4882a593Smuzhiyun #define MDP4_DMA_CURSOR_BLEND_CONFIG_TRANSP_EN			0x00000008
558*4882a593Smuzhiyun 
REG_MDP4_DMA_CURSOR_BLEND_PARAM(enum mdp4_dma i0)559*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CURSOR_BLEND_PARAM(enum mdp4_dma i0) { return 0x00000064 + __offset_DMA(i0); }
560*4882a593Smuzhiyun 
REG_MDP4_DMA_BLEND_TRANS_LOW(enum mdp4_dma i0)561*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_BLEND_TRANS_LOW(enum mdp4_dma i0) { return 0x00000068 + __offset_DMA(i0); }
562*4882a593Smuzhiyun 
REG_MDP4_DMA_BLEND_TRANS_HIGH(enum mdp4_dma i0)563*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_BLEND_TRANS_HIGH(enum mdp4_dma i0) { return 0x0000006c + __offset_DMA(i0); }
564*4882a593Smuzhiyun 
REG_MDP4_DMA_FETCH_CONFIG(enum mdp4_dma i0)565*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_FETCH_CONFIG(enum mdp4_dma i0) { return 0x00001004 + __offset_DMA(i0); }
566*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC(enum mdp4_dma i0)567*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC(enum mdp4_dma i0) { return 0x00003000 + __offset_DMA(i0); }
568*4882a593Smuzhiyun 
569*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_MV(enum mdp4_dma i0,uint32_t i1)570*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_MV(enum mdp4_dma i0, uint32_t i1) { return 0x00003400 + __offset_DMA(i0) + 0x4*i1; }
571*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_MV_VAL(enum mdp4_dma i0,uint32_t i1)572*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_MV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003400 + __offset_DMA(i0) + 0x4*i1; }
573*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_PRE_BV(enum mdp4_dma i0,uint32_t i1)574*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_PRE_BV(enum mdp4_dma i0, uint32_t i1) { return 0x00003500 + __offset_DMA(i0) + 0x4*i1; }
575*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_PRE_BV_VAL(enum mdp4_dma i0,uint32_t i1)576*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_PRE_BV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003500 + __offset_DMA(i0) + 0x4*i1; }
577*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_POST_BV(enum mdp4_dma i0,uint32_t i1)578*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_POST_BV(enum mdp4_dma i0, uint32_t i1) { return 0x00003580 + __offset_DMA(i0) + 0x4*i1; }
579*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_POST_BV_VAL(enum mdp4_dma i0,uint32_t i1)580*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_POST_BV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003580 + __offset_DMA(i0) + 0x4*i1; }
581*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_PRE_LV(enum mdp4_dma i0,uint32_t i1)582*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_PRE_LV(enum mdp4_dma i0, uint32_t i1) { return 0x00003600 + __offset_DMA(i0) + 0x4*i1; }
583*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_PRE_LV_VAL(enum mdp4_dma i0,uint32_t i1)584*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_PRE_LV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003600 + __offset_DMA(i0) + 0x4*i1; }
585*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_POST_LV(enum mdp4_dma i0,uint32_t i1)586*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_POST_LV(enum mdp4_dma i0, uint32_t i1) { return 0x00003680 + __offset_DMA(i0) + 0x4*i1; }
587*4882a593Smuzhiyun 
REG_MDP4_DMA_CSC_POST_LV_VAL(enum mdp4_dma i0,uint32_t i1)588*4882a593Smuzhiyun static inline uint32_t REG_MDP4_DMA_CSC_POST_LV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003680 + __offset_DMA(i0) + 0x4*i1; }
589*4882a593Smuzhiyun 
REG_MDP4_PIPE(enum mdp4_pipe i0)590*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE(enum mdp4_pipe i0) { return 0x00020000 + 0x10000*i0; }
591*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRC_SIZE(enum mdp4_pipe i0)592*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRC_SIZE(enum mdp4_pipe i0) { return 0x00020000 + 0x10000*i0; }
593*4882a593Smuzhiyun #define MDP4_PIPE_SRC_SIZE_HEIGHT__MASK				0xffff0000
594*4882a593Smuzhiyun #define MDP4_PIPE_SRC_SIZE_HEIGHT__SHIFT			16
MDP4_PIPE_SRC_SIZE_HEIGHT(uint32_t val)595*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_SIZE_HEIGHT(uint32_t val)
596*4882a593Smuzhiyun {
597*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_SRC_SIZE_HEIGHT__MASK;
598*4882a593Smuzhiyun }
599*4882a593Smuzhiyun #define MDP4_PIPE_SRC_SIZE_WIDTH__MASK				0x0000ffff
600*4882a593Smuzhiyun #define MDP4_PIPE_SRC_SIZE_WIDTH__SHIFT				0
MDP4_PIPE_SRC_SIZE_WIDTH(uint32_t val)601*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_SIZE_WIDTH(uint32_t val)
602*4882a593Smuzhiyun {
603*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_SIZE_WIDTH__SHIFT) & MDP4_PIPE_SRC_SIZE_WIDTH__MASK;
604*4882a593Smuzhiyun }
605*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRC_XY(enum mdp4_pipe i0)606*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRC_XY(enum mdp4_pipe i0) { return 0x00020004 + 0x10000*i0; }
607*4882a593Smuzhiyun #define MDP4_PIPE_SRC_XY_Y__MASK				0xffff0000
608*4882a593Smuzhiyun #define MDP4_PIPE_SRC_XY_Y__SHIFT				16
MDP4_PIPE_SRC_XY_Y(uint32_t val)609*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_XY_Y(uint32_t val)
610*4882a593Smuzhiyun {
611*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_XY_Y__SHIFT) & MDP4_PIPE_SRC_XY_Y__MASK;
612*4882a593Smuzhiyun }
613*4882a593Smuzhiyun #define MDP4_PIPE_SRC_XY_X__MASK				0x0000ffff
614*4882a593Smuzhiyun #define MDP4_PIPE_SRC_XY_X__SHIFT				0
MDP4_PIPE_SRC_XY_X(uint32_t val)615*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_XY_X(uint32_t val)
616*4882a593Smuzhiyun {
617*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_XY_X__SHIFT) & MDP4_PIPE_SRC_XY_X__MASK;
618*4882a593Smuzhiyun }
619*4882a593Smuzhiyun 
REG_MDP4_PIPE_DST_SIZE(enum mdp4_pipe i0)620*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_DST_SIZE(enum mdp4_pipe i0) { return 0x00020008 + 0x10000*i0; }
621*4882a593Smuzhiyun #define MDP4_PIPE_DST_SIZE_HEIGHT__MASK				0xffff0000
622*4882a593Smuzhiyun #define MDP4_PIPE_DST_SIZE_HEIGHT__SHIFT			16
MDP4_PIPE_DST_SIZE_HEIGHT(uint32_t val)623*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_DST_SIZE_HEIGHT(uint32_t val)
624*4882a593Smuzhiyun {
625*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_DST_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_DST_SIZE_HEIGHT__MASK;
626*4882a593Smuzhiyun }
627*4882a593Smuzhiyun #define MDP4_PIPE_DST_SIZE_WIDTH__MASK				0x0000ffff
628*4882a593Smuzhiyun #define MDP4_PIPE_DST_SIZE_WIDTH__SHIFT				0
MDP4_PIPE_DST_SIZE_WIDTH(uint32_t val)629*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_DST_SIZE_WIDTH(uint32_t val)
630*4882a593Smuzhiyun {
631*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_DST_SIZE_WIDTH__SHIFT) & MDP4_PIPE_DST_SIZE_WIDTH__MASK;
632*4882a593Smuzhiyun }
633*4882a593Smuzhiyun 
REG_MDP4_PIPE_DST_XY(enum mdp4_pipe i0)634*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_DST_XY(enum mdp4_pipe i0) { return 0x0002000c + 0x10000*i0; }
635*4882a593Smuzhiyun #define MDP4_PIPE_DST_XY_Y__MASK				0xffff0000
636*4882a593Smuzhiyun #define MDP4_PIPE_DST_XY_Y__SHIFT				16
MDP4_PIPE_DST_XY_Y(uint32_t val)637*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_DST_XY_Y(uint32_t val)
638*4882a593Smuzhiyun {
639*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_DST_XY_Y__SHIFT) & MDP4_PIPE_DST_XY_Y__MASK;
640*4882a593Smuzhiyun }
641*4882a593Smuzhiyun #define MDP4_PIPE_DST_XY_X__MASK				0x0000ffff
642*4882a593Smuzhiyun #define MDP4_PIPE_DST_XY_X__SHIFT				0
MDP4_PIPE_DST_XY_X(uint32_t val)643*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_DST_XY_X(uint32_t val)
644*4882a593Smuzhiyun {
645*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_DST_XY_X__SHIFT) & MDP4_PIPE_DST_XY_X__MASK;
646*4882a593Smuzhiyun }
647*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRCP0_BASE(enum mdp4_pipe i0)648*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRCP0_BASE(enum mdp4_pipe i0) { return 0x00020010 + 0x10000*i0; }
649*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRCP1_BASE(enum mdp4_pipe i0)650*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRCP1_BASE(enum mdp4_pipe i0) { return 0x00020014 + 0x10000*i0; }
651*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRCP2_BASE(enum mdp4_pipe i0)652*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRCP2_BASE(enum mdp4_pipe i0) { return 0x00020018 + 0x10000*i0; }
653*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRCP3_BASE(enum mdp4_pipe i0)654*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRCP3_BASE(enum mdp4_pipe i0) { return 0x0002001c + 0x10000*i0; }
655*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRC_STRIDE_A(enum mdp4_pipe i0)656*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRC_STRIDE_A(enum mdp4_pipe i0) { return 0x00020040 + 0x10000*i0; }
657*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_A_P0__MASK				0x0000ffff
658*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_A_P0__SHIFT			0
MDP4_PIPE_SRC_STRIDE_A_P0(uint32_t val)659*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_STRIDE_A_P0(uint32_t val)
660*4882a593Smuzhiyun {
661*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_STRIDE_A_P0__SHIFT) & MDP4_PIPE_SRC_STRIDE_A_P0__MASK;
662*4882a593Smuzhiyun }
663*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_A_P1__MASK				0xffff0000
664*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_A_P1__SHIFT			16
MDP4_PIPE_SRC_STRIDE_A_P1(uint32_t val)665*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_STRIDE_A_P1(uint32_t val)
666*4882a593Smuzhiyun {
667*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_STRIDE_A_P1__SHIFT) & MDP4_PIPE_SRC_STRIDE_A_P1__MASK;
668*4882a593Smuzhiyun }
669*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRC_STRIDE_B(enum mdp4_pipe i0)670*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRC_STRIDE_B(enum mdp4_pipe i0) { return 0x00020044 + 0x10000*i0; }
671*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_B_P2__MASK				0x0000ffff
672*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_B_P2__SHIFT			0
MDP4_PIPE_SRC_STRIDE_B_P2(uint32_t val)673*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_STRIDE_B_P2(uint32_t val)
674*4882a593Smuzhiyun {
675*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_STRIDE_B_P2__SHIFT) & MDP4_PIPE_SRC_STRIDE_B_P2__MASK;
676*4882a593Smuzhiyun }
677*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_B_P3__MASK				0xffff0000
678*4882a593Smuzhiyun #define MDP4_PIPE_SRC_STRIDE_B_P3__SHIFT			16
MDP4_PIPE_SRC_STRIDE_B_P3(uint32_t val)679*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_STRIDE_B_P3(uint32_t val)
680*4882a593Smuzhiyun {
681*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_STRIDE_B_P3__SHIFT) & MDP4_PIPE_SRC_STRIDE_B_P3__MASK;
682*4882a593Smuzhiyun }
683*4882a593Smuzhiyun 
REG_MDP4_PIPE_SSTILE_FRAME_SIZE(enum mdp4_pipe i0)684*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SSTILE_FRAME_SIZE(enum mdp4_pipe i0) { return 0x00020048 + 0x10000*i0; }
685*4882a593Smuzhiyun #define MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__MASK		0xffff0000
686*4882a593Smuzhiyun #define MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__SHIFT		16
MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT(uint32_t val)687*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT(uint32_t val)
688*4882a593Smuzhiyun {
689*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__MASK;
690*4882a593Smuzhiyun }
691*4882a593Smuzhiyun #define MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__MASK			0x0000ffff
692*4882a593Smuzhiyun #define MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__SHIFT		0
MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH(uint32_t val)693*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH(uint32_t val)
694*4882a593Smuzhiyun {
695*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__SHIFT) & MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__MASK;
696*4882a593Smuzhiyun }
697*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRC_FORMAT(enum mdp4_pipe i0)698*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRC_FORMAT(enum mdp4_pipe i0) { return 0x00020050 + 0x10000*i0; }
699*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_G_BPC__MASK			0x00000003
700*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT			0
MDP4_PIPE_SRC_FORMAT_G_BPC(enum mdp_bpc val)701*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_G_BPC(enum mdp_bpc val)
702*4882a593Smuzhiyun {
703*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_G_BPC__MASK;
704*4882a593Smuzhiyun }
705*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_B_BPC__MASK			0x0000000c
706*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT			2
MDP4_PIPE_SRC_FORMAT_B_BPC(enum mdp_bpc val)707*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_B_BPC(enum mdp_bpc val)
708*4882a593Smuzhiyun {
709*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_B_BPC__MASK;
710*4882a593Smuzhiyun }
711*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_R_BPC__MASK			0x00000030
712*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT			4
MDP4_PIPE_SRC_FORMAT_R_BPC(enum mdp_bpc val)713*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_R_BPC(enum mdp_bpc val)
714*4882a593Smuzhiyun {
715*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_R_BPC__MASK;
716*4882a593Smuzhiyun }
717*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_A_BPC__MASK			0x000000c0
718*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT			6
MDP4_PIPE_SRC_FORMAT_A_BPC(enum mdp_bpc_alpha val)719*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_A_BPC(enum mdp_bpc_alpha val)
720*4882a593Smuzhiyun {
721*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_A_BPC__MASK;
722*4882a593Smuzhiyun }
723*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_ALPHA_ENABLE			0x00000100
724*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_CPP__MASK				0x00000600
725*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_CPP__SHIFT				9
MDP4_PIPE_SRC_FORMAT_CPP(uint32_t val)726*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_CPP(uint32_t val)
727*4882a593Smuzhiyun {
728*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_CPP__SHIFT) & MDP4_PIPE_SRC_FORMAT_CPP__MASK;
729*4882a593Smuzhiyun }
730*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_ROTATED_90				0x00001000
731*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK			0x00006000
732*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT		13
MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT(uint32_t val)733*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT(uint32_t val)
734*4882a593Smuzhiyun {
735*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT) & MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK;
736*4882a593Smuzhiyun }
737*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_UNPACK_TIGHT			0x00020000
738*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_UNPACK_ALIGN_MSB			0x00040000
739*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__MASK			0x00180000
740*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__SHIFT		19
MDP4_PIPE_SRC_FORMAT_FETCH_PLANES(uint32_t val)741*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_FETCH_PLANES(uint32_t val)
742*4882a593Smuzhiyun {
743*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__SHIFT) & MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__MASK;
744*4882a593Smuzhiyun }
745*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_SOLID_FILL				0x00400000
746*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK			0x0c000000
747*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT			26
MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP(enum mdp_chroma_samp_type val)748*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP(enum mdp_chroma_samp_type val)
749*4882a593Smuzhiyun {
750*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT) & MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK;
751*4882a593Smuzhiyun }
752*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__MASK			0x60000000
753*4882a593Smuzhiyun #define MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__SHIFT		29
MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT(enum mdp4_frame_format val)754*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT(enum mdp4_frame_format val)
755*4882a593Smuzhiyun {
756*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__SHIFT) & MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__MASK;
757*4882a593Smuzhiyun }
758*4882a593Smuzhiyun 
REG_MDP4_PIPE_SRC_UNPACK(enum mdp4_pipe i0)759*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SRC_UNPACK(enum mdp4_pipe i0) { return 0x00020054 + 0x10000*i0; }
760*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM0__MASK			0x000000ff
761*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM0__SHIFT			0
MDP4_PIPE_SRC_UNPACK_ELEM0(uint32_t val)762*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM0(uint32_t val)
763*4882a593Smuzhiyun {
764*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM0__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM0__MASK;
765*4882a593Smuzhiyun }
766*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM1__MASK			0x0000ff00
767*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM1__SHIFT			8
MDP4_PIPE_SRC_UNPACK_ELEM1(uint32_t val)768*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM1(uint32_t val)
769*4882a593Smuzhiyun {
770*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM1__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM1__MASK;
771*4882a593Smuzhiyun }
772*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM2__MASK			0x00ff0000
773*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM2__SHIFT			16
MDP4_PIPE_SRC_UNPACK_ELEM2(uint32_t val)774*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM2(uint32_t val)
775*4882a593Smuzhiyun {
776*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM2__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM2__MASK;
777*4882a593Smuzhiyun }
778*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM3__MASK			0xff000000
779*4882a593Smuzhiyun #define MDP4_PIPE_SRC_UNPACK_ELEM3__SHIFT			24
MDP4_PIPE_SRC_UNPACK_ELEM3(uint32_t val)780*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM3(uint32_t val)
781*4882a593Smuzhiyun {
782*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM3__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM3__MASK;
783*4882a593Smuzhiyun }
784*4882a593Smuzhiyun 
REG_MDP4_PIPE_OP_MODE(enum mdp4_pipe i0)785*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_OP_MODE(enum mdp4_pipe i0) { return 0x00020058 + 0x10000*i0; }
786*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_SCALEX_EN				0x00000001
787*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_SCALEY_EN				0x00000002
788*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__MASK			0x0000000c
789*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__SHIFT		2
MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL(enum mdp4_scale_unit val)790*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL(enum mdp4_scale_unit val)
791*4882a593Smuzhiyun {
792*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__SHIFT) & MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__MASK;
793*4882a593Smuzhiyun }
794*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__MASK			0x00000030
795*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__SHIFT		4
MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL(enum mdp4_scale_unit val)796*4882a593Smuzhiyun static inline uint32_t MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL(enum mdp4_scale_unit val)
797*4882a593Smuzhiyun {
798*4882a593Smuzhiyun 	return ((val) << MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__SHIFT) & MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__MASK;
799*4882a593Smuzhiyun }
800*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_SRC_YCBCR				0x00000200
801*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_DST_YCBCR				0x00000400
802*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_CSC_EN				0x00000800
803*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_FLIP_LR				0x00002000
804*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_FLIP_UD				0x00004000
805*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_DITHER_EN				0x00008000
806*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_IGC_LUT_EN				0x00010000
807*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_DEINT_EN				0x00040000
808*4882a593Smuzhiyun #define MDP4_PIPE_OP_MODE_DEINT_ODD_REF				0x00080000
809*4882a593Smuzhiyun 
REG_MDP4_PIPE_PHASEX_STEP(enum mdp4_pipe i0)810*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_PHASEX_STEP(enum mdp4_pipe i0) { return 0x0002005c + 0x10000*i0; }
811*4882a593Smuzhiyun 
REG_MDP4_PIPE_PHASEY_STEP(enum mdp4_pipe i0)812*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_PHASEY_STEP(enum mdp4_pipe i0) { return 0x00020060 + 0x10000*i0; }
813*4882a593Smuzhiyun 
REG_MDP4_PIPE_FETCH_CONFIG(enum mdp4_pipe i0)814*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_FETCH_CONFIG(enum mdp4_pipe i0) { return 0x00021004 + 0x10000*i0; }
815*4882a593Smuzhiyun 
REG_MDP4_PIPE_SOLID_COLOR(enum mdp4_pipe i0)816*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_SOLID_COLOR(enum mdp4_pipe i0) { return 0x00021008 + 0x10000*i0; }
817*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC(enum mdp4_pipe i0)818*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC(enum mdp4_pipe i0) { return 0x00024000 + 0x10000*i0; }
819*4882a593Smuzhiyun 
820*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_MV(enum mdp4_pipe i0,uint32_t i1)821*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_MV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024400 + 0x10000*i0 + 0x4*i1; }
822*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_MV_VAL(enum mdp4_pipe i0,uint32_t i1)823*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_MV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024400 + 0x10000*i0 + 0x4*i1; }
824*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_PRE_BV(enum mdp4_pipe i0,uint32_t i1)825*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_PRE_BV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024500 + 0x10000*i0 + 0x4*i1; }
826*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_PRE_BV_VAL(enum mdp4_pipe i0,uint32_t i1)827*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_PRE_BV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024500 + 0x10000*i0 + 0x4*i1; }
828*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_POST_BV(enum mdp4_pipe i0,uint32_t i1)829*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_POST_BV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024580 + 0x10000*i0 + 0x4*i1; }
830*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_POST_BV_VAL(enum mdp4_pipe i0,uint32_t i1)831*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_POST_BV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024580 + 0x10000*i0 + 0x4*i1; }
832*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_PRE_LV(enum mdp4_pipe i0,uint32_t i1)833*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_PRE_LV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024600 + 0x10000*i0 + 0x4*i1; }
834*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_PRE_LV_VAL(enum mdp4_pipe i0,uint32_t i1)835*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_PRE_LV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024600 + 0x10000*i0 + 0x4*i1; }
836*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_POST_LV(enum mdp4_pipe i0,uint32_t i1)837*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_POST_LV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024680 + 0x10000*i0 + 0x4*i1; }
838*4882a593Smuzhiyun 
REG_MDP4_PIPE_CSC_POST_LV_VAL(enum mdp4_pipe i0,uint32_t i1)839*4882a593Smuzhiyun static inline uint32_t REG_MDP4_PIPE_CSC_POST_LV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024680 + 0x10000*i0 + 0x4*i1; }
840*4882a593Smuzhiyun 
841*4882a593Smuzhiyun #define REG_MDP4_LCDC						0x000c0000
842*4882a593Smuzhiyun 
843*4882a593Smuzhiyun #define REG_MDP4_LCDC_ENABLE					0x000c0000
844*4882a593Smuzhiyun 
845*4882a593Smuzhiyun #define REG_MDP4_LCDC_HSYNC_CTRL				0x000c0004
846*4882a593Smuzhiyun #define MDP4_LCDC_HSYNC_CTRL_PULSEW__MASK			0x0000ffff
847*4882a593Smuzhiyun #define MDP4_LCDC_HSYNC_CTRL_PULSEW__SHIFT			0
MDP4_LCDC_HSYNC_CTRL_PULSEW(uint32_t val)848*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_HSYNC_CTRL_PULSEW(uint32_t val)
849*4882a593Smuzhiyun {
850*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_LCDC_HSYNC_CTRL_PULSEW__MASK;
851*4882a593Smuzhiyun }
852*4882a593Smuzhiyun #define MDP4_LCDC_HSYNC_CTRL_PERIOD__MASK			0xffff0000
853*4882a593Smuzhiyun #define MDP4_LCDC_HSYNC_CTRL_PERIOD__SHIFT			16
MDP4_LCDC_HSYNC_CTRL_PERIOD(uint32_t val)854*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_HSYNC_CTRL_PERIOD(uint32_t val)
855*4882a593Smuzhiyun {
856*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_LCDC_HSYNC_CTRL_PERIOD__MASK;
857*4882a593Smuzhiyun }
858*4882a593Smuzhiyun 
859*4882a593Smuzhiyun #define REG_MDP4_LCDC_VSYNC_PERIOD				0x000c0008
860*4882a593Smuzhiyun 
861*4882a593Smuzhiyun #define REG_MDP4_LCDC_VSYNC_LEN					0x000c000c
862*4882a593Smuzhiyun 
863*4882a593Smuzhiyun #define REG_MDP4_LCDC_DISPLAY_HCTRL				0x000c0010
864*4882a593Smuzhiyun #define MDP4_LCDC_DISPLAY_HCTRL_START__MASK			0x0000ffff
865*4882a593Smuzhiyun #define MDP4_LCDC_DISPLAY_HCTRL_START__SHIFT			0
MDP4_LCDC_DISPLAY_HCTRL_START(uint32_t val)866*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_DISPLAY_HCTRL_START(uint32_t val)
867*4882a593Smuzhiyun {
868*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_DISPLAY_HCTRL_START__SHIFT) & MDP4_LCDC_DISPLAY_HCTRL_START__MASK;
869*4882a593Smuzhiyun }
870*4882a593Smuzhiyun #define MDP4_LCDC_DISPLAY_HCTRL_END__MASK			0xffff0000
871*4882a593Smuzhiyun #define MDP4_LCDC_DISPLAY_HCTRL_END__SHIFT			16
MDP4_LCDC_DISPLAY_HCTRL_END(uint32_t val)872*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_DISPLAY_HCTRL_END(uint32_t val)
873*4882a593Smuzhiyun {
874*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_DISPLAY_HCTRL_END__SHIFT) & MDP4_LCDC_DISPLAY_HCTRL_END__MASK;
875*4882a593Smuzhiyun }
876*4882a593Smuzhiyun 
877*4882a593Smuzhiyun #define REG_MDP4_LCDC_DISPLAY_VSTART				0x000c0014
878*4882a593Smuzhiyun 
879*4882a593Smuzhiyun #define REG_MDP4_LCDC_DISPLAY_VEND				0x000c0018
880*4882a593Smuzhiyun 
881*4882a593Smuzhiyun #define REG_MDP4_LCDC_ACTIVE_HCTL				0x000c001c
882*4882a593Smuzhiyun #define MDP4_LCDC_ACTIVE_HCTL_START__MASK			0x00007fff
883*4882a593Smuzhiyun #define MDP4_LCDC_ACTIVE_HCTL_START__SHIFT			0
MDP4_LCDC_ACTIVE_HCTL_START(uint32_t val)884*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_ACTIVE_HCTL_START(uint32_t val)
885*4882a593Smuzhiyun {
886*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_ACTIVE_HCTL_START__SHIFT) & MDP4_LCDC_ACTIVE_HCTL_START__MASK;
887*4882a593Smuzhiyun }
888*4882a593Smuzhiyun #define MDP4_LCDC_ACTIVE_HCTL_END__MASK				0x7fff0000
889*4882a593Smuzhiyun #define MDP4_LCDC_ACTIVE_HCTL_END__SHIFT			16
MDP4_LCDC_ACTIVE_HCTL_END(uint32_t val)890*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_ACTIVE_HCTL_END(uint32_t val)
891*4882a593Smuzhiyun {
892*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_ACTIVE_HCTL_END__SHIFT) & MDP4_LCDC_ACTIVE_HCTL_END__MASK;
893*4882a593Smuzhiyun }
894*4882a593Smuzhiyun #define MDP4_LCDC_ACTIVE_HCTL_ACTIVE_START_X			0x80000000
895*4882a593Smuzhiyun 
896*4882a593Smuzhiyun #define REG_MDP4_LCDC_ACTIVE_VSTART				0x000c0020
897*4882a593Smuzhiyun 
898*4882a593Smuzhiyun #define REG_MDP4_LCDC_ACTIVE_VEND				0x000c0024
899*4882a593Smuzhiyun 
900*4882a593Smuzhiyun #define REG_MDP4_LCDC_BORDER_CLR				0x000c0028
901*4882a593Smuzhiyun 
902*4882a593Smuzhiyun #define REG_MDP4_LCDC_UNDERFLOW_CLR				0x000c002c
903*4882a593Smuzhiyun #define MDP4_LCDC_UNDERFLOW_CLR_COLOR__MASK			0x00ffffff
904*4882a593Smuzhiyun #define MDP4_LCDC_UNDERFLOW_CLR_COLOR__SHIFT			0
MDP4_LCDC_UNDERFLOW_CLR_COLOR(uint32_t val)905*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_UNDERFLOW_CLR_COLOR(uint32_t val)
906*4882a593Smuzhiyun {
907*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_LCDC_UNDERFLOW_CLR_COLOR__MASK;
908*4882a593Smuzhiyun }
909*4882a593Smuzhiyun #define MDP4_LCDC_UNDERFLOW_CLR_ENABLE_RECOVERY			0x80000000
910*4882a593Smuzhiyun 
911*4882a593Smuzhiyun #define REG_MDP4_LCDC_HSYNC_SKEW				0x000c0030
912*4882a593Smuzhiyun 
913*4882a593Smuzhiyun #define REG_MDP4_LCDC_TEST_CNTL					0x000c0034
914*4882a593Smuzhiyun 
915*4882a593Smuzhiyun #define REG_MDP4_LCDC_CTRL_POLARITY				0x000c0038
916*4882a593Smuzhiyun #define MDP4_LCDC_CTRL_POLARITY_HSYNC_LOW			0x00000001
917*4882a593Smuzhiyun #define MDP4_LCDC_CTRL_POLARITY_VSYNC_LOW			0x00000002
918*4882a593Smuzhiyun #define MDP4_LCDC_CTRL_POLARITY_DATA_EN_LOW			0x00000004
919*4882a593Smuzhiyun 
920*4882a593Smuzhiyun #define REG_MDP4_LCDC_LVDS_INTF_CTL				0x000c2000
921*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_MODE_SEL			0x00000004
922*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_RGB_OUT				0x00000008
923*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH_SWAP				0x00000010
924*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH1_RES_BIT			0x00000020
925*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH2_RES_BIT			0x00000040
926*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_ENABLE				0x00000080
927*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE0_EN		0x00000100
928*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE1_EN		0x00000200
929*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE2_EN		0x00000400
930*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE3_EN		0x00000800
931*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE0_EN		0x00001000
932*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE1_EN		0x00002000
933*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE2_EN		0x00004000
934*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE3_EN		0x00008000
935*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH1_CLK_LANE_EN			0x00010000
936*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_INTF_CTL_CH2_CLK_LANE_EN			0x00020000
937*4882a593Smuzhiyun 
REG_MDP4_LCDC_LVDS_MUX_CTL(uint32_t i0)938*4882a593Smuzhiyun static inline uint32_t REG_MDP4_LCDC_LVDS_MUX_CTL(uint32_t i0) { return 0x000c2014 + 0x8*i0; }
939*4882a593Smuzhiyun 
REG_MDP4_LCDC_LVDS_MUX_CTL_3_TO_0(uint32_t i0)940*4882a593Smuzhiyun static inline uint32_t REG_MDP4_LCDC_LVDS_MUX_CTL_3_TO_0(uint32_t i0) { return 0x000c2014 + 0x8*i0; }
941*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__MASK		0x000000ff
942*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__SHIFT		0
MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0(uint32_t val)943*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0(uint32_t val)
944*4882a593Smuzhiyun {
945*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__MASK;
946*4882a593Smuzhiyun }
947*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__MASK		0x0000ff00
948*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__SHIFT		8
MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1(uint32_t val)949*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1(uint32_t val)
950*4882a593Smuzhiyun {
951*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__MASK;
952*4882a593Smuzhiyun }
953*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__MASK		0x00ff0000
954*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__SHIFT		16
MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2(uint32_t val)955*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2(uint32_t val)
956*4882a593Smuzhiyun {
957*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__MASK;
958*4882a593Smuzhiyun }
959*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__MASK		0xff000000
960*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__SHIFT		24
MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3(uint32_t val)961*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3(uint32_t val)
962*4882a593Smuzhiyun {
963*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__MASK;
964*4882a593Smuzhiyun }
965*4882a593Smuzhiyun 
REG_MDP4_LCDC_LVDS_MUX_CTL_6_TO_4(uint32_t i0)966*4882a593Smuzhiyun static inline uint32_t REG_MDP4_LCDC_LVDS_MUX_CTL_6_TO_4(uint32_t i0) { return 0x000c2018 + 0x8*i0; }
967*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__MASK		0x000000ff
968*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__SHIFT		0
MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4(uint32_t val)969*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4(uint32_t val)
970*4882a593Smuzhiyun {
971*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__MASK;
972*4882a593Smuzhiyun }
973*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__MASK		0x0000ff00
974*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__SHIFT		8
MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5(uint32_t val)975*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5(uint32_t val)
976*4882a593Smuzhiyun {
977*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__MASK;
978*4882a593Smuzhiyun }
979*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__MASK		0x00ff0000
980*4882a593Smuzhiyun #define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__SHIFT		16
MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6(uint32_t val)981*4882a593Smuzhiyun static inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6(uint32_t val)
982*4882a593Smuzhiyun {
983*4882a593Smuzhiyun 	return ((val) << MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__MASK;
984*4882a593Smuzhiyun }
985*4882a593Smuzhiyun 
986*4882a593Smuzhiyun #define REG_MDP4_LCDC_LVDS_PHY_RESET				0x000c2034
987*4882a593Smuzhiyun 
988*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_0				0x000c3000
989*4882a593Smuzhiyun 
990*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_1				0x000c3004
991*4882a593Smuzhiyun 
992*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_2				0x000c3008
993*4882a593Smuzhiyun 
994*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_3				0x000c300c
995*4882a593Smuzhiyun 
996*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_5				0x000c3014
997*4882a593Smuzhiyun 
998*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_6				0x000c3018
999*4882a593Smuzhiyun 
1000*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_7				0x000c301c
1001*4882a593Smuzhiyun 
1002*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_8				0x000c3020
1003*4882a593Smuzhiyun 
1004*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_CTRL_9				0x000c3024
1005*4882a593Smuzhiyun 
1006*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_PLL_LOCKED				0x000c3080
1007*4882a593Smuzhiyun 
1008*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_CFG2					0x000c3108
1009*4882a593Smuzhiyun 
1010*4882a593Smuzhiyun #define REG_MDP4_LVDS_PHY_CFG0					0x000c3100
1011*4882a593Smuzhiyun #define MDP4_LVDS_PHY_CFG0_SERIALIZATION_ENBLE			0x00000010
1012*4882a593Smuzhiyun #define MDP4_LVDS_PHY_CFG0_CHANNEL0				0x00000040
1013*4882a593Smuzhiyun #define MDP4_LVDS_PHY_CFG0_CHANNEL1				0x00000080
1014*4882a593Smuzhiyun 
1015*4882a593Smuzhiyun #define REG_MDP4_DTV						0x000d0000
1016*4882a593Smuzhiyun 
1017*4882a593Smuzhiyun #define REG_MDP4_DTV_ENABLE					0x000d0000
1018*4882a593Smuzhiyun 
1019*4882a593Smuzhiyun #define REG_MDP4_DTV_HSYNC_CTRL					0x000d0004
1020*4882a593Smuzhiyun #define MDP4_DTV_HSYNC_CTRL_PULSEW__MASK			0x0000ffff
1021*4882a593Smuzhiyun #define MDP4_DTV_HSYNC_CTRL_PULSEW__SHIFT			0
MDP4_DTV_HSYNC_CTRL_PULSEW(uint32_t val)1022*4882a593Smuzhiyun static inline uint32_t MDP4_DTV_HSYNC_CTRL_PULSEW(uint32_t val)
1023*4882a593Smuzhiyun {
1024*4882a593Smuzhiyun 	return ((val) << MDP4_DTV_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_DTV_HSYNC_CTRL_PULSEW__MASK;
1025*4882a593Smuzhiyun }
1026*4882a593Smuzhiyun #define MDP4_DTV_HSYNC_CTRL_PERIOD__MASK			0xffff0000
1027*4882a593Smuzhiyun #define MDP4_DTV_HSYNC_CTRL_PERIOD__SHIFT			16
MDP4_DTV_HSYNC_CTRL_PERIOD(uint32_t val)1028*4882a593Smuzhiyun static inline uint32_t MDP4_DTV_HSYNC_CTRL_PERIOD(uint32_t val)
1029*4882a593Smuzhiyun {
1030*4882a593Smuzhiyun 	return ((val) << MDP4_DTV_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_DTV_HSYNC_CTRL_PERIOD__MASK;
1031*4882a593Smuzhiyun }
1032*4882a593Smuzhiyun 
1033*4882a593Smuzhiyun #define REG_MDP4_DTV_VSYNC_PERIOD				0x000d0008
1034*4882a593Smuzhiyun 
1035*4882a593Smuzhiyun #define REG_MDP4_DTV_VSYNC_LEN					0x000d000c
1036*4882a593Smuzhiyun 
1037*4882a593Smuzhiyun #define REG_MDP4_DTV_DISPLAY_HCTRL				0x000d0018
1038*4882a593Smuzhiyun #define MDP4_DTV_DISPLAY_HCTRL_START__MASK			0x0000ffff
1039*4882a593Smuzhiyun #define MDP4_DTV_DISPLAY_HCTRL_START__SHIFT			0
MDP4_DTV_DISPLAY_HCTRL_START(uint32_t val)1040*4882a593Smuzhiyun static inline uint32_t MDP4_DTV_DISPLAY_HCTRL_START(uint32_t val)
1041*4882a593Smuzhiyun {
1042*4882a593Smuzhiyun 	return ((val) << MDP4_DTV_DISPLAY_HCTRL_START__SHIFT) & MDP4_DTV_DISPLAY_HCTRL_START__MASK;
1043*4882a593Smuzhiyun }
1044*4882a593Smuzhiyun #define MDP4_DTV_DISPLAY_HCTRL_END__MASK			0xffff0000
1045*4882a593Smuzhiyun #define MDP4_DTV_DISPLAY_HCTRL_END__SHIFT			16
MDP4_DTV_DISPLAY_HCTRL_END(uint32_t val)1046*4882a593Smuzhiyun static inline uint32_t MDP4_DTV_DISPLAY_HCTRL_END(uint32_t val)
1047*4882a593Smuzhiyun {
1048*4882a593Smuzhiyun 	return ((val) << MDP4_DTV_DISPLAY_HCTRL_END__SHIFT) & MDP4_DTV_DISPLAY_HCTRL_END__MASK;
1049*4882a593Smuzhiyun }
1050*4882a593Smuzhiyun 
1051*4882a593Smuzhiyun #define REG_MDP4_DTV_DISPLAY_VSTART				0x000d001c
1052*4882a593Smuzhiyun 
1053*4882a593Smuzhiyun #define REG_MDP4_DTV_DISPLAY_VEND				0x000d0020
1054*4882a593Smuzhiyun 
1055*4882a593Smuzhiyun #define REG_MDP4_DTV_ACTIVE_HCTL				0x000d002c
1056*4882a593Smuzhiyun #define MDP4_DTV_ACTIVE_HCTL_START__MASK			0x00007fff
1057*4882a593Smuzhiyun #define MDP4_DTV_ACTIVE_HCTL_START__SHIFT			0
MDP4_DTV_ACTIVE_HCTL_START(uint32_t val)1058*4882a593Smuzhiyun static inline uint32_t MDP4_DTV_ACTIVE_HCTL_START(uint32_t val)
1059*4882a593Smuzhiyun {
1060*4882a593Smuzhiyun 	return ((val) << MDP4_DTV_ACTIVE_HCTL_START__SHIFT) & MDP4_DTV_ACTIVE_HCTL_START__MASK;
1061*4882a593Smuzhiyun }
1062*4882a593Smuzhiyun #define MDP4_DTV_ACTIVE_HCTL_END__MASK				0x7fff0000
1063*4882a593Smuzhiyun #define MDP4_DTV_ACTIVE_HCTL_END__SHIFT				16
MDP4_DTV_ACTIVE_HCTL_END(uint32_t val)1064*4882a593Smuzhiyun static inline uint32_t MDP4_DTV_ACTIVE_HCTL_END(uint32_t val)
1065*4882a593Smuzhiyun {
1066*4882a593Smuzhiyun 	return ((val) << MDP4_DTV_ACTIVE_HCTL_END__SHIFT) & MDP4_DTV_ACTIVE_HCTL_END__MASK;
1067*4882a593Smuzhiyun }
1068*4882a593Smuzhiyun #define MDP4_DTV_ACTIVE_HCTL_ACTIVE_START_X			0x80000000
1069*4882a593Smuzhiyun 
1070*4882a593Smuzhiyun #define REG_MDP4_DTV_ACTIVE_VSTART				0x000d0030
1071*4882a593Smuzhiyun 
1072*4882a593Smuzhiyun #define REG_MDP4_DTV_ACTIVE_VEND				0x000d0038
1073*4882a593Smuzhiyun 
1074*4882a593Smuzhiyun #define REG_MDP4_DTV_BORDER_CLR					0x000d0040
1075*4882a593Smuzhiyun 
1076*4882a593Smuzhiyun #define REG_MDP4_DTV_UNDERFLOW_CLR				0x000d0044
1077*4882a593Smuzhiyun #define MDP4_DTV_UNDERFLOW_CLR_COLOR__MASK			0x00ffffff
1078*4882a593Smuzhiyun #define MDP4_DTV_UNDERFLOW_CLR_COLOR__SHIFT			0
MDP4_DTV_UNDERFLOW_CLR_COLOR(uint32_t val)1079*4882a593Smuzhiyun static inline uint32_t MDP4_DTV_UNDERFLOW_CLR_COLOR(uint32_t val)
1080*4882a593Smuzhiyun {
1081*4882a593Smuzhiyun 	return ((val) << MDP4_DTV_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_DTV_UNDERFLOW_CLR_COLOR__MASK;
1082*4882a593Smuzhiyun }
1083*4882a593Smuzhiyun #define MDP4_DTV_UNDERFLOW_CLR_ENABLE_RECOVERY			0x80000000
1084*4882a593Smuzhiyun 
1085*4882a593Smuzhiyun #define REG_MDP4_DTV_HSYNC_SKEW					0x000d0048
1086*4882a593Smuzhiyun 
1087*4882a593Smuzhiyun #define REG_MDP4_DTV_TEST_CNTL					0x000d004c
1088*4882a593Smuzhiyun 
1089*4882a593Smuzhiyun #define REG_MDP4_DTV_CTRL_POLARITY				0x000d0050
1090*4882a593Smuzhiyun #define MDP4_DTV_CTRL_POLARITY_HSYNC_LOW			0x00000001
1091*4882a593Smuzhiyun #define MDP4_DTV_CTRL_POLARITY_VSYNC_LOW			0x00000002
1092*4882a593Smuzhiyun #define MDP4_DTV_CTRL_POLARITY_DATA_EN_LOW			0x00000004
1093*4882a593Smuzhiyun 
1094*4882a593Smuzhiyun #define REG_MDP4_DSI						0x000e0000
1095*4882a593Smuzhiyun 
1096*4882a593Smuzhiyun #define REG_MDP4_DSI_ENABLE					0x000e0000
1097*4882a593Smuzhiyun 
1098*4882a593Smuzhiyun #define REG_MDP4_DSI_HSYNC_CTRL					0x000e0004
1099*4882a593Smuzhiyun #define MDP4_DSI_HSYNC_CTRL_PULSEW__MASK			0x0000ffff
1100*4882a593Smuzhiyun #define MDP4_DSI_HSYNC_CTRL_PULSEW__SHIFT			0
MDP4_DSI_HSYNC_CTRL_PULSEW(uint32_t val)1101*4882a593Smuzhiyun static inline uint32_t MDP4_DSI_HSYNC_CTRL_PULSEW(uint32_t val)
1102*4882a593Smuzhiyun {
1103*4882a593Smuzhiyun 	return ((val) << MDP4_DSI_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_DSI_HSYNC_CTRL_PULSEW__MASK;
1104*4882a593Smuzhiyun }
1105*4882a593Smuzhiyun #define MDP4_DSI_HSYNC_CTRL_PERIOD__MASK			0xffff0000
1106*4882a593Smuzhiyun #define MDP4_DSI_HSYNC_CTRL_PERIOD__SHIFT			16
MDP4_DSI_HSYNC_CTRL_PERIOD(uint32_t val)1107*4882a593Smuzhiyun static inline uint32_t MDP4_DSI_HSYNC_CTRL_PERIOD(uint32_t val)
1108*4882a593Smuzhiyun {
1109*4882a593Smuzhiyun 	return ((val) << MDP4_DSI_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_DSI_HSYNC_CTRL_PERIOD__MASK;
1110*4882a593Smuzhiyun }
1111*4882a593Smuzhiyun 
1112*4882a593Smuzhiyun #define REG_MDP4_DSI_VSYNC_PERIOD				0x000e0008
1113*4882a593Smuzhiyun 
1114*4882a593Smuzhiyun #define REG_MDP4_DSI_VSYNC_LEN					0x000e000c
1115*4882a593Smuzhiyun 
1116*4882a593Smuzhiyun #define REG_MDP4_DSI_DISPLAY_HCTRL				0x000e0010
1117*4882a593Smuzhiyun #define MDP4_DSI_DISPLAY_HCTRL_START__MASK			0x0000ffff
1118*4882a593Smuzhiyun #define MDP4_DSI_DISPLAY_HCTRL_START__SHIFT			0
MDP4_DSI_DISPLAY_HCTRL_START(uint32_t val)1119*4882a593Smuzhiyun static inline uint32_t MDP4_DSI_DISPLAY_HCTRL_START(uint32_t val)
1120*4882a593Smuzhiyun {
1121*4882a593Smuzhiyun 	return ((val) << MDP4_DSI_DISPLAY_HCTRL_START__SHIFT) & MDP4_DSI_DISPLAY_HCTRL_START__MASK;
1122*4882a593Smuzhiyun }
1123*4882a593Smuzhiyun #define MDP4_DSI_DISPLAY_HCTRL_END__MASK			0xffff0000
1124*4882a593Smuzhiyun #define MDP4_DSI_DISPLAY_HCTRL_END__SHIFT			16
MDP4_DSI_DISPLAY_HCTRL_END(uint32_t val)1125*4882a593Smuzhiyun static inline uint32_t MDP4_DSI_DISPLAY_HCTRL_END(uint32_t val)
1126*4882a593Smuzhiyun {
1127*4882a593Smuzhiyun 	return ((val) << MDP4_DSI_DISPLAY_HCTRL_END__SHIFT) & MDP4_DSI_DISPLAY_HCTRL_END__MASK;
1128*4882a593Smuzhiyun }
1129*4882a593Smuzhiyun 
1130*4882a593Smuzhiyun #define REG_MDP4_DSI_DISPLAY_VSTART				0x000e0014
1131*4882a593Smuzhiyun 
1132*4882a593Smuzhiyun #define REG_MDP4_DSI_DISPLAY_VEND				0x000e0018
1133*4882a593Smuzhiyun 
1134*4882a593Smuzhiyun #define REG_MDP4_DSI_ACTIVE_HCTL				0x000e001c
1135*4882a593Smuzhiyun #define MDP4_DSI_ACTIVE_HCTL_START__MASK			0x00007fff
1136*4882a593Smuzhiyun #define MDP4_DSI_ACTIVE_HCTL_START__SHIFT			0
MDP4_DSI_ACTIVE_HCTL_START(uint32_t val)1137*4882a593Smuzhiyun static inline uint32_t MDP4_DSI_ACTIVE_HCTL_START(uint32_t val)
1138*4882a593Smuzhiyun {
1139*4882a593Smuzhiyun 	return ((val) << MDP4_DSI_ACTIVE_HCTL_START__SHIFT) & MDP4_DSI_ACTIVE_HCTL_START__MASK;
1140*4882a593Smuzhiyun }
1141*4882a593Smuzhiyun #define MDP4_DSI_ACTIVE_HCTL_END__MASK				0x7fff0000
1142*4882a593Smuzhiyun #define MDP4_DSI_ACTIVE_HCTL_END__SHIFT				16
MDP4_DSI_ACTIVE_HCTL_END(uint32_t val)1143*4882a593Smuzhiyun static inline uint32_t MDP4_DSI_ACTIVE_HCTL_END(uint32_t val)
1144*4882a593Smuzhiyun {
1145*4882a593Smuzhiyun 	return ((val) << MDP4_DSI_ACTIVE_HCTL_END__SHIFT) & MDP4_DSI_ACTIVE_HCTL_END__MASK;
1146*4882a593Smuzhiyun }
1147*4882a593Smuzhiyun #define MDP4_DSI_ACTIVE_HCTL_ACTIVE_START_X			0x80000000
1148*4882a593Smuzhiyun 
1149*4882a593Smuzhiyun #define REG_MDP4_DSI_ACTIVE_VSTART				0x000e0020
1150*4882a593Smuzhiyun 
1151*4882a593Smuzhiyun #define REG_MDP4_DSI_ACTIVE_VEND				0x000e0024
1152*4882a593Smuzhiyun 
1153*4882a593Smuzhiyun #define REG_MDP4_DSI_BORDER_CLR					0x000e0028
1154*4882a593Smuzhiyun 
1155*4882a593Smuzhiyun #define REG_MDP4_DSI_UNDERFLOW_CLR				0x000e002c
1156*4882a593Smuzhiyun #define MDP4_DSI_UNDERFLOW_CLR_COLOR__MASK			0x00ffffff
1157*4882a593Smuzhiyun #define MDP4_DSI_UNDERFLOW_CLR_COLOR__SHIFT			0
MDP4_DSI_UNDERFLOW_CLR_COLOR(uint32_t val)1158*4882a593Smuzhiyun static inline uint32_t MDP4_DSI_UNDERFLOW_CLR_COLOR(uint32_t val)
1159*4882a593Smuzhiyun {
1160*4882a593Smuzhiyun 	return ((val) << MDP4_DSI_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_DSI_UNDERFLOW_CLR_COLOR__MASK;
1161*4882a593Smuzhiyun }
1162*4882a593Smuzhiyun #define MDP4_DSI_UNDERFLOW_CLR_ENABLE_RECOVERY			0x80000000
1163*4882a593Smuzhiyun 
1164*4882a593Smuzhiyun #define REG_MDP4_DSI_HSYNC_SKEW					0x000e0030
1165*4882a593Smuzhiyun 
1166*4882a593Smuzhiyun #define REG_MDP4_DSI_TEST_CNTL					0x000e0034
1167*4882a593Smuzhiyun 
1168*4882a593Smuzhiyun #define REG_MDP4_DSI_CTRL_POLARITY				0x000e0038
1169*4882a593Smuzhiyun #define MDP4_DSI_CTRL_POLARITY_HSYNC_LOW			0x00000001
1170*4882a593Smuzhiyun #define MDP4_DSI_CTRL_POLARITY_VSYNC_LOW			0x00000002
1171*4882a593Smuzhiyun #define MDP4_DSI_CTRL_POLARITY_DATA_EN_LOW			0x00000004
1172*4882a593Smuzhiyun 
1173*4882a593Smuzhiyun 
1174*4882a593Smuzhiyun #endif /* MDP4_XML */
1175