linux/drivers/media/i2c/ccs/smiapp-reg-defs.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * drivers/media/i2c/smiapp/smiapp-reg-defs.h
 *
 * Generic driver for MIPI CCS/SMIA/SMIA++ compliant camera sensors
 *
 * Copyright (C) 2020 Intel Corporation
 * Copyright (C) 2011--2012 Nokia Corporation
 * Contact: Sakari Ailus <[email protected]>
 */

#ifndef __SMIAPP_REG_DEFS_H__
#define __SMIAPP_REG_DEFS_H__

#include <linux/bits.h>
#include <media/v4l2-cci.h>

/* Register addresses */
#define SMIAPP_REG_U16_MODEL_ID
#define SMIAPP_REG_U8_REVISION_NUMBER_MAJOR
#define SMIAPP_REG_U8_MANUFACTURER_ID
#define SMIAPP_REG_U8_SMIA_VERSION
#define SMIAPP_REG_U8_FRAME_COUNT
#define SMIAPP_REG_U8_PIXEL_ORDER
#define SMIAPP_REG_U16_DATA_PEDESTAL
#define SMIAPP_REG_U8_PIXEL_DEPTH
#define SMIAPP_REG_U8_REVISION_NUMBER_MINOR
#define SMIAPP_REG_U8_SMIAPP_VERSION
#define SMIAPP_REG_U8_MODULE_DATE_YEAR
#define SMIAPP_REG_U8_MODULE_DATE_MONTH
#define SMIAPP_REG_U8_MODULE_DATE_DAY
#define SMIAPP_REG_U8_MODULE_DATE_PHASE
#define SMIAPP_REG_U16_SENSOR_MODEL_ID
#define SMIAPP_REG_U8_SENSOR_REVISION_NUMBER
#define SMIAPP_REG_U8_SENSOR_MANUFACTURER_ID
#define SMIAPP_REG_U8_SENSOR_FIRMWARE_VERSION
#define SMIAPP_REG_U32_SERIAL_NUMBER
#define SMIAPP_REG_U8_FRAME_FORMAT_MODEL_TYPE
#define SMIAPP_REG_U8_FRAME_FORMAT_MODEL_SUBTYPE
#define SMIAPP_REG_U16_FRAME_FORMAT_DESCRIPTOR_2(n)
#define SMIAPP_REG_U32_FRAME_FORMAT_DESCRIPTOR_4(n)
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CAPABILITY
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_MIN
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_MAX
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_STEP
#define SMIAPP_REG_U16_ANALOGUE_GAIN_TYPE
#define SMIAPP_REG_U16_ANALOGUE_GAIN_M0
#define SMIAPP_REG_U16_ANALOGUE_GAIN_C0
#define SMIAPP_REG_U16_ANALOGUE_GAIN_M1
#define SMIAPP_REG_U16_ANALOGUE_GAIN_C1
#define SMIAPP_REG_U8_DATA_FORMAT_MODEL_TYPE
#define SMIAPP_REG_U8_DATA_FORMAT_MODEL_SUBTYPE
#define SMIAPP_REG_U16_DATA_FORMAT_DESCRIPTOR(n)
#define SMIAPP_REG_U8_MODE_SELECT
#define SMIAPP_REG_U8_IMAGE_ORIENTATION
#define SMIAPP_REG_U8_SOFTWARE_RESET
#define SMIAPP_REG_U8_GROUPED_PARAMETER_HOLD
#define SMIAPP_REG_U8_MASK_CORRUPTED_FRAMES
#define SMIAPP_REG_U8_FAST_STANDBY_CTRL
#define SMIAPP_REG_U8_CCI_ADDRESS_CONTROL
#define SMIAPP_REG_U8_2ND_CCI_IF_CONTROL
#define SMIAPP_REG_U8_2ND_CCI_ADDRESS_CONTROL
#define SMIAPP_REG_U8_CSI_CHANNEL_IDENTIFIER
#define SMIAPP_REG_U8_CSI_SIGNALLING_MODE
#define SMIAPP_REG_U16_CSI_DATA_FORMAT
#define SMIAPP_REG_U8_CSI_LANE_MODE
#define SMIAPP_REG_U8_CSI2_10_TO_8_DT
#define SMIAPP_REG_U8_CSI2_10_TO_7_DT
#define SMIAPP_REG_U8_CSI2_10_TO_6_DT
#define SMIAPP_REG_U8_CSI2_12_TO_8_DT
#define SMIAPP_REG_U8_CSI2_12_TO_7_DT
#define SMIAPP_REG_U8_CSI2_12_TO_6_DT
#define SMIAPP_REG_U8_CSI2_14_TO_10_DT
#define SMIAPP_REG_U8_CSI2_14_TO_8_DT
#define SMIAPP_REG_U8_CSI2_16_TO_10_DT
#define SMIAPP_REG_U8_CSI2_16_TO_8_DT
#define SMIAPP_REG_U8_GAIN_MODE
#define SMIAPP_REG_U16_VANA_VOLTAGE
#define SMIAPP_REG_U16_VDIG_VOLTAGE
#define SMIAPP_REG_U16_VIO_VOLTAGE
#define SMIAPP_REG_U16_EXTCLK_FREQUENCY_MHZ
#define SMIAPP_REG_U8_TEMP_SENSOR_CONTROL
#define SMIAPP_REG_U8_TEMP_SENSOR_MODE
#define SMIAPP_REG_U8_TEMP_SENSOR_OUTPUT
#define SMIAPP_REG_U16_FINE_INTEGRATION_TIME
#define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GLOBAL
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GREENR
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_RED
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_BLUE
#define SMIAPP_REG_U16_ANALOGUE_GAIN_CODE_GREENB
#define SMIAPP_REG_U16_DIGITAL_GAIN_GREENR
#define SMIAPP_REG_U16_DIGITAL_GAIN_RED
#define SMIAPP_REG_U16_DIGITAL_GAIN_BLUE
#define SMIAPP_REG_U16_DIGITAL_GAIN_GREENB
#define SMIAPP_REG_U16_VT_PIX_CLK_DIV
#define SMIAPP_REG_U16_VT_SYS_CLK_DIV
#define SMIAPP_REG_U16_PRE_PLL_CLK_DIV
#define SMIAPP_REG_U16_PLL_MULTIPLIER
#define SMIAPP_REG_U16_OP_PIX_CLK_DIV
#define SMIAPP_REG_U16_OP_SYS_CLK_DIV
#define SMIAPP_REG_U16_FRAME_LENGTH_LINES
#define SMIAPP_REG_U16_LINE_LENGTH_PCK
#define SMIAPP_REG_U16_X_ADDR_START
#define SMIAPP_REG_U16_Y_ADDR_START
#define SMIAPP_REG_U16_X_ADDR_END
#define SMIAPP_REG_U16_Y_ADDR_END
#define SMIAPP_REG_U16_X_OUTPUT_SIZE
#define SMIAPP_REG_U16_Y_OUTPUT_SIZE
#define SMIAPP_REG_U16_X_EVEN_INC
#define SMIAPP_REG_U16_X_ODD_INC
#define SMIAPP_REG_U16_Y_EVEN_INC
#define SMIAPP_REG_U16_Y_ODD_INC
#define SMIAPP_REG_U16_SCALING_MODE
#define SMIAPP_REG_U16_SPATIAL_SAMPLING
#define SMIAPP_REG_U16_SCALE_M
#define SMIAPP_REG_U16_SCALE_N
#define SMIAPP_REG_U16_DIGITAL_CROP_X_OFFSET
#define SMIAPP_REG_U16_DIGITAL_CROP_Y_OFFSET
#define SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_WIDTH
#define SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_HEIGHT
#define SMIAPP_REG_U16_COMPRESSION_MODE
#define SMIAPP_REG_U16_TEST_PATTERN_MODE
#define SMIAPP_REG_U16_TEST_DATA_RED
#define SMIAPP_REG_U16_TEST_DATA_GREENR
#define SMIAPP_REG_U16_TEST_DATA_BLUE
#define SMIAPP_REG_U16_TEST_DATA_GREENB
#define SMIAPP_REG_U16_HORIZONTAL_CURSOR_WIDTH
#define SMIAPP_REG_U16_HORIZONTAL_CURSOR_POSITION
#define SMIAPP_REG_U16_VERTICAL_CURSOR_WIDTH
#define SMIAPP_REG_U16_VERTICAL_CURSOR_POSITION
#define SMIAPP_REG_U16_FIFO_WATER_MARK_PIXELS
#define SMIAPP_REG_U8_TCLK_POST
#define SMIAPP_REG_U8_THS_PREPARE
#define SMIAPP_REG_U8_THS_ZERO_MIN
#define SMIAPP_REG_U8_THS_TRAIL
#define SMIAPP_REG_U8_TCLK_TRAIL_MIN
#define SMIAPP_REG_U8_TCLK_PREPARE
#define SMIAPP_REG_U8_TCLK_ZERO
#define SMIAPP_REG_U8_TLPX
#define SMIAPP_REG_U8_DPHY_CTRL
#define SMIAPP_REG_U32_REQUESTED_LINK_BIT_RATE_MBPS
#define SMIAPP_REG_U8_BINNING_MODE
#define SMIAPP_REG_U8_BINNING_TYPE
#define SMIAPP_REG_U8_BINNING_WEIGHTING
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_CTRL
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_STATUS
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_PAGE_SELECT
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_0
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_1
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_2
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_3
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_4
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_5
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_12
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_13
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_14
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_15
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_16
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_17
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_18
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_19
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_20
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_21
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_22
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_23
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_24
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_25
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_26
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_27
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_28
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_29
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_30
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_31
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_32
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_33
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_34
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_35
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_36
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_37
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_38
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_39
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_40
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_41
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_42
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_43
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_44
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_45
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_46
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_47
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_48
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_49
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_50
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_51
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_52
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_53
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_54
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_55
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_56
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_57
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_58
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_59
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_60
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_61
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_62
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_1_DATA_63
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_CTRL
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_STATUS
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_PAGE_SELECT
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_0
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_1
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_2
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_3
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_4
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_5
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_6
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_7
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_8
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_9
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_10
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_11
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_12
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_13
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_14
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_15
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_16
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_17
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_18
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_19
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_20
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_21
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_22
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_23
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_24
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_25
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_26
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_27
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_28
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_29
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_30
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_31
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_32
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_33
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_34
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_35
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_36
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_37
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_38
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_39
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_40
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_41
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_42
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_43
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_44
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_45
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_46
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_47
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_48
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_49
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_50
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_51
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_52
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_53
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_54
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_55
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_56
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_57
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_58
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_59
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_60
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_61
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_62
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_2_DATA_63
#define SMIAPP_REG_U8_SHADING_CORRECTION_ENABLE
#define SMIAPP_REG_U8_LUMINANCE_CORRECTION_LEVEL
#define SMIAPP_REG_U8_GREEN_IMBALANCE_FILTER_ENABLE
#define SMIAPP_REG_U8_GREEN_IMBALANCE_FILTER_WEIGHT
#define SMIAPP_REG_U8_BLACK_LEVEL_CORRECTION_ENABLE
#define SMIAPP_REG_U8_MAPPED_COUPLET_CORRECT_ENABLE
#define SMIAPP_REG_U8_SINGLE_DEFECT_CORRECT_ENABLE
#define SMIAPP_REG_U8_SINGLE_DEFECT_CORRECT_WEIGHT
#define SMIAPP_REG_U8_DYNAMIC_COUPLET_CORRECT_ENABLE
#define SMIAPP_REG_U8_DYNAMIC_COUPLET_CORRECT_WEIGHT
#define SMIAPP_REG_U8_COMBINED_DEFECT_CORRECT_ENABLE
#define SMIAPP_REG_U8_COMBINED_DEFECT_CORRECT_WEIGHT
#define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_ENABLE
#define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_WEIGHT
#define SMIAPP_REG_U8_MAPPED_LINE_DEFECT_CORRECT_ENABLE
#define SMIAPP_REG_U8_MAPPED_LINE_DEFECT_CORRECT_ADJUST
#define SMIAPP_REG_U8_MAPPED_COUPLET_CORRECT_ADJUST
#define SMIAPP_REG_U8_MAPPED_TRIPLET_DEFECT_CORRECT_ENABLE
#define SMIAPP_REG_U8_MAPPED_TRIPLET_DEFECT_CORRECT_ADJUST
#define SMIAPP_REG_U8_DYNAMIC_TRIPLET_DEFECT_CORRECT_ENABLE
#define SMIAPP_REG_U8_DYNAMIC_TRIPLET_DEFECT_CORRECT_ADJUST
#define SMIAPP_REG_U8_DYNAMIC_LINE_DEFECT_CORRECT_ENABLE
#define SMIAPP_REG_U8_DYNAMIC_LINE_DEFECT_CORRECT_ADJUST
#define SMIAPP_REG_U8_EDOF_MODE
#define SMIAPP_REG_U8_SHARPNESS
#define SMIAPP_REG_U8_DENOISING
#define SMIAPP_REG_U8_MODULE_SPECIFIC
#define SMIAPP_REG_U16_DEPTH_OF_FIELD
#define SMIAPP_REG_U16_FOCUS_DISTANCE
#define SMIAPP_REG_U8_ESTIMATION_MODE_CTRL
#define SMIAPP_REG_U16_COLOUR_TEMPERATURE
#define SMIAPP_REG_U16_ABSOLUTE_GAIN_GREENR
#define SMIAPP_REG_U16_ABSOLUTE_GAIN_RED
#define SMIAPP_REG_U16_ABSOLUTE_GAIN_BLUE
#define SMIAPP_REG_U16_ABSOLUTE_GAIN_GREENB
#define SMIAPP_REG_U8_ESTIMATION_ZONE_MODE
#define SMIAPP_REG_U16_FIXED_ZONE_WEIGHTING
#define SMIAPP_REG_U16_CUSTOM_ZONE_X_START
#define SMIAPP_REG_U16_CUSTOM_ZONE_Y_START
#define SMIAPP_REG_U16_CUSTOM_ZONE_WIDTH
#define SMIAPP_REG_U16_CUSTOM_ZONE_HEIGHT
#define SMIAPP_REG_U8_GLOBAL_RESET_CTRL1
#define SMIAPP_REG_U8_GLOBAL_RESET_CTRL2
#define SMIAPP_REG_U8_GLOBAL_RESET_MODE_CONFIG_1
#define SMIAPP_REG_U8_GLOBAL_RESET_MODE_CONFIG_2
#define SMIAPP_REG_U16_TRDY_CTRL
#define SMIAPP_REG_U16_TRDOUT_CTRL
#define SMIAPP_REG_U16_TSHUTTER_STROBE_DELAY_CTRL
#define SMIAPP_REG_U16_TSHUTTER_STROBE_WIDTH_CTRL
#define SMIAPP_REG_U16_TFLASH_STROBE_DELAY_CTRL
#define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_HIGH_CTRL
#define SMIAPP_REG_U16_TGRST_INTERVAL_CTRL
#define SMIAPP_REG_U8_FLASH_STROBE_ADJUSTMENT
#define SMIAPP_REG_U16_FLASH_STROBE_START_POINT
#define SMIAPP_REG_U16_TFLASH_STROBE_DELAY_RS_CTRL
#define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_HIGH_RS_CTRL
#define SMIAPP_REG_U8_FLASH_MODE_RS
#define SMIAPP_REG_U8_FLASH_TRIGGER_RS
#define SMIAPP_REG_U8_FLASH_STATUS
#define SMIAPP_REG_U8_SA_STROBE_MODE
#define SMIAPP_REG_U16_SA_STROBE_START_POINT
#define SMIAPP_REG_U16_TSA_STROBE_DELAY_CTRL
#define SMIAPP_REG_U16_TSA_STROBE_WIDTH_CTRL
#define SMIAPP_REG_U8_SA_STROBE_TRIGGER
#define SMIAPP_REG_U8_SPECIAL_ACTUATOR_STATUS
#define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH2_HIGH_RS_CTRL
#define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_LOW_RS_CTRL
#define SMIAPP_REG_U8_TFLASH_STROBE_COUNT_RS_CTRL
#define SMIAPP_REG_U8_TFLASH_STROBE_COUNT_CTRL
#define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH2_HIGH_CTRL
#define SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_LOW_CTRL
#define SMIAPP_REG_U8_LOW_LEVEL_CTRL
#define SMIAPP_REG_U16_MAIN_TRIGGER_REF_POINT
#define SMIAPP_REG_U16_MAIN_TRIGGER_T3
#define SMIAPP_REG_U8_MAIN_TRIGGER_COUNT
#define SMIAPP_REG_U16_PHASE1_TRIGGER_T3
#define SMIAPP_REG_U8_PHASE1_TRIGGER_COUNT
#define SMIAPP_REG_U16_PHASE2_TRIGGER_T3
#define SMIAPP_REG_U8_PHASE2_TRIGGER_COUNT
#define SMIAPP_REG_U8_MECH_SHUTTER_CTRL
#define SMIAPP_REG_U8_OPERATION_MODE
#define SMIAPP_REG_U8_ACT_STATE1
#define SMIAPP_REG_U8_ACT_STATE2
#define SMIAPP_REG_U16_FOCUS_CHANGE
#define SMIAPP_REG_U16_FOCUS_CHANGE_CONTROL
#define SMIAPP_REG_U16_FOCUS_CHANGE_NUMBER_PHASE1
#define SMIAPP_REG_U16_FOCUS_CHANGE_NUMBER_PHASE2
#define SMIAPP_REG_U8_STROBE_COUNT_PHASE1
#define SMIAPP_REG_U8_STROBE_COUNT_PHASE2
#define SMIAPP_REG_U8_POSITION
#define SMIAPP_REG_U8_BRACKETING_LUT_CONTROL
#define SMIAPP_REG_U8_BRACKETING_LUT_MODE
#define SMIAPP_REG_U8_BRACKETING_LUT_ENTRY_CONTROL
#define SMIAPP_REG_U8_LUT_PARAMETERS_START
#define SMIAPP_REG_U8_LUT_PARAMETERS_END
#define SMIAPP_REG_U16_INTEGRATION_TIME_CAPABILITY
#define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME_MIN
#define SMIAPP_REG_U16_COARSE_INTEGRATION_TIME_MAX_MARGIN
#define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MIN
#define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MAX_MARGIN
#define SMIAPP_REG_U16_DIGITAL_GAIN_CAPABILITY
#define SMIAPP_REG_U16_DIGITAL_GAIN_MIN
#define SMIAPP_REG_U16_DIGITAL_GAIN_MAX
#define SMIAPP_REG_U16_DIGITAL_GAIN_STEP_SIZE
#define SMIAPP_REG_F32_MIN_EXT_CLK_FREQ_HZ
#define SMIAPP_REG_F32_MAX_EXT_CLK_FREQ_HZ
#define SMIAPP_REG_U16_MIN_PRE_PLL_CLK_DIV
#define SMIAPP_REG_U16_MAX_PRE_PLL_CLK_DIV
#define SMIAPP_REG_F32_MIN_PLL_IP_FREQ_HZ
#define SMIAPP_REG_F32_MAX_PLL_IP_FREQ_HZ
#define SMIAPP_REG_U16_MIN_PLL_MULTIPLIER
#define SMIAPP_REG_U16_MAX_PLL_MULTIPLIER
#define SMIAPP_REG_F32_MIN_PLL_OP_FREQ_HZ
#define SMIAPP_REG_F32_MAX_PLL_OP_FREQ_HZ
#define SMIAPP_REG_U16_MIN_VT_SYS_CLK_DIV
#define SMIAPP_REG_U16_MAX_VT_SYS_CLK_DIV
#define SMIAPP_REG_F32_MIN_VT_SYS_CLK_FREQ_HZ
#define SMIAPP_REG_F32_MAX_VT_SYS_CLK_FREQ_HZ
#define SMIAPP_REG_F32_MIN_VT_PIX_CLK_FREQ_HZ
#define SMIAPP_REG_F32_MAX_VT_PIX_CLK_FREQ_HZ
#define SMIAPP_REG_U16_MIN_VT_PIX_CLK_DIV
#define SMIAPP_REG_U16_MAX_VT_PIX_CLK_DIV
#define SMIAPP_REG_U16_MIN_FRAME_LENGTH_LINES
#define SMIAPP_REG_U16_MAX_FRAME_LENGTH_LINES
#define SMIAPP_REG_U16_MIN_LINE_LENGTH_PCK
#define SMIAPP_REG_U16_MAX_LINE_LENGTH_PCK
#define SMIAPP_REG_U16_MIN_LINE_BLANKING_PCK
#define SMIAPP_REG_U16_MIN_FRAME_BLANKING_LINES
#define SMIAPP_REG_U8_MIN_LINE_LENGTH_PCK_STEP_SIZE
#define SMIAPP_REG_U16_MIN_OP_SYS_CLK_DIV
#define SMIAPP_REG_U16_MAX_OP_SYS_CLK_DIV
#define SMIAPP_REG_F32_MIN_OP_SYS_CLK_FREQ_HZ
#define SMIAPP_REG_F32_MAX_OP_SYS_CLK_FREQ_HZ
#define SMIAPP_REG_U16_MIN_OP_PIX_CLK_DIV
#define SMIAPP_REG_U16_MAX_OP_PIX_CLK_DIV
#define SMIAPP_REG_F32_MIN_OP_PIX_CLK_FREQ_HZ
#define SMIAPP_REG_F32_MAX_OP_PIX_CLK_FREQ_HZ
#define SMIAPP_REG_U16_X_ADDR_MIN
#define SMIAPP_REG_U16_Y_ADDR_MIN
#define SMIAPP_REG_U16_X_ADDR_MAX
#define SMIAPP_REG_U16_Y_ADDR_MAX
#define SMIAPP_REG_U16_MIN_X_OUTPUT_SIZE
#define SMIAPP_REG_U16_MIN_Y_OUTPUT_SIZE
#define SMIAPP_REG_U16_MAX_X_OUTPUT_SIZE
#define SMIAPP_REG_U16_MAX_Y_OUTPUT_SIZE
#define SMIAPP_REG_U16_MIN_EVEN_INC
#define SMIAPP_REG_U16_MAX_EVEN_INC
#define SMIAPP_REG_U16_MIN_ODD_INC
#define SMIAPP_REG_U16_MAX_ODD_INC
#define SMIAPP_REG_U16_SCALING_CAPABILITY
#define SMIAPP_REG_U16_SCALER_M_MIN
#define SMIAPP_REG_U16_SCALER_M_MAX
#define SMIAPP_REG_U16_SCALER_N_MIN
#define SMIAPP_REG_U16_SCALER_N_MAX
#define SMIAPP_REG_U16_SPATIAL_SAMPLING_CAPABILITY
#define SMIAPP_REG_U8_DIGITAL_CROP_CAPABILITY
#define SMIAPP_REG_U16_COMPRESSION_CAPABILITY
#define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINRED
#define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINRED
#define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINRED
#define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINGREEN
#define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINGREEN
#define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINGREEN
#define SMIAPP_REG_U16_MATRIX_ELEMENT_REDINBLUE
#define SMIAPP_REG_U16_MATRIX_ELEMENT_GREENINBLUE
#define SMIAPP_REG_U16_MATRIX_ELEMENT_BLUEINBLUE
#define SMIAPP_REG_U16_FIFO_SIZE_PIXELS
#define SMIAPP_REG_U8_FIFO_SUPPORT_CAPABILITY
#define SMIAPP_REG_U8_DPHY_CTRL_CAPABILITY
#define SMIAPP_REG_U8_CSI_LANE_MODE_CAPABILITY
#define SMIAPP_REG_U8_CSI_SIGNALLING_MODE_CAPABILITY
#define SMIAPP_REG_U8_FAST_STANDBY_CAPABILITY
#define SMIAPP_REG_U8_CCI_ADDRESS_CONTROL_CAPABILITY
#define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_1_LANE_MODE_MBPS
#define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_2_LANE_MODE_MBPS
#define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_3_LANE_MODE_MBPS
#define SMIAPP_REG_U32_MAX_PER_LANE_BITRATE_4_LANE_MODE_MBPS
#define SMIAPP_REG_U8_TEMP_SENSOR_CAPABILITY
#define SMIAPP_REG_U16_MIN_FRAME_LENGTH_LINES_BIN
#define SMIAPP_REG_U16_MAX_FRAME_LENGTH_LINES_BIN
#define SMIAPP_REG_U16_MIN_LINE_LENGTH_PCK_BIN
#define SMIAPP_REG_U16_MAX_LINE_LENGTH_PCK_BIN
#define SMIAPP_REG_U16_MIN_LINE_BLANKING_PCK_BIN
#define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MIN_BIN
#define SMIAPP_REG_U16_FINE_INTEGRATION_TIME_MAX_MARGIN_BIN
#define SMIAPP_REG_U8_BINNING_CAPABILITY
#define SMIAPP_REG_U8_BINNING_WEIGHTING_CAPABILITY
#define SMIAPP_REG_U8_BINNING_SUBTYPES
#define SMIAPP_REG_U8_BINNING_TYPE_n(n)
#define SMIAPP_REG_U8_DATA_TRANSFER_IF_CAPABILITY
#define SMIAPP_REG_U8_SHADING_CORRECTION_CAPABILITY
#define SMIAPP_REG_U8_GREEN_IMBALANCE_CAPABILITY
#define SMIAPP_REG_U8_BLACK_LEVEL_CAPABILITY
#define SMIAPP_REG_U8_MODULE_SPECIFIC_CORRECTION_CAPABILITY
#define SMIAPP_REG_U16_DEFECT_CORRECTION_CAPABILITY
#define SMIAPP_REG_U16_DEFECT_CORRECTION_CAPABILITY_2
#define SMIAPP_REG_U8_EDOF_CAPABILITY
#define SMIAPP_REG_U8_ESTIMATION_FRAMES
#define SMIAPP_REG_U8_SUPPORTS_SHARPNESS_ADJ
#define SMIAPP_REG_U8_SUPPORTS_DENOISING_ADJ
#define SMIAPP_REG_U8_SUPPORTS_MODULE_SPECIFIC_ADJ
#define SMIAPP_REG_U8_SUPPORTS_DEPTH_OF_FIELD_ADJ
#define SMIAPP_REG_U8_SUPPORTS_FOCUS_DISTANCE_ADJ
#define SMIAPP_REG_U8_COLOUR_FEEDBACK_CAPABILITY
#define SMIAPP_REG_U8_EDOF_SUPPORT_AB_NXM
#define SMIAPP_REG_U8_ESTIMATION_MODE_CAPABILITY
#define SMIAPP_REG_U8_ESTIMATION_ZONE_CAPABILITY
#define SMIAPP_REG_U16_EST_DEPTH_OF_FIELD
#define SMIAPP_REG_U16_EST_FOCUS_DISTANCE
#define SMIAPP_REG_U16_CAPABILITY_TRDY_MIN
#define SMIAPP_REG_U8_FLASH_MODE_CAPABILITY
#define SMIAPP_REG_U16_MECH_SHUT_AND_ACT_START_ADDR
#define SMIAPP_REG_U8_ACTUATOR_CAPABILITY
#define SMIAPP_REG_U16_ACTUATOR_TYPE
#define SMIAPP_REG_U8_AF_DEVICE_ADDRESS
#define SMIAPP_REG_U16_FOCUS_CHANGE_ADDRESS
#define SMIAPP_REG_U8_BRACKETING_LUT_CAPABILITY_1
#define SMIAPP_REG_U8_BRACKETING_LUT_CAPABILITY_2
#define SMIAPP_REG_U8_BRACKETING_LUT_SIZE

/* Register bit definitions */
#define SMIAPP_IMAGE_ORIENTATION_HFLIP
#define SMIAPP_IMAGE_ORIENTATION_VFLIP

#define SMIAPP_DATA_TRANSFER_IF_1_CTRL_EN
#define SMIAPP_DATA_TRANSFER_IF_1_CTRL_WR_EN
#define SMIAPP_DATA_TRANSFER_IF_1_CTRL_ERR_CLEAR
#define SMIAPP_DATA_TRANSFER_IF_1_STATUS_RD_READY
#define SMIAPP_DATA_TRANSFER_IF_1_STATUS_WR_READY
#define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EDATA
#define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EUSAGE

#define SMIAPP_DATA_TRANSFER_IF_CAPABILITY_SUPPORTED
#define SMIAPP_DATA_TRANSFER_IF_CAPABILITY_POLL

#define SMIAPP_SOFTWARE_RESET

#define SMIAPP_FLASH_MODE_CAPABILITY_SINGLE_STROBE
#define SMIAPP_FLASH_MODE_CAPABILITY_MULTIPLE_STROBE

#define SMIAPP_CSI_SIGNALLING_MODE_CCP2_DATA_CLOCK
#define SMIAPP_CSI_SIGNALLING_MODE_CCP2_DATA_STROBE
#define SMIAPP_CSI_SIGNALLING_MODE_CSI2

#define SMIAPP_DPHY_CTRL_AUTOMATIC
/* DPHY control based on REQUESTED_LINK_BIT_RATE_MBPS */
#define SMIAPP_DPHY_CTRL_UI
#define SMIAPP_DPHY_CTRL_REGISTER

#define SMIAPP_COMPRESSION_MODE_SIMPLE_PREDICTOR
#define SMIAPP_COMPRESSION_MODE_ADVANCED_PREDICTOR

#define SMIAPP_MODE_SELECT_SOFTWARE_STANDBY
#define SMIAPP_MODE_SELECT_STREAMING

#define SMIAPP_SCALING_MODE_NONE
#define SMIAPP_SCALING_MODE_HORIZONTAL
#define SMIAPP_SCALING_MODE_BOTH

#define SMIAPP_SCALING_CAPABILITY_NONE
#define SMIAPP_SCALING_CAPABILITY_HORIZONTAL
#define SMIAPP_SCALING_CAPABILITY_BOTH

/* digital crop right before scaler */
#define SMIAPP_DIGITAL_CROP_CAPABILITY_NONE
#define SMIAPP_DIGITAL_CROP_CAPABILITY_INPUT_CROP

#define SMIAPP_DIGITAL_GAIN_CAPABILITY_PER_CHANNEL

#define SMIAPP_BINNING_CAPABILITY_NO
#define SMIAPP_BINNING_CAPABILITY_YES

/* Maximum number of binning subtypes */
#define SMIAPP_BINNING_SUBTYPES

#define SMIAPP_PIXEL_ORDER_GRBG
#define SMIAPP_PIXEL_ORDER_RGGB
#define SMIAPP_PIXEL_ORDER_BGGR
#define SMIAPP_PIXEL_ORDER_GBRG

#define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL
#define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED
#define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL_N
#define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED_N

#define SMIAPP_FRAME_FORMAT_MODEL_TYPE_2BYTE
#define SMIAPP_FRAME_FORMAT_MODEL_TYPE_4BYTE
#define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NROWS_MASK
#define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_MASK
#define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_SHIFT

#define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_MASK
#define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_SHIFT
#define SMIAPP_FRAME_FORMAT_DESC_2_PIXELS_MASK

#define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_MASK
#define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_SHIFT
#define SMIAPP_FRAME_FORMAT_DESC_4_PIXELS_MASK

#define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_EMBEDDED
#define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DUMMY
#define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_BLACK
#define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DARK
#define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_VISIBLE

#define SMIAPP_FAST_STANDBY_CTRL_COMPLETE_FRAMES
#define SMIAPP_FAST_STANDBY_CTRL_IMMEDIATE

/* Scaling N factor */
#define SMIAPP_SCALE_N

#endif /* __SMIAPP_REG_DEFS_H__ */