/*
 * Copyright (c) 2019 MediaTek Inc.
 * Author: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#ifndef _DT_BINDINGS_GCE_MT6785_H
#define _DT_BINDINGS_GCE_MT6785_H

/* assign timeout 0 also means default */
#define CMDQ_NO_TIMEOUT		0xffffffff
#define CMDQ_TIMEOUT_DEFAULT	1000

/* GCE thread priority */
#define CMDQ_THR_PRIO_LOWEST	0
#define CMDQ_THR_PRIO_1		1
#define CMDQ_THR_PRIO_2		2
#define CMDQ_THR_PRIO_3		3
#define CMDQ_THR_PRIO_4		4
#define CMDQ_THR_PRIO_5		5
#define CMDQ_THR_PRIO_6		6
#define CMDQ_THR_PRIO_HIGHEST	7

/* CPR count in 32bit register */
#define GCE_CPR_COUNT		1312

/* GCE subsys table */
#define SUBSYS_1300XXXX		0
#define SUBSYS_1400XXXX		1
#define SUBSYS_1401XXXX		2
#define SUBSYS_1402XXXX		3
#define SUBSYS_1502XXXX		4
#define SUBSYS_1880XXXX		5
#define SUBSYS_1881XXXX		6
#define SUBSYS_1882XXXX		7
#define SUBSYS_1883XXXX		8
#define SUBSYS_1884XXXX		9
#define SUBSYS_1000XXXX		10
#define SUBSYS_1001XXXX		11
#define SUBSYS_1002XXXX		12
#define SUBSYS_1003XXXX		13
#define SUBSYS_1004XXXX		14
#define SUBSYS_1005XXXX		15
#define SUBSYS_1020XXXX		16
#define SUBSYS_1028XXXX		17
#define SUBSYS_1700XXXX		18
#define SUBSYS_1701XXXX		19
#define SUBSYS_1702XXXX		20
#define SUBSYS_1703XXXX		21
#define SUBSYS_1800XXXX		22
#define SUBSYS_1801XXXX		23
#define SUBSYS_1802XXXX		24
#define SUBSYS_1804XXXX		25
#define SUBSYS_1805XXXX		26
#define SUBSYS_1808XXXX		27
#define SUBSYS_180aXXXX		28
#define SUBSYS_180bXXXX		29

/* GCE hardware events */
#define CMDQ_EVENT_DISP_RDMA0_SOF		0
#define CMDQ_EVENT_DISP_RDMA1_SOF		1
#define CMDQ_EVENT_MDP_RDMA0_SOF		2
#define CMDQ_EVENT_MDP_RDMA1_SOF		3
#define CMDQ_EVENT_MDP_RSZ0_SOF			4
#define CMDQ_EVENT_MDP_RSZ1_SOF			5
#define CMDQ_EVENT_MDP_TDSHP_SOF		6
#define CMDQ_EVENT_MDP_WROT0_SOF		7
#define CMDQ_EVENT_MDP_WROT1_SOF		8
#define CMDQ_EVENT_DISP_OVL0_SOF		9
#define CMDQ_EVENT_DISP_2L_OVL0_SOF		10
#define CMDQ_EVENT_DISP_2L_OVL1_SOF		11
#define CMDQ_EVENT_DISP_WDMA0_SOF		12
#define CMDQ_EVENT_DISP_COLOR0_SOF		13
#define CMDQ_EVENT_DISP_CCORR0_SOF		14
#define CMDQ_EVENT_DISP_AAL0_SOF		15
#define CMDQ_EVENT_DISP_GAMMA0_SOF		16
#define CMDQ_EVENT_DISP_DITHER0_SOF		17
#define CMDQ_EVENT_DISP_PWM0_SOF		18
#define CMDQ_EVENT_DISP_DSI0_SOF		19
#define CMDQ_EVENT_DISP_DPI0_SOF		20
#define CMDQ_EVENT_DISP_POSTMASK0_SOF		21
#define CMDQ_EVENT_DISP_RSZ0_SOF		22
#define CMDQ_EVENT_MDP_AAL_SOF			23
#define CMDQ_EVENT_MDP_CCORR_SOF		24
#define CMDQ_EVENT_DISP_DBI0_SOF		25
#define CMDQ_EVENT_ISP_RELAY_SOF		26
#define CMDQ_EVENT_IPU_RELAY_SOF		27
#define CMDQ_EVENT_DISP_RDMA0_EOF		28
#define CMDQ_EVENT_DISP_RDMA1_EOF		29
#define CMDQ_EVENT_MDP_RDMA0_EOF		30
#define CMDQ_EVENT_MDP_RDMA1_EOF		31
#define CMDQ_EVENT_MDP_RSZ0_EOF			32
#define CMDQ_EVENT_MDP_RSZ1_EOF			33
#define CMDQ_EVENT_MDP_TDSHP_EOF		34
#define CMDQ_EVENT_MDP_WROT0_W_EOF		35
#define CMDQ_EVENT_MDP_WROT1_W_EOF		36
#define CMDQ_EVENT_DISP_OVL0_EOF		37
#define CMDQ_EVENT_DISP_2L_OVL0_EOF		38
#define CMDQ_EVENT_DISP_2L_OVL1_EOF		39
#define CMDQ_EVENT_DISP_WDMA0_EOF		40
#define CMDQ_EVENT_DISP_COLOR0_EOF		41
#define CMDQ_EVENT_DISP_CCORR0_EOF		42
#define CMDQ_EVENT_DISP_AAL0_EOF		43
#define CMDQ_EVENT_DISP_GAMMA0_EOF		44
#define CMDQ_EVENT_DISP_DITHER0_EOF		45
#define CMDQ_EVENT_DISP_DSI0_EOF		46
#define CMDQ_EVENT_DISP_DPI0_EOF		47
#define CMDQ_EVENT_DISP_RSZ0_EOF		49
#define CMDQ_EVENT_MDP_AAL_FRAME_DONE		50
#define CMDQ_EVENT_MDP_CCORR_FRAME_DONE		51
#define CMDQ_EVENT_DISP_POSTMASK0_FRAME_DONE	52
#define CMDQ_EVENT_MUTEX0_STREAM_EOF		130
#define CMDQ_EVENT_MUTEX1_STREAM_EOF		131
#define CMDQ_EVENT_MUTEX2_STREAM_EOF		132
#define CMDQ_EVENT_MUTEX3_STREAM_EOF		133
#define CMDQ_EVENT_MUTEX4_STREAM_EOF		134
#define CMDQ_EVENT_MUTEX5_STREAM_EOF		135
#define CMDQ_EVENT_MUTEX6_STREAM_EOF		136
#define CMDQ_EVENT_MUTEX7_STREAM_EOF		137
#define CMDQ_EVENT_MUTEX8_STREAM_EOF		138
#define CMDQ_EVENT_MUTEX9_STREAM_EOF		139
#define CMDQ_EVENT_MUTEX10_STREAM_EOF		140
#define CMDQ_EVENT_MUTEX11_STREAM_EOF		141
#define CMDQ_EVENT_DISP_RDMA0_UNDERRUN		142
#define CMDQ_EVENT_DISP_RDMA1_UNDERRUN		143
#define CMDQ_EVENT_DISP_RDMA2_UNDERRUN		144
#define CMDQ_EVENT_DISP_RDMA3_UNDERRUN		145
#define CMDQ_EVENT_DSI0_TE			146
#define CMDQ_EVENT_DSI0_IRQ_EVENT		147
#define CMDQ_EVENT_DSI0_DONE_EVENT		148
#define CMDQ_EVENT_DISP_POSTMASK0_FRAME_RST_DONE_PULSE	150
#define CMDQ_EVENT_DISP_WDMA0_RST_DONE		151
#define CMDQ_EVENT_MDP_WROT0_RST_DONE		153
#define CMDQ_EVENT_MDP_RDMA0_RST_DONE		154
#define CMDQ_EVENT_DISP_OVL0_RST_DONE		155
#define CMDQ_EVENT_DISP_OVL0_2L_RST_DONE	156
#define CMDQ_EVENT_DISP_OVL1_2L_RST_DONE	157
#define CMDQ_EVENT_DIP_CQ_THREAD0_EOF		257
#define CMDQ_EVENT_DIP_CQ_THREAD1_EOF		258
#define CMDQ_EVENT_DIP_CQ_THREAD2_EOF		259
#define CMDQ_EVENT_DIP_CQ_THREAD3_EOF		260
#define CMDQ_EVENT_DIP_CQ_THREAD4_EOF		261
#define CMDQ_EVENT_DIP_CQ_THREAD5_EOF		262
#define CMDQ_EVENT_DIP_CQ_THREAD6_EOF		263
#define CMDQ_EVENT_DIP_CQ_THREAD7_EOF		264
#define CMDQ_EVENT_DIP_CQ_THREAD8_EOF		265
#define CMDQ_EVENT_DIP_CQ_THREAD9_EOF		266
#define CMDQ_EVENT_DIP_CQ_THREAD10_EOF		267
#define CMDQ_EVENT_DIP_CQ_THREAD11_EOF		268
#define CMDQ_EVENT_DIP_CQ_THREAD12_EOF		269
#define CMDQ_EVENT_DIP_CQ_THREAD13_EOF		270
#define CMDQ_EVENT_DIP_CQ_THREAD14_EOF		271
#define CMDQ_EVENT_DIP_CQ_THREAD15_EOF		272
#define CMDQ_EVENT_DIP_CQ_THREAD16_EOF		273
#define CMDQ_EVENT_DIP_CQ_THREAD17_EOF		274
#define CMDQ_EVENT_DIP_CQ_THREAD18_EOF		275
#define CMDQ_EVENT_AMD_FRAME_DONE		276
#define CMDQ_EVENT_DVE_EOF			277
#define CMDQ_EVENT_WMF_EOF			278
#define CMDQ_EVENT_RSC_EOF			279
#define CMDQ_EVENT_MFB_DONE			280
#define CMDQ_EVENT_WPE_A_EOF			281
#define CMDQ_EVENT_WPE_B_FRAME_DONE		282
#define CMDQ_EVENT_OCC_DONE			283
#define CMDQ_EVENT_VENC_EOF			289
#define CMDQ_EVENT_VENC_CMDQ_PAUSE_DONE		290
#define CMDQ_EVENT_JPEG_ENC_EOF			291
#define CMDQ_EVENT_VENC_MB_DONE			292
#define CMDQ_EVENT_VENC_128BYTE_CNT_DONE	293
#define CMDQ_EVENT_ISP_FRAME_DONE_A		321
#define CMDQ_EVENT_ISP_FRAME_DONE_B		322
#define CMDQ_EVENT_ISP_CAMSV_0_PASS1_DONE	323
#define CMDQ_EVENT_ISP_CAMSV_1_PASS1_DONE	324
#define CMDQ_EVENT_ISP_CAMSV_2_PASS1_DONE	325
#define CMDQ_EVENT_ISP_TSF_DONE			326
#define CMDQ_EVENT_SENINF_0_FIFO_FULL		327
#define CMDQ_EVENT_SENINF_1_FIFO_FULL		328
#define CMDQ_EVENT_SENINF_2_FIFO_FULL		329
#define CMDQ_EVENT_SENINF_3_FIFO_FULL		330
#define CMDQ_EVENT_SENINF_4_FIFO_FULL		331
#define CMDQ_EVENT_SENINF_5_FIFO_FULL		332
#define CMDQ_EVENT_SENINF_6_FIFO_FULL		333
#define CMDQ_EVENT_SENINF_7_FIFO_FULL		334
#define CMDQ_EVENT_APU_GCE_CORE0_EVENT_0	353
#define CMDQ_EVENT_APU_GCE_CORE0_EVENT_1	354
#define CMDQ_EVENT_APU_GCE_CORE0_EVENT_2	355
#define CMDQ_EVENT_APU_GCE_CORE0_EVENT_3	356
#define CMDQ_EVENT_APU_GCE_CORE1_EVENT_0	385
#define CMDQ_EVENT_APU_GCE_CORE1_EVENT_1	386
#define CMDQ_EVENT_APU_GCE_CORE1_EVENT_2	387
#define CMDQ_EVENT_APU_GCE_CORE1_EVENT_3	388
#define CMDQ_EVENT_VDEC_EVENT_0			416
#define CMDQ_EVENT_VDEC_EVENT_1			417
#define CMDQ_EVENT_VDEC_EVENT_2			418
#define CMDQ_EVENT_VDEC_EVENT_3			419
#define CMDQ_EVENT_VDEC_EVENT_4			420
#define CMDQ_EVENT_VDEC_EVENT_5			421
#define CMDQ_EVENT_VDEC_EVENT_6			422
#define CMDQ_EVENT_VDEC_EVENT_7			423
#define CMDQ_EVENT_VDEC_EVENT_8			424
#define CMDQ_EVENT_VDEC_EVENT_9			425
#define CMDQ_EVENT_VDEC_EVENT_10		426
#define CMDQ_EVENT_VDEC_EVENT_11		427
#define CMDQ_EVENT_VDEC_EVENT_12		428
#define CMDQ_EVENT_VDEC_EVENT_13		429
#define CMDQ_EVENT_VDEC_EVENT_14		430
#define CMDQ_EVENT_VDEC_EVENT_15		431
#define CMDQ_EVENT_DSI0_TE_INFRA		898


/* CMDQ sw tokens
 * Following definitions are gce sw token which may use by clients
 * event operation API.
 * Note that token 512 to 639 may set secure
 */

/* end of hw event and begin of sw token */
#define CMDQ_MAX_HW_EVENT				512

/* Config thread notify trigger thread */
#define CMDQ_SYNC_TOKEN_CONFIG_DIRTY			640
/* Trigger thread notify config thread */
#define CMDQ_SYNC_TOKEN_STREAM_EOF			641
/* Block Trigger thread until the ESD check finishes. */
#define CMDQ_SYNC_TOKEN_ESD_EOF				642
#define CMDQ_SYNC_TOKEN_STREAM_BLOCK			643
/* check CABC setup finish */
#define CMDQ_SYNC_TOKEN_CABC_EOF			644

/* Notify normal CMDQ there are some secure task done
 * MUST NOT CHANGE, this token sync with secure world
 */
#define CMDQ_SYNC_SECURE_THR_EOF			647

/* CMDQ use sw token */
#define CMDQ_SYNC_TOKEN_USER_0				649
#define CMDQ_SYNC_TOKEN_USER_1				650
#define CMDQ_SYNC_TOKEN_POLL_MONITOR			651
#define CMDQ_SYNC_TOKEN_TPR_LOCK			652

/* ISP sw token */
#define CMDQ_SYNC_TOKEN_MSS				665
#define CMDQ_SYNC_TOKEN_MSF				666

/* GPR access tokens (for HW register backup)
 * There are 15 32-bit GPR, 3 GPR form a set
 * (64-bit for address, 32-bit for value)
 * MUST NOT CHANGE, these tokens sync with MDP
 */
#define CMDQ_SYNC_TOKEN_GPR_SET_0			700
#define CMDQ_SYNC_TOKEN_GPR_SET_1			701
#define CMDQ_SYNC_TOKEN_GPR_SET_2			702
#define CMDQ_SYNC_TOKEN_GPR_SET_3			703
#define CMDQ_SYNC_TOKEN_GPR_SET_4			704

/* Resource lock event to control resource in GCE thread */
#define CMDQ_SYNC_RESOURCE_WROT0			710
#define CMDQ_SYNC_RESOURCE_WROT1			711

/* event for gpr timer, used in sleep and poll with timeout */
#define CMDQ_TOKEN_GPR_TIMER_R0				994
#define CMDQ_TOKEN_GPR_TIMER_R1				995
#define CMDQ_TOKEN_GPR_TIMER_R2				996
#define CMDQ_TOKEN_GPR_TIMER_R3				997
#define CMDQ_TOKEN_GPR_TIMER_R4				998
#define CMDQ_TOKEN_GPR_TIMER_R5				999
#define CMDQ_TOKEN_GPR_TIMER_R6				1000
#define CMDQ_TOKEN_GPR_TIMER_R7				1001
#define CMDQ_TOKEN_GPR_TIMER_R8				1002
#define CMDQ_TOKEN_GPR_TIMER_R9				1003
#define CMDQ_TOKEN_GPR_TIMER_R10			1004
#define CMDQ_TOKEN_GPR_TIMER_R11			1005
#define CMDQ_TOKEN_GPR_TIMER_R12			1006
#define CMDQ_TOKEN_GPR_TIMER_R13			1007
#define CMDQ_TOKEN_GPR_TIMER_R14			1008
#define CMDQ_TOKEN_GPR_TIMER_R15			1009

#define CMDQ_EVENT_MAX					0x3FF
/* CMDQ sw tokens END */

#endif
