• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * combo csi module
3  *
4  * Copyright (c) 2019 by Allwinnertech Co., Ltd.  http://www.allwinnertech.com
5  *
6  * Authors:  Zheng Zequn <zequnzheng@allwinnertech.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12 
13 #ifndef __COMBO_CSI_REG_I_H__
14 #define __COMBO_CSI_REG_I_H__
15 
16 /*
17  * Detail information of registers----PHY
18  */
19 #define CMB_PHY_TOP_REG_OFF			0x000
20 #define CMB_PHY_PWDNZ				0
21 #define CMB_PHY_PWDNZ_MASK			(0x1 << CMB_PHY_PWDNZ)
22 #define CMB_PHY_RSTN				1
23 #define CMB_PHY_RSTN_MASK			(0x1 << CMB_PHY_RSTN)
24 #define CMB_PHY_VREF_EN				2
25 #define CMB_PHY_VREF_EN_MASK			(0x1 << CMB_PHY_VREF_EN)
26 #define CMB_PHY_LVLDO_EN			3
27 #define CMB_PHY_LVLDO_EN_MASK			(0x1 << CMB_PHY_LVLDO_EN)
28 #define CMB_PHY_VREF_OP2			8
29 #define CMB_PHY_VREF_OP2_MASK			(0x3 << CMB_PHY_VREF_OP2)
30 #define CMB_PHY_VREF_OP9			10
31 #define CMB_PHY_VREF_OP9_MASK			(0x3 << CMB_PHY_VREF_OP9)
32 #define CMB_PRBS_SEL				24
33 #define CMB_PRBS_SEL_MASK			(0x3 << CMB_PRBS_SEL)
34 
35 #define CMB_TRESCAL_REG_OFF			0x004
36 #define CMB_PHYA_TRESCAL_AUTO			0
37 #define CMB_PHYA_TRESCAL_AUTO_MASK		(0x1 << CMB_PHYA_TRESCAL_AUTO)
38 #define CMB_PHYA_TRESCAL_SOFT			1
39 #define CMB_PHYA_TRESCAL_SOFT_MASK		(0x1 << CMB_PHYA_TRESCAL_SOFT)
40 #define CMB_PHYA_TRESCAL_RESETN			2
41 #define CMB_PHYA_TRESCAL_RESETN_MASK		(0x1 << CMB_PHYA_TRESCAL_RESETN)
42 #define CMB_PHYA_TRESCAL_FLAG			3
43 #define CMB_PHYA_TRESCAL_FLAG_MASK		(0x1 << CMB_PHYA_TRESCAL_FLAG)
44 #define CMB_PHYA_TRESCAL_SET			4
45 #define CMB_PHYA_TRESCAL_SET_MASK		(0x1F << CMB_PHYA_TRESCAL_SET)
46 #define CMB_PHYA_TRESCAL_RESULT			16
47 #define CMB_PHYA_TRESCAL_RESULT_MASK		(0x1F << CMB_PHYA_TRESCAL_RESULT)
48 
49 /*
50  * Detail information of registers----PHYA/B
51  */
52 #define CMB_PHY_REG_OFF				0x100
53 #define CMB_PHY_BETWEEN_OFF			0x100
54 
55 #define CMB_PHY_CTL_REG_OFF			0x000
56 #define CMB_PHY0_EN				0
57 #define CMB_PHY0_EN_MASK			(0x1 << CMB_PHY0_EN)
58 #define CMB_PHY1_EN				1
59 #define CMB_PHY1_EN_MASK			(0x1 << CMB_PHY1_EN)
60 #define CMB_PHY_LINK_MODE			2
61 #define CMB_PHY_LINK_MODE_MASK			(0x1 << CMB_PHY_LINK_MODE)
62 #define CMB_PHY_LANEDT_EN			4
63 #define CMB_PHY_LANEDT_EN_MASK			(0xf << CMB_PHY_LANEDT_EN)
64 #define CMB_PHY_LANECK_EN			8
65 #define CMB_PHY_LANECK_EN_MASK			(0x3 << CMB_PHY_LANECK_EN)
66 #define CMB_PHY0_CK_SEL				10
67 #define CMB_PHY0_CK_SEL_MASK			(0x1 << CMB_PHY0_CK_SEL)
68 #define CMB_PHY1_CK_SEL				11
69 #define CMB_PHY1_CK_SEL_MASK			(0x1 << CMB_PHY1_CK_SEL)
70 #define CMB_PHY0_LP_PEFI			12
71 #define CMB_PHY0_LP_PEFI_MASK			(0x1 << CMB_PHY0_LP_PEFI)
72 #define CMB_PHY1_LP_PEFI			13
73 #define CMB_PHY1_LP_PEFI_MASK			(0x1 << CMB_PHY1_LP_PEFI)
74 #define CMB_PHY0_HS_PEFI			16
75 #define CMB_PHY0_HS_PEFI_MASK			(0x7 << CMB_PHY0_HS_PEFI)
76 #define CMB_PHY0_VCM				19
77 #define CMB_PHY0_VCM_MASK			(0x1 << CMB_PHY0_VCM)
78 #define CMB_PHY1_HS_PEFI			20
79 #define CMB_PHY1_HS_PEFI_MASK			(0x7 << CMB_PHY1_HS_PEFI)
80 #define CMB_PHY1_VCM				23
81 #define CMB_PHY1_VCM_MASK			(0x1 << CMB_PHY1_VCM)
82 #define CMB_PHY0_IBIAS_EN			26
83 #define CMB_PHY0_IBIAS_EN_MASK			(0x1 << CMB_PHY0_IBIAS_EN)
84 #define CMB_PHY1_IBIAS_EN			27
85 #define CMB_PHY1_IBIAS_EN_MASK			(0x1 << CMB_PHY1_IBIAS_EN)
86 #define CMB_PHY0_WORK_MODE			28
87 #define CMB_PHY0_WORK_MODE_MASK			(0x3 << CMB_PHY0_WORK_MODE)
88 #define CMB_PHY1_WORK_MODE			30
89 #define CMB_PHY1_WORK_MODE_MASK			(0x3 << CMB_PHY1_WORK_MODE)
90 
91 #define CMB_PHY_EQ_REG_OFF			0x004
92 #define CMB_PHY_EQ_DT_EN			0
93 #define CMB_PHY_EQ_DT_EN_MASK			(0xF << CMB_PHY_EQ_DT_EN)
94 #define CMB_PHY_EQ_CK_EN			4
95 #define CMB_PHY_EQ_CK_EN_MASK			(0x3 << CMB_PHY_EQ_CK_EN)
96 #define CMB_PHY_EQ_LANED0			16
97 #define CMB_PHY_EQ_LANED0_MASK			(0x3 << CMB_PHY_EQ_LANED0)
98 #define CMB_PHY_EQ_LANED1			18
99 #define CMB_PHY_EQ_LANED1_MASK			(0x3 << CMB_PHY_EQ_LANED1)
100 #define CMB_PHY_EQ_LANED2			20
101 #define CMB_PHY_EQ_LANED2_MASK			(0x3 << CMB_PHY_EQ_LANED2)
102 #define CMB_PHY_EQ_LANED3			22
103 #define CMB_PHY_EQ_LANED3_MASK			(0x3 << CMB_PHY_EQ_LANED3)
104 #define CMB_PHY_EQ_LANECK0			24
105 #define CMB_PHY_EQ_LANECK0_MASK			(0x3 << CMB_PHY_EQ_LANECK0)
106 #define CMB_PHY_EQ_LANECK1			26
107 #define CMB_PHY_EQ_LANECK1_MASK			(0x3 << CMB_PHY_EQ_LANECK1)
108 
109 #define CMB_PHY_OFSCAL0_OFF			0x008
110 #define CMB_PHY0_OFSCAL_AUTO			4
111 #define CMB_PHY0_OFSCAL_AUTO_MASK		(0x1 << CMB_PHY0_OFSCAL_AUTO)
112 #define CMB_PHY1_OFSCAL_AUTO			5
113 #define CMB_PHY1_OFSCAL_AUTO_MASK		(0x1 << CMB_PHY1_OFSCAL_AUTO)
114 #define CMB_PHY0_OFSCAL_SOFT			12
115 #define CMB_PHY0_OFSCAL_SOFT_MASK		(0x1 << CMB_PHY0_OFSCAL_SOFT)
116 #define CMB_PHY1_OFSCAL_SOFT			13
117 #define CMB_PHY1_OFSCAL_SOFT_MASK		(0x1 << CMB_PHY1_OFSCAL_SOFT)
118 #define CMB_PHY0_OFSCAL_RESETN			20
119 #define CMB_PHY0_OFSCAL_RESETN_MASK		(0x1 << CMB_PHY0_OFSCAL_RESETN)
120 #define CMB_PHY1_OFSCAL_RESETN			21
121 #define CMB_PHY1_OFSCAL_RESETN_MASK		(0x1 << CMB_PHY1_OFSCAL_RESETN)
122 #define CMB_PHY0_OFSCAL_FLAG			28
123 #define CMB_PHY0_OFSCAL_FLAG_MASK		(0x1 << CMB_PHY0_OFSCAL_FLAG)
124 #define CMB_PHY1_OFSCAL_FLAG			29
125 #define CMB_PHY1_OFSCAL_FLAG_MASK		(0x1 << CMB_PHY1_OFSCAL_FLAG)
126 
127 #define CMB_PHY_OFSCAL1_OFF			0x00C
128 #define CMB_PHY0_OFSCAL_SET			20
129 #define CMB_PHY0_OFSCAL_SET_MASK		(0x1F << CMB_PHY0_OFSCAL_SET)
130 #define CMB_PHY1_OFSCAL_SET			25
131 #define CMB_PHY1_OFSCAL_SET_MASK		(0x1F << CMB_PHY1_OFSCAL_SET)
132 
133 #define CMB_PHY_DESKEW0_OFF			0x014
134 #define CMB_PHY_DESKEW_EN			0
135 #define CMB_PHY_DESKEW_EN_MASK			(0xF << CMB_PHY_DESKEW_EN)
136 #define CMB_PHY_DESKEW_PERIOD_EN		4
137 #define CMB_PHY_DESKEW_PERIOD_EN_MASK		(0xF << CMB_PHY_DESKEW_PERIOD_EN)
138 #define CMB_PHY0_DESKEW_STEP			8
139 #define CMB_PHY0_DESKEW_STEP_MASK		(0x3 << CMB_PHY0_DESKEW_STEP)
140 #define CMB_PHY1_DESKEW_STEP			10
141 #define CMB_PHY1_DESKEW_STEP_MASK		(0x3 << CMB_PHY1_DESKEW_STEP)
142 
143 #define CMB_PHY_DESKEW1_OFF			0x018
144 #define CMB_PHY_DESKEW_LANED0_SET		0
145 #define CMB_PHY_DESKEW_LANED0_SET_MASK		(0x1F << CMB_PHY_DESKEW_LANED0_SET)
146 #define CMB_PHY_DESKEW_LANED1_SET		5
147 #define CMB_PHY_DESKEW_LANED1_SET_MASK		(0x1F << CMB_PHY_DESKEW_LANED1_SET)
148 #define CMB_PHY_DESKEW_LANED2_SET		10
149 #define CMB_PHY_DESKEW_LANED2_SET_MASK		(0x1F << CMB_PHY_DESKEW_LANED2_SET)
150 #define CMB_PHY_DESKEW_LANED3_SET		15
151 #define CMB_PHY_DESKEW_LANED3_SET_MASK		(0x1F << CMB_PHY_DESKEW_LANED3_SET)
152 #define CMB_PHY_DESKEW_LANECK0_SET		20
153 #define CMB_PHY_DESKEW_LANECK0_SET_MASK		(0x1F << CMB_PHY_DESKEW_LANECK0_SET)
154 #define CMB_PHY_DESKEW_LANECK1_SET		20
155 #define CMB_PHY_DESKEW_LANECK1_SET_MASK		(0x1F << CMB_PHY_DESKEW_LANECK1_SET)
156 
157 #define CMB_PHY_TERM_CTL_REG_OFF		0x020
158 #define CMB_PHY_TERMDT_EN			0
159 #define CMB_PHY_TERMDT_EN_MASK			(0xf << CMB_PHY_TERMDT_EN)
160 #define CMB_PHY_TERMCK_EN			4
161 #define CMB_PHY_TERMCK_EN_MASK			(0x3 << CMB_PHY_TERMCK_EN)
162 #define CMB_PHY0_TERM_EN_DLY			16
163 #define CMB_PHY0_TERM_EN_DLY_MASK		(0xff << CMB_PHY0_TERM_EN_DLY)
164 #define CMB_PHY1_TERM_EN_DLY			24
165 #define CMB_PHY1_TERM_EN_DLY_MASK		(0xff << CMB_PHY1_TERM_EN_DLY)
166 
167 #define CMB_PHY_HS_CTL_REG_OFF			0x024
168 #define CMB_PHY_HSDT_EN				0
169 #define CMB_PHY_HSDT_EN_MASK			(0xf << CMB_PHY_HSDT_EN)
170 #define CMB_PHY_HSCK_EN				4
171 #define CMB_PHY_HSCK_EN_MASK			(0x3 << CMB_PHY_HSCK_EN)
172 #define CMB_PHY_HSDT_POLAR			8
173 #define CMB_PHY_HSDT_POLAR_MASK			(0xf << CMB_PHY_HSDT_POLAR)
174 #define CMB_PHY_HSCK_POLAR			12
175 #define CMB_PHY_HSCK_POLAR_MASK			(0xf << CMB_PHY_HSCK_POLAR)
176 #define CMB_PHY0_HS_DLY				16
177 #define CMB_PHY0_HS_DLY_MASK			(0xff << CMB_PHY0_HS_DLY)
178 #define CMB_PHY1_HS_DLY				24
179 #define CMB_PHY1_HS_DLY_MASK			(0xff << CMB_PHY1_HS_DLY)
180 
181 #define CMB_PHY_S2P_CTL_REG_OFF			0x028
182 #define CMB_PHY_S2P_EN				0
183 #define CMB_PHY_S2P_EN_MASK			(0xf << CMB_PHY_S2P_EN)
184 #define CMB_PHY0_S2P_WIDTH			8
185 #define CMB_PHY0_S2P_WIDTH_MASK			(0x3 << CMB_PHY0_S2P_WIDTH)
186 #define CMB_PHY1_S2P_WIDTH			10
187 #define CMB_PHY1_S2P_WIDTH_MASK			(0x3 << CMB_PHY1_S2P_WIDTH)
188 #define CMB_PHY0_S2P_DLY			16
189 #define CMB_PHY0_S2P_DLY_MASK			(0xff << CMB_PHY0_S2P_DLY)
190 #define CMB_PHY1_S2P_DLY			24
191 #define CMB_PHY1_S2P_DLY_MASK			(0xff << CMB_PHY1_S2P_DLY)
192 
193 #define CMB_PHY_MIPIRX_CTL_REG_OFF		0x02C
194 #define CMB_PHY0_MIPIHS_ENDLAN			0
195 #define CMB_PHY0_MIPIHS_ENDLAN_MASK		(0x1 << CMB_PHY0_MIPIHS_ENDLAN)
196 #define CMB_PHY1_MIPIHS_ENDLAN			1
197 #define CMB_PHY1_MIPIHS_ENDLAN_MASK		(0x1 << CMB_PHY1_MIPIHS_ENDLAN)
198 #define CMB_PHY0_MIPIHS_SYNC_MODE		2
199 #define CMB_PHY0_MIPIHS_SYNC_MODE_MASK		(0x1 << CMB_PHY0_MIPIHS_SYNC_MODE)
200 #define CMB_PHY1_MIPIHS_SYNC_MODE		3
201 #define CMB_PHY1_MIPIHS_SYNC_MODE_MASK		(0x1 << CMB_PHY1_MIPIHS_SYNC_MODE)
202 #define CMB_PHY0_MIPIHS_8B9B			4
203 #define CMB_PHY0_MIPIHS_8B9B_MASK		(0x1 << CMB_PHY0_MIPIHS_8B9B)
204 #define CMB_PHY1_MIPIHS_8B9B			5
205 #define CMB_PHY1_MIPIHS_8B9B_MASK		(0x1 << CMB_PHY1_MIPIHS_8B9B)
206 #define CMB_PHY_MIPI_LPDT_EN			8
207 #define CMB_PHY_MIPI_LPDT_EN_MASK		(0xf << CMB_PHY_MIPI_LPDT_EN)
208 #define CMB_PHY_MIPI_LPCK_EN			12
209 #define CMB_PHY_MIPI_LPCK_EN_MASK		(0x3 << CMB_PHY_MIPI_LPCK_EN)
210 #define CMB_PHY0_MIPILP_DBC_EN			16
211 #define CMB_PHY0_MIPILP_DBC_EN_MASK		(0x1 << CMB_PHY0_MIPILP_DBC_EN)
212 #define CMB_PHY1_MIPILP_DBC_EN			17
213 #define CMB_PHY1_MIPILP_DBC_EN_MASK		(0x1 << CMB_PHY1_MIPILP_DBC_EN)
214 
215 /*
216  * Detail information of registers----PORT0/1
217  */
218 #define CMB_PORT_REG_OFF			0x1000
219 #define CMB_PORT_BETWEEN_OFF			0x400
220 
221 #define CMB_PORT_CTL_REG_OFF			0x0000
222 #define CMB_PORT_EN				0
223 #define CMB_PORT_EN_MASK			(0x1 << CMB_PORT_EN)
224 #define CMB_PORT_WORK_MODE			4
225 #define CMB_PORT_WORK_MODE_MASK			(0x3 << CMB_PORT_WORK_MODE)
226 #define CMB_PORT_LANE_NUM			8
227 #define CMB_PORT_LANE_NUM_MASK			(0xf << CMB_PORT_LANE_NUM)
228 #define CMB_PORT_CHANNEL_NUM			16
229 #define CMB_PORT_CHANNEL_NUM_MASK		(0x3 << CMB_PORT_CHANNEL_NUM)
230 #define CMB_PORT_OUT_NUM			31
231 #define CMB_PORT_OUT_NUM_MASK			(0x1 << CMB_PORT_OUT_NUM)
232 
233 #define CMB_PORT_LANE_MAP_REG0_OFF		0x0004
234 #define CMB_PORT_LANE0_ID			0
235 #define CMB_PORT_LANE0_ID_MASK			(0xf << CMB_PORT_LANE0_ID)
236 #define CMB_PORT_LANE1_ID			4
237 #define CMB_PORT_LANE1_ID_MASK			(0xf << CMB_PORT_LANE1_ID)
238 #define CMB_PORT_LANE2_ID			8
239 #define CMB_PORT_LANE2_ID_MASK			(0xf << CMB_PORT_LANE2_ID)
240 #define CMB_PORT_LANE3_ID			12
241 #define CMB_PORT_LANE3_ID_MASK			(0xf << CMB_PORT_LANE3_ID)
242 #define CMB_PORT_LANE4_ID			16
243 #define CMB_PORT_LANE4_ID_MASK			(0xf << CMB_PORT_LANE4_ID)
244 #define CMB_PORT_LANE5_ID			20
245 #define CMB_PORT_LANE5_ID_MASK			(0xf << CMB_PORT_LANE5_ID)
246 #define CMB_PORT_LANE6_ID			24
247 #define CMB_PORT_LANE6_ID_MASK			(0xf << CMB_PORT_LANE6_ID)
248 #define CMB_PORT_LANE7_ID			28
249 #define CMB_PORT_LANE7_ID_MASK			(0xf << CMB_PORT_LANE7_ID)
250 
251 #define CMB_PORT_LANE_MAP_REG1_OFF		0x0008
252 #define CMB_PORT_LANE8_ID			0
253 #define CMB_PORT_LANE8_ID_MASK			(0xf << CMB_PORT_LANE8_ID)
254 #define CMB_PORT_LANE9_ID			4
255 #define CMB_PORT_LANE9_ID_MASK			(0xf << CMB_PORT_LANE9_ID)
256 #define CMB_PORT_LANE10_ID			8
257 #define CMB_PORT_LANE10_ID_MASK			(0xf << CMB_PORT_LANE10_ID)
258 #define CMB_PORT_LANE11_ID			12
259 #define CMB_PORT_LANE11_ID_MASK			(0xf << CMB_PORT_LANE11_ID)
260 
261 #define CMB_PORT_WDR_MODE_REG_OFF		0x000C
262 #define CMB_PORT_WDR_MODE			0
263 #define CMB_PORT_WDR_MODE_MASK			(0x3 << CMB_PORT_WDR_MODE)
264 
265 #define CMB_PORT_FID_SEL_REG_OFF		0x0010
266 #define CMB_PORT_FID0_MAP			0
267 #define CMB_PORT_FID0_MAP_MASK			(0xf << CMB_PORT_FID0_MAP)
268 #define CMB_PORT_FID1_MAP			4
269 #define CMB_PORT_FID1_MAP_MASK			(0xf << CMB_PORT_FID1_MAP)
270 #define CMB_PORT_FID2_MAP			8
271 #define CMB_PORT_FID2_MAP_MASK			(0xf << CMB_PORT_FID2_MAP)
272 #define CMB_PORT_FID3_MAP			12
273 #define CMB_PORT_FID3_MAP_MASK			(0xf << CMB_PORT_FID3_MAP)
274 #define CMB_PORT_FID_MAP_EN			16
275 #define CMB_PORT_FID_MAP_EN_MASK		(0xf << CMB_PORT_FID_MAP_EN)
276 #define CMB_PORT_SYNC_CODE_WITH_PD		20
277 #define CMB_PORT_SYNC_CODE_WITH_PD_MASK		(0xf << CMB_PORT_SYNC_CODE_WITH_PD)
278 #define CMB_PORT_FID_MODE			31
279 #define CMB_PORT_FID_MODE_MASK			(0x1 << CMB_PORT_FID_MODE)
280 
281 #define CMB_PORT_MIPI_CFG_REG_OFF		0x0100
282 #define CMB_MIPI_UNPACK_EN			0
283 #define CMB_MIPI_UNPACK_EN_MASK			(0x1 << CMB_MIPI_UNPACK_EN)
284 #define CMB_MIPI_NO_UNPACK_ALL			1
285 #define CMB_MIPI_NO_UNPACK_ALL_MASK		(0x1 << CMB_MIPI_NO_UNPACK_ALL)
286 #define CMB_EMBED_EN				2
287 #define CMB_EMBED_EN_MASK			(0x1 << CMB_EMBED_EN)
288 #define CMB_MIPI_USER_DEF_EN			3
289 #define CMB_MIPI_USER_DEF_EN_MASK		(0x1 << CMB_MIPI_USER_DEF_EN)
290 #define CMB_MIPI_PH_BYTEORD			4
291 #define CMB_MIPI_PH_BYTEORD_MASK		(0x3 << CMB_MIPI_PH_BYTEORD)
292 #define CMB_MIPI_PH_BITOED			6
293 #define CMB_MIPI_PH_BITOED_MASK			(0x1 << CMB_MIPI_PH_BITOED)
294 #define CMB_MIPI_PL_BITORD			7
295 #define CMB_MIPI_PL_BITORD_MASK			(0x1 << CMB_MIPI_PL_BITORD)
296 #define CMB_MIPI_LINE_SYNC_EN			8
297 #define CMB_MIPI_LINE_SYNC_EN_MASK		(0x1 << CMB_MIPI_LINE_SYNC_EN)
298 #define CMB_MIPI_YUV_SEQ			16
299 #define CMB_MIPI_YUV_SEQ_MASK			(0x3 << CMB_MIPI_YUV_SEQ)
300 
301 #define CMB_PORT_MIPI_NO_UNPAK_NUM_REG_OFF	0x0104
302 #define CMB_MIPI_NO_UNPACK_NUM_REG		0
303 #define CMB_MIPI_NO_UNPACK_NUM_REG_MASK		(0xFFFF << CMB_MIPI_NO_UNPACK_NUM_REG)
304 
305 #define CMB_PORT_MIPI_DI_REG_OFF		0x0108
306 #define CMB_MIPI_CH0_DT				0
307 #define CMB_MIPI_CH0_DT_MASK			(0x3f << CMB_MIPI_CH0_DT)
308 #define CMB_MIPI_CH0_VC				6
309 #define CMB_MIPI_CH0_VC_MASK			(0x3 << CMB_MIPI_CH0_VC)
310 #define CMB_MIPI_CH1_DT				8
311 #define CMB_MIPI_CH1_DT_MASK			(0x3f << CMB_MIPI_CH1_DT)
312 #define CMB_MIPI_CH1_VC				14
313 #define CMB_MIPI_CH1_VC_MASK			(0x3 << CMB_MIPI_CH1_VC)
314 #define CMB_MIPI_CH2_DT				16
315 #define CMB_MIPI_CH2_DT_MASK			(0x3f << CMB_MIPI_CH2_DT)
316 #define CMB_MIPI_CH2_VC				22
317 #define CMB_MIPI_CH2_VC_MASK			(0x3 << CMB_MIPI_CH2_VC)
318 #define CMB_MIPI_CH3_DT				24
319 #define CMB_MIPI_CH3_DT_MASK			(0x3f << CMB_MIPI_CH3_DT)
320 #define CMB_MIPI_CH3_VC				30
321 #define CMB_MIPI_CH3_VC_MASK			(0x3 << CMB_MIPI_CH3_VC)
322 
323 #define CMB_PORT_MIPI_USER_DI_REG_OFF		0x010C
324 #define CMB_MIPI_USER0_DT			0
325 #define CMB_MIPI_USER0_DT_MASK			(0x3f << CMB_MIPI_USER0_DT)
326 #define CMB_MIPI_USER0_DT_EN			7
327 #define CMB_MIPI_USER0_DT_EN_MASK		(0x1 << CMB_MIPI_USER0_DT_EN)
328 #define CMB_MIPI_USER1_DT			8
329 #define CMB_MIPI_USER1_DT_MASK			(0x3f << CMB_MIPI_USER1_DT)
330 #define CMB_MIPI_USER1_DT_EN			15
331 #define CMB_MIPI_USER1_DT_EN_MASK		(0x1 << CMB_MIPI_USER1_DT_EN)
332 #define CMB_MIPI_USER2_DT			16
333 #define CMB_MIPI_USER2_DT_MASK			(0x3f << CMB_MIPI_USER2_DT)
334 #define CMB_MIPI_USER2_DT_EN			23
335 #define CMB_MIPI_USER2_DT_EN_MASK		(0x1 << CMB_MIPI_USER2_DT_EN)
336 #define CMB_MIPI_USER3_DT			24
337 #define CMB_MIPI_USER3_DT_MASK			(0x3f << CMB_MIPI_USER3_DT)
338 #define CMB_MIPI_USER3_DT_EN			31
339 #define CMB_MIPI_USER3_DT_EN_MASK		(0x1 << CMB_MIPI_USER3_DT_EN)
340 
341 #define CMB_PORT_MIPI_DI_TRIG_REG_OFF		0x0110
342 #define CMB_MIPI_FS				0
343 #define CMB_MIPI_FS_MASK			(0x1 << CMB_MIPI_FS)
344 #define CMB_MIPI_FE				1
345 #define CMB_MIPI_FE_MASK			(0x1 << CMB_MIPI_FE)
346 #define CMB_MIPI_LS				2
347 #define CMB_MIPI_LS_MASK			(0x1 << CMB_MIPI_LS)
348 #define CMB_MIPI_LE				3
349 #define CMB_MIPI_LE_MASK			(0x1 << CMB_MIPI_LE)
350 #define CMB_MIPI_GS0				8
351 #define CMB_MIPI_GS0_MASK			(0x1 << CMB_MIPI_GS0)
352 #define CMB_MIPI_GS1				9
353 #define CMB_MIPI_GS1_MASK			(0x1 << CMB_MIPI_GS1)
354 #define CMB_MIPI_GS2				10
355 #define CMB_MIPI_GS2_MASK			(0x1 << CMB_MIPI_GS2)
356 #define CMB_MIPI_GS3				11
357 #define CMB_MIPI_GS3_MASK			(0x1 << CMB_MIPI_GS3)
358 #define CMB_MIPI_GS4				12
359 #define CMB_MIPI_GS4_MASK			(0x1 << CMB_MIPI_GS4)
360 #define CMB_MIPI_GS5				13
361 #define CMB_MIPI_GS5_MASK			(0x1 << CMB_MIPI_GS5)
362 #define CMB_MIPI_GS6				14
363 #define CMB_MIPI_GS6_MASK			(0x1 << CMB_MIPI_GS6)
364 #define CMB_MIPI_GS7				15
365 #define CMB_MIPI_GS7_MASK			(0x1 << CMB_MIPI_GS7)
366 #define CMB_MIPI_GL				16
367 #define CMB_MIPI_GL_MASK			(0x1 << CMB_MIPI_GL)
368 #define CMB_MIPI_YUV				17
369 #define CMB_MIPI_YUV_MASK			(0x1 << CMB_MIPI_YUV)
370 #define CMB_MIPI_RGB				18
371 #define CMB_MIPI_RGB_MASK			(0x1 << CMB_MIPI_RGB)
372 #define CMB_MIPI_RAW				19
373 #define CMB_MIPI_RAW_MASK			(0x1 << CMB_MIPI_RAW)
374 #define CMB_MIPI_SRC_IS_FIELD			30
375 #define CMB_MIPI_SRC_IS_FIELD_MASK		(0x1 << CMB_MIPI_SRC_IS_FIELD)
376 #define CMB_MIPI_FIELD_REV			31
377 #define CMB_MIPI_FIELD_REV_MASK			(0x1 << CMB_MIPI_FIELD_REV)
378 
379 #endif
380