xref: /OK3568_Linux_fs/kernel/drivers/media/platform/ti-vpe/vpe_regs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2013 Texas Instruments Inc.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * David Griego, <dagriego@biglakesoftware.com>
6*4882a593Smuzhiyun  * Dale Farnsworth, <dale@farnsworth.org>
7*4882a593Smuzhiyun  * Archit Taneja, <archit@ti.com>
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #ifndef __TI_VPE_REGS_H
11*4882a593Smuzhiyun #define __TI_VPE_REGS_H
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun /* VPE register offsets and field selectors */
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun /* VPE top level regs */
16*4882a593Smuzhiyun #define VPE_PID				0x0000
17*4882a593Smuzhiyun #define VPE_PID_MINOR_MASK		0x3f
18*4882a593Smuzhiyun #define VPE_PID_MINOR_SHIFT		0
19*4882a593Smuzhiyun #define VPE_PID_CUSTOM_MASK		0x03
20*4882a593Smuzhiyun #define VPE_PID_CUSTOM_SHIFT		6
21*4882a593Smuzhiyun #define VPE_PID_MAJOR_MASK		0x07
22*4882a593Smuzhiyun #define VPE_PID_MAJOR_SHIFT		8
23*4882a593Smuzhiyun #define VPE_PID_RTL_MASK		0x1f
24*4882a593Smuzhiyun #define VPE_PID_RTL_SHIFT		11
25*4882a593Smuzhiyun #define VPE_PID_FUNC_MASK		0xfff
26*4882a593Smuzhiyun #define VPE_PID_FUNC_SHIFT		16
27*4882a593Smuzhiyun #define VPE_PID_SCHEME_MASK		0x03
28*4882a593Smuzhiyun #define VPE_PID_SCHEME_SHIFT		30
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun #define VPE_SYSCONFIG			0x0010
31*4882a593Smuzhiyun #define VPE_SYSCONFIG_IDLE_MASK		0x03
32*4882a593Smuzhiyun #define VPE_SYSCONFIG_IDLE_SHIFT	2
33*4882a593Smuzhiyun #define VPE_SYSCONFIG_STANDBY_MASK	0x03
34*4882a593Smuzhiyun #define VPE_SYSCONFIG_STANDBY_SHIFT	4
35*4882a593Smuzhiyun #define VPE_FORCE_IDLE_MODE		0
36*4882a593Smuzhiyun #define VPE_NO_IDLE_MODE		1
37*4882a593Smuzhiyun #define VPE_SMART_IDLE_MODE		2
38*4882a593Smuzhiyun #define VPE_SMART_IDLE_WAKEUP_MODE	3
39*4882a593Smuzhiyun #define VPE_FORCE_STANDBY_MODE		0
40*4882a593Smuzhiyun #define VPE_NO_STANDBY_MODE		1
41*4882a593Smuzhiyun #define VPE_SMART_STANDBY_MODE		2
42*4882a593Smuzhiyun #define VPE_SMART_STANDBY_WAKEUP_MODE	3
43*4882a593Smuzhiyun 
44*4882a593Smuzhiyun #define VPE_INT0_STATUS0_RAW_SET	0x0020
45*4882a593Smuzhiyun #define VPE_INT0_STATUS0_RAW		VPE_INT0_STATUS0_RAW_SET
46*4882a593Smuzhiyun #define VPE_INT0_STATUS0_CLR		0x0028
47*4882a593Smuzhiyun #define VPE_INT0_STATUS0		VPE_INT0_STATUS0_CLR
48*4882a593Smuzhiyun #define VPE_INT0_ENABLE0_SET		0x0030
49*4882a593Smuzhiyun #define VPE_INT0_ENABLE0		VPE_INT0_ENABLE0_SET
50*4882a593Smuzhiyun #define VPE_INT0_ENABLE0_CLR		0x0038
51*4882a593Smuzhiyun #define VPE_INT0_LIST0_COMPLETE		BIT(0)
52*4882a593Smuzhiyun #define VPE_INT0_LIST0_NOTIFY		BIT(1)
53*4882a593Smuzhiyun #define VPE_INT0_LIST1_COMPLETE		BIT(2)
54*4882a593Smuzhiyun #define VPE_INT0_LIST1_NOTIFY		BIT(3)
55*4882a593Smuzhiyun #define VPE_INT0_LIST2_COMPLETE		BIT(4)
56*4882a593Smuzhiyun #define VPE_INT0_LIST2_NOTIFY		BIT(5)
57*4882a593Smuzhiyun #define VPE_INT0_LIST3_COMPLETE		BIT(6)
58*4882a593Smuzhiyun #define VPE_INT0_LIST3_NOTIFY		BIT(7)
59*4882a593Smuzhiyun #define VPE_INT0_LIST4_COMPLETE		BIT(8)
60*4882a593Smuzhiyun #define VPE_INT0_LIST4_NOTIFY		BIT(9)
61*4882a593Smuzhiyun #define VPE_INT0_LIST5_COMPLETE		BIT(10)
62*4882a593Smuzhiyun #define VPE_INT0_LIST5_NOTIFY		BIT(11)
63*4882a593Smuzhiyun #define VPE_INT0_LIST6_COMPLETE		BIT(12)
64*4882a593Smuzhiyun #define VPE_INT0_LIST6_NOTIFY		BIT(13)
65*4882a593Smuzhiyun #define VPE_INT0_LIST7_COMPLETE		BIT(14)
66*4882a593Smuzhiyun #define VPE_INT0_LIST7_NOTIFY		BIT(15)
67*4882a593Smuzhiyun #define VPE_INT0_DESCRIPTOR		BIT(16)
68*4882a593Smuzhiyun #define VPE_DEI_FMD_INT			BIT(18)
69*4882a593Smuzhiyun 
70*4882a593Smuzhiyun #define VPE_INT0_STATUS1_RAW_SET	0x0024
71*4882a593Smuzhiyun #define VPE_INT0_STATUS1_RAW		VPE_INT0_STATUS1_RAW_SET
72*4882a593Smuzhiyun #define VPE_INT0_STATUS1_CLR		0x002c
73*4882a593Smuzhiyun #define VPE_INT0_STATUS1		VPE_INT0_STATUS1_CLR
74*4882a593Smuzhiyun #define VPE_INT0_ENABLE1_SET		0x0034
75*4882a593Smuzhiyun #define VPE_INT0_ENABLE1		VPE_INT0_ENABLE1_SET
76*4882a593Smuzhiyun #define VPE_INT0_ENABLE1_CLR		0x003c
77*4882a593Smuzhiyun #define VPE_INT0_CHANNEL_GROUP0		BIT(0)
78*4882a593Smuzhiyun #define VPE_INT0_CHANNEL_GROUP1		BIT(1)
79*4882a593Smuzhiyun #define VPE_INT0_CHANNEL_GROUP2		BIT(2)
80*4882a593Smuzhiyun #define VPE_INT0_CHANNEL_GROUP3		BIT(3)
81*4882a593Smuzhiyun #define VPE_INT0_CHANNEL_GROUP4		BIT(4)
82*4882a593Smuzhiyun #define VPE_INT0_CHANNEL_GROUP5		BIT(5)
83*4882a593Smuzhiyun #define VPE_INT0_CLIENT			BIT(7)
84*4882a593Smuzhiyun #define VPE_DEI_ERROR_INT		BIT(16)
85*4882a593Smuzhiyun #define VPE_DS1_UV_ERROR_INT		BIT(22)
86*4882a593Smuzhiyun 
87*4882a593Smuzhiyun #define VPE_INTC_EOI			0x00a0
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun #define VPE_CLK_ENABLE			0x0100
90*4882a593Smuzhiyun #define VPE_VPEDMA_CLK_ENABLE		BIT(0)
91*4882a593Smuzhiyun #define VPE_DATA_PATH_CLK_ENABLE	BIT(1)
92*4882a593Smuzhiyun 
93*4882a593Smuzhiyun #define VPE_CLK_RESET			0x0104
94*4882a593Smuzhiyun #define VPE_VPDMA_CLK_RESET_MASK	0x1
95*4882a593Smuzhiyun #define VPE_VPDMA_CLK_RESET_SHIFT	0
96*4882a593Smuzhiyun #define VPE_DATA_PATH_CLK_RESET_MASK	0x1
97*4882a593Smuzhiyun #define VPE_DATA_PATH_CLK_RESET_SHIFT	1
98*4882a593Smuzhiyun #define VPE_MAIN_RESET_MASK		0x1
99*4882a593Smuzhiyun #define VPE_MAIN_RESET_SHIFT		31
100*4882a593Smuzhiyun 
101*4882a593Smuzhiyun #define VPE_CLK_FORMAT_SELECT		0x010c
102*4882a593Smuzhiyun #define VPE_CSC_SRC_SELECT_MASK		0x03
103*4882a593Smuzhiyun #define VPE_CSC_SRC_SELECT_SHIFT	0
104*4882a593Smuzhiyun #define VPE_RGB_OUT_SELECT		BIT(8)
105*4882a593Smuzhiyun #define VPE_DS_SRC_SELECT_MASK		0x07
106*4882a593Smuzhiyun #define VPE_DS_SRC_SELECT_SHIFT		9
107*4882a593Smuzhiyun #define VPE_DS_BYPASS			BIT(16)
108*4882a593Smuzhiyun #define VPE_COLOR_SEPARATE_422		BIT(18)
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun #define VPE_DS_SRC_DEI_SCALER		(5 << VPE_DS_SRC_SELECT_SHIFT)
111*4882a593Smuzhiyun #define VPE_CSC_SRC_DEI_SCALER		(3 << VPE_CSC_SRC_SELECT_SHIFT)
112*4882a593Smuzhiyun 
113*4882a593Smuzhiyun #define VPE_CLK_RANGE_MAP		0x011c
114*4882a593Smuzhiyun #define VPE_RANGE_RANGE_MAP_Y_MASK	0x07
115*4882a593Smuzhiyun #define VPE_RANGE_RANGE_MAP_Y_SHIFT	0
116*4882a593Smuzhiyun #define VPE_RANGE_RANGE_MAP_UV_MASK	0x07
117*4882a593Smuzhiyun #define VPE_RANGE_RANGE_MAP_UV_SHIFT	3
118*4882a593Smuzhiyun #define VPE_RANGE_MAP_ON		BIT(6)
119*4882a593Smuzhiyun #define VPE_RANGE_REDUCTION_ON		BIT(28)
120*4882a593Smuzhiyun 
121*4882a593Smuzhiyun /* VPE chrominance upsampler regs */
122*4882a593Smuzhiyun #define VPE_US1_R0			0x0304
123*4882a593Smuzhiyun #define VPE_US2_R0			0x0404
124*4882a593Smuzhiyun #define VPE_US3_R0			0x0504
125*4882a593Smuzhiyun #define VPE_US_C1_MASK			0x3fff
126*4882a593Smuzhiyun #define VPE_US_C1_SHIFT			2
127*4882a593Smuzhiyun #define VPE_US_C0_MASK			0x3fff
128*4882a593Smuzhiyun #define VPE_US_C0_SHIFT			18
129*4882a593Smuzhiyun #define VPE_US_MODE_MASK		0x03
130*4882a593Smuzhiyun #define VPE_US_MODE_SHIFT		16
131*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C1_MASK		0x3fff
132*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C1_SHIFT	2
133*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C0_MASK		0x3fff
134*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C0_SHIFT	18
135*4882a593Smuzhiyun 
136*4882a593Smuzhiyun #define VPE_US1_R1			0x0308
137*4882a593Smuzhiyun #define VPE_US2_R1			0x0408
138*4882a593Smuzhiyun #define VPE_US3_R1			0x0508
139*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C3_MASK		0x3fff
140*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C3_SHIFT	2
141*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C2_MASK		0x3fff
142*4882a593Smuzhiyun #define VPE_ANCHOR_FID0_C2_SHIFT	18
143*4882a593Smuzhiyun 
144*4882a593Smuzhiyun #define VPE_US1_R2			0x030c
145*4882a593Smuzhiyun #define VPE_US2_R2			0x040c
146*4882a593Smuzhiyun #define VPE_US3_R2			0x050c
147*4882a593Smuzhiyun #define VPE_INTERP_FID0_C1_MASK		0x3fff
148*4882a593Smuzhiyun #define VPE_INTERP_FID0_C1_SHIFT	2
149*4882a593Smuzhiyun #define VPE_INTERP_FID0_C0_MASK		0x3fff
150*4882a593Smuzhiyun #define VPE_INTERP_FID0_C0_SHIFT	18
151*4882a593Smuzhiyun 
152*4882a593Smuzhiyun #define VPE_US1_R3			0x0310
153*4882a593Smuzhiyun #define VPE_US2_R3			0x0410
154*4882a593Smuzhiyun #define VPE_US3_R3			0x0510
155*4882a593Smuzhiyun #define VPE_INTERP_FID0_C3_MASK		0x3fff
156*4882a593Smuzhiyun #define VPE_INTERP_FID0_C3_SHIFT	2
157*4882a593Smuzhiyun #define VPE_INTERP_FID0_C2_MASK		0x3fff
158*4882a593Smuzhiyun #define VPE_INTERP_FID0_C2_SHIFT	18
159*4882a593Smuzhiyun 
160*4882a593Smuzhiyun #define VPE_US1_R4			0x0314
161*4882a593Smuzhiyun #define VPE_US2_R4			0x0414
162*4882a593Smuzhiyun #define VPE_US3_R4			0x0514
163*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C1_MASK		0x3fff
164*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C1_SHIFT	2
165*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C0_MASK		0x3fff
166*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C0_SHIFT	18
167*4882a593Smuzhiyun 
168*4882a593Smuzhiyun #define VPE_US1_R5			0x0318
169*4882a593Smuzhiyun #define VPE_US2_R5			0x0418
170*4882a593Smuzhiyun #define VPE_US3_R5			0x0518
171*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C3_MASK		0x3fff
172*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C3_SHIFT	2
173*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C2_MASK		0x3fff
174*4882a593Smuzhiyun #define VPE_ANCHOR_FID1_C2_SHIFT	18
175*4882a593Smuzhiyun 
176*4882a593Smuzhiyun #define VPE_US1_R6			0x031c
177*4882a593Smuzhiyun #define VPE_US2_R6			0x041c
178*4882a593Smuzhiyun #define VPE_US3_R6			0x051c
179*4882a593Smuzhiyun #define VPE_INTERP_FID1_C1_MASK		0x3fff
180*4882a593Smuzhiyun #define VPE_INTERP_FID1_C1_SHIFT	2
181*4882a593Smuzhiyun #define VPE_INTERP_FID1_C0_MASK		0x3fff
182*4882a593Smuzhiyun #define VPE_INTERP_FID1_C0_SHIFT	18
183*4882a593Smuzhiyun 
184*4882a593Smuzhiyun #define VPE_US1_R7			0x0320
185*4882a593Smuzhiyun #define VPE_US2_R7			0x0420
186*4882a593Smuzhiyun #define VPE_US3_R7			0x0520
187*4882a593Smuzhiyun #define VPE_INTERP_FID0_C3_MASK		0x3fff
188*4882a593Smuzhiyun #define VPE_INTERP_FID0_C3_SHIFT	2
189*4882a593Smuzhiyun #define VPE_INTERP_FID0_C2_MASK		0x3fff
190*4882a593Smuzhiyun #define VPE_INTERP_FID0_C2_SHIFT	18
191*4882a593Smuzhiyun 
192*4882a593Smuzhiyun /* VPE de-interlacer regs */
193*4882a593Smuzhiyun #define VPE_DEI_FRAME_SIZE		0x0600
194*4882a593Smuzhiyun #define VPE_DEI_WIDTH_MASK		0x07ff
195*4882a593Smuzhiyun #define VPE_DEI_WIDTH_SHIFT		0
196*4882a593Smuzhiyun #define VPE_DEI_HEIGHT_MASK		0x07ff
197*4882a593Smuzhiyun #define VPE_DEI_HEIGHT_SHIFT		16
198*4882a593Smuzhiyun #define VPE_DEI_INTERLACE_BYPASS	BIT(29)
199*4882a593Smuzhiyun #define VPE_DEI_FIELD_FLUSH		BIT(30)
200*4882a593Smuzhiyun #define VPE_DEI_PROGRESSIVE		BIT(31)
201*4882a593Smuzhiyun 
202*4882a593Smuzhiyun #define VPE_MDT_BYPASS			0x0604
203*4882a593Smuzhiyun #define VPE_MDT_TEMPMAX_BYPASS		BIT(0)
204*4882a593Smuzhiyun #define VPE_MDT_SPATMAX_BYPASS		BIT(1)
205*4882a593Smuzhiyun 
206*4882a593Smuzhiyun #define VPE_MDT_SF_THRESHOLD		0x0608
207*4882a593Smuzhiyun #define VPE_MDT_SF_SC_THR1_MASK		0xff
208*4882a593Smuzhiyun #define VPE_MDT_SF_SC_THR1_SHIFT	0
209*4882a593Smuzhiyun #define VPE_MDT_SF_SC_THR2_MASK		0xff
210*4882a593Smuzhiyun #define VPE_MDT_SF_SC_THR2_SHIFT	0
211*4882a593Smuzhiyun #define VPE_MDT_SF_SC_THR3_MASK		0xff
212*4882a593Smuzhiyun #define VPE_MDT_SF_SC_THR3_SHIFT	0
213*4882a593Smuzhiyun 
214*4882a593Smuzhiyun #define VPE_EDI_CONFIG			0x060c
215*4882a593Smuzhiyun #define VPE_EDI_INP_MODE_MASK		0x03
216*4882a593Smuzhiyun #define VPE_EDI_INP_MODE_SHIFT		0
217*4882a593Smuzhiyun #define VPE_EDI_ENABLE_3D		BIT(2)
218*4882a593Smuzhiyun #define VPE_EDI_ENABLE_CHROMA_3D	BIT(3)
219*4882a593Smuzhiyun #define VPE_EDI_CHROMA3D_COR_THR_MASK	0xff
220*4882a593Smuzhiyun #define VPE_EDI_CHROMA3D_COR_THR_SHIFT	8
221*4882a593Smuzhiyun #define VPE_EDI_DIR_COR_LOWER_THR_MASK	0xff
222*4882a593Smuzhiyun #define VPE_EDI_DIR_COR_LOWER_THR_SHIFT	16
223*4882a593Smuzhiyun #define VPE_EDI_COR_SCALE_FACTOR_MASK	0xff
224*4882a593Smuzhiyun #define VPE_EDI_COR_SCALE_FACTOR_SHIFT	23
225*4882a593Smuzhiyun 
226*4882a593Smuzhiyun #define VPE_DEI_EDI_LUT_R0		0x0610
227*4882a593Smuzhiyun #define VPE_EDI_LUT0_MASK		0x1f
228*4882a593Smuzhiyun #define VPE_EDI_LUT0_SHIFT		0
229*4882a593Smuzhiyun #define VPE_EDI_LUT1_MASK		0x1f
230*4882a593Smuzhiyun #define VPE_EDI_LUT1_SHIFT		8
231*4882a593Smuzhiyun #define VPE_EDI_LUT2_MASK		0x1f
232*4882a593Smuzhiyun #define VPE_EDI_LUT2_SHIFT		16
233*4882a593Smuzhiyun #define VPE_EDI_LUT3_MASK		0x1f
234*4882a593Smuzhiyun #define VPE_EDI_LUT3_SHIFT		24
235*4882a593Smuzhiyun 
236*4882a593Smuzhiyun #define VPE_DEI_EDI_LUT_R1		0x0614
237*4882a593Smuzhiyun #define VPE_EDI_LUT0_MASK		0x1f
238*4882a593Smuzhiyun #define VPE_EDI_LUT0_SHIFT		0
239*4882a593Smuzhiyun #define VPE_EDI_LUT1_MASK		0x1f
240*4882a593Smuzhiyun #define VPE_EDI_LUT1_SHIFT		8
241*4882a593Smuzhiyun #define VPE_EDI_LUT2_MASK		0x1f
242*4882a593Smuzhiyun #define VPE_EDI_LUT2_SHIFT		16
243*4882a593Smuzhiyun #define VPE_EDI_LUT3_MASK		0x1f
244*4882a593Smuzhiyun #define VPE_EDI_LUT3_SHIFT		24
245*4882a593Smuzhiyun 
246*4882a593Smuzhiyun #define VPE_DEI_EDI_LUT_R2		0x0618
247*4882a593Smuzhiyun #define VPE_EDI_LUT4_MASK		0x1f
248*4882a593Smuzhiyun #define VPE_EDI_LUT4_SHIFT		0
249*4882a593Smuzhiyun #define VPE_EDI_LUT5_MASK		0x1f
250*4882a593Smuzhiyun #define VPE_EDI_LUT5_SHIFT		8
251*4882a593Smuzhiyun #define VPE_EDI_LUT6_MASK		0x1f
252*4882a593Smuzhiyun #define VPE_EDI_LUT6_SHIFT		16
253*4882a593Smuzhiyun #define VPE_EDI_LUT7_MASK		0x1f
254*4882a593Smuzhiyun #define VPE_EDI_LUT7_SHIFT		24
255*4882a593Smuzhiyun 
256*4882a593Smuzhiyun #define VPE_DEI_EDI_LUT_R3		0x061c
257*4882a593Smuzhiyun #define VPE_EDI_LUT8_MASK		0x1f
258*4882a593Smuzhiyun #define VPE_EDI_LUT8_SHIFT		0
259*4882a593Smuzhiyun #define VPE_EDI_LUT9_MASK		0x1f
260*4882a593Smuzhiyun #define VPE_EDI_LUT9_SHIFT		8
261*4882a593Smuzhiyun #define VPE_EDI_LUT10_MASK		0x1f
262*4882a593Smuzhiyun #define VPE_EDI_LUT10_SHIFT		16
263*4882a593Smuzhiyun #define VPE_EDI_LUT11_MASK		0x1f
264*4882a593Smuzhiyun #define VPE_EDI_LUT11_SHIFT		24
265*4882a593Smuzhiyun 
266*4882a593Smuzhiyun #define VPE_DEI_FMD_WINDOW_R0		0x0620
267*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MINX_MASK	0x07ff
268*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MINX_SHIFT	0
269*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MAXX_MASK	0x07ff
270*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MAXX_SHIFT	16
271*4882a593Smuzhiyun #define VPE_FMD_WINDOW_ENABLE		BIT(31)
272*4882a593Smuzhiyun 
273*4882a593Smuzhiyun #define VPE_DEI_FMD_WINDOW_R1		0x0624
274*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MINY_MASK	0x07ff
275*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MINY_SHIFT	0
276*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MAXY_MASK	0x07ff
277*4882a593Smuzhiyun #define VPE_FMD_WINDOW_MAXY_SHIFT	16
278*4882a593Smuzhiyun 
279*4882a593Smuzhiyun #define VPE_DEI_FMD_CONTROL_R0		0x0628
280*4882a593Smuzhiyun #define VPE_FMD_ENABLE			BIT(0)
281*4882a593Smuzhiyun #define VPE_FMD_LOCK			BIT(1)
282*4882a593Smuzhiyun #define VPE_FMD_JAM_DIR			BIT(2)
283*4882a593Smuzhiyun #define VPE_FMD_BED_ENABLE		BIT(3)
284*4882a593Smuzhiyun #define VPE_FMD_CAF_FIELD_THR_MASK	0xff
285*4882a593Smuzhiyun #define VPE_FMD_CAF_FIELD_THR_SHIFT	16
286*4882a593Smuzhiyun #define VPE_FMD_CAF_LINE_THR_MASK	0xff
287*4882a593Smuzhiyun #define VPE_FMD_CAF_LINE_THR_SHIFT	24
288*4882a593Smuzhiyun 
289*4882a593Smuzhiyun #define VPE_DEI_FMD_CONTROL_R1		0x062c
290*4882a593Smuzhiyun #define VPE_FMD_CAF_THR_MASK		0x000fffff
291*4882a593Smuzhiyun #define VPE_FMD_CAF_THR_SHIFT		0
292*4882a593Smuzhiyun 
293*4882a593Smuzhiyun #define VPE_DEI_FMD_STATUS_R0		0x0630
294*4882a593Smuzhiyun #define VPE_FMD_CAF_MASK		0x000fffff
295*4882a593Smuzhiyun #define VPE_FMD_CAF_SHIFT		0
296*4882a593Smuzhiyun #define VPE_FMD_RESET			BIT(24)
297*4882a593Smuzhiyun 
298*4882a593Smuzhiyun #define VPE_DEI_FMD_STATUS_R1		0x0634
299*4882a593Smuzhiyun #define VPE_FMD_FIELD_DIFF_MASK		0x0fffffff
300*4882a593Smuzhiyun #define VPE_FMD_FIELD_DIFF_SHIFT	0
301*4882a593Smuzhiyun 
302*4882a593Smuzhiyun #define VPE_DEI_FMD_STATUS_R2		0x0638
303*4882a593Smuzhiyun #define VPE_FMD_FRAME_DIFF_MASK		0x000fffff
304*4882a593Smuzhiyun #define VPE_FMD_FRAME_DIFF_SHIFT	0
305*4882a593Smuzhiyun 
306*4882a593Smuzhiyun #endif
307