xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/gce/mt8186-gce.h (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
1*d5b0e70fSEmmanuel Vadot /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2*d5b0e70fSEmmanuel Vadot /*
3*d5b0e70fSEmmanuel Vadot  * Copyright (C) 2022 MediaTek Inc.
4*d5b0e70fSEmmanuel Vadot  * Author: Yongqiang Niu <yongqiang.niu@mediatek.com>
5*d5b0e70fSEmmanuel Vadot  */
6*d5b0e70fSEmmanuel Vadot 
7*d5b0e70fSEmmanuel Vadot #ifndef _DT_BINDINGS_GCE_MT8186_H
8*d5b0e70fSEmmanuel Vadot #define _DT_BINDINGS_GCE_MT8186_H
9*d5b0e70fSEmmanuel Vadot 
10*d5b0e70fSEmmanuel Vadot /* assign timeout 0 also means default */
11*d5b0e70fSEmmanuel Vadot #define CMDQ_NO_TIMEOUT		0xffffffff
12*d5b0e70fSEmmanuel Vadot #define CMDQ_TIMEOUT_DEFAULT	1000
13*d5b0e70fSEmmanuel Vadot 
14*d5b0e70fSEmmanuel Vadot /* GCE thread priority */
15*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_LOWEST	0
16*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_1		1
17*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_2		2
18*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_3		3
19*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_4		4
20*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_5		5
21*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_6		6
22*d5b0e70fSEmmanuel Vadot #define CMDQ_THR_PRIO_HIGHEST	7
23*d5b0e70fSEmmanuel Vadot 
24*d5b0e70fSEmmanuel Vadot /* CPR count in 32bit register */
25*d5b0e70fSEmmanuel Vadot #define GCE_CPR_COUNT		1312
26*d5b0e70fSEmmanuel Vadot 
27*d5b0e70fSEmmanuel Vadot /* GCE subsys table */
28*d5b0e70fSEmmanuel Vadot #define SUBSYS_1300XXXX		0
29*d5b0e70fSEmmanuel Vadot #define SUBSYS_1400XXXX		1
30*d5b0e70fSEmmanuel Vadot #define SUBSYS_1401XXXX		2
31*d5b0e70fSEmmanuel Vadot #define SUBSYS_1402XXXX		3
32*d5b0e70fSEmmanuel Vadot #define SUBSYS_1502XXXX		4
33*d5b0e70fSEmmanuel Vadot #define SUBSYS_1582XXXX		5
34*d5b0e70fSEmmanuel Vadot #define SUBSYS_1B00XXXX		6
35*d5b0e70fSEmmanuel Vadot #define SUBSYS_1C00XXXX		7
36*d5b0e70fSEmmanuel Vadot #define SUBSYS_1C10XXXX		8
37*d5b0e70fSEmmanuel Vadot #define SUBSYS_1000XXXX		9
38*d5b0e70fSEmmanuel Vadot #define SUBSYS_1001XXXX		10
39*d5b0e70fSEmmanuel Vadot #define SUBSYS_1020XXXX		11
40*d5b0e70fSEmmanuel Vadot #define SUBSYS_1021XXXX		12
41*d5b0e70fSEmmanuel Vadot #define SUBSYS_1022XXXX		13
42*d5b0e70fSEmmanuel Vadot #define SUBSYS_1023XXXX		14
43*d5b0e70fSEmmanuel Vadot #define SUBSYS_1060XXXX		15
44*d5b0e70fSEmmanuel Vadot #define SUBSYS_1602XXXX		16
45*d5b0e70fSEmmanuel Vadot #define SUBSYS_1608XXXX		17
46*d5b0e70fSEmmanuel Vadot #define SUBSYS_1700XXXX		18
47*d5b0e70fSEmmanuel Vadot #define SUBSYS_1701XXXX		19
48*d5b0e70fSEmmanuel Vadot #define SUBSYS_1702XXXX		20
49*d5b0e70fSEmmanuel Vadot #define SUBSYS_1703XXXX		21
50*d5b0e70fSEmmanuel Vadot #define SUBSYS_1706XXXX		22
51*d5b0e70fSEmmanuel Vadot #define SUBSYS_1A00XXXX		23
52*d5b0e70fSEmmanuel Vadot #define SUBSYS_1A01XXXX		24
53*d5b0e70fSEmmanuel Vadot #define SUBSYS_1A02XXXX		25
54*d5b0e70fSEmmanuel Vadot #define SUBSYS_1A03XXXX		26
55*d5b0e70fSEmmanuel Vadot #define SUBSYS_1A04XXXX		27
56*d5b0e70fSEmmanuel Vadot #define SUBSYS_1A05XXXX		28
57*d5b0e70fSEmmanuel Vadot #define SUBSYS_1A06XXXX		29
58*d5b0e70fSEmmanuel Vadot #define SUBSYS_NO_SUPPORT	99
59*d5b0e70fSEmmanuel Vadot 
60*d5b0e70fSEmmanuel Vadot /* GCE General Purpose Register (GPR) support
61*d5b0e70fSEmmanuel Vadot  * Leave note for scenario usage here
62*d5b0e70fSEmmanuel Vadot  */
63*d5b0e70fSEmmanuel Vadot /* GCE: write mask */
64*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R00		0x00
65*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R01		0x01
66*d5b0e70fSEmmanuel Vadot /* MDP: P1: JPEG dest */
67*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R02		0x02
68*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R03		0x03
69*d5b0e70fSEmmanuel Vadot /* MDP: PQ color */
70*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R04		0x04
71*d5b0e70fSEmmanuel Vadot /* MDP: 2D sharpness */
72*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R05		0x05
73*d5b0e70fSEmmanuel Vadot /* DISP: poll esd */
74*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R06		0x06
75*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R07		0x07
76*d5b0e70fSEmmanuel Vadot /* MDP: P4: 2D sharpness dst */
77*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R08		0x08
78*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R09		0x09
79*d5b0e70fSEmmanuel Vadot /* VCU: poll with timeout for GPR timer */
80*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R10		0x0A
81*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R11		0x0B
82*d5b0e70fSEmmanuel Vadot /* CMDQ: debug */
83*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R12		0x0C
84*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R13		0x0D
85*d5b0e70fSEmmanuel Vadot /* CMDQ: P7: debug */
86*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R14		0x0E
87*d5b0e70fSEmmanuel Vadot #define GCE_GPR_R15		0x0F
88*d5b0e70fSEmmanuel Vadot 
89*d5b0e70fSEmmanuel Vadot /* GCE hardware events */
90*d5b0e70fSEmmanuel Vadot /* VDEC */
91*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_LINE_COUNT_THRESHOLD_INTERRUPT	0
92*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_INT				1
93*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_PAUSE				2
94*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_DEC_ERROR			3
95*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDEC_TIMEOUT				4
96*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DRAM_ACCESS_DONE			5
97*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_INI_FETCH_RDY			6
98*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_PROCESS_FLAG				7
99*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SEARCH_START_CODE_DONE		8
100*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_REF_REORDER_DONE			9
101*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_WP_TBLE_DONE				10
102*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_COUNT_SRAM_CLR_DONE			11
103*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_CNT_OP_THRESHOLD			15
104*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_0		16
105*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_1		17
106*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_2		18
107*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_3		19
108*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_4		20
109*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_5		21
110*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_6		22
111*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_7		23
112*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_8		24
113*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_9		25
114*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_10		26
115*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_11		27
116*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_12		28
117*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_13		29
118*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_14		30
119*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VDEC_MINI_MDP_EVENT_15		31
120*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_WPE_GCE_FRAME_DONE			32
121*d5b0e70fSEmmanuel Vadot 
122*d5b0e70fSEmmanuel Vadot /* CAM */
123*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_ISP_FRAME_DONE_A			65
124*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_ISP_FRAME_DONE_B			66
125*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_CAMSV1_PASS1_DONE			70
126*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_CAMSV2_PASS1_DONE			71
127*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_CAMSV3_PASS1_DONE			72
128*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MRAW_0_PASS1_DONE			73
129*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM0_FIFO_FULL		75
130*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM1_FIFO_FULL		76
131*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM2_FIFO_FULL		77
132*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM3_FIFO_FULL		78
133*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM4_FIFO_FULL		79
134*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM5_FIFO_FULL		80
135*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM6_FIFO_FULL		81
136*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM7_FIFO_FULL		82
137*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM8_FIFO_FULL		83
138*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM9_FIFO_FULL		84
139*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM10_FIFO_FULL		85
140*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM11_FIFO_FULL		86
141*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_SENINF_CAM12_FIFO_FULL		87
142*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_TG_OVRUN_A_INT			88
143*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DMA_R1_ERROR_A_INT			89
144*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_TG_OVRUN_B_INT			90
145*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DMA_R1_ERROR_B_INT			91
146*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_TG_OVRUN_M0_INT			94
147*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_R1_ERROR_M0_INT			95
148*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_TG_GRABERR_M0_INT			96
149*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_TG_GRABERR_A_INT			98
150*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_CQ_VR_SNAP_A_INT			99
151*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_TG_GRABERR_B_INT			100
152*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_CQ_VR_SNAP_B_INT			101
153*d5b0e70fSEmmanuel Vadot /* VENC */
154*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VENC_CMDQ_FRAME_DONE			129
155*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VENC_CMDQ_PAUSE_DONE			130
156*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_JPGENC_CMDQ_DONE			131
157*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VENC_CMDQ_MB_DONE			132
158*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VENC_CMDQ_128BYTE_CNT_DONE		133
159*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VENC_CMDQ_PPS_DONE			136
160*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VENC_CMDQ_SPS_DONE			137
161*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_VENC_CMDQ_VPS_DONE			138
162*d5b0e70fSEmmanuel Vadot /* IPE */
163*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_FDVT_DONE				161
164*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_FE_DONE				162
165*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_RSC_DONE				163
166*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DVS_DONE_ASYNC_SHOT			164
167*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DVP_DONE_ASYNC_SHOT			165
168*d5b0e70fSEmmanuel Vadot /* IMG2 */
169*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT0			193
170*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT1			194
171*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT2			195
172*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT3			196
173*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT4			197
174*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT5			198
175*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT6			199
176*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT7			200
177*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT8			201
178*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT9			202
179*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT10			203
180*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT11			204
181*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT12			205
182*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT13			206
183*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT14			207
184*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT15			208
185*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT16			209
186*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT17			210
187*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT18			211
188*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT19			212
189*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT20			213
190*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT21			214
191*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT22			215
192*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG2_EVENT23			216
193*d5b0e70fSEmmanuel Vadot /* IMG1 */
194*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT0			225
195*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT1			226
196*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT2			227
197*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT3			228
198*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT4			229
199*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT5			230
200*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT6			231
201*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT7			232
202*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT8			233
203*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT9			234
204*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT10			235
205*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT11			236
206*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT12			237
207*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT13			238
208*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT14			239
209*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT15			240
210*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT16			241
211*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT17			242
212*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT18			243
213*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT19			244
214*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT20			245
215*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT21			246
216*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT22			247
217*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_GCE_IMG1_EVENT23			248
218*d5b0e70fSEmmanuel Vadot /* MDP */
219*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA0_SOF			256
220*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA1_SOF			257
221*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_AAL0_SOF				258
222*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_AAL1_SOF				259
223*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_HDR0_SOF				260
224*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RSZ0_SOF				261
225*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RSZ1_SOF				262
226*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT0_SOF			263
227*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT1_SOF			264
228*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_TDSHP0_SOF			265
229*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_TDSHP1_SOF			266
230*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_IMG_DL_RELAY0_SOF			267
231*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_IMG_DL_RELAY1_SOF			268
232*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_COLOR0_SOF			269
233*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT3_FRAME_DONE			288
234*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT2_FRAME_DONE			289
235*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT1_FRAME_DONE			290
236*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT0_FRAME_DONE			291
237*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_TDSHP3_FRAME_DONE		292
238*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_TDSHP2_FRAME_DONE		293
239*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_TDSHP1_FRAME_DONE		294
240*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_TDSHP0_FRAME_DONE		295
241*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RSZ3_FRAME_DONE			296
242*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RSZ2_FRAME_DONE			297
243*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RSZ1_FRAME_DONE			298
244*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RSZ0_FRAME_DONE			299
245*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA3_FRAME_DONE			300
246*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA2_FRAME_DONE			301
247*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA1_FRAME_DONE			302
248*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA0_FRAME_DONE			303
249*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_HDR1_FRAME_DONE			304
250*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_HDR0_FRAME_DONE			305
251*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_COLOR0_FRAME_DONE		306
252*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_AAL3_FRAME_DONE			307
253*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_AAL2_FRAME_DONE			308
254*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_AAL1_FRAME_DONE			309
255*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_AAL0_FRAME_DONE			310
256*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_0		320
257*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_1		321
258*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_2		322
259*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_3		323
260*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_4		324
261*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_5		325
262*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_6		326
263*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_7		327
264*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_8		328
265*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_9		329
266*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_10		330
267*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_11		331
268*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_12		332
269*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_13		333
270*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_14		334
271*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_STREAM_DONE_ENG_EVENT_15		335
272*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT3_SW_RST_DONE_ENG_EVENT	336
273*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT2_SW_RST_DONE_ENG_EVENT	337
274*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT1_SW_RST_DONE_ENG_EVENT	338
275*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_WROT0_SW_RST_DONE_ENG_EVENT	339
276*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA3_SW_RST_DONE_ENG_EVENT	340
277*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA2_SW_RST_DONE_ENG_EVENT	341
278*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA1_SW_RST_DONE_ENG_EVENT	342
279*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MDP_RDMA0_SW_RST_DONE_ENG_EVENT	343
280*d5b0e70fSEmmanuel Vadot /* DISP */
281*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_OVL0_SOF			384
282*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_OVL0_2L_SOF			385
283*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_RDMA0_SOF			386
284*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_RSZ0_SOF			387
285*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_COLOR0_SOF			388
286*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_CCORR0_SOF			389
287*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_CCORR1_SOF			390
288*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_AAL0_SOF			391
289*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_GAMMA0_SOF			392
290*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_POSTMASK0_SOF			393
291*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_DITHER0_SOF			394
292*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_CM0_SOF				395
293*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_SPR0_SOF			396
294*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_DSC_WRAP0_SOF			397
295*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DSI0_SOF				398
296*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_WDMA0_SOF			399
297*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_PWM0_SOF			400
298*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DSI0_FRAME_DONE			410
299*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_WDMA0_FRAME_DONE		411
300*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_SPR0_FRAME_DONE			412
301*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_RSZ0_FRAME_DONE			413
302*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_RDMA0_FRAME_DONE		414
303*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_POSTMASK0_FRAME_DONE		415
304*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_OVL0_FRAME_DONE			416
305*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_OVL0_2L_FRAME_DONE		417
306*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_GAMMA0_FRAME_DONE		418
307*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_DSC_WRAP0_CORE0_FRAME_DONE	420
308*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_DITHER0_FRAME_DONE		421
309*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_COLOR0_FRAME_DONE		422
310*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_CM0_FRAME_DONE			423
311*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_CCORR1_FRAME_DONE		424
312*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_CCORR0_FRAME_DONE		425
313*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_AAL0_FRAME_DONE			426
314*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0		434
315*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1		435
316*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_2		436
317*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_3		437
318*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_4		438
319*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_5		439
320*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_6		440
321*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_7		441
322*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_8		442
323*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_9		443
324*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_10	444
325*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_11	445
326*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_12	446
327*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_13	447
328*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_14	448
329*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_15	449
330*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DSI0_TE_ENG_EVENT			450
331*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DSI0_IRQ_ENG_EVENT			451
332*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DSI0_DONE_ENG_EVENT			452
333*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_WDMA0_SW_RST_DONE_ENG_EVENT	453
334*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_SMIASSERT_ENG_EVENT		454
335*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_POSTMASK0_RST_DONE_ENG_EVENT	455
336*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_OVL0_RST_DONE_ENG_EVENT		456
337*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_DISP_OVL0_2L_RST_DONE_ENG_EVENT	457
338*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_0		458
339*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_1		459
340*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_2		460
341*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_3		461
342*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_4		462
343*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_5		463
344*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_6		464
345*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_BUF_UNDERRUN_ENG_EVENT_7		465
346*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_OUT_EVENT_0				898
347*d5b0e70fSEmmanuel Vadot 
348*d5b0e70fSEmmanuel Vadot /* CMDQ sw tokens
349*d5b0e70fSEmmanuel Vadot  * Following definitions are gce sw token which may use by clients
350*d5b0e70fSEmmanuel Vadot  * event operation API.
351*d5b0e70fSEmmanuel Vadot  * Note that token 512 to 639 may set secure
352*d5b0e70fSEmmanuel Vadot  */
353*d5b0e70fSEmmanuel Vadot 
354*d5b0e70fSEmmanuel Vadot /* end of hw event and begin of sw token */
355*d5b0e70fSEmmanuel Vadot #define CMDQ_MAX_HW_EVENT				512
356*d5b0e70fSEmmanuel Vadot 
357*d5b0e70fSEmmanuel Vadot /* Config thread notify trigger thread */
358*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_CONFIG_DIRTY			640
359*d5b0e70fSEmmanuel Vadot /* Trigger thread notify config thread */
360*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_STREAM_EOF			641
361*d5b0e70fSEmmanuel Vadot /* Block Trigger thread until the ESD check finishes. */
362*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_ESD_EOF				642
363*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_STREAM_BLOCK			643
364*d5b0e70fSEmmanuel Vadot /* check CABC setup finish */
365*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_CABC_EOF			644
366*d5b0e70fSEmmanuel Vadot 
367*d5b0e70fSEmmanuel Vadot /* Notify normal CMDQ there are some secure task done
368*d5b0e70fSEmmanuel Vadot  * MUST NOT CHANGE, this token sync with secure world
369*d5b0e70fSEmmanuel Vadot  */
370*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_SECURE_THR_EOF			647
371*d5b0e70fSEmmanuel Vadot 
372*d5b0e70fSEmmanuel Vadot /* CMDQ use sw token */
373*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_USER_0				649
374*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_USER_1				650
375*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_POLL_MONITOR			651
376*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_TPR_LOCK			652
377*d5b0e70fSEmmanuel Vadot 
378*d5b0e70fSEmmanuel Vadot /* ISP sw token */
379*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_MSS				665
380*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_MSF				666
381*d5b0e70fSEmmanuel Vadot 
382*d5b0e70fSEmmanuel Vadot /* DISP sw token */
383*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_SODI				671
384*d5b0e70fSEmmanuel Vadot 
385*d5b0e70fSEmmanuel Vadot /* GPR access tokens (for register backup)
386*d5b0e70fSEmmanuel Vadot  * There are 15 32-bit GPR, 3 GPR form a set
387*d5b0e70fSEmmanuel Vadot  * (64-bit for address, 32-bit for value)
388*d5b0e70fSEmmanuel Vadot  * MUST NOT CHANGE, these tokens sync with MDP
389*d5b0e70fSEmmanuel Vadot  */
390*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_GPR_SET_0			700
391*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_GPR_SET_1			701
392*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_GPR_SET_2			702
393*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_GPR_SET_3			703
394*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_TOKEN_GPR_SET_4			704
395*d5b0e70fSEmmanuel Vadot 
396*d5b0e70fSEmmanuel Vadot /* Resource lock event to control resource in GCE thread */
397*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_RESOURCE_WROT0			710
398*d5b0e70fSEmmanuel Vadot #define CMDQ_SYNC_RESOURCE_WROT1			711
399*d5b0e70fSEmmanuel Vadot 
400*d5b0e70fSEmmanuel Vadot /* event for gpr timer, used in sleep and poll with timeout */
401*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R0				994
402*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R1				995
403*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R2				996
404*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R3				997
405*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R4				998
406*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R5				999
407*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R6				1000
408*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R7				1001
409*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R8				1002
410*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R9				1003
411*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R10			1004
412*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R11			1005
413*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R12			1006
414*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R13			1007
415*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R14			1008
416*d5b0e70fSEmmanuel Vadot #define CMDQ_TOKEN_GPR_TIMER_R15			1009
417*d5b0e70fSEmmanuel Vadot 
418*d5b0e70fSEmmanuel Vadot #define CMDQ_EVENT_MAX					0x3FF
419*d5b0e70fSEmmanuel Vadot /* CMDQ sw tokens END */
420*d5b0e70fSEmmanuel Vadot 
421*d5b0e70fSEmmanuel Vadot #endif
422