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