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