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