1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * drivers/media/i2c/smiapp/smiapp-reg-defs.h |
4 | * |
5 | * Generic driver for MIPI CCS/SMIA/SMIA++ compliant camera sensors |
6 | * |
7 | * Copyright (C) 2020 Intel Corporation |
8 | * Copyright (C) 2011--2012 Nokia Corporation |
9 | * Contact: Sakari Ailus <sakari.ailus@iki.fi> |
10 | */ |
11 | |
12 | #ifndef __SMIAPP_REG_DEFS_H__ |
13 | #define __SMIAPP_REG_DEFS_H__ |
14 | |
15 | #include <linux/bits.h> |
16 | #include <media/v4l2-cci.h> |
17 | |
18 | /* Register addresses */ |
19 | #define SMIAPP_REG_U16_MODEL_ID CCI_REG16(0x0000) |
20 | #define SMIAPP_REG_U8_REVISION_NUMBER_MAJOR CCI_REG8(0x0002) |
21 | #define SMIAPP_REG_U8_MANUFACTURER_ID CCI_REG8(0x0003) |
22 | #define SMIAPP_REG_U8_SMIA_VERSION CCI_REG8(0x0004) |
23 | #define SMIAPP_REG_U8_FRAME_COUNT CCI_REG8(0x0005) |
24 | #define SMIAPP_REG_U8_PIXEL_ORDER CCI_REG8(0x0006) |
25 | #define SMIAPP_REG_U16_DATA_PEDESTAL CCI_REG16(0x0008) |
26 | #define SMIAPP_REG_U8_PIXEL_DEPTH CCI_REG8(0x000c) |
27 | #define SMIAPP_REG_U8_REVISION_NUMBER_MINOR CCI_REG8(0x0010) |
28 | #define SMIAPP_REG_U8_SMIAPP_VERSION CCI_REG8(0x0011) |
29 | #define SMIAPP_REG_U8_MODULE_DATE_YEAR CCI_REG8(0x0012) |
30 | #define SMIAPP_REG_U8_MODULE_DATE_MONTH CCI_REG8(0x0013) |
31 | #define SMIAPP_REG_U8_MODULE_DATE_DAY CCI_REG8(0x0014) |
32 | #define SMIAPP_REG_U8_MODULE_DATE_PHASE CCI_REG8(0x0015) |
33 | #define SMIAPP_REG_U16_SENSOR_MODEL_ID CCI_REG16(0x0016) |
34 | #define SMIAPP_REG_U8_SENSOR_REVISION_NUMBER CCI_REG8(0x0018) |
35 | #define SMIAPP_REG_U8_SENSOR_MANUFACTURER_ID CCI_REG8(0x0019) |
36 | #define SMIAPP_REG_U8_SENSOR_FIRMWARE_VERSION CCI_REG8(0x001a) |
37 | #define SMIAPP_REG_U32_SERIAL_NUMBER CCI_REG32(0x001c) |
38 | #define SMIAPP_REG_U8_FRAME_FORMAT_MODEL_TYPE CCI_REG8(0x0040) |
39 | #define SMIAPP_REG_U8_FRAME_FORMAT_MODEL_SUBTYPE CCI_REG8(0x0041) |
40 | #define SMIAPP_REG_U16_FRAME_FORMAT_DESCRIPTOR_2(n) CCI_REG16(0x0042 + ((n) << 1)) /* 0 <= n <= 14 */ |
41 | #define SMIAPP_REG_U32_FRAME_FORMAT_DESCRIPTOR_4(n) CCI_REG32(0x0060 + ((n) << 2)) /* 0 <= n <= 7 */ |
42 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CAPABILITY CCI_REG16(0x0080) |
43 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_MIN CCI_REG16(0x0084) |
44 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_MAX CCI_REG16(0x0086) |
45 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_STEP CCI_REG16(0x0088) |
46 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_TYPE CCI_REG16(0x008a) |
47 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_M0 CCI_REG16(0x008c) |
48 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_C0 CCI_REG16(0x008e) |
49 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_M1 CCI_REG16(0x0090) |
50 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_C1 CCI_REG16(0x0092) |
51 | #define SMIAPP_REG_U8_DATA_FORMAT_MODEL_TYPE CCI_REG8(0x00c0) |
52 | #define SMIAPP_REG_U8_DATA_FORMAT_MODEL_SUBTYPE CCI_REG8(0x00c1) |
53 | #define SMIAPP_REG_U16_DATA_FORMAT_DESCRIPTOR(n) CCI_REG16(0x00c2 + ((n) << 1)) |
54 | #define SMIAPP_REG_U8_MODE_SELECT CCI_REG8(0x0100) |
55 | #define SMIAPP_REG_U8_IMAGE_ORIENTATION CCI_REG8(0x0101) |
56 | #define SMIAPP_REG_U8_SOFTWARE_RESET CCI_REG8(0x0103) |
57 | #define SMIAPP_REG_U8_GROUPED_PARAMETER_HOLD CCI_REG8(0x0104) |
58 | #define SMIAPP_REG_U8_MASK_CORRUPTED_FRAMES CCI_REG8(0x0105) |
59 | #define SMIAPP_REG_U8_FAST_STANDBY_CTRL CCI_REG8(0x0106) |
60 | #define SMIAPP_REG_U8_CCI_ADDRESS_CONTROL CCI_REG8(0x0107) |
61 | #define SMIAPP_REG_U8_2ND_CCI_IF_CONTROL CCI_REG8(0x0108) |
62 | #define SMIAPP_REG_U8_2ND_CCI_ADDRESS_CONTROL CCI_REG8(0x0109) |
63 | #define SMIAPP_REG_U8_CSI_CHANNEL_IDENTIFIER CCI_REG8(0x0110) |
64 | #define SMIAPP_REG_U8_CSI_SIGNALLING_MODE CCI_REG8(0x0111) |
65 | #define SMIAPP_REG_U16_CSI_DATA_FORMAT CCI_REG16(0x0112) |
66 | #define SMIAPP_REG_U8_CSI_LANE_MODE CCI_REG8(0x0114) |
67 | #define SMIAPP_REG_U8_CSI2_10_TO_8_DT CCI_REG8(0x0115) |
68 | #define SMIAPP_REG_U8_CSI2_10_TO_7_DT CCI_REG8(0x0116) |
69 | #define SMIAPP_REG_U8_CSI2_10_TO_6_DT CCI_REG8(0x0117) |
70 | #define SMIAPP_REG_U8_CSI2_12_TO_8_DT CCI_REG8(0x0118) |
71 | #define SMIAPP_REG_U8_CSI2_12_TO_7_DT CCI_REG8(0x0119) |
72 | #define SMIAPP_REG_U8_CSI2_12_TO_6_DT CCI_REG8(0x011a) |
73 | #define SMIAPP_REG_U8_CSI2_14_TO_10_DT CCI_REG8(0x011b) |
74 | #define SMIAPP_REG_U8_CSI2_14_TO_8_DT CCI_REG8(0x011c) |
75 | #define SMIAPP_REG_U8_CSI2_16_TO_10_DT CCI_REG8(0x011d) |
76 | #define SMIAPP_REG_U8_CSI2_16_TO_8_DT CCI_REG8(0x011e) |
77 | #define SMIAPP_REG_U8_GAIN_MODE CCI_REG8(0x0120) |
78 | #define SMIAPP_REG_U16_VANA_VOLTAGE CCI_REG16(0x0130) |
79 | #define SMIAPP_REG_U16_VDIG_VOLTAGE CCI_REG16(0x0132) |
80 | #define SMIAPP_REG_U16_VIO_VOLTAGE CCI_REG16(0x0134) |
81 | #define SMIAPP_REG_U16_EXTCLK_FREQUENCY_MHZ CCI_REG16(0x0136) |
82 | #define SMIAPP_REG_U8_TEMP_SENSOR_CONTROL CCI_REG8(0x0138) |
83 | #define SMIAPP_REG_U8_TEMP_SENSOR_MODE CCI_REG8(0x0139) |
84 | #define SMIAPP_REG_U8_TEMP_SENSOR_OUTPUT CCI_REG8(0x013a) |
85 | #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME CCI_REG16(0x0200) |
86 | #define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME CCI_REG16(0x0202) |
87 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GLOBAL CCI_REG16(0x0204) |
88 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GREENR CCI_REG16(0x0206) |
89 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_RED CCI_REG16(0x0208) |
90 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_BLUE CCI_REG16(0x020a) |
91 | #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GREENB CCI_REG16(0x020c) |
92 | #define SMIAPP_REG_U16_DIGITAL_GAIN_GREENR CCI_REG16(0x020e) |
93 | #define SMIAPP_REG_U16_DIGITAL_GAIN_RED CCI_REG16(0x0210) |
94 | #define SMIAPP_REG_U16_DIGITAL_GAIN_BLUE CCI_REG16(0x0212) |
95 | #define SMIAPP_REG_U16_DIGITAL_GAIN_GREENB CCI_REG16(0x0214) |
96 | #define SMIAPP_REG_U16_VT_PIX_CLK_DIV CCI_REG16(0x0300) |
97 | #define SMIAPP_REG_U16_VT_SYS_CLK_DIV CCI_REG16(0x0302) |
98 | #define SMIAPP_REG_U16_PRE_PLL_CLK_DIV CCI_REG16(0x0304) |
99 | #define SMIAPP_REG_U16_PLL_MULTIPLIER CCI_REG16(0x0306) |
100 | #define SMIAPP_REG_U16_OP_PIX_CLK_DIV CCI_REG16(0x0308) |
101 | #define SMIAPP_REG_U16_OP_SYS_CLK_DIV CCI_REG16(0x030a) |
102 | #define SMIAPP_REG_U16_FRAME_LENGTH_LINES CCI_REG16(0x0340) |
103 | #define SMIAPP_REG_U16_LINE_LENGTH_PCK CCI_REG16(0x0342) |
104 | #define SMIAPP_REG_U16_X_ADDR_START CCI_REG16(0x0344) |
105 | #define SMIAPP_REG_U16_Y_ADDR_START CCI_REG16(0x0346) |
106 | #define SMIAPP_REG_U16_X_ADDR_END CCI_REG16(0x0348) |
107 | #define SMIAPP_REG_U16_Y_ADDR_END CCI_REG16(0x034a) |
108 | #define SMIAPP_REG_U16_X_OUTPUT_SIZE CCI_REG16(0x034c) |
109 | #define SMIAPP_REG_U16_Y_OUTPUT_SIZE CCI_REG16(0x034e) |
110 | #define SMIAPP_REG_U16_X_EVEN_INC CCI_REG16(0x0380) |
111 | #define SMIAPP_REG_U16_X_ODD_INC CCI_REG16(0x0382) |
112 | #define SMIAPP_REG_U16_Y_EVEN_INC CCI_REG16(0x0384) |
113 | #define SMIAPP_REG_U16_Y_ODD_INC CCI_REG16(0x0386) |
114 | #define SMIAPP_REG_U16_SCALING_MODE CCI_REG16(0x0400) |
115 | #define SMIAPP_REG_U16_SPATIAL_SAMPLING CCI_REG16(0x0402) |
116 | #define SMIAPP_REG_U16_SCALE_M CCI_REG16(0x0404) |
117 | #define SMIAPP_REG_U16_SCALE_N CCI_REG16(0x0406) |
118 | #define SMIAPP_REG_U16_DIGITAL_CROP_X_OFFSET CCI_REG16(0x0408) |
119 | #define SMIAPP_REG_U16_DIGITAL_CROP_Y_OFFSET CCI_REG16(0x040a) |
120 | #define SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_WIDTH CCI_REG16(0x040c) |
121 | #define SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_HEIGHT CCI_REG16(0x040e) |
122 | #define SMIAPP_REG_U16_COMPRESSION_MODE CCI_REG16(0x0500) |
123 | #define SMIAPP_REG_U16_TEST_PATTERN_MODE CCI_REG16(0x0600) |
124 | #define SMIAPP_REG_U16_TEST_DATA_RED CCI_REG16(0x0602) |
125 | #define SMIAPP_REG_U16_TEST_DATA_GREENR CCI_REG16(0x0604) |
126 | #define SMIAPP_REG_U16_TEST_DATA_BLUE CCI_REG16(0x0606) |
127 | #define SMIAPP_REG_U16_TEST_DATA_GREENB CCI_REG16(0x0608) |
128 | #define SMIAPP_REG_U16_HORIZONTAL_CURSOR_WIDTH CCI_REG16(0x060a) |
129 | #define SMIAPP_REG_U16_HORIZONTAL_CURSOR_POSITION CCI_REG16(0x060c) |
130 | #define SMIAPP_REG_U16_VERTICAL_CURSOR_WIDTH CCI_REG16(0x060e) |
131 | #define SMIAPP_REG_U16_VERTICAL_CURSOR_POSITION CCI_REG16(0x0610) |
132 | #define SMIAPP_REG_U16_FIFO_WATER_MARK_PIXELS CCI_REG16(0x0700) |
133 | #define SMIAPP_REG_U8_TCLK_POST CCI_REG8(0x0800) |
134 | #define SMIAPP_REG_U8_THS_PREPARE CCI_REG8(0x0801) |
135 | #define SMIAPP_REG_U8_THS_ZERO_MIN CCI_REG8(0x0802) |
136 | #define SMIAPP_REG_U8_THS_TRAIL CCI_REG8(0x0803) |
137 | #define SMIAPP_REG_U8_TCLK_TRAIL_MIN CCI_REG8(0x0804) |
138 | #define SMIAPP_REG_U8_TCLK_PREPARE CCI_REG8(0x0805) |
139 | #define SMIAPP_REG_U8_TCLK_ZERO CCI_REG8(0x0806) |
140 | #define SMIAPP_REG_U8_TLPX CCI_REG8(0x0807) |
141 | #define SMIAPP_REG_U8_DPHY_CTRL CCI_REG8(0x0808) |
142 | #define SMIAPP_REG_U32_REQUESTED_LINK_BIT_RATE_MBPS CCI_REG32(0x0820) |
143 | #define SMIAPP_REG_U8_BINNING_MODE CCI_REG8(0x0900) |
144 | #define SMIAPP_REG_U8_BINNING_TYPE CCI_REG8(0x0901) |
145 | #define SMIAPP_REG_U8_BINNING_WEIGHTING CCI_REG8(0x0902) |
146 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_CTRL CCI_REG8(0x0a00) |
147 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_STATUS CCI_REG8(0x0a01) |
148 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_PAGE_SELECT CCI_REG8(0x0a02) |
149 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_0 CCI_REG8(0x0a04) |
150 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_1 CCI_REG8(0x0a05) |
151 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_2 CCI_REG8(0x0a06) |
152 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_3 CCI_REG8(0x0a07) |
153 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_4 CCI_REG8(0x0a08) |
154 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_5 CCI_REG8(0x0a09) |
155 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_12 CCI_REG8(0x0a10) |
156 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_13 CCI_REG8(0x0a11) |
157 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_14 CCI_REG8(0x0a12) |
158 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_15 CCI_REG8(0x0a13) |
159 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_16 CCI_REG8(0x0a14) |
160 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_17 CCI_REG8(0x0a15) |
161 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_18 CCI_REG8(0x0a16) |
162 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_19 CCI_REG8(0x0a17) |
163 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_20 CCI_REG8(0x0a18) |
164 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_21 CCI_REG8(0x0a19) |
165 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_22 CCI_REG8(0x0a1a) |
166 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_23 CCI_REG8(0x0a1b) |
167 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_24 CCI_REG8(0x0a1c) |
168 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_25 CCI_REG8(0x0a1d) |
169 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_26 CCI_REG8(0x0a1e) |
170 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_27 CCI_REG8(0x0a1f) |
171 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_28 CCI_REG8(0x0a20) |
172 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_29 CCI_REG8(0x0a21) |
173 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_30 CCI_REG8(0x0a22) |
174 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_31 CCI_REG8(0x0a23) |
175 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_32 CCI_REG8(0x0a24) |
176 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_33 CCI_REG8(0x0a25) |
177 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_34 CCI_REG8(0x0a26) |
178 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_35 CCI_REG8(0x0a27) |
179 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_36 CCI_REG8(0x0a28) |
180 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_37 CCI_REG8(0x0a29) |
181 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_38 CCI_REG8(0x0a2a) |
182 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_39 CCI_REG8(0x0a2b) |
183 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_40 CCI_REG8(0x0a2c) |
184 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_41 CCI_REG8(0x0a2d) |
185 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_42 CCI_REG8(0x0a2e) |
186 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_43 CCI_REG8(0x0a2f) |
187 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_44 CCI_REG8(0x0a30) |
188 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_45 CCI_REG8(0x0a31) |
189 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_46 CCI_REG8(0x0a32) |
190 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_47 CCI_REG8(0x0a33) |
191 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_48 CCI_REG8(0x0a34) |
192 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_49 CCI_REG8(0x0a35) |
193 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_50 CCI_REG8(0x0a36) |
194 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_51 CCI_REG8(0x0a37) |
195 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_52 CCI_REG8(0x0a38) |
196 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_53 CCI_REG8(0x0a39) |
197 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_54 CCI_REG8(0x0a3a) |
198 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_55 CCI_REG8(0x0a3b) |
199 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_56 CCI_REG8(0x0a3c) |
200 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_57 CCI_REG8(0x0a3d) |
201 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_58 CCI_REG8(0x0a3e) |
202 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_59 CCI_REG8(0x0a3f) |
203 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_60 CCI_REG8(0x0a40) |
204 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_61 CCI_REG8(0x0a41) |
205 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_62 CCI_REG8(0x0a42) |
206 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_63 CCI_REG8(0x0a43) |
207 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_CTRL CCI_REG8(0x0a44) |
208 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_STATUS CCI_REG8(0x0a45) |
209 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_PAGE_SELECT CCI_REG8(0x0a46) |
210 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_0 CCI_REG8(0x0a48) |
211 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_1 CCI_REG8(0x0a49) |
212 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_2 CCI_REG8(0x0a4a) |
213 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_3 CCI_REG8(0x0a4b) |
214 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_4 CCI_REG8(0x0a4c) |
215 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_5 CCI_REG8(0x0a4d) |
216 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_6 CCI_REG8(0x0a4e) |
217 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_7 CCI_REG8(0x0a4f) |
218 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_8 CCI_REG8(0x0a50) |
219 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_9 CCI_REG8(0x0a51) |
220 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_10 CCI_REG8(0x0a52) |
221 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_11 CCI_REG8(0x0a53) |
222 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_12 CCI_REG8(0x0a54) |
223 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_13 CCI_REG8(0x0a55) |
224 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_14 CCI_REG8(0x0a56) |
225 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_15 CCI_REG8(0x0a57) |
226 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_16 CCI_REG8(0x0a58) |
227 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_17 CCI_REG8(0x0a59) |
228 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_18 CCI_REG8(0x0a5a) |
229 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_19 CCI_REG8(0x0a5b) |
230 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_20 CCI_REG8(0x0a5c) |
231 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_21 CCI_REG8(0x0a5d) |
232 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_22 CCI_REG8(0x0a5e) |
233 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_23 CCI_REG8(0x0a5f) |
234 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_24 CCI_REG8(0x0a60) |
235 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_25 CCI_REG8(0x0a61) |
236 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_26 CCI_REG8(0x0a62) |
237 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_27 CCI_REG8(0x0a63) |
238 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_28 CCI_REG8(0x0a64) |
239 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_29 CCI_REG8(0x0a65) |
240 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_30 CCI_REG8(0x0a66) |
241 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_31 CCI_REG8(0x0a67) |
242 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_32 CCI_REG8(0x0a68) |
243 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_33 CCI_REG8(0x0a69) |
244 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_34 CCI_REG8(0x0a6a) |
245 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_35 CCI_REG8(0x0a6b) |
246 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_36 CCI_REG8(0x0a6c) |
247 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_37 CCI_REG8(0x0a6d) |
248 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_38 CCI_REG8(0x0a6e) |
249 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_39 CCI_REG8(0x0a6f) |
250 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_40 CCI_REG8(0x0a70) |
251 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_41 CCI_REG8(0x0a71) |
252 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_42 CCI_REG8(0x0a72) |
253 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_43 CCI_REG8(0x0a73) |
254 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_44 CCI_REG8(0x0a74) |
255 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_45 CCI_REG8(0x0a75) |
256 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_46 CCI_REG8(0x0a76) |
257 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_47 CCI_REG8(0x0a77) |
258 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_48 CCI_REG8(0x0a78) |
259 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_49 CCI_REG8(0x0a79) |
260 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_50 CCI_REG8(0x0a7a) |
261 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_51 CCI_REG8(0x0a7b) |
262 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_52 CCI_REG8(0x0a7c) |
263 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_53 CCI_REG8(0x0a7d) |
264 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_54 CCI_REG8(0x0a7e) |
265 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_55 CCI_REG8(0x0a7f) |
266 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_56 CCI_REG8(0x0a80) |
267 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_57 CCI_REG8(0x0a81) |
268 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_58 CCI_REG8(0x0a82) |
269 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_59 CCI_REG8(0x0a83) |
270 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_60 CCI_REG8(0x0a84) |
271 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_61 CCI_REG8(0x0a85) |
272 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_62 CCI_REG8(0x0a86) |
273 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_63 CCI_REG8(0x0a87) |
274 | #define SMIAPP_REG_U8_SHADING_CORRECTION_ENABLE CCI_REG8(0x0b00) |
275 | #define SMIAPP_REG_U8_LUMINANCE_CORRECTION_LEVEL CCI_REG8(0x0b01) |
276 | #define SMIAPP_REG_U8_GREEN_IMBALANCE_FILTER_ENABLE CCI_REG8(0x0b02) |
277 | #define SMIAPP_REG_U8_GREEN_IMBALANCE_FILTER_WEIGHT CCI_REG8(0x0b03) |
278 | #define SMIAPP_REG_U8_BLACK_LEVEL_CORRECTION_ENABLE CCI_REG8(0x0b04) |
279 | #define SMIAPP_REG_U8_MAPPED_COUPLET_CORRECT_ENABLE CCI_REG8(0x0b05) |
280 | #define SMIAPP_REG_U8_SINGLE_DEFECT_CORRECT_ENABLE CCI_REG8(0x0b06) |
281 | #define SMIAPP_REG_U8_SINGLE_DEFECT_CORRECT_WEIGHT CCI_REG8(0x0b07) |
282 | #define SMIAPP_REG_U8_DYNAMIC_COUPLET_CORRECT_ENABLE CCI_REG8(0x0b08) |
283 | #define SMIAPP_REG_U8_DYNAMIC_COUPLET_CORRECT_WEIGHT CCI_REG8(0x0b09) |
284 | #define SMIAPP_REG_U8_COMBINED_DEFECT_CORRECT_ENABLE CCI_REG8(0x0b0a) |
285 | #define SMIAPP_REG_U8_COMBINED_DEFECT_CORRECT_WEIGHT CCI_REG8(0x0b0b) |
286 | #define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_ENABLE CCI_REG8(0x0b0c) |
287 | #define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_WEIGHT CCI_REG8(0x0b0d) |
288 | #define SMIAPP_REG_U8_MAPPED_LINE_DEFECT_CORRECT_ENABLE CCI_REG8(0x0b0e) |
289 | #define SMIAPP_REG_U8_MAPPED_LINE_DEFECT_CORRECT_ADJUST CCI_REG8(0x0b0f) |
290 | #define SMIAPP_REG_U8_MAPPED_COUPLET_CORRECT_ADJUST CCI_REG8(0x0b10) |
291 | #define SMIAPP_REG_U8_MAPPED_TRIPLET_DEFECT_CORRECT_ENABLE CCI_REG8(0x0b11) |
292 | #define SMIAPP_REG_U8_MAPPED_TRIPLET_DEFECT_CORRECT_ADJUST CCI_REG8(0x0b12) |
293 | #define SMIAPP_REG_U8_DYNAMIC_TRIPLET_DEFECT_CORRECT_ENABLE CCI_REG8(0x0b13) |
294 | #define SMIAPP_REG_U8_DYNAMIC_TRIPLET_DEFECT_CORRECT_ADJUST CCI_REG8(0x0b14) |
295 | #define SMIAPP_REG_U8_DYNAMIC_LINE_DEFECT_CORRECT_ENABLE CCI_REG8(0x0b15) |
296 | #define SMIAPP_REG_U8_DYNAMIC_LINE_DEFECT_CORRECT_ADJUST CCI_REG8(0x0b16) |
297 | #define SMIAPP_REG_U8_EDOF_MODE CCI_REG8(0x0b80) |
298 | #define SMIAPP_REG_U8_SHARPNESS CCI_REG8(0x0b83) |
299 | #define SMIAPP_REG_U8_DENOISING CCI_REG8(0x0b84) |
300 | #define SMIAPP_REG_U8_MODULE_SPECIFIC CCI_REG8(0x0b85) |
301 | #define SMIAPP_REG_U16_DEPTH_OF_FIELD CCI_REG16(0x0b86) |
302 | #define SMIAPP_REG_U16_FOCUS_DISTANCE CCI_REG16(0x0b88) |
303 | #define SMIAPP_REG_U8_ESTIMATION_MODE_CTRL CCI_REG8(0x0b8a) |
304 | #define SMIAPP_REG_U16_COLOUR_TEMPERATURE CCI_REG16(0x0b8c) |
305 | #define SMIAPP_REG_U16_ABSOLUTE_GAIN_GREENR CCI_REG16(0x0b8e) |
306 | #define SMIAPP_REG_U16_ABSOLUTE_GAIN_RED CCI_REG16(0x0b90) |
307 | #define SMIAPP_REG_U16_ABSOLUTE_GAIN_BLUE CCI_REG16(0x0b92) |
308 | #define SMIAPP_REG_U16_ABSOLUTE_GAIN_GREENB CCI_REG16(0x0b94) |
309 | #define SMIAPP_REG_U8_ESTIMATION_ZONE_MODE CCI_REG8(0x0bc0) |
310 | #define SMIAPP_REG_U16_FIXED_ZONE_WEIGHTING CCI_REG16(0x0bc2) |
311 | #define SMIAPP_REG_U16_CUSTOM_ZONE_X_START CCI_REG16(0x0bc4) |
312 | #define SMIAPP_REG_U16_CUSTOM_ZONE_Y_START CCI_REG16(0x0bc6) |
313 | #define SMIAPP_REG_U16_CUSTOM_ZONE_WIDTH CCI_REG16(0x0bc8) |
314 | #define SMIAPP_REG_U16_CUSTOM_ZONE_HEIGHT CCI_REG16(0x0bca) |
315 | #define SMIAPP_REG_U8_GLOBAL_RESET_CTRL1 CCI_REG8(0x0c00) |
316 | #define SMIAPP_REG_U8_GLOBAL_RESET_CTRL2 CCI_REG8(0x0c01) |
317 | #define SMIAPP_REG_U8_GLOBAL_RESET_MODE_CONFIG_1 CCI_REG8(0x0c02) |
318 | #define SMIAPP_REG_U8_GLOBAL_RESET_MODE_CONFIG_2 CCI_REG8(0x0c03) |
319 | #define SMIAPP_REG_U16_TRDY_CTRL CCI_REG16(0x0c04) |
320 | #define SMIAPP_REG_U16_TRDOUT_CTRL CCI_REG16(0x0c06) |
321 | #define SMIAPP_REG_U16_TSHUTTER_STROBE_DELAY_CTRL CCI_REG16(0x0c08) |
322 | #define SMIAPP_REG_U16_TSHUTTER_STROBE_WIDTH_CTRL CCI_REG16(0x0c0a) |
323 | #define SMIAPP_REG_U16_TFLASH_STROBE_DELAY_CTRL CCI_REG16(0x0c0c) |
324 | #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_HIGH_CTRL CCI_REG16(0x0c0e) |
325 | #define SMIAPP_REG_U16_TGRST_INTERVAL_CTRL CCI_REG16(0x0c10) |
326 | #define SMIAPP_REG_U8_FLASH_STROBE_ADJUSTMENT CCI_REG8(0x0c12) |
327 | #define SMIAPP_REG_U16_FLASH_STROBE_START_POINT CCI_REG16(0x0c14) |
328 | #define SMIAPP_REG_U16_TFLASH_STROBE_DELAY_RS_CTRL CCI_REG16(0x0c16) |
329 | #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_HIGH_RS_CTRL CCI_REG16(0x0c18) |
330 | #define SMIAPP_REG_U8_FLASH_MODE_RS CCI_REG8(0x0c1a) |
331 | #define SMIAPP_REG_U8_FLASH_TRIGGER_RS CCI_REG8(0x0c1b) |
332 | #define SMIAPP_REG_U8_FLASH_STATUS CCI_REG8(0x0c1c) |
333 | #define SMIAPP_REG_U8_SA_STROBE_MODE CCI_REG8(0x0c1d) |
334 | #define SMIAPP_REG_U16_SA_STROBE_START_POINT CCI_REG16(0x0c1e) |
335 | #define SMIAPP_REG_U16_TSA_STROBE_DELAY_CTRL CCI_REG16(0x0c20) |
336 | #define SMIAPP_REG_U16_TSA_STROBE_WIDTH_CTRL CCI_REG16(0x0c22) |
337 | #define SMIAPP_REG_U8_SA_STROBE_TRIGGER CCI_REG8(0x0c24) |
338 | #define SMIAPP_REG_U8_SPECIAL_ACTUATOR_STATUS CCI_REG8(0x0c25) |
339 | #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH2_HIGH_RS_CTRL CCI_REG16(0x0c26) |
340 | #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_LOW_RS_CTRL CCI_REG16(0x0c28) |
341 | #define SMIAPP_REG_U8_TFLASH_STROBE_COUNT_RS_CTRL CCI_REG8(0x0c2a) |
342 | #define SMIAPP_REG_U8_TFLASH_STROBE_COUNT_CTRL CCI_REG8(0x0c2b) |
343 | #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH2_HIGH_CTRL CCI_REG16(0x0c2c) |
344 | #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_LOW_CTRL CCI_REG16(0x0c2e) |
345 | #define SMIAPP_REG_U8_LOW_LEVEL_CTRL CCI_REG8(0x0c80) |
346 | #define SMIAPP_REG_U16_MAIN_TRIGGER_REF_POINT CCI_REG16(0x0c82) |
347 | #define SMIAPP_REG_U16_MAIN_TRIGGER_T3 CCI_REG16(0x0c84) |
348 | #define SMIAPP_REG_U8_MAIN_TRIGGER_COUNT CCI_REG8(0x0c86) |
349 | #define SMIAPP_REG_U16_PHASE1_TRIGGER_T3 CCI_REG16(0x0c88) |
350 | #define SMIAPP_REG_U8_PHASE1_TRIGGER_COUNT CCI_REG8(0x0c8a) |
351 | #define SMIAPP_REG_U16_PHASE2_TRIGGER_T3 CCI_REG16(0x0c8c) |
352 | #define SMIAPP_REG_U8_PHASE2_TRIGGER_COUNT CCI_REG8(0x0c8e) |
353 | #define SMIAPP_REG_U8_MECH_SHUTTER_CTRL CCI_REG8(0x0d00) |
354 | #define SMIAPP_REG_U8_OPERATION_MODE CCI_REG8(0x0d01) |
355 | #define SMIAPP_REG_U8_ACT_STATE1 CCI_REG8(0x0d02) |
356 | #define SMIAPP_REG_U8_ACT_STATE2 CCI_REG8(0x0d03) |
357 | #define SMIAPP_REG_U16_FOCUS_CHANGE CCI_REG16(0x0d80) |
358 | #define SMIAPP_REG_U16_FOCUS_CHANGE_CONTROL CCI_REG16(0x0d82) |
359 | #define SMIAPP_REG_U16_FOCUS_CHANGE_NUMBER_PHASE1 CCI_REG16(0x0d84) |
360 | #define SMIAPP_REG_U16_FOCUS_CHANGE_NUMBER_PHASE2 CCI_REG16(0x0d86) |
361 | #define SMIAPP_REG_U8_STROBE_COUNT_PHASE1 CCI_REG8(0x0d88) |
362 | #define SMIAPP_REG_U8_STROBE_COUNT_PHASE2 CCI_REG8(0x0d89) |
363 | #define SMIAPP_REG_U8_POSITION CCI_REG8(0x0d8a) |
364 | #define SMIAPP_REG_U8_BRACKETING_LUT_CONTROL CCI_REG8(0x0e00) |
365 | #define SMIAPP_REG_U8_BRACKETING_LUT_MODE CCI_REG8(0x0e01) |
366 | #define SMIAPP_REG_U8_BRACKETING_LUT_ENTRY_CONTROL CCI_REG8(0x0e02) |
367 | #define SMIAPP_REG_U8_LUT_PARAMETERS_START CCI_REG8(0x0e10) |
368 | #define SMIAPP_REG_U8_LUT_PARAMETERS_END CCI_REG8(0x0eff) |
369 | #define SMIAPP_REG_U16_INTEGRATION_TIME_CAPABILITY CCI_REG16(0x1000) |
370 | #define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME_MIN CCI_REG16(0x1004) |
371 | #define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME_MAX_MARGIN CCI_REG16(0x1006) |
372 | #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MIN CCI_REG16(0x1008) |
373 | #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MAX_MARGIN CCI_REG16(0x100a) |
374 | #define SMIAPP_REG_U16_DIGITAL_GAIN_CAPABILITY CCI_REG16(0x1080) |
375 | #define SMIAPP_REG_U16_DIGITAL_GAIN_MIN CCI_REG16(0x1084) |
376 | #define SMIAPP_REG_U16_DIGITAL_GAIN_MAX CCI_REG16(0x1086) |
377 | #define SMIAPP_REG_U16_DIGITAL_GAIN_STEP_SIZE CCI_REG16(0x1088) |
378 | #define SMIAPP_REG_F32_MIN_EXT_CLK_FREQ_HZ (CCI_REG32(0x1100) | CCS_FL_FLOAT_IREAL) |
379 | #define SMIAPP_REG_F32_MAX_EXT_CLK_FREQ_HZ (CCI_REG32(0x1104) | CCS_FL_FLOAT_IREAL) |
380 | #define SMIAPP_REG_U16_MIN_PRE_PLL_CLK_DIV CCI_REG16(0x1108) |
381 | #define SMIAPP_REG_U16_MAX_PRE_PLL_CLK_DIV CCI_REG16(0x110a) |
382 | #define SMIAPP_REG_F32_MIN_PLL_IP_FREQ_HZ (CCI_REG32(0x110c) | CCS_FL_FLOAT_IREAL) |
383 | #define SMIAPP_REG_F32_MAX_PLL_IP_FREQ_HZ (CCI_REG32(0x1110) | CCS_FL_FLOAT_IREAL) |
384 | #define SMIAPP_REG_U16_MIN_PLL_MULTIPLIER CCI_REG16(0x1114) |
385 | #define SMIAPP_REG_U16_MAX_PLL_MULTIPLIER CCI_REG16(0x1116) |
386 | #define SMIAPP_REG_F32_MIN_PLL_OP_FREQ_HZ (CCI_REG32(0x1118) | CCS_FL_FLOAT_IREAL) |
387 | #define SMIAPP_REG_F32_MAX_PLL_OP_FREQ_HZ (CCI_REG32(0x111c) | CCS_FL_FLOAT_IREAL) |
388 | #define SMIAPP_REG_U16_MIN_VT_SYS_CLK_DIV CCI_REG16(0x1120) |
389 | #define SMIAPP_REG_U16_MAX_VT_SYS_CLK_DIV CCI_REG16(0x1122) |
390 | #define SMIAPP_REG_F32_MIN_VT_SYS_CLK_FREQ_HZ (CCI_REG32(0x1124) | CCS_FL_FLOAT_IREAL) |
391 | #define SMIAPP_REG_F32_MAX_VT_SYS_CLK_FREQ_HZ (CCI_REG32(0x1128) | CCS_FL_FLOAT_IREAL) |
392 | #define SMIAPP_REG_F32_MIN_VT_PIX_CLK_FREQ_HZ (CCI_REG32(0x112c) | CCS_FL_FLOAT_IREAL) |
393 | #define SMIAPP_REG_F32_MAX_VT_PIX_CLK_FREQ_HZ (CCI_REG32(0x1130) | CCS_FL_FLOAT_IREAL) |
394 | #define SMIAPP_REG_U16_MIN_VT_PIX_CLK_DIV CCI_REG16(0x1134) |
395 | #define SMIAPP_REG_U16_MAX_VT_PIX_CLK_DIV CCI_REG16(0x1136) |
396 | #define SMIAPP_REG_U16_MIN_FRAME_LENGTH_LINES CCI_REG16(0x1140) |
397 | #define SMIAPP_REG_U16_MAX_FRAME_LENGTH_LINES CCI_REG16(0x1142) |
398 | #define SMIAPP_REG_U16_MIN_LINE_LENGTH_PCK CCI_REG16(0x1144) |
399 | #define SMIAPP_REG_U16_MAX_LINE_LENGTH_PCK CCI_REG16(0x1146) |
400 | #define SMIAPP_REG_U16_MIN_LINE_BLANKING_PCK CCI_REG16(0x1148) |
401 | #define SMIAPP_REG_U16_MIN_FRAME_BLANKING_LINES CCI_REG16(0x114a) |
402 | #define SMIAPP_REG_U8_MIN_LINE_LENGTH_PCK_STEP_SIZE CCI_REG8(0x114c) |
403 | #define SMIAPP_REG_U16_MIN_OP_SYS_CLK_DIV CCI_REG16(0x1160) |
404 | #define SMIAPP_REG_U16_MAX_OP_SYS_CLK_DIV CCI_REG16(0x1162) |
405 | #define SMIAPP_REG_F32_MIN_OP_SYS_CLK_FREQ_HZ (CCI_REG32(0x1164) | CCS_FL_FLOAT_IREAL) |
406 | #define SMIAPP_REG_F32_MAX_OP_SYS_CLK_FREQ_HZ (CCI_REG32(0x1168) | CCS_FL_FLOAT_IREAL) |
407 | #define SMIAPP_REG_U16_MIN_OP_PIX_CLK_DIV CCI_REG16(0x116c) |
408 | #define SMIAPP_REG_U16_MAX_OP_PIX_CLK_DIV CCI_REG16(0x116e) |
409 | #define SMIAPP_REG_F32_MIN_OP_PIX_CLK_FREQ_HZ (CCI_REG32(0x1170) | CCS_FL_FLOAT_IREAL) |
410 | #define SMIAPP_REG_F32_MAX_OP_PIX_CLK_FREQ_HZ (CCI_REG32(0x1174) | CCS_FL_FLOAT_IREAL) |
411 | #define SMIAPP_REG_U16_X_ADDR_MIN CCI_REG16(0x1180) |
412 | #define SMIAPP_REG_U16_Y_ADDR_MIN CCI_REG16(0x1182) |
413 | #define SMIAPP_REG_U16_X_ADDR_MAX CCI_REG16(0x1184) |
414 | #define SMIAPP_REG_U16_Y_ADDR_MAX CCI_REG16(0x1186) |
415 | #define SMIAPP_REG_U16_MIN_X_OUTPUT_SIZE CCI_REG16(0x1188) |
416 | #define SMIAPP_REG_U16_MIN_Y_OUTPUT_SIZE CCI_REG16(0x118a) |
417 | #define SMIAPP_REG_U16_MAX_X_OUTPUT_SIZE CCI_REG16(0x118c) |
418 | #define SMIAPP_REG_U16_MAX_Y_OUTPUT_SIZE CCI_REG16(0x118e) |
419 | #define SMIAPP_REG_U16_MIN_EVEN_INC CCI_REG16(0x11c0) |
420 | #define SMIAPP_REG_U16_MAX_EVEN_INC CCI_REG16(0x11c2) |
421 | #define SMIAPP_REG_U16_MIN_ODD_INC CCI_REG16(0x11c4) |
422 | #define SMIAPP_REG_U16_MAX_ODD_INC CCI_REG16(0x11c6) |
423 | #define SMIAPP_REG_U16_SCALING_CAPABILITY CCI_REG16(0x1200) |
424 | #define SMIAPP_REG_U16_SCALER_M_MIN CCI_REG16(0x1204) |
425 | #define SMIAPP_REG_U16_SCALER_M_MAX CCI_REG16(0x1206) |
426 | #define SMIAPP_REG_U16_SCALER_N_MIN CCI_REG16(0x1208) |
427 | #define SMIAPP_REG_U16_SCALER_N_MAX CCI_REG16(0x120a) |
428 | #define SMIAPP_REG_U16_SPATIAL_SAMPLING_CAPABILITY CCI_REG16(0x120c) |
429 | #define SMIAPP_REG_U8_DIGITAL_CROP_CAPABILITY CCI_REG8(0x120e) |
430 | #define SMIAPP_REG_U16_COMPRESSION_CAPABILITY CCI_REG16(0x1300) |
431 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINRED CCI_REG16(0x1400) |
432 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINRED CCI_REG16(0x1402) |
433 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINRED CCI_REG16(0x1404) |
434 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINGREEN CCI_REG16(0x1406) |
435 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINGREEN CCI_REG16(0x1408) |
436 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINGREEN CCI_REG16(0x140a) |
437 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINBLUE CCI_REG16(0x140c) |
438 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINBLUE CCI_REG16(0x140e) |
439 | #define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINBLUE CCI_REG16(0x1410) |
440 | #define SMIAPP_REG_U16_FIFO_SIZE_PIXELS CCI_REG16(0x1500) |
441 | #define SMIAPP_REG_U8_FIFO_SUPPORT_CAPABILITY CCI_REG8(0x1502) |
442 | #define SMIAPP_REG_U8_DPHY_CTRL_CAPABILITY CCI_REG8(0x1600) |
443 | #define SMIAPP_REG_U8_CSI_LANE_MODE_CAPABILITY CCI_REG8(0x1601) |
444 | #define SMIAPP_REG_U8_CSI_SIGNALLING_MODE_CAPABILITY CCI_REG8(0x1602) |
445 | #define SMIAPP_REG_U8_FAST_STANDBY_CAPABILITY CCI_REG8(0x1603) |
446 | #define SMIAPP_REG_U8_CCI_ADDRESS_CONTROL_CAPABILITY CCI_REG8(0x1604) |
447 | #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_1_LANE_MODE_MBPS CCI_REG32(0x1608) |
448 | #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_2_LANE_MODE_MBPS CCI_REG32(0x160c) |
449 | #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_3_LANE_MODE_MBPS CCI_REG32(0x1610) |
450 | #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_4_LANE_MODE_MBPS CCI_REG32(0x1614) |
451 | #define SMIAPP_REG_U8_TEMP_SENSOR_CAPABILITY CCI_REG8(0x1618) |
452 | #define SMIAPP_REG_U16_MIN_FRAME_LENGTH_LINES_BIN CCI_REG16(0x1700) |
453 | #define SMIAPP_REG_U16_MAX_FRAME_LENGTH_LINES_BIN CCI_REG16(0x1702) |
454 | #define SMIAPP_REG_U16_MIN_LINE_LENGTH_PCK_BIN CCI_REG16(0x1704) |
455 | #define SMIAPP_REG_U16_MAX_LINE_LENGTH_PCK_BIN CCI_REG16(0x1706) |
456 | #define SMIAPP_REG_U16_MIN_LINE_BLANKING_PCK_BIN CCI_REG16(0x1708) |
457 | #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MIN_BIN CCI_REG16(0x170a) |
458 | #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MAX_MARGIN_BIN CCI_REG16(0x170c) |
459 | #define SMIAPP_REG_U8_BINNING_CAPABILITY CCI_REG8(0x1710) |
460 | #define SMIAPP_REG_U8_BINNING_WEIGHTING_CAPABILITY CCI_REG8(0x1711) |
461 | #define SMIAPP_REG_U8_BINNING_SUBTYPES CCI_REG8(0x1712) |
462 | #define SMIAPP_REG_U8_BINNING_TYPE_n(n) CCI_REG8(0x1713 + (n)) /* 1 <= n <= 237 */ |
463 | #define SMIAPP_REG_U8_DATA_TRANSFER_IF_CAPABILITY CCI_REG8(0x1800) |
464 | #define SMIAPP_REG_U8_SHADING_CORRECTION_CAPABILITY CCI_REG8(0x1900) |
465 | #define SMIAPP_REG_U8_GREEN_IMBALANCE_CAPABILITY CCI_REG8(0x1901) |
466 | #define SMIAPP_REG_U8_BLACK_LEVEL_CAPABILITY CCI_REG8(0x1902) |
467 | #define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_CAPABILITY CCI_REG8(0x1903) |
468 | #define SMIAPP_REG_U16_DEFECT_CORRECTION_CAPABILITY CCI_REG16(0x1904) |
469 | #define SMIAPP_REG_U16_DEFECT_CORRECTION_CAPABILITY_2 CCI_REG16(0x1906) |
470 | #define SMIAPP_REG_U8_EDOF_CAPABILITY CCI_REG8(0x1980) |
471 | #define SMIAPP_REG_U8_ESTIMATION_FRAMES CCI_REG8(0x1981) |
472 | #define SMIAPP_REG_U8_SUPPORTS_SHARPNESS_ADJ CCI_REG8(0x1982) |
473 | #define SMIAPP_REG_U8_SUPPORTS_DENOISING_ADJ CCI_REG8(0x1983) |
474 | #define SMIAPP_REG_U8_SUPPORTS_MODULE_SPECIFIC_ADJ CCI_REG8(0x1984) |
475 | #define SMIAPP_REG_U8_SUPPORTS_DEPTH_OF_FIELD_ADJ CCI_REG8(0x1985) |
476 | #define SMIAPP_REG_U8_SUPPORTS_FOCUS_DISTANCE_ADJ CCI_REG8(0x1986) |
477 | #define SMIAPP_REG_U8_COLOUR_FEEDBACK_CAPABILITY CCI_REG8(0x1987) |
478 | #define SMIAPP_REG_U8_EDOF_SUPPORT_AB_NXM CCI_REG8(0x1988) |
479 | #define SMIAPP_REG_U8_ESTIMATION_MODE_CAPABILITY CCI_REG8(0x19c0) |
480 | #define SMIAPP_REG_U8_ESTIMATION_ZONE_CAPABILITY CCI_REG8(0x19c1) |
481 | #define SMIAPP_REG_U16_EST_DEPTH_OF_FIELD CCI_REG16(0x19c2) |
482 | #define SMIAPP_REG_U16_EST_FOCUS_DISTANCE CCI_REG16(0x19c4) |
483 | #define SMIAPP_REG_U16_CAPABILITY_TRDY_MIN CCI_REG16(0x1a00) |
484 | #define SMIAPP_REG_U8_FLASH_MODE_CAPABILITY CCI_REG8(0x1a02) |
485 | #define SMIAPP_REG_U16_MECH_SHUT_AND_ACT_START_ADDR CCI_REG16(0x1b02) |
486 | #define SMIAPP_REG_U8_ACTUATOR_CAPABILITY CCI_REG8(0x1b04) |
487 | #define SMIAPP_REG_U16_ACTUATOR_TYPE CCI_REG16(0x1b40) |
488 | #define SMIAPP_REG_U8_AF_DEVICE_ADDRESS CCI_REG8(0x1b42) |
489 | #define SMIAPP_REG_U16_FOCUS_CHANGE_ADDRESS CCI_REG16(0x1b44) |
490 | #define SMIAPP_REG_U8_BRACKETING_LUT_CAPABILITY_1 CCI_REG8(0x1c00) |
491 | #define SMIAPP_REG_U8_BRACKETING_LUT_CAPABILITY_2 CCI_REG8(0x1c01) |
492 | #define SMIAPP_REG_U8_BRACKETING_LUT_SIZE CCI_REG8(0x1c02) |
493 | |
494 | /* Register bit definitions */ |
495 | #define SMIAPP_IMAGE_ORIENTATION_HFLIP BIT(0) |
496 | #define SMIAPP_IMAGE_ORIENTATION_VFLIP BIT(1) |
497 | |
498 | #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_EN BIT(0) |
499 | #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_WR_EN BIT(1) |
500 | #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_ERR_CLEAR BIT(2) |
501 | #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_RD_READY BIT(0) |
502 | #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_WR_READY BIT(1) |
503 | #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EDATA BIT(2) |
504 | #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EUSAGE BIT(3) |
505 | |
506 | #define SMIAPP_DATA_TRANSFER_IF_CAPABILITY_SUPPORTED BIT(0) |
507 | #define SMIAPP_DATA_TRANSFER_IF_CAPABILITY_POLL BIT(2) |
508 | |
509 | #define SMIAPP_SOFTWARE_RESET BIT(0) |
510 | |
511 | #define SMIAPP_FLASH_MODE_CAPABILITY_SINGLE_STROBE BIT(0) |
512 | #define SMIAPP_FLASH_MODE_CAPABILITY_MULTIPLE_STROBE BIT(1) |
513 | |
514 | #define SMIAPP_CSI_SIGNALLING_MODE_CCP2_DATA_CLOCK 0 |
515 | #define SMIAPP_CSI_SIGNALLING_MODE_CCP2_DATA_STROBE 1 |
516 | #define SMIAPP_CSI_SIGNALLING_MODE_CSI2 2 |
517 | |
518 | #define SMIAPP_DPHY_CTRL_AUTOMATIC 0 |
519 | /* DPHY control based on REQUESTED_LINK_BIT_RATE_MBPS */ |
520 | #define SMIAPP_DPHY_CTRL_UI 1 |
521 | #define SMIAPP_DPHY_CTRL_REGISTER 2 |
522 | |
523 | #define SMIAPP_COMPRESSION_MODE_SIMPLE_PREDICTOR 1 |
524 | #define SMIAPP_COMPRESSION_MODE_ADVANCED_PREDICTOR 2 |
525 | |
526 | #define SMIAPP_MODE_SELECT_SOFTWARE_STANDBY 0 |
527 | #define SMIAPP_MODE_SELECT_STREAMING 1 |
528 | |
529 | #define SMIAPP_SCALING_MODE_NONE 0 |
530 | #define SMIAPP_SCALING_MODE_HORIZONTAL 1 |
531 | #define SMIAPP_SCALING_MODE_BOTH 2 |
532 | |
533 | #define SMIAPP_SCALING_CAPABILITY_NONE 0 |
534 | #define SMIAPP_SCALING_CAPABILITY_HORIZONTAL 1 |
535 | #define SMIAPP_SCALING_CAPABILITY_BOTH 2 /* horizontal/both */ |
536 | |
537 | /* digital crop right before scaler */ |
538 | #define SMIAPP_DIGITAL_CROP_CAPABILITY_NONE 0 |
539 | #define SMIAPP_DIGITAL_CROP_CAPABILITY_INPUT_CROP 1 |
540 | |
541 | #define SMIAPP_DIGITAL_GAIN_CAPABILITY_PER_CHANNEL 1 |
542 | |
543 | #define SMIAPP_BINNING_CAPABILITY_NO 0 |
544 | #define SMIAPP_BINNING_CAPABILITY_YES 1 |
545 | |
546 | /* Maximum number of binning subtypes */ |
547 | #define SMIAPP_BINNING_SUBTYPES 253 |
548 | |
549 | #define SMIAPP_PIXEL_ORDER_GRBG 0 |
550 | #define SMIAPP_PIXEL_ORDER_RGGB 1 |
551 | #define SMIAPP_PIXEL_ORDER_BGGR 2 |
552 | #define SMIAPP_PIXEL_ORDER_GBRG 3 |
553 | |
554 | #define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL 1 |
555 | #define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED 2 |
556 | #define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL_N 8 |
557 | #define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED_N 16 |
558 | |
559 | #define SMIAPP_FRAME_FORMAT_MODEL_TYPE_2BYTE 0x01 |
560 | #define SMIAPP_FRAME_FORMAT_MODEL_TYPE_4BYTE 0x02 |
561 | #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NROWS_MASK 0x0f |
562 | #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_MASK 0xf0 |
563 | #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_SHIFT 4 |
564 | |
565 | #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_MASK 0xf000 |
566 | #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_SHIFT 12 |
567 | #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELS_MASK 0x0fff |
568 | |
569 | #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_MASK 0xf0000000 |
570 | #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_SHIFT 28 |
571 | #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELS_MASK 0x0000ffff |
572 | |
573 | #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_EMBEDDED 1 |
574 | #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DUMMY 2 |
575 | #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_BLACK 3 |
576 | #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DARK 4 |
577 | #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_VISIBLE 5 |
578 | |
579 | #define SMIAPP_FAST_STANDBY_CTRL_COMPLETE_FRAMES 0 |
580 | #define SMIAPP_FAST_STANDBY_CTRL_IMMEDIATE 1 |
581 | |
582 | /* Scaling N factor */ |
583 | #define SMIAPP_SCALE_N 16 |
584 | |
585 | #endif /* __SMIAPP_REG_DEFS_H__ */ |
586 | |