Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * drivers/media/i2c/smiapp/smiapp-reg-defs.h
0004  *
0005  * Generic driver for MIPI CCS/SMIA/SMIA++ compliant camera sensors
0006  *
0007  * Copyright (C) 2020 Intel Corporation
0008  * Copyright (C) 2011--2012 Nokia Corporation
0009  * Contact: Sakari Ailus <sakari.ailus@iki.fi>
0010  */
0011 
0012 #ifndef __SMIAPP_REG_DEFS_H__
0013 #define __SMIAPP_REG_DEFS_H__
0014 
0015 /* Register addresses */
0016 #define SMIAPP_REG_U16_MODEL_ID                 (0x0000 | CCS_FL_16BIT)
0017 #define SMIAPP_REG_U8_REVISION_NUMBER_MAJOR         0x0002
0018 #define SMIAPP_REG_U8_MANUFACTURER_ID               0x0003
0019 #define SMIAPP_REG_U8_SMIA_VERSION              0x0004
0020 #define SMIAPP_REG_U8_FRAME_COUNT               0x0005
0021 #define SMIAPP_REG_U8_PIXEL_ORDER               0x0006
0022 #define SMIAPP_REG_U16_DATA_PEDESTAL                (0x0008 | CCS_FL_16BIT)
0023 #define SMIAPP_REG_U8_PIXEL_DEPTH               0x000c
0024 #define SMIAPP_REG_U8_REVISION_NUMBER_MINOR         0x0010
0025 #define SMIAPP_REG_U8_SMIAPP_VERSION                0x0011
0026 #define SMIAPP_REG_U8_MODULE_DATE_YEAR              0x0012
0027 #define SMIAPP_REG_U8_MODULE_DATE_MONTH             0x0013
0028 #define SMIAPP_REG_U8_MODULE_DATE_DAY               0x0014
0029 #define SMIAPP_REG_U8_MODULE_DATE_PHASE             0x0015
0030 #define SMIAPP_REG_U16_SENSOR_MODEL_ID              (0x0016 | CCS_FL_16BIT)
0031 #define SMIAPP_REG_U8_SENSOR_REVISION_NUMBER            0x0018
0032 #define SMIAPP_REG_U8_SENSOR_MANUFACTURER_ID            0x0019
0033 #define SMIAPP_REG_U8_SENSOR_FIRMWARE_VERSION           0x001a
0034 #define SMIAPP_REG_U32_SERIAL_NUMBER                (0x001c | CCS_FL_32BIT)
0035 #define SMIAPP_REG_U8_FRAME_FORMAT_MODEL_TYPE           0x0040
0036 #define SMIAPP_REG_U8_FRAME_FORMAT_MODEL_SUBTYPE        0x0041
0037 #define SMIAPP_REG_U16_FRAME_FORMAT_DESCRIPTOR_2(n)     ((0x0042 + ((n) << 1)) | CCS_FL_16BIT) /* 0 <= n <= 14 */
0038 #define SMIAPP_REG_U32_FRAME_FORMAT_DESCRIPTOR_4(n)     ((0x0060 + ((n) << 2)) | CCS_FL_32BIT) /* 0 <= n <= 7 */
0039 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CAPABILITY         (0x0080 | CCS_FL_16BIT)
0040 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_MIN           (0x0084 | CCS_FL_16BIT)
0041 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_MAX           (0x0086 | CCS_FL_16BIT)
0042 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_STEP          (0x0088 | CCS_FL_16BIT)
0043 #define SMIAPP_REG_U16_ANALOGUE_GAIN_TYPE           (0x008a | CCS_FL_16BIT)
0044 #define SMIAPP_REG_U16_ANALOGUE_GAIN_M0             (0x008c | CCS_FL_16BIT)
0045 #define SMIAPP_REG_U16_ANALOGUE_GAIN_C0             (0x008e | CCS_FL_16BIT)
0046 #define SMIAPP_REG_U16_ANALOGUE_GAIN_M1             (0x0090 | CCS_FL_16BIT)
0047 #define SMIAPP_REG_U16_ANALOGUE_GAIN_C1             (0x0092 | CCS_FL_16BIT)
0048 #define SMIAPP_REG_U8_DATA_FORMAT_MODEL_TYPE            0x00c0
0049 #define SMIAPP_REG_U8_DATA_FORMAT_MODEL_SUBTYPE         0x00c1
0050 #define SMIAPP_REG_U16_DATA_FORMAT_DESCRIPTOR(n)        ((0x00c2 + ((n) << 1)) | CCS_FL_16BIT)
0051 #define SMIAPP_REG_U8_MODE_SELECT               0x0100
0052 #define SMIAPP_REG_U8_IMAGE_ORIENTATION             0x0101
0053 #define SMIAPP_REG_U8_SOFTWARE_RESET                0x0103
0054 #define SMIAPP_REG_U8_GROUPED_PARAMETER_HOLD            0x0104
0055 #define SMIAPP_REG_U8_MASK_CORRUPTED_FRAMES         0x0105
0056 #define SMIAPP_REG_U8_FAST_STANDBY_CTRL             0x0106
0057 #define SMIAPP_REG_U8_CCI_ADDRESS_CONTROL           0x0107
0058 #define SMIAPP_REG_U8_2ND_CCI_IF_CONTROL            0x0108
0059 #define SMIAPP_REG_U8_2ND_CCI_ADDRESS_CONTROL           0x0109
0060 #define SMIAPP_REG_U8_CSI_CHANNEL_IDENTIFIER            0x0110
0061 #define SMIAPP_REG_U8_CSI_SIGNALLING_MODE           0x0111
0062 #define SMIAPP_REG_U16_CSI_DATA_FORMAT              (0x0112 | CCS_FL_16BIT)
0063 #define SMIAPP_REG_U8_CSI_LANE_MODE             0x0114
0064 #define SMIAPP_REG_U8_CSI2_10_TO_8_DT               0x0115
0065 #define SMIAPP_REG_U8_CSI2_10_TO_7_DT               0x0116
0066 #define SMIAPP_REG_U8_CSI2_10_TO_6_DT               0x0117
0067 #define SMIAPP_REG_U8_CSI2_12_TO_8_DT               0x0118
0068 #define SMIAPP_REG_U8_CSI2_12_TO_7_DT               0x0119
0069 #define SMIAPP_REG_U8_CSI2_12_TO_6_DT               0x011a
0070 #define SMIAPP_REG_U8_CSI2_14_TO_10_DT              0x011b
0071 #define SMIAPP_REG_U8_CSI2_14_TO_8_DT               0x011c
0072 #define SMIAPP_REG_U8_CSI2_16_TO_10_DT              0x011d
0073 #define SMIAPP_REG_U8_CSI2_16_TO_8_DT               0x011e
0074 #define SMIAPP_REG_U8_GAIN_MODE                 0x0120
0075 #define SMIAPP_REG_U16_VANA_VOLTAGE             (0x0130 | CCS_FL_16BIT)
0076 #define SMIAPP_REG_U16_VDIG_VOLTAGE             (0x0132 | CCS_FL_16BIT)
0077 #define SMIAPP_REG_U16_VIO_VOLTAGE              (0x0134 | CCS_FL_16BIT)
0078 #define SMIAPP_REG_U16_EXTCLK_FREQUENCY_MHZ         (0x0136 | CCS_FL_16BIT)
0079 #define SMIAPP_REG_U8_TEMP_SENSOR_CONTROL           0x0138
0080 #define SMIAPP_REG_U8_TEMP_SENSOR_MODE              0x0139
0081 #define SMIAPP_REG_U8_TEMP_SENSOR_OUTPUT            0x013a
0082 #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME            (0x0200 | CCS_FL_16BIT)
0083 #define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME          (0x0202 | CCS_FL_16BIT)
0084 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GLOBAL        (0x0204 | CCS_FL_16BIT)
0085 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GREENR        (0x0206 | CCS_FL_16BIT)
0086 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_RED           (0x0208 | CCS_FL_16BIT)
0087 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_BLUE          (0x020a | CCS_FL_16BIT)
0088 #define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GREENB        (0x020c | CCS_FL_16BIT)
0089 #define SMIAPP_REG_U16_DIGITAL_GAIN_GREENR          (0x020e | CCS_FL_16BIT)
0090 #define SMIAPP_REG_U16_DIGITAL_GAIN_RED             (0x0210 | CCS_FL_16BIT)
0091 #define SMIAPP_REG_U16_DIGITAL_GAIN_BLUE            (0x0212 | CCS_FL_16BIT)
0092 #define SMIAPP_REG_U16_DIGITAL_GAIN_GREENB          (0x0214 | CCS_FL_16BIT)
0093 #define SMIAPP_REG_U16_VT_PIX_CLK_DIV               (0x0300 | CCS_FL_16BIT)
0094 #define SMIAPP_REG_U16_VT_SYS_CLK_DIV               (0x0302 | CCS_FL_16BIT)
0095 #define SMIAPP_REG_U16_PRE_PLL_CLK_DIV              (0x0304 | CCS_FL_16BIT)
0096 #define SMIAPP_REG_U16_PLL_MULTIPLIER               (0x0306 | CCS_FL_16BIT)
0097 #define SMIAPP_REG_U16_OP_PIX_CLK_DIV               (0x0308 | CCS_FL_16BIT)
0098 #define SMIAPP_REG_U16_OP_SYS_CLK_DIV               (0x030a | CCS_FL_16BIT)
0099 #define SMIAPP_REG_U16_FRAME_LENGTH_LINES           (0x0340 | CCS_FL_16BIT)
0100 #define SMIAPP_REG_U16_LINE_LENGTH_PCK              (0x0342 | CCS_FL_16BIT)
0101 #define SMIAPP_REG_U16_X_ADDR_START             (0x0344 | CCS_FL_16BIT)
0102 #define SMIAPP_REG_U16_Y_ADDR_START             (0x0346 | CCS_FL_16BIT)
0103 #define SMIAPP_REG_U16_X_ADDR_END               (0x0348 | CCS_FL_16BIT)
0104 #define SMIAPP_REG_U16_Y_ADDR_END               (0x034a | CCS_FL_16BIT)
0105 #define SMIAPP_REG_U16_X_OUTPUT_SIZE                (0x034c | CCS_FL_16BIT)
0106 #define SMIAPP_REG_U16_Y_OUTPUT_SIZE                (0x034e | CCS_FL_16BIT)
0107 #define SMIAPP_REG_U16_X_EVEN_INC               (0x0380 | CCS_FL_16BIT)
0108 #define SMIAPP_REG_U16_X_ODD_INC                (0x0382 | CCS_FL_16BIT)
0109 #define SMIAPP_REG_U16_Y_EVEN_INC               (0x0384 | CCS_FL_16BIT)
0110 #define SMIAPP_REG_U16_Y_ODD_INC                (0x0386 | CCS_FL_16BIT)
0111 #define SMIAPP_REG_U16_SCALING_MODE             (0x0400 | CCS_FL_16BIT)
0112 #define SMIAPP_REG_U16_SPATIAL_SAMPLING             (0x0402 | CCS_FL_16BIT)
0113 #define SMIAPP_REG_U16_SCALE_M                  (0x0404 | CCS_FL_16BIT)
0114 #define SMIAPP_REG_U16_SCALE_N                  (0x0406 | CCS_FL_16BIT)
0115 #define SMIAPP_REG_U16_DIGITAL_CROP_X_OFFSET            (0x0408 | CCS_FL_16BIT)
0116 #define SMIAPP_REG_U16_DIGITAL_CROP_Y_OFFSET            (0x040a | CCS_FL_16BIT)
0117 #define SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_WIDTH         (0x040c | CCS_FL_16BIT)
0118 #define SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_HEIGHT        (0x040e | CCS_FL_16BIT)
0119 #define SMIAPP_REG_U16_COMPRESSION_MODE             (0x0500 | CCS_FL_16BIT)
0120 #define SMIAPP_REG_U16_TEST_PATTERN_MODE            (0x0600 | CCS_FL_16BIT)
0121 #define SMIAPP_REG_U16_TEST_DATA_RED                (0x0602 | CCS_FL_16BIT)
0122 #define SMIAPP_REG_U16_TEST_DATA_GREENR             (0x0604 | CCS_FL_16BIT)
0123 #define SMIAPP_REG_U16_TEST_DATA_BLUE               (0x0606 | CCS_FL_16BIT)
0124 #define SMIAPP_REG_U16_TEST_DATA_GREENB             (0x0608 | CCS_FL_16BIT)
0125 #define SMIAPP_REG_U16_HORIZONTAL_CURSOR_WIDTH          (0x060a | CCS_FL_16BIT)
0126 #define SMIAPP_REG_U16_HORIZONTAL_CURSOR_POSITION       (0x060c | CCS_FL_16BIT)
0127 #define SMIAPP_REG_U16_VERTICAL_CURSOR_WIDTH            (0x060e | CCS_FL_16BIT)
0128 #define SMIAPP_REG_U16_VERTICAL_CURSOR_POSITION         (0x0610 | CCS_FL_16BIT)
0129 #define SMIAPP_REG_U16_FIFO_WATER_MARK_PIXELS           (0x0700 | CCS_FL_16BIT)
0130 #define SMIAPP_REG_U8_TCLK_POST                 0x0800
0131 #define SMIAPP_REG_U8_THS_PREPARE               0x0801
0132 #define SMIAPP_REG_U8_THS_ZERO_MIN              0x0802
0133 #define SMIAPP_REG_U8_THS_TRAIL                 0x0803
0134 #define SMIAPP_REG_U8_TCLK_TRAIL_MIN                0x0804
0135 #define SMIAPP_REG_U8_TCLK_PREPARE              0x0805
0136 #define SMIAPP_REG_U8_TCLK_ZERO                 0x0806
0137 #define SMIAPP_REG_U8_TLPX                  0x0807
0138 #define SMIAPP_REG_U8_DPHY_CTRL                 0x0808
0139 #define SMIAPP_REG_U32_REQUESTED_LINK_BIT_RATE_MBPS     (0x0820 | CCS_FL_32BIT)
0140 #define SMIAPP_REG_U8_BINNING_MODE              0x0900
0141 #define SMIAPP_REG_U8_BINNING_TYPE              0x0901
0142 #define SMIAPP_REG_U8_BINNING_WEIGHTING             0x0902
0143 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_CTRL           0x0a00
0144 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_STATUS         0x0a01
0145 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_PAGE_SELECT        0x0a02
0146 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_0         0x0a04
0147 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_1         0x0a05
0148 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_2         0x0a06
0149 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_3         0x0a07
0150 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_4         0x0a08
0151 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_5         0x0a09
0152 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_12        0x0a10
0153 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_13        0x0a11
0154 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_14        0x0a12
0155 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_15        0x0a13
0156 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_16        0x0a14
0157 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_17        0x0a15
0158 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_18        0x0a16
0159 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_19        0x0a17
0160 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_20        0x0a18
0161 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_21        0x0a19
0162 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_22        0x0a1a
0163 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_23        0x0a1b
0164 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_24        0x0a1c
0165 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_25        0x0a1d
0166 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_26        0x0a1e
0167 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_27        0x0a1f
0168 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_28        0x0a20
0169 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_29        0x0a21
0170 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_30        0x0a22
0171 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_31        0x0a23
0172 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_32        0x0a24
0173 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_33        0x0a25
0174 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_34        0x0a26
0175 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_35        0x0a27
0176 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_36        0x0a28
0177 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_37        0x0a29
0178 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_38        0x0a2a
0179 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_39        0x0a2b
0180 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_40        0x0a2c
0181 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_41        0x0a2d
0182 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_42        0x0a2e
0183 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_43        0x0a2f
0184 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_44        0x0a30
0185 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_45        0x0a31
0186 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_46        0x0a32
0187 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_47        0x0a33
0188 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_48        0x0a34
0189 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_49        0x0a35
0190 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_50        0x0a36
0191 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_51        0x0a37
0192 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_52        0x0a38
0193 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_53        0x0a39
0194 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_54        0x0a3a
0195 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_55        0x0a3b
0196 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_56        0x0a3c
0197 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_57        0x0a3d
0198 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_58        0x0a3e
0199 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_59        0x0a3f
0200 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_60        0x0a40
0201 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_61        0x0a41
0202 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_62        0x0a42
0203 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_63        0x0a43
0204 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_CTRL           0x0a44
0205 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_STATUS         0x0a45
0206 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_PAGE_SELECT        0x0a46
0207 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_0         0x0a48
0208 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_1         0x0a49
0209 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_2         0x0a4a
0210 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_3         0x0a4b
0211 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_4         0x0a4c
0212 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_5         0x0a4d
0213 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_6         0x0a4e
0214 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_7         0x0a4f
0215 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_8         0x0a50
0216 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_9         0x0a51
0217 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_10        0x0a52
0218 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_11        0x0a53
0219 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_12        0x0a54
0220 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_13        0x0a55
0221 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_14        0x0a56
0222 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_15        0x0a57
0223 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_16        0x0a58
0224 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_17        0x0a59
0225 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_18        0x0a5a
0226 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_19        0x0a5b
0227 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_20        0x0a5c
0228 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_21        0x0a5d
0229 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_22        0x0a5e
0230 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_23        0x0a5f
0231 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_24        0x0a60
0232 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_25        0x0a61
0233 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_26        0x0a62
0234 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_27        0x0a63
0235 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_28        0x0a64
0236 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_29        0x0a65
0237 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_30        0x0a66
0238 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_31        0x0a67
0239 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_32        0x0a68
0240 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_33        0x0a69
0241 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_34        0x0a6a
0242 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_35        0x0a6b
0243 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_36        0x0a6c
0244 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_37        0x0a6d
0245 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_38        0x0a6e
0246 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_39        0x0a6f
0247 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_40        0x0a70
0248 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_41        0x0a71
0249 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_42        0x0a72
0250 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_43        0x0a73
0251 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_44        0x0a74
0252 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_45        0x0a75
0253 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_46        0x0a76
0254 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_47        0x0a77
0255 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_48        0x0a78
0256 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_49        0x0a79
0257 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_50        0x0a7a
0258 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_51        0x0a7b
0259 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_52        0x0a7c
0260 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_53        0x0a7d
0261 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_54        0x0a7e
0262 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_55        0x0a7f
0263 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_56        0x0a80
0264 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_57        0x0a81
0265 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_58        0x0a82
0266 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_59        0x0a83
0267 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_60        0x0a84
0268 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_61        0x0a85
0269 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_62        0x0a86
0270 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_63        0x0a87
0271 #define SMIAPP_REG_U8_SHADING_CORRECTION_ENABLE         0x0b00
0272 #define SMIAPP_REG_U8_LUMINANCE_CORRECTION_LEVEL        0x0b01
0273 #define SMIAPP_REG_U8_GREEN_IMBALANCE_FILTER_ENABLE     0x0b02
0274 #define SMIAPP_REG_U8_GREEN_IMBALANCE_FILTER_WEIGHT     0x0b03
0275 #define SMIAPP_REG_U8_BLACK_LEVEL_CORRECTION_ENABLE     0x0b04
0276 #define SMIAPP_REG_U8_MAPPED_COUPLET_CORRECT_ENABLE     0x0b05
0277 #define SMIAPP_REG_U8_SINGLE_DEFECT_CORRECT_ENABLE      0x0b06
0278 #define SMIAPP_REG_U8_SINGLE_DEFECT_CORRECT_WEIGHT      0x0b07
0279 #define SMIAPP_REG_U8_DYNAMIC_COUPLET_CORRECT_ENABLE        0x0b08
0280 #define SMIAPP_REG_U8_DYNAMIC_COUPLET_CORRECT_WEIGHT        0x0b09
0281 #define SMIAPP_REG_U8_COMBINED_DEFECT_CORRECT_ENABLE        0x0b0a
0282 #define SMIAPP_REG_U8_COMBINED_DEFECT_CORRECT_WEIGHT        0x0b0b
0283 #define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_ENABLE     0x0b0c
0284 #define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_WEIGHT     0x0b0d
0285 #define SMIAPP_REG_U8_MAPPED_LINE_DEFECT_CORRECT_ENABLE     0x0b0e
0286 #define SMIAPP_REG_U8_MAPPED_LINE_DEFECT_CORRECT_ADJUST     0x0b0f
0287 #define SMIAPP_REG_U8_MAPPED_COUPLET_CORRECT_ADJUST     0x0b10
0288 #define SMIAPP_REG_U8_MAPPED_TRIPLET_DEFECT_CORRECT_ENABLE  0x0b11
0289 #define SMIAPP_REG_U8_MAPPED_TRIPLET_DEFECT_CORRECT_ADJUST  0x0b12
0290 #define SMIAPP_REG_U8_DYNAMIC_TRIPLET_DEFECT_CORRECT_ENABLE 0x0b13
0291 #define SMIAPP_REG_U8_DYNAMIC_TRIPLET_DEFECT_CORRECT_ADJUST 0x0b14
0292 #define SMIAPP_REG_U8_DYNAMIC_LINE_DEFECT_CORRECT_ENABLE    0x0b15
0293 #define SMIAPP_REG_U8_DYNAMIC_LINE_DEFECT_CORRECT_ADJUST    0x0b16
0294 #define SMIAPP_REG_U8_EDOF_MODE                 0x0b80
0295 #define SMIAPP_REG_U8_SHARPNESS                 0x0b83
0296 #define SMIAPP_REG_U8_DENOISING                 0x0b84
0297 #define SMIAPP_REG_U8_MODULE_SPECIFIC               0x0b85
0298 #define SMIAPP_REG_U16_DEPTH_OF_FIELD               (0x0b86 | CCS_FL_16BIT)
0299 #define SMIAPP_REG_U16_FOCUS_DISTANCE               (0x0b88 | CCS_FL_16BIT)
0300 #define SMIAPP_REG_U8_ESTIMATION_MODE_CTRL          0x0b8a
0301 #define SMIAPP_REG_U16_COLOUR_TEMPERATURE           (0x0b8c | CCS_FL_16BIT)
0302 #define SMIAPP_REG_U16_ABSOLUTE_GAIN_GREENR         (0x0b8e | CCS_FL_16BIT)
0303 #define SMIAPP_REG_U16_ABSOLUTE_GAIN_RED            (0x0b90 | CCS_FL_16BIT)
0304 #define SMIAPP_REG_U16_ABSOLUTE_GAIN_BLUE           (0x0b92 | CCS_FL_16BIT)
0305 #define SMIAPP_REG_U16_ABSOLUTE_GAIN_GREENB         (0x0b94 | CCS_FL_16BIT)
0306 #define SMIAPP_REG_U8_ESTIMATION_ZONE_MODE          0x0bc0
0307 #define SMIAPP_REG_U16_FIXED_ZONE_WEIGHTING         (0x0bc2 | CCS_FL_16BIT)
0308 #define SMIAPP_REG_U16_CUSTOM_ZONE_X_START          (0x0bc4 | CCS_FL_16BIT)
0309 #define SMIAPP_REG_U16_CUSTOM_ZONE_Y_START          (0x0bc6 | CCS_FL_16BIT)
0310 #define SMIAPP_REG_U16_CUSTOM_ZONE_WIDTH            (0x0bc8 | CCS_FL_16BIT)
0311 #define SMIAPP_REG_U16_CUSTOM_ZONE_HEIGHT           (0x0bca | CCS_FL_16BIT)
0312 #define SMIAPP_REG_U8_GLOBAL_RESET_CTRL1            0x0c00
0313 #define SMIAPP_REG_U8_GLOBAL_RESET_CTRL2            0x0c01
0314 #define SMIAPP_REG_U8_GLOBAL_RESET_MODE_CONFIG_1        0x0c02
0315 #define SMIAPP_REG_U8_GLOBAL_RESET_MODE_CONFIG_2        0x0c03
0316 #define SMIAPP_REG_U16_TRDY_CTRL                (0x0c04 | CCS_FL_16BIT)
0317 #define SMIAPP_REG_U16_TRDOUT_CTRL              (0x0c06 | CCS_FL_16BIT)
0318 #define SMIAPP_REG_U16_TSHUTTER_STROBE_DELAY_CTRL       (0x0c08 | CCS_FL_16BIT)
0319 #define SMIAPP_REG_U16_TSHUTTER_STROBE_WIDTH_CTRL       (0x0c0a | CCS_FL_16BIT)
0320 #define SMIAPP_REG_U16_TFLASH_STROBE_DELAY_CTRL         (0x0c0c | CCS_FL_16BIT)
0321 #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_HIGH_CTRL        (0x0c0e | CCS_FL_16BIT)
0322 #define SMIAPP_REG_U16_TGRST_INTERVAL_CTRL          (0x0c10 | CCS_FL_16BIT)
0323 #define SMIAPP_REG_U8_FLASH_STROBE_ADJUSTMENT           0x0c12
0324 #define SMIAPP_REG_U16_FLASH_STROBE_START_POINT         (0x0c14 | CCS_FL_16BIT)
0325 #define SMIAPP_REG_U16_TFLASH_STROBE_DELAY_RS_CTRL      (0x0c16 | CCS_FL_16BIT)
0326 #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_HIGH_RS_CTRL     (0x0c18 | CCS_FL_16BIT)
0327 #define SMIAPP_REG_U8_FLASH_MODE_RS             0x0c1a
0328 #define SMIAPP_REG_U8_FLASH_TRIGGER_RS              0x0c1b
0329 #define SMIAPP_REG_U8_FLASH_STATUS              0x0c1c
0330 #define SMIAPP_REG_U8_SA_STROBE_MODE                0x0c1d
0331 #define SMIAPP_REG_U16_SA_STROBE_START_POINT            (0x0c1e | CCS_FL_16BIT)
0332 #define SMIAPP_REG_U16_TSA_STROBE_DELAY_CTRL            (0x0c20 | CCS_FL_16BIT)
0333 #define SMIAPP_REG_U16_TSA_STROBE_WIDTH_CTRL            (0x0c22 | CCS_FL_16BIT)
0334 #define SMIAPP_REG_U8_SA_STROBE_TRIGGER             0x0c24
0335 #define SMIAPP_REG_U8_SPECIAL_ACTUATOR_STATUS           0x0c25
0336 #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH2_HIGH_RS_CTRL    (0x0c26 | CCS_FL_16BIT)
0337 #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_LOW_RS_CTRL      (0x0c28 | CCS_FL_16BIT)
0338 #define SMIAPP_REG_U8_TFLASH_STROBE_COUNT_RS_CTRL       0x0c2a
0339 #define SMIAPP_REG_U8_TFLASH_STROBE_COUNT_CTRL          0x0c2b
0340 #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH2_HIGH_CTRL       (0x0c2c | CCS_FL_16BIT)
0341 #define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_LOW_CTRL     (0x0c2e | CCS_FL_16BIT)
0342 #define SMIAPP_REG_U8_LOW_LEVEL_CTRL                0x0c80
0343 #define SMIAPP_REG_U16_MAIN_TRIGGER_REF_POINT           (0x0c82 | CCS_FL_16BIT)
0344 #define SMIAPP_REG_U16_MAIN_TRIGGER_T3              (0x0c84 | CCS_FL_16BIT)
0345 #define SMIAPP_REG_U8_MAIN_TRIGGER_COUNT            0x0c86
0346 #define SMIAPP_REG_U16_PHASE1_TRIGGER_T3            (0x0c88 | CCS_FL_16BIT)
0347 #define SMIAPP_REG_U8_PHASE1_TRIGGER_COUNT          0x0c8a
0348 #define SMIAPP_REG_U16_PHASE2_TRIGGER_T3            (0x0c8c | CCS_FL_16BIT)
0349 #define SMIAPP_REG_U8_PHASE2_TRIGGER_COUNT          0x0c8e
0350 #define SMIAPP_REG_U8_MECH_SHUTTER_CTRL             0x0d00
0351 #define SMIAPP_REG_U8_OPERATION_MODE                0x0d01
0352 #define SMIAPP_REG_U8_ACT_STATE1                0x0d02
0353 #define SMIAPP_REG_U8_ACT_STATE2                0x0d03
0354 #define SMIAPP_REG_U16_FOCUS_CHANGE             (0x0d80 | CCS_FL_16BIT)
0355 #define SMIAPP_REG_U16_FOCUS_CHANGE_CONTROL         (0x0d82 | CCS_FL_16BIT)
0356 #define SMIAPP_REG_U16_FOCUS_CHANGE_NUMBER_PHASE1       (0x0d84 | CCS_FL_16BIT)
0357 #define SMIAPP_REG_U16_FOCUS_CHANGE_NUMBER_PHASE2       (0x0d86 | CCS_FL_16BIT)
0358 #define SMIAPP_REG_U8_STROBE_COUNT_PHASE1           0x0d88
0359 #define SMIAPP_REG_U8_STROBE_COUNT_PHASE2           0x0d89
0360 #define SMIAPP_REG_U8_POSITION                  0x0d8a
0361 #define SMIAPP_REG_U8_BRACKETING_LUT_CONTROL            0x0e00
0362 #define SMIAPP_REG_U8_BRACKETING_LUT_MODE           0x0e01
0363 #define SMIAPP_REG_U8_BRACKETING_LUT_ENTRY_CONTROL      0x0e02
0364 #define SMIAPP_REG_U8_LUT_PARAMETERS_START          0x0e10
0365 #define SMIAPP_REG_U8_LUT_PARAMETERS_END            0x0eff
0366 #define SMIAPP_REG_U16_INTEGRATION_TIME_CAPABILITY      (0x1000 | CCS_FL_16BIT)
0367 #define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME_MIN      (0x1004 | CCS_FL_16BIT)
0368 #define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME_MAX_MARGIN   (0x1006 | CCS_FL_16BIT)
0369 #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MIN        (0x1008 | CCS_FL_16BIT)
0370 #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MAX_MARGIN     (0x100a | CCS_FL_16BIT)
0371 #define SMIAPP_REG_U16_DIGITAL_GAIN_CAPABILITY          (0x1080 | CCS_FL_16BIT)
0372 #define SMIAPP_REG_U16_DIGITAL_GAIN_MIN             (0x1084 | CCS_FL_16BIT)
0373 #define SMIAPP_REG_U16_DIGITAL_GAIN_MAX             (0x1086 | CCS_FL_16BIT)
0374 #define SMIAPP_REG_U16_DIGITAL_GAIN_STEP_SIZE           (0x1088 | CCS_FL_16BIT)
0375 #define SMIAPP_REG_F32_MIN_EXT_CLK_FREQ_HZ          (0x1100 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0376 #define SMIAPP_REG_F32_MAX_EXT_CLK_FREQ_HZ          (0x1104 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0377 #define SMIAPP_REG_U16_MIN_PRE_PLL_CLK_DIV          (0x1108 | CCS_FL_16BIT)
0378 #define SMIAPP_REG_U16_MAX_PRE_PLL_CLK_DIV          (0x110a | CCS_FL_16BIT)
0379 #define SMIAPP_REG_F32_MIN_PLL_IP_FREQ_HZ           (0x110c | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0380 #define SMIAPP_REG_F32_MAX_PLL_IP_FREQ_HZ           (0x1110 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0381 #define SMIAPP_REG_U16_MIN_PLL_MULTIPLIER           (0x1114 | CCS_FL_16BIT)
0382 #define SMIAPP_REG_U16_MAX_PLL_MULTIPLIER           (0x1116 | CCS_FL_16BIT)
0383 #define SMIAPP_REG_F32_MIN_PLL_OP_FREQ_HZ           (0x1118 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0384 #define SMIAPP_REG_F32_MAX_PLL_OP_FREQ_HZ           (0x111c | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0385 #define SMIAPP_REG_U16_MIN_VT_SYS_CLK_DIV           (0x1120 | CCS_FL_16BIT)
0386 #define SMIAPP_REG_U16_MAX_VT_SYS_CLK_DIV           (0x1122 | CCS_FL_16BIT)
0387 #define SMIAPP_REG_F32_MIN_VT_SYS_CLK_FREQ_HZ           (0x1124 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0388 #define SMIAPP_REG_F32_MAX_VT_SYS_CLK_FREQ_HZ           (0x1128 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0389 #define SMIAPP_REG_F32_MIN_VT_PIX_CLK_FREQ_HZ           (0x112c | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0390 #define SMIAPP_REG_F32_MAX_VT_PIX_CLK_FREQ_HZ           (0x1130 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0391 #define SMIAPP_REG_U16_MIN_VT_PIX_CLK_DIV           (0x1134 | CCS_FL_16BIT)
0392 #define SMIAPP_REG_U16_MAX_VT_PIX_CLK_DIV           (0x1136 | CCS_FL_16BIT)
0393 #define SMIAPP_REG_U16_MIN_FRAME_LENGTH_LINES           (0x1140 | CCS_FL_16BIT)
0394 #define SMIAPP_REG_U16_MAX_FRAME_LENGTH_LINES           (0x1142 | CCS_FL_16BIT)
0395 #define SMIAPP_REG_U16_MIN_LINE_LENGTH_PCK          (0x1144 | CCS_FL_16BIT)
0396 #define SMIAPP_REG_U16_MAX_LINE_LENGTH_PCK          (0x1146 | CCS_FL_16BIT)
0397 #define SMIAPP_REG_U16_MIN_LINE_BLANKING_PCK            (0x1148 | CCS_FL_16BIT)
0398 #define SMIAPP_REG_U16_MIN_FRAME_BLANKING_LINES         (0x114a | CCS_FL_16BIT)
0399 #define SMIAPP_REG_U8_MIN_LINE_LENGTH_PCK_STEP_SIZE     0x114c
0400 #define SMIAPP_REG_U16_MIN_OP_SYS_CLK_DIV           (0x1160 | CCS_FL_16BIT)
0401 #define SMIAPP_REG_U16_MAX_OP_SYS_CLK_DIV           (0x1162 | CCS_FL_16BIT)
0402 #define SMIAPP_REG_F32_MIN_OP_SYS_CLK_FREQ_HZ           (0x1164 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0403 #define SMIAPP_REG_F32_MAX_OP_SYS_CLK_FREQ_HZ           (0x1168 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0404 #define SMIAPP_REG_U16_MIN_OP_PIX_CLK_DIV           (0x116c | CCS_FL_16BIT)
0405 #define SMIAPP_REG_U16_MAX_OP_PIX_CLK_DIV           (0x116e | CCS_FL_16BIT)
0406 #define SMIAPP_REG_F32_MIN_OP_PIX_CLK_FREQ_HZ           (0x1170 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0407 #define SMIAPP_REG_F32_MAX_OP_PIX_CLK_FREQ_HZ           (0x1174 | CCS_FL_FLOAT_IREAL | CCS_FL_32BIT)
0408 #define SMIAPP_REG_U16_X_ADDR_MIN               (0x1180 | CCS_FL_16BIT)
0409 #define SMIAPP_REG_U16_Y_ADDR_MIN               (0x1182 | CCS_FL_16BIT)
0410 #define SMIAPP_REG_U16_X_ADDR_MAX               (0x1184 | CCS_FL_16BIT)
0411 #define SMIAPP_REG_U16_Y_ADDR_MAX               (0x1186 | CCS_FL_16BIT)
0412 #define SMIAPP_REG_U16_MIN_X_OUTPUT_SIZE            (0x1188 | CCS_FL_16BIT)
0413 #define SMIAPP_REG_U16_MIN_Y_OUTPUT_SIZE            (0x118a | CCS_FL_16BIT)
0414 #define SMIAPP_REG_U16_MAX_X_OUTPUT_SIZE            (0x118c | CCS_FL_16BIT)
0415 #define SMIAPP_REG_U16_MAX_Y_OUTPUT_SIZE            (0x118e | CCS_FL_16BIT)
0416 #define SMIAPP_REG_U16_MIN_EVEN_INC             (0x11c0 | CCS_FL_16BIT)
0417 #define SMIAPP_REG_U16_MAX_EVEN_INC             (0x11c2 | CCS_FL_16BIT)
0418 #define SMIAPP_REG_U16_MIN_ODD_INC              (0x11c4 | CCS_FL_16BIT)
0419 #define SMIAPP_REG_U16_MAX_ODD_INC              (0x11c6 | CCS_FL_16BIT)
0420 #define SMIAPP_REG_U16_SCALING_CAPABILITY           (0x1200 | CCS_FL_16BIT)
0421 #define SMIAPP_REG_U16_SCALER_M_MIN             (0x1204 | CCS_FL_16BIT)
0422 #define SMIAPP_REG_U16_SCALER_M_MAX             (0x1206 | CCS_FL_16BIT)
0423 #define SMIAPP_REG_U16_SCALER_N_MIN             (0x1208 | CCS_FL_16BIT)
0424 #define SMIAPP_REG_U16_SCALER_N_MAX             (0x120a | CCS_FL_16BIT)
0425 #define SMIAPP_REG_U16_SPATIAL_SAMPLING_CAPABILITY      (0x120c | CCS_FL_16BIT)
0426 #define SMIAPP_REG_U8_DIGITAL_CROP_CAPABILITY           0x120e
0427 #define SMIAPP_REG_U16_COMPRESSION_CAPABILITY           (0x1300 | CCS_FL_16BIT)
0428 #define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINRED          (0x1400 | CCS_FL_16BIT)
0429 #define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINRED        (0x1402 | CCS_FL_16BIT)
0430 #define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINRED         (0x1404 | CCS_FL_16BIT)
0431 #define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINGREEN        (0x1406 | CCS_FL_16BIT)
0432 #define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINGREEN      (0x1408 | CCS_FL_16BIT)
0433 #define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINGREEN       (0x140a | CCS_FL_16BIT)
0434 #define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINBLUE         (0x140c | CCS_FL_16BIT)
0435 #define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINBLUE       (0x140e | CCS_FL_16BIT)
0436 #define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINBLUE        (0x1410 | CCS_FL_16BIT)
0437 #define SMIAPP_REG_U16_FIFO_SIZE_PIXELS             (0x1500 | CCS_FL_16BIT)
0438 #define SMIAPP_REG_U8_FIFO_SUPPORT_CAPABILITY           0x1502
0439 #define SMIAPP_REG_U8_DPHY_CTRL_CAPABILITY          0x1600
0440 #define SMIAPP_REG_U8_CSI_LANE_MODE_CAPABILITY          0x1601
0441 #define SMIAPP_REG_U8_CSI_SIGNALLING_MODE_CAPABILITY        0x1602
0442 #define SMIAPP_REG_U8_FAST_STANDBY_CAPABILITY           0x1603
0443 #define SMIAPP_REG_U8_CCI_ADDRESS_CONTROL_CAPABILITY        0x1604
0444 #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_1_LANE_MODE_MBPS    (0x1608 | CCS_FL_32BIT)
0445 #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_2_LANE_MODE_MBPS    (0x160c | CCS_FL_32BIT)
0446 #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_3_LANE_MODE_MBPS    (0x1610 | CCS_FL_32BIT)
0447 #define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_4_LANE_MODE_MBPS    (0x1614 | CCS_FL_32BIT)
0448 #define SMIAPP_REG_U8_TEMP_SENSOR_CAPABILITY            0x1618
0449 #define SMIAPP_REG_U16_MIN_FRAME_LENGTH_LINES_BIN       (0x1700 | CCS_FL_16BIT)
0450 #define SMIAPP_REG_U16_MAX_FRAME_LENGTH_LINES_BIN       (0x1702 | CCS_FL_16BIT)
0451 #define SMIAPP_REG_U16_MIN_LINE_LENGTH_PCK_BIN          (0x1704 | CCS_FL_16BIT)
0452 #define SMIAPP_REG_U16_MAX_LINE_LENGTH_PCK_BIN          (0x1706 | CCS_FL_16BIT)
0453 #define SMIAPP_REG_U16_MIN_LINE_BLANKING_PCK_BIN        (0x1708 | CCS_FL_16BIT)
0454 #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MIN_BIN        (0x170a | CCS_FL_16BIT)
0455 #define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MAX_MARGIN_BIN (0x170c | CCS_FL_16BIT)
0456 #define SMIAPP_REG_U8_BINNING_CAPABILITY            0x1710
0457 #define SMIAPP_REG_U8_BINNING_WEIGHTING_CAPABILITY      0x1711
0458 #define SMIAPP_REG_U8_BINNING_SUBTYPES              0x1712
0459 #define SMIAPP_REG_U8_BINNING_TYPE_n(n)             (0x1713 + (n)) /* 1 <= n <= 237 */
0460 #define SMIAPP_REG_U8_DATA_TRANSFER_IF_CAPABILITY       0x1800
0461 #define SMIAPP_REG_U8_SHADING_CORRECTION_CAPABILITY     0x1900
0462 #define SMIAPP_REG_U8_GREEN_IMBALANCE_CAPABILITY        0x1901
0463 #define SMIAPP_REG_U8_BLACK_LEVEL_CAPABILITY            0x1902
0464 #define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_CAPABILITY 0x1903
0465 #define SMIAPP_REG_U16_DEFECT_CORRECTION_CAPABILITY     (0x1904 | CCS_FL_16BIT)
0466 #define SMIAPP_REG_U16_DEFECT_CORRECTION_CAPABILITY_2       (0x1906 | CCS_FL_16BIT)
0467 #define SMIAPP_REG_U8_EDOF_CAPABILITY               0x1980
0468 #define SMIAPP_REG_U8_ESTIMATION_FRAMES             0x1981
0469 #define SMIAPP_REG_U8_SUPPORTS_SHARPNESS_ADJ            0x1982
0470 #define SMIAPP_REG_U8_SUPPORTS_DENOISING_ADJ            0x1983
0471 #define SMIAPP_REG_U8_SUPPORTS_MODULE_SPECIFIC_ADJ      0x1984
0472 #define SMIAPP_REG_U8_SUPPORTS_DEPTH_OF_FIELD_ADJ       0x1985
0473 #define SMIAPP_REG_U8_SUPPORTS_FOCUS_DISTANCE_ADJ       0x1986
0474 #define SMIAPP_REG_U8_COLOUR_FEEDBACK_CAPABILITY        0x1987
0475 #define SMIAPP_REG_U8_EDOF_SUPPORT_AB_NXM           0x1988
0476 #define SMIAPP_REG_U8_ESTIMATION_MODE_CAPABILITY        0x19c0
0477 #define SMIAPP_REG_U8_ESTIMATION_ZONE_CAPABILITY        0x19c1
0478 #define SMIAPP_REG_U16_EST_DEPTH_OF_FIELD           (0x19c2 | CCS_FL_16BIT)
0479 #define SMIAPP_REG_U16_EST_FOCUS_DISTANCE           (0x19c4 | CCS_FL_16BIT)
0480 #define SMIAPP_REG_U16_CAPABILITY_TRDY_MIN          (0x1a00 | CCS_FL_16BIT)
0481 #define SMIAPP_REG_U8_FLASH_MODE_CAPABILITY         0x1a02
0482 #define SMIAPP_REG_U16_MECH_SHUT_AND_ACT_START_ADDR     (0x1b02 | CCS_FL_16BIT)
0483 #define SMIAPP_REG_U8_ACTUATOR_CAPABILITY           0x1b04
0484 #define SMIAPP_REG_U16_ACTUATOR_TYPE                (0x1b40 | CCS_FL_16BIT)
0485 #define SMIAPP_REG_U8_AF_DEVICE_ADDRESS             0x1b42
0486 #define SMIAPP_REG_U16_FOCUS_CHANGE_ADDRESS         (0x1b44 | CCS_FL_16BIT)
0487 #define SMIAPP_REG_U8_BRACKETING_LUT_CAPABILITY_1       0x1c00
0488 #define SMIAPP_REG_U8_BRACKETING_LUT_CAPABILITY_2       0x1c01
0489 #define SMIAPP_REG_U8_BRACKETING_LUT_SIZE           0x1c02
0490 
0491 /* Register bit definitions */
0492 #define SMIAPP_IMAGE_ORIENTATION_HFLIP          BIT(0)
0493 #define SMIAPP_IMAGE_ORIENTATION_VFLIP          BIT(1)
0494 
0495 #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_EN       BIT(0)
0496 #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_WR_EN        BIT(1)
0497 #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_ERR_CLEAR    BIT(2)
0498 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_RD_READY   BIT(0)
0499 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_WR_READY   BIT(1)
0500 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EDATA      BIT(2)
0501 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EUSAGE     BIT(3)
0502 
0503 #define SMIAPP_DATA_TRANSFER_IF_CAPABILITY_SUPPORTED    BIT(0)
0504 #define SMIAPP_DATA_TRANSFER_IF_CAPABILITY_POLL     BIT(2)
0505 
0506 #define SMIAPP_SOFTWARE_RESET               BIT(0)
0507 
0508 #define SMIAPP_FLASH_MODE_CAPABILITY_SINGLE_STROBE  BIT(0)
0509 #define SMIAPP_FLASH_MODE_CAPABILITY_MULTIPLE_STROBE    BIT(1)
0510 
0511 #define SMIAPP_CSI_SIGNALLING_MODE_CCP2_DATA_CLOCK  0
0512 #define SMIAPP_CSI_SIGNALLING_MODE_CCP2_DATA_STROBE 1
0513 #define SMIAPP_CSI_SIGNALLING_MODE_CSI2         2
0514 
0515 #define SMIAPP_DPHY_CTRL_AUTOMATIC          0
0516 /* DPHY control based on REQUESTED_LINK_BIT_RATE_MBPS */
0517 #define SMIAPP_DPHY_CTRL_UI             1
0518 #define SMIAPP_DPHY_CTRL_REGISTER           2
0519 
0520 #define SMIAPP_COMPRESSION_MODE_SIMPLE_PREDICTOR    1
0521 #define SMIAPP_COMPRESSION_MODE_ADVANCED_PREDICTOR  2
0522 
0523 #define SMIAPP_MODE_SELECT_SOFTWARE_STANDBY     0
0524 #define SMIAPP_MODE_SELECT_STREAMING            1
0525 
0526 #define SMIAPP_SCALING_MODE_NONE            0
0527 #define SMIAPP_SCALING_MODE_HORIZONTAL          1
0528 #define SMIAPP_SCALING_MODE_BOTH            2
0529 
0530 #define SMIAPP_SCALING_CAPABILITY_NONE          0
0531 #define SMIAPP_SCALING_CAPABILITY_HORIZONTAL        1
0532 #define SMIAPP_SCALING_CAPABILITY_BOTH          2 /* horizontal/both */
0533 
0534 /* digital crop right before scaler */
0535 #define SMIAPP_DIGITAL_CROP_CAPABILITY_NONE     0
0536 #define SMIAPP_DIGITAL_CROP_CAPABILITY_INPUT_CROP   1
0537 
0538 #define SMIAPP_DIGITAL_GAIN_CAPABILITY_PER_CHANNEL  1
0539 
0540 #define SMIAPP_BINNING_CAPABILITY_NO            0
0541 #define SMIAPP_BINNING_CAPABILITY_YES           1
0542 
0543 /* Maximum number of binning subtypes */
0544 #define SMIAPP_BINNING_SUBTYPES             253
0545 
0546 #define SMIAPP_PIXEL_ORDER_GRBG             0
0547 #define SMIAPP_PIXEL_ORDER_RGGB             1
0548 #define SMIAPP_PIXEL_ORDER_BGGR             2
0549 #define SMIAPP_PIXEL_ORDER_GBRG             3
0550 
0551 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL        1
0552 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED      2
0553 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL_N      8
0554 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED_N    16
0555 
0556 #define SMIAPP_FRAME_FORMAT_MODEL_TYPE_2BYTE        0x01
0557 #define SMIAPP_FRAME_FORMAT_MODEL_TYPE_4BYTE        0x02
0558 #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NROWS_MASK    0x0f
0559 #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_MASK    0xf0
0560 #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_SHIFT   4
0561 
0562 #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_MASK   0xf000
0563 #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_SHIFT  12
0564 #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELS_MASK      0x0fff
0565 
0566 #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_MASK   0xf0000000
0567 #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_SHIFT  28
0568 #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELS_MASK      0x0000ffff
0569 
0570 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_EMBEDDED 1
0571 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DUMMY    2
0572 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_BLACK    3
0573 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DARK     4
0574 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_VISIBLE  5
0575 
0576 #define SMIAPP_FAST_STANDBY_CTRL_COMPLETE_FRAMES    0
0577 #define SMIAPP_FAST_STANDBY_CTRL_IMMEDIATE      1
0578 
0579 /* Scaling N factor */
0580 #define SMIAPP_SCALE_N                  16
0581 
0582 #endif /* __SMIAPP_REG_DEFS_H__ */