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