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