xref: /OK3568_Linux_fs/kernel/drivers/media/platform/ti-vpe/cal_regs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * TI CAL camera interface driver
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (c) 2015 Texas Instruments Inc.
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * Benoit Parrot, <bparrot@ti.com>
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #ifndef __TI_CAL_REGS_H
11*4882a593Smuzhiyun #define __TI_CAL_REGS_H
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun /*
14*4882a593Smuzhiyun  * struct cal_dev.flags possibilities
15*4882a593Smuzhiyun  *
16*4882a593Smuzhiyun  * DRA72_CAL_PRE_ES2_LDO_DISABLE:
17*4882a593Smuzhiyun  *   Errata i913: CSI2 LDO Needs to be disabled when module is powered on
18*4882a593Smuzhiyun  *
19*4882a593Smuzhiyun  *   Enabling CSI2 LDO shorts it to core supply. It is crucial the 2 CSI2
20*4882a593Smuzhiyun  *   LDOs on the device are disabled if CSI-2 module is powered on
21*4882a593Smuzhiyun  *   (0x4845 B304 | 0x4845 B384 [28:27] = 0x1) or in ULPS (0x4845 B304
22*4882a593Smuzhiyun  *   | 0x4845 B384 [28:27] = 0x2) mode. Common concerns include: high
23*4882a593Smuzhiyun  *   current draw on the module supply in active mode.
24*4882a593Smuzhiyun  *
25*4882a593Smuzhiyun  *   Errata does not apply when CSI-2 module is powered off
26*4882a593Smuzhiyun  *   (0x4845 B304 | 0x4845 B384 [28:27] = 0x0).
27*4882a593Smuzhiyun  *
28*4882a593Smuzhiyun  * SW Workaround:
29*4882a593Smuzhiyun  *	Set the following register bits to disable the LDO,
30*4882a593Smuzhiyun  *	which is essentially CSI2 REG10 bit 6:
31*4882a593Smuzhiyun  *
32*4882a593Smuzhiyun  *		Core 0:  0x4845 B828 = 0x0000 0040
33*4882a593Smuzhiyun  *		Core 1:  0x4845 B928 = 0x0000 0040
34*4882a593Smuzhiyun  */
35*4882a593Smuzhiyun #define DRA72_CAL_PRE_ES2_LDO_DISABLE BIT(0)
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun /* CAL register offsets */
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun #define CAL_HL_REVISION			0x0000
40*4882a593Smuzhiyun #define CAL_HL_HWINFO			0x0004
41*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG		0x0010
42*4882a593Smuzhiyun #define CAL_HL_IRQ_EOI			0x001c
43*4882a593Smuzhiyun #define CAL_HL_IRQSTATUS_RAW(m)		(0x20U + (m) * 0x10U)
44*4882a593Smuzhiyun #define CAL_HL_IRQSTATUS(m)		(0x24U + (m) * 0x10U)
45*4882a593Smuzhiyun #define CAL_HL_IRQENABLE_SET(m)		(0x28U + (m) * 0x10U)
46*4882a593Smuzhiyun #define CAL_HL_IRQENABLE_CLR(m)		(0x2cU + (m) * 0x10U)
47*4882a593Smuzhiyun #define CAL_PIX_PROC(m)			(0xc0U + (m) * 0x4U)
48*4882a593Smuzhiyun #define CAL_CTRL			0x100
49*4882a593Smuzhiyun #define CAL_CTRL1			0x104
50*4882a593Smuzhiyun #define CAL_LINE_NUMBER_EVT		0x108
51*4882a593Smuzhiyun #define CAL_VPORT_CTRL1			0x120
52*4882a593Smuzhiyun #define CAL_VPORT_CTRL2			0x124
53*4882a593Smuzhiyun #define CAL_BYS_CTRL1			0x130
54*4882a593Smuzhiyun #define CAL_BYS_CTRL2			0x134
55*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL			0x140
56*4882a593Smuzhiyun #define CAL_RD_DMA_PIX_ADDR		0x144
57*4882a593Smuzhiyun #define CAL_RD_DMA_PIX_OFST		0x148
58*4882a593Smuzhiyun #define CAL_RD_DMA_XSIZE		0x14c
59*4882a593Smuzhiyun #define CAL_RD_DMA_YSIZE		0x150
60*4882a593Smuzhiyun #define CAL_RD_DMA_INIT_ADDR		0x154
61*4882a593Smuzhiyun #define CAL_RD_DMA_INIT_OFST		0x168
62*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2		0x16c
63*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL(m)		(0x200U + (m) * 0x10U)
64*4882a593Smuzhiyun #define CAL_WR_DMA_ADDR(m)		(0x204U + (m) * 0x10U)
65*4882a593Smuzhiyun #define CAL_WR_DMA_OFST(m)		(0x208U + (m) * 0x10U)
66*4882a593Smuzhiyun #define CAL_WR_DMA_XSIZE(m)		(0x20cU + (m) * 0x10U)
67*4882a593Smuzhiyun #define CAL_CSI2_PPI_CTRL(m)		(0x300U + (m) * 0x80U)
68*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG(m)	(0x304U + (m) * 0x80U)
69*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQSTATUS(m)	(0x308U + (m) * 0x80U)
70*4882a593Smuzhiyun #define CAL_CSI2_SHORT_PACKET(m)	(0x30cU + (m) * 0x80U)
71*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQENABLE(m)	(0x310U + (m) * 0x80U)
72*4882a593Smuzhiyun #define CAL_CSI2_TIMING(m)		(0x314U + (m) * 0x80U)
73*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQENABLE(m)	(0x318U + (m) * 0x80U)
74*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQSTATUS(m)	(0x328U + (m) * 0x80U)
75*4882a593Smuzhiyun #define CAL_CSI2_CTX0(m)		(0x330U + (m) * 0x80U)
76*4882a593Smuzhiyun #define CAL_CSI2_CTX1(m)		(0x334U + (m) * 0x80U)
77*4882a593Smuzhiyun #define CAL_CSI2_CTX2(m)		(0x338U + (m) * 0x80U)
78*4882a593Smuzhiyun #define CAL_CSI2_CTX3(m)		(0x33cU + (m) * 0x80U)
79*4882a593Smuzhiyun #define CAL_CSI2_CTX4(m)		(0x340U + (m) * 0x80U)
80*4882a593Smuzhiyun #define CAL_CSI2_CTX5(m)		(0x344U + (m) * 0x80U)
81*4882a593Smuzhiyun #define CAL_CSI2_CTX6(m)		(0x348U + (m) * 0x80U)
82*4882a593Smuzhiyun #define CAL_CSI2_CTX7(m)		(0x34cU + (m) * 0x80U)
83*4882a593Smuzhiyun #define CAL_CSI2_STATUS0(m)		(0x350U + (m) * 0x80U)
84*4882a593Smuzhiyun #define CAL_CSI2_STATUS1(m)		(0x354U + (m) * 0x80U)
85*4882a593Smuzhiyun #define CAL_CSI2_STATUS2(m)		(0x358U + (m) * 0x80U)
86*4882a593Smuzhiyun #define CAL_CSI2_STATUS3(m)		(0x35cU + (m) * 0x80U)
87*4882a593Smuzhiyun #define CAL_CSI2_STATUS4(m)		(0x360U + (m) * 0x80U)
88*4882a593Smuzhiyun #define CAL_CSI2_STATUS5(m)		(0x364U + (m) * 0x80U)
89*4882a593Smuzhiyun #define CAL_CSI2_STATUS6(m)		(0x368U + (m) * 0x80U)
90*4882a593Smuzhiyun #define CAL_CSI2_STATUS7(m)		(0x36cU + (m) * 0x80U)
91*4882a593Smuzhiyun 
92*4882a593Smuzhiyun /* CAL CSI2 PHY register offsets */
93*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG0		0x000
94*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1		0x004
95*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG2		0x008
96*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG10		0x028
97*4882a593Smuzhiyun 
98*4882a593Smuzhiyun /* CAL Control Module Core Camerrx Control register offsets */
99*4882a593Smuzhiyun #define CM_CTRL_CORE_CAMERRX_CONTROL	0x000
100*4882a593Smuzhiyun 
101*4882a593Smuzhiyun /*********************************************************************
102*4882a593Smuzhiyun * Field Definition Macros
103*4882a593Smuzhiyun *********************************************************************/
104*4882a593Smuzhiyun 
105*4882a593Smuzhiyun #define CAL_HL_REVISION_MINOR_MASK		GENMASK(5, 0)
106*4882a593Smuzhiyun #define CAL_HL_REVISION_CUSTOM_MASK		GENMASK(7, 6)
107*4882a593Smuzhiyun #define CAL_HL_REVISION_MAJOR_MASK		GENMASK(10, 8)
108*4882a593Smuzhiyun #define CAL_HL_REVISION_RTL_MASK		GENMASK(15, 11)
109*4882a593Smuzhiyun #define CAL_HL_REVISION_FUNC_MASK		GENMASK(27, 16)
110*4882a593Smuzhiyun #define CAL_HL_REVISION_SCHEME_MASK		GENMASK(31, 30)
111*4882a593Smuzhiyun #define CAL_HL_REVISION_SCHEME_H08			1
112*4882a593Smuzhiyun #define CAL_HL_REVISION_SCHEME_LEGACY			0
113*4882a593Smuzhiyun 
114*4882a593Smuzhiyun #define CAL_HL_HWINFO_WFIFO_MASK		GENMASK(3, 0)
115*4882a593Smuzhiyun #define CAL_HL_HWINFO_RFIFO_MASK		GENMASK(7, 4)
116*4882a593Smuzhiyun #define CAL_HL_HWINFO_PCTX_MASK			GENMASK(12, 8)
117*4882a593Smuzhiyun #define CAL_HL_HWINFO_WCTX_MASK			GENMASK(18, 13)
118*4882a593Smuzhiyun #define CAL_HL_HWINFO_VFIFO_MASK		GENMASK(22, 19)
119*4882a593Smuzhiyun #define CAL_HL_HWINFO_NCPORT_MASK		GENMASK(27, 23)
120*4882a593Smuzhiyun #define CAL_HL_HWINFO_NPPI_CTXS0_MASK		GENMASK(29, 28)
121*4882a593Smuzhiyun #define CAL_HL_HWINFO_NPPI_CTXS1_MASK		GENMASK(31, 30)
122*4882a593Smuzhiyun #define CAL_HL_HWINFO_NPPI_CONTEXTS_ZERO		0
123*4882a593Smuzhiyun #define CAL_HL_HWINFO_NPPI_CONTEXTS_FOUR		1
124*4882a593Smuzhiyun #define CAL_HL_HWINFO_NPPI_CONTEXTS_EIGHT		2
125*4882a593Smuzhiyun #define CAL_HL_HWINFO_NPPI_CONTEXTS_RESERVED		3
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_SOFTRESET_MASK		BIT(0)
128*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_SOFTRESET_DONE			0x0
129*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_SOFTRESET_PENDING		0x1
130*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_SOFTRESET_NOACTION		0x0
131*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_SOFTRESET_RESET		0x1
132*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_IDLE_MASK		GENMASK(3, 2)
133*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_IDLEMODE_FORCE			0
134*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_IDLEMODE_NO			1
135*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_IDLEMODE_SMART1		2
136*4882a593Smuzhiyun #define CAL_HL_SYSCONFIG_IDLEMODE_SMART2		3
137*4882a593Smuzhiyun 
138*4882a593Smuzhiyun #define CAL_HL_IRQ_EOI_LINE_NUMBER_MASK		BIT(0)
139*4882a593Smuzhiyun #define CAL_HL_IRQ_EOI_LINE_NUMBER_READ0		0
140*4882a593Smuzhiyun #define CAL_HL_IRQ_EOI_LINE_NUMBER_EOI0			0
141*4882a593Smuzhiyun 
142*4882a593Smuzhiyun #define CAL_HL_IRQ_MASK(m)			BIT(m)
143*4882a593Smuzhiyun 
144*4882a593Smuzhiyun #define CAL_HL_IRQ_OCPO_ERR_MASK		BIT(6)
145*4882a593Smuzhiyun 
146*4882a593Smuzhiyun #define CAL_HL_IRQ_CIO_MASK(i)			BIT(16 + (i) * 8)
147*4882a593Smuzhiyun #define CAL_HL_IRQ_VC_MASK(i)			BIT(17 + (i) * 8)
148*4882a593Smuzhiyun 
149*4882a593Smuzhiyun #define CAL_PIX_PROC_EN_MASK			BIT(0)
150*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_MASK		GENMASK(4, 1)
151*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B6				0x0
152*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B7				0x1
153*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B8				0x2
154*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B10			0x3
155*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B10_MIPI			0x4
156*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B12			0x5
157*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B12_MIPI			0x6
158*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B14			0x7
159*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B14_MIPI			0x8
160*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B16_BE			0x9
161*4882a593Smuzhiyun #define CAL_PIX_PROC_EXTRACT_B16_LE			0xa
162*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_MASK			GENMASK(9, 5)
163*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_BYPASS			0x0
164*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_10_8_1			0x2
165*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_12_8_1			0x8
166*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_10_7_1			0x4
167*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_10_7_2			0x5
168*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_10_6_1			0x6
169*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_10_6_2			0x7
170*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_12_7_1			0xa
171*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_12_6_1			0xc
172*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_14_10			0xe
173*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_14_8_1			0x10
174*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_16_12_1			0x12
175*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_16_10_1			0x14
176*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCMD_DPCM_16_8_1			0x16
177*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_MASK			GENMASK(15, 11)
178*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_BYPASS			0x0
179*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_DPCM_10_8_1			0x2
180*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_DPCM_12_8_1			0x8
181*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_DPCM_14_10			0xe
182*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_DPCM_14_8_1			0x10
183*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_DPCM_16_12_1			0x12
184*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_DPCM_16_10_1			0x14
185*4882a593Smuzhiyun #define CAL_PIX_PROC_DPCME_DPCM_16_8_1			0x16
186*4882a593Smuzhiyun #define CAL_PIX_PROC_PACK_MASK			GENMASK(18, 16)
187*4882a593Smuzhiyun #define CAL_PIX_PROC_PACK_B8				0x0
188*4882a593Smuzhiyun #define CAL_PIX_PROC_PACK_B10_MIPI			0x2
189*4882a593Smuzhiyun #define CAL_PIX_PROC_PACK_B12				0x3
190*4882a593Smuzhiyun #define CAL_PIX_PROC_PACK_B12_MIPI			0x4
191*4882a593Smuzhiyun #define CAL_PIX_PROC_PACK_B16				0x5
192*4882a593Smuzhiyun #define CAL_PIX_PROC_PACK_ARGB				0x6
193*4882a593Smuzhiyun #define CAL_PIX_PROC_CPORT_MASK			GENMASK(23, 19)
194*4882a593Smuzhiyun 
195*4882a593Smuzhiyun #define CAL_CTRL_POSTED_WRITES_MASK		BIT(0)
196*4882a593Smuzhiyun #define CAL_CTRL_POSTED_WRITES_NONPOSTED		0
197*4882a593Smuzhiyun #define CAL_CTRL_POSTED_WRITES				1
198*4882a593Smuzhiyun #define CAL_CTRL_TAGCNT_MASK			GENMASK(4, 1)
199*4882a593Smuzhiyun #define CAL_CTRL_BURSTSIZE_MASK			GENMASK(6, 5)
200*4882a593Smuzhiyun #define CAL_CTRL_BURSTSIZE_BURST16			0x0
201*4882a593Smuzhiyun #define CAL_CTRL_BURSTSIZE_BURST32			0x1
202*4882a593Smuzhiyun #define CAL_CTRL_BURSTSIZE_BURST64			0x2
203*4882a593Smuzhiyun #define CAL_CTRL_BURSTSIZE_BURST128			0x3
204*4882a593Smuzhiyun #define CAL_CTRL_LL_FORCE_STATE_MASK		GENMASK(12, 7)
205*4882a593Smuzhiyun #define CAL_CTRL_MFLAGL_MASK			GENMASK(20, 13)
206*4882a593Smuzhiyun #define CAL_CTRL_PWRSCPCLK_MASK			BIT(21)
207*4882a593Smuzhiyun #define CAL_CTRL_PWRSCPCLK_AUTO				0
208*4882a593Smuzhiyun #define CAL_CTRL_PWRSCPCLK_FORCE			1
209*4882a593Smuzhiyun #define CAL_CTRL_RD_DMA_STALL_MASK		BIT(22)
210*4882a593Smuzhiyun #define CAL_CTRL_MFLAGH_MASK			GENMASK(31, 24)
211*4882a593Smuzhiyun 
212*4882a593Smuzhiyun #define CAL_CTRL1_PPI_GROUPING_MASK		GENMASK(1, 0)
213*4882a593Smuzhiyun #define CAL_CTRL1_PPI_GROUPING_DISABLED			0
214*4882a593Smuzhiyun #define CAL_CTRL1_PPI_GROUPING_RESERVED			1
215*4882a593Smuzhiyun #define CAL_CTRL1_PPI_GROUPING_0			2
216*4882a593Smuzhiyun #define CAL_CTRL1_PPI_GROUPING_1			3
217*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE01_MASK		GENMASK(3, 2)
218*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE01_DISABLED			0
219*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE01_PIX1			1
220*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE01_PIX4			2
221*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE01_RESERVED			3
222*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE23_MASK		GENMASK(5, 4)
223*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE23_DISABLED			0
224*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE23_PIX1			1
225*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE23_PIX4			2
226*4882a593Smuzhiyun #define CAL_CTRL1_INTERLEAVE23_RESERVED			3
227*4882a593Smuzhiyun 
228*4882a593Smuzhiyun #define CAL_LINE_NUMBER_EVT_CPORT_MASK		GENMASK(4, 0)
229*4882a593Smuzhiyun #define CAL_LINE_NUMBER_EVT_MASK		GENMASK(29, 16)
230*4882a593Smuzhiyun 
231*4882a593Smuzhiyun #define CAL_VPORT_CTRL1_PCLK_MASK		GENMASK(16, 0)
232*4882a593Smuzhiyun #define CAL_VPORT_CTRL1_XBLK_MASK		GENMASK(24, 17)
233*4882a593Smuzhiyun #define CAL_VPORT_CTRL1_YBLK_MASK		GENMASK(30, 25)
234*4882a593Smuzhiyun #define CAL_VPORT_CTRL1_WIDTH_MASK		BIT(31)
235*4882a593Smuzhiyun #define CAL_VPORT_CTRL1_WIDTH_ONE			0
236*4882a593Smuzhiyun #define CAL_VPORT_CTRL1_WIDTH_TWO			1
237*4882a593Smuzhiyun 
238*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_CPORT_MASK		GENMASK(4, 0)
239*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FREERUNNING_MASK	BIT(15)
240*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FREERUNNING_GATED		0
241*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FREERUNNING_FREE		1
242*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FS_RESETS_MASK		BIT(16)
243*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FS_RESETS_NO			0
244*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FS_RESETS_YES			1
245*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FSM_RESET_MASK		BIT(17)
246*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FSM_RESET_NOEFFECT		0
247*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_FSM_RESET			1
248*4882a593Smuzhiyun #define CAL_VPORT_CTRL2_RDY_THR_MASK		GENMASK(31, 18)
249*4882a593Smuzhiyun 
250*4882a593Smuzhiyun #define CAL_BYS_CTRL1_PCLK_MASK			GENMASK(16, 0)
251*4882a593Smuzhiyun #define CAL_BYS_CTRL1_XBLK_MASK			GENMASK(24, 17)
252*4882a593Smuzhiyun #define CAL_BYS_CTRL1_YBLK_MASK			GENMASK(30, 25)
253*4882a593Smuzhiyun #define CAL_BYS_CTRL1_BYSINEN_MASK		BIT(31)
254*4882a593Smuzhiyun 
255*4882a593Smuzhiyun #define CAL_BYS_CTRL2_CPORTIN_MASK		GENMASK(4, 0)
256*4882a593Smuzhiyun #define CAL_BYS_CTRL2_CPORTOUT_MASK		GENMASK(9, 5)
257*4882a593Smuzhiyun #define CAL_BYS_CTRL2_DUPLICATEDDATA_MASK	BIT(10)
258*4882a593Smuzhiyun #define CAL_BYS_CTRL2_DUPLICATEDDATA_NO			0
259*4882a593Smuzhiyun #define CAL_BYS_CTRL2_DUPLICATEDDATA_YES		1
260*4882a593Smuzhiyun #define CAL_BYS_CTRL2_FREERUNNING_MASK		BIT(11)
261*4882a593Smuzhiyun #define CAL_BYS_CTRL2_FREERUNNING_NO			0
262*4882a593Smuzhiyun #define CAL_BYS_CTRL2_FREERUNNING_YES			1
263*4882a593Smuzhiyun 
264*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_GO_MASK			BIT(0)
265*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_GO_DIS				0
266*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_GO_EN				1
267*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_GO_IDLE				0
268*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_GO_BUSY				1
269*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_INIT_MASK		BIT(1)
270*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_BW_LIMITER_MASK		GENMASK(10, 2)
271*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_OCP_TAG_CNT_MASK	GENMASK(14, 11)
272*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL_PCLK_MASK		GENMASK(31, 15)
273*4882a593Smuzhiyun 
274*4882a593Smuzhiyun #define CAL_RD_DMA_PIX_ADDR_MASK		GENMASK(31, 3)
275*4882a593Smuzhiyun 
276*4882a593Smuzhiyun #define CAL_RD_DMA_PIX_OFST_MASK		GENMASK(31, 4)
277*4882a593Smuzhiyun 
278*4882a593Smuzhiyun #define CAL_RD_DMA_XSIZE_MASK			GENMASK(31, 19)
279*4882a593Smuzhiyun 
280*4882a593Smuzhiyun #define CAL_RD_DMA_YSIZE_MASK			GENMASK(29, 16)
281*4882a593Smuzhiyun 
282*4882a593Smuzhiyun #define CAL_RD_DMA_INIT_ADDR_MASK		GENMASK(31, 3)
283*4882a593Smuzhiyun 
284*4882a593Smuzhiyun #define CAL_RD_DMA_INIT_OFST_MASK		GENMASK(31, 3)
285*4882a593Smuzhiyun 
286*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_MODE_MASK		GENMASK(2, 0)
287*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_MODE_DIS			0
288*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_MODE_ONE			1
289*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_MODE_FOUR			2
290*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_MODE_SIXTEEN		3
291*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_MODE_SIXTYFOUR		4
292*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_MODE_RESERVED		5
293*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_ICM_CSTART_MASK	BIT(3)
294*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_PATTERN_MASK		GENMASK(5, 4)
295*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_PATTERN_LINEAR			0
296*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_PATTERN_YUV420			1
297*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_PATTERN_RD2SKIP2		2
298*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_PATTERN_RD2SKIP4		3
299*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_BYSOUT_LE_WAIT_MASK	BIT(6)
300*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_BYSOUT_LE_WAIT_FREERUNNING	0
301*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_BYSOUT_LE_WAIT_WAITFORBYSOUT	1
302*4882a593Smuzhiyun #define CAL_RD_DMA_CTRL2_CIRC_SIZE_MASK		GENMASK(29, 16)
303*4882a593Smuzhiyun 
304*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_MODE_MASK		GENMASK(2, 0)
305*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_MODE_DIS			0
306*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_MODE_SHD			1
307*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_MODE_CNT			2
308*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_MODE_CNT_INIT			3
309*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_MODE_CONST			4
310*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_MODE_RESERVED			5
311*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_PATTERN_MASK		GENMASK(4, 3)
312*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_PATTERN_LINEAR			0
313*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_PATTERN_WR2SKIP2		2
314*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_PATTERN_WR2SKIP4		3
315*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_PATTERN_RESERVED		1
316*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_ICM_PSTART_MASK		BIT(5)
317*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_MASK		GENMASK(8, 6)
318*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_ATT_HDR			0
319*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_ATT_DAT			1
320*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG				2
321*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_PIX_HDR			3
322*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_PIX_DAT			4
323*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_D5				5
324*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_D6				6
325*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_DTAG_D7				7
326*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_CPORT_MASK		GENMASK(13, 9)
327*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_STALL_RD_MASK		BIT(14)
328*4882a593Smuzhiyun #define CAL_WR_DMA_CTRL_YSIZE_MASK		GENMASK(31, 18)
329*4882a593Smuzhiyun 
330*4882a593Smuzhiyun #define CAL_WR_DMA_ADDR_MASK			GENMASK(31, 4)
331*4882a593Smuzhiyun 
332*4882a593Smuzhiyun #define CAL_WR_DMA_OFST_MASK			GENMASK(18, 4)
333*4882a593Smuzhiyun #define CAL_WR_DMA_OFST_CIRC_MODE_MASK		GENMASK(23, 22)
334*4882a593Smuzhiyun #define CAL_WR_DMA_OFST_CIRC_MODE_ONE			1
335*4882a593Smuzhiyun #define CAL_WR_DMA_OFST_CIRC_MODE_FOUR			2
336*4882a593Smuzhiyun #define CAL_WR_DMA_OFST_CIRC_MODE_SIXTYFOUR		3
337*4882a593Smuzhiyun #define CAL_WR_DMA_OFST_CIRC_MODE_DISABLED		0
338*4882a593Smuzhiyun #define CAL_WR_DMA_OFST_CIRC_SIZE_MASK		GENMASK(31, 24)
339*4882a593Smuzhiyun 
340*4882a593Smuzhiyun #define CAL_WR_DMA_XSIZE_XSKIP_MASK		GENMASK(15, 3)
341*4882a593Smuzhiyun #define CAL_WR_DMA_XSIZE_MASK			GENMASK(31, 19)
342*4882a593Smuzhiyun 
343*4882a593Smuzhiyun #define CAL_CSI2_PPI_CTRL_IF_EN_MASK		BIT(0)
344*4882a593Smuzhiyun #define CAL_CSI2_PPI_CTRL_ECC_EN_MASK		BIT(2)
345*4882a593Smuzhiyun #define CAL_CSI2_PPI_CTRL_FRAME_MASK		BIT(3)
346*4882a593Smuzhiyun #define CAL_CSI2_PPI_CTRL_FRAME_IMMEDIATE		0
347*4882a593Smuzhiyun #define CAL_CSI2_PPI_CTRL_FRAME				1
348*4882a593Smuzhiyun 
349*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_CLOCK_POSITION_MASK	GENMASK(2, 0)
350*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POSITION_5			5
351*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POSITION_4			4
352*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POSITION_3			3
353*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POSITION_2			2
354*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POSITION_1			1
355*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POSITION_NOT_USED		0
356*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_CLOCK_POL_MASK		BIT(3)
357*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POL_PLUSMINUS			0
358*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_POL_MINUSPLUS			1
359*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA1_POSITION_MASK	GENMASK(6, 4)
360*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA1_POL_MASK		BIT(7)
361*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA2_POSITION_MASK	GENMASK(10, 8)
362*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA2_POL_MASK		BIT(11)
363*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA3_POSITION_MASK	GENMASK(14, 12)
364*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA3_POL_MASK		BIT(15)
365*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA4_POSITION_MASK	GENMASK(18, 16)
366*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_DATA4_POL_MASK		BIT(19)
367*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_AUTO_MASK		BIT(24)
368*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_STATUS_MASK		GENMASK(26, 25)
369*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_STATUS_STATE_OFF		0
370*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_STATUS_STATE_ON		1
371*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_STATUS_STATE_ULP		2
372*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_CMD_MASK		GENMASK(28, 27)
373*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_CMD_STATE_OFF		0
374*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_CMD_STATE_ON			1
375*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_PWR_CMD_STATE_ULP		2
376*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_RESET_DONE_MASK		BIT(29)
377*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_RESET_DONE_RESETCOMPLETED	1
378*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_RESET_DONE_RESETONGOING		0
379*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_RESET_CTRL_MASK		BIT(30)
380*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_RESET_CTRL			0
381*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_CFG_RESET_CTRL_OPERATIONAL		1
382*4882a593Smuzhiyun 
383*4882a593Smuzhiyun #define CAL_CSI2_SHORT_PACKET_MASK	GENMASK(23, 0)
384*4882a593Smuzhiyun 
385*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTHS1_MASK		BIT(0)
386*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTHS2_MASK		BIT(1)
387*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTHS3_MASK		BIT(2)
388*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTHS4_MASK		BIT(3)
389*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTHS5_MASK		BIT(4)
390*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS1_MASK	BIT(5)
391*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS2_MASK	BIT(6)
392*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS3_MASK	BIT(7)
393*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS4_MASK	BIT(8)
394*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS5_MASK	BIT(9)
395*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRESC1_MASK		BIT(10)
396*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRESC2_MASK		BIT(11)
397*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRESC3_MASK		BIT(12)
398*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRESC4_MASK		BIT(13)
399*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRESC5_MASK		BIT(14)
400*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRCONTROL1_MASK		BIT(15)
401*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRCONTROL2_MASK		BIT(16)
402*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRCONTROL3_MASK		BIT(17)
403*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRCONTROL4_MASK		BIT(18)
404*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ERRCONTROL5_MASK		BIT(19)
405*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_LANE_ERRORS_MASK		GENMASK(19, 0)
406*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_STATEULPM1_MASK		BIT(20)
407*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_STATEULPM2_MASK		BIT(21)
408*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_STATEULPM3_MASK		BIT(22)
409*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_STATEULPM4_MASK		BIT(23)
410*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_STATEULPM5_MASK		BIT(24)
411*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_STATEALLULPMENTER_MASK	BIT(25)
412*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_STATEALLULPMEXIT_MASK	BIT(26)
413*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_FIFO_OVR_MASK		BIT(27)
414*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_SHORT_PACKET_MASK	BIT(28)
415*4882a593Smuzhiyun #define CAL_CSI2_COMPLEXIO_IRQ_ECC_NO_CORRECTION_MASK	BIT(30)
416*4882a593Smuzhiyun 
417*4882a593Smuzhiyun #define CAL_CSI2_TIMING_STOP_STATE_COUNTER_IO1_MASK	GENMASK(12, 0)
418*4882a593Smuzhiyun #define CAL_CSI2_TIMING_STOP_STATE_X4_IO1_MASK		BIT(13)
419*4882a593Smuzhiyun #define CAL_CSI2_TIMING_STOP_STATE_X16_IO1_MASK		BIT(14)
420*4882a593Smuzhiyun #define CAL_CSI2_TIMING_FORCE_RX_MODE_IO1_MASK		BIT(15)
421*4882a593Smuzhiyun 
422*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FS_IRQ_0_MASK			BIT(0)
423*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FE_IRQ_0_MASK			BIT(1)
424*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LS_IRQ_0_MASK			BIT(2)
425*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LE_IRQ_0_MASK			BIT(3)
426*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_CS_IRQ_0_MASK			BIT(4)
427*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_ECC_CORRECTION0_IRQ_0_MASK	BIT(5)
428*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FS_IRQ_1_MASK			BIT(8)
429*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FE_IRQ_1_MASK			BIT(9)
430*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LS_IRQ_1_MASK			BIT(10)
431*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LE_IRQ_1_MASK			BIT(11)
432*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_CS_IRQ_1_MASK			BIT(12)
433*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_ECC_CORRECTION0_IRQ_1_MASK	BIT(13)
434*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FS_IRQ_2_MASK			BIT(16)
435*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FE_IRQ_2_MASK			BIT(17)
436*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LS_IRQ_2_MASK			BIT(18)
437*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LE_IRQ_2_MASK			BIT(19)
438*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_CS_IRQ_2_MASK			BIT(20)
439*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_ECC_CORRECTION0_IRQ_2_MASK	BIT(21)
440*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FS_IRQ_3_MASK			BIT(24)
441*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_FE_IRQ_3_MASK			BIT(25)
442*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LS_IRQ_3_MASK			BIT(26)
443*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_LE_IRQ_3_MASK			BIT(27)
444*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_CS_IRQ_3_MASK			BIT(28)
445*4882a593Smuzhiyun #define CAL_CSI2_VC_IRQ_ECC_CORRECTION0_IRQ_3_MASK	BIT(29)
446*4882a593Smuzhiyun 
447*4882a593Smuzhiyun #define CAL_CSI2_CTX_DT_MASK		GENMASK(5, 0)
448*4882a593Smuzhiyun #define CAL_CSI2_CTX_VC_MASK		GENMASK(7, 6)
449*4882a593Smuzhiyun #define CAL_CSI2_CTX_CPORT_MASK		GENMASK(12, 8)
450*4882a593Smuzhiyun #define CAL_CSI2_CTX_ATT_MASK		BIT(13)
451*4882a593Smuzhiyun #define CAL_CSI2_CTX_ATT_PIX			0
452*4882a593Smuzhiyun #define CAL_CSI2_CTX_ATT			1
453*4882a593Smuzhiyun #define CAL_CSI2_CTX_PACK_MODE_MASK	BIT(14)
454*4882a593Smuzhiyun #define CAL_CSI2_CTX_PACK_MODE_LINE		0
455*4882a593Smuzhiyun #define CAL_CSI2_CTX_PACK_MODE_FRAME		1
456*4882a593Smuzhiyun #define CAL_CSI2_CTX_LINES_MASK		GENMASK(29, 16)
457*4882a593Smuzhiyun 
458*4882a593Smuzhiyun #define CAL_CSI2_STATUS_FRAME_MASK	GENMASK(15, 0)
459*4882a593Smuzhiyun 
460*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG0_THS_SETTLE_MASK	GENMASK(7, 0)
461*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG0_THS_TERM_MASK		GENMASK(15, 8)
462*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG0_HSCLOCKCONFIG_MASK	BIT(24)
463*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG0_HSCLOCKCONFIG_DISABLE		1
464*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG0_HSCLOCKCONFIG_ENABLE		0
465*4882a593Smuzhiyun 
466*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_TCLK_SETTLE_MASK			GENMASK(7, 0)
467*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_CTRLCLK_DIV_FACTOR_MASK		GENMASK(9, 8)
468*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_DPHY_HS_SYNC_PATTERN_MASK		GENMASK(17, 10)
469*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_TCLK_TERM_MASK			GENMASK(24, 18)
470*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_CLOCK_MISS_DETECTOR_STATUS_MASK	BIT(25)
471*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_CLOCK_MISS_DETECTOR_STATUS_ERROR		1
472*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_CLOCK_MISS_DETECTOR_STATUS_SUCCESS		0
473*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG1_RESET_DONE_STATUS_MASK		GENMASK(29, 28)
474*4882a593Smuzhiyun 
475*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG10_I933_LDO_DISABLE_MASK		BIT(6)
476*4882a593Smuzhiyun 
477*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG2_CCP2_SYNC_PATTERN_MASK		GENMASK(23, 0)
478*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG2_TRIGGER_CMD_RXTRIGESC3_MASK		GENMASK(25, 24)
479*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG2_TRIGGER_CMD_RXTRIGESC2_MASK		GENMASK(27, 26)
480*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG2_TRIGGER_CMD_RXTRIGESC1_MASK		GENMASK(29, 28)
481*4882a593Smuzhiyun #define CAL_CSI2_PHY_REG2_TRIGGER_CMD_RXTRIGESC0_MASK		GENMASK(31, 30)
482*4882a593Smuzhiyun 
483*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI1_CTRLCLKEN_MASK			BIT(0)
484*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI1_CAMMODE_MASK			GENMASK(2, 1)
485*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI1_LANEENABLE_MASK			GENMASK(4, 3)
486*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI1_MODE_MASK				BIT(5)
487*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI0_CTRLCLKEN_MASK			BIT(10)
488*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI0_CAMMODE_MASK			GENMASK(12, 11)
489*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI0_LANEENABLE_MASK			GENMASK(16, 13)
490*4882a593Smuzhiyun #define CM_CAMERRX_CTRL_CSI0_MODE_MASK				BIT(17)
491*4882a593Smuzhiyun 
492*4882a593Smuzhiyun #endif
493