]> Git Repo - linux.git/blob - drivers/media/i2c/ccs/smiapp-reg-defs.h
x86/kaslr: Expose and use the end of the physical memory address space
[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 #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__ */
This page took 0.086366 seconds and 4 git commands to generate.