| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109 |
- #ifndef _KD_IMGSENSOR_DATA_H
- #define _KD_IMGSENSOR_DATA_H
- /* #include "../camera/kd_camera_hw.h" */
- #include "kd_camera_feature.h"
- #define SENSOR_CLOCK_POLARITY_HIGH 0
- #define SENSOR_CLOCK_POLARITY_LOW 1
- /* #define CONFIG_COMPAT */
- #ifdef CONFIG_COMPAT
- /* 64 bit */
- #include <linux/fs.h>
- #include <linux/compat.h>
- #endif
- /*************************************************
- *
- **************************************************/
- /* In KERNEL mode,SHOULD be sync with mediatype.h */
- /* CHECK before remove or modify */
- /* #undef BOOL */
- /* #define BOOL signed int */
- #ifndef _MEDIA_TYPES_H
- typedef unsigned char MUINT8;
- typedef unsigned short MUINT16;
- typedef unsigned int MUINT32;
- typedef signed char MINT8;
- typedef signed short MINT16;
- typedef signed int MINT32;
- #endif
- /*******************************************************************************
- *
- ********************************************************************************/
- /* */
- /* msdk_isp_exp.h */
- /* */
- #define BASEGAIN 0x40
- #define BASEGAIN_SHIFT 6
- typedef enum {
- ISP_DRIVING_2MA = 0,
- ISP_DRIVING_4MA,
- ISP_DRIVING_6MA,
- ISP_DRIVING_8MA
- } ISP_DRIVING_CURRENT_ENUM;
- enum {
- IMAGE_NORMAL = 0,
- IMAGE_H_MIRROR,
- IMAGE_V_MIRROR,
- IMAGE_HV_MIRROR
- };
- typedef enum {
- MSDK_SCENARIO_ID_CAMERA_PREVIEW = 0,
- MSDK_SCENARIO_ID_CAMERA_CAPTURE_JPEG,
- MSDK_SCENARIO_ID_VIDEO_PREVIEW,
- MSDK_SCENARIO_ID_HIGH_SPEED_VIDEO,
- MSDK_SCENARIO_ID_CAMERA_ZSD,
- MSDK_SCENARIO_ID_CAMERA_3D_PREVIEW,
- MSDK_SCENARIO_ID_CAMERA_3D_CAPTURE,
- MSDK_SCENARIO_ID_CAMERA_3D_VIDEO,
- MSDK_SCENARIO_ID_TV_OUT,
- MSDK_SCENARIO_ID_SLIM_VIDEO,
- MSDK_SCENARIO_ID_CUSTOM1,
- MSDK_SCENARIO_ID_CUSTOM2,
- MSDK_SCENARIO_ID_CUSTOM3,
- MSDK_SCENARIO_ID_CUSTOM4,
- MSDK_SCENARIO_ID_CUSTOM5,
- MSDK_SCENARIO_ID_MAX,
- } MSDK_SCENARIO_ID_ENUM;
- typedef enum {
- MSDK_CAMERA_OPERATION_NORMAL_MODE = 0,
- MSDK_CAMERA_OPERATION_META_MODE
- } ACDK_CAMERA_OPERATION_MODE_ENUM;
- /*******************************************************************************
- *
- ********************************************************************************/
- /* */
- #define MAX_NUM_OF_SUPPORT_SENSOR 16
- /* */
- #define SENSOR_CLOCK_POLARITY_HIGH 0
- #define SENSOR_CLOCK_POLARITY_LOW 1
- /* */
- #define LENS_DRIVER_ID_DO_NOT_CARE 0xFFFFFFFF
- #define SENSOR_DOES_NOT_EXIST 0x00FFFFFF
- #define SENSOR_DOES_NOT_KNOW 0xFFFFFFFF
- #define SENSOR_FEATURE_START 3000
- typedef enum {
- SENSOR_FEATURE_BEGIN = SENSOR_FEATURE_START,
- SENSOR_FEATURE_GET_RESOLUTION,
- SENSOR_FEATURE_GET_PERIOD,
- SENSOR_FEATURE_GET_PIXEL_CLOCK_FREQ,
- SENSOR_FEATURE_SET_ESHUTTER,
- SENSOR_FEATURE_SET_NIGHTMODE,
- SENSOR_FEATURE_SET_GAIN,
- SENSOR_FEATURE_SET_GAIN_AND_ESHUTTER,
- SENSOR_FEATURE_SET_FLASHLIGHT,
- SENSOR_FEATURE_SET_ISP_MASTER_CLOCK_FREQ,
- SENSOR_FEATURE_SET_REGISTER,
- SENSOR_FEATURE_GET_REGISTER,
- SENSOR_FEATURE_SET_CCT_REGISTER,
- SENSOR_FEATURE_GET_CCT_REGISTER,
- SENSOR_FEATURE_SET_ENG_REGISTER,
- SENSOR_FEATURE_GET_ENG_REGISTER,
- SENSOR_FEATURE_GET_REGISTER_DEFAULT,
- SENSOR_FEATURE_GET_CONFIG_PARA,
- SENSOR_FEATURE_CAMERA_PARA_TO_SENSOR,
- SENSOR_FEATURE_SENSOR_TO_CAMERA_PARA,
- SENSOR_FEATURE_GET_GROUP_COUNT,
- SENSOR_FEATURE_GET_GROUP_INFO,
- SENSOR_FEATURE_GET_ITEM_INFO,
- SENSOR_FEATURE_SET_ITEM_INFO,
- SENSOR_FEATURE_GET_ENG_INFO,
- SENSOR_FEATURE_GET_LENS_DRIVER_ID,
- SENSOR_FEATURE_SET_YUV_CMD,
- SENSOR_FEATURE_SET_VIDEO_MODE,
- SENSOR_FEATURE_SET_TARGET_FRAME_RATE,
- SENSOR_FEATURE_SET_CALIBRATION_DATA,
- SENSOR_FEATURE_SET_SENSOR_SYNC,
- SENSOR_FEATURE_INITIALIZE_AF,
- SENSOR_FEATURE_CONSTANT_AF,
- SENSOR_FEATURE_INFINITY_AF,
- SENSOR_FEATURE_MOVE_FOCUS_LENS,
- SENSOR_FEATURE_GET_AF_STATUS,
- SENSOR_FEATURE_GET_AE_STATUS,
- SENSOR_FEATURE_GET_AWB_STATUS,
- SENSOR_FEATURE_GET_AF_INF,
- SENSOR_FEATURE_GET_AF_MACRO,
- SENSOR_FEATURE_CHECK_SENSOR_ID,
- SENSOR_FEATURE_SET_AUTO_FLICKER_MODE,
- SENSOR_FEATURE_SET_TEST_PATTERN,
- SENSOR_FEATURE_SET_SOFTWARE_PWDN,
- SENSOR_FEATURE_SINGLE_FOCUS_MODE,
- SENSOR_FEATURE_CANCEL_AF,
- SENSOR_FEATURE_SET_AF_WINDOW,
- SENSOR_FEATURE_GET_EV_AWB_REF,
- SENSOR_FEATURE_GET_SHUTTER_GAIN_AWB_GAIN,
- SENSOR_FEATURE_GET_AF_MAX_NUM_FOCUS_AREAS,
- SENSOR_FEATURE_GET_AE_MAX_NUM_METERING_AREAS,
- SENSOR_FEATURE_SET_AE_WINDOW,
- SENSOR_FEATURE_GET_EXIF_INFO,
- SENSOR_FEATURE_GET_DELAY_INFO,
- SENSOR_FEATURE_SET_SLAVE_I2C_ID,
- SENSOR_FEATURE_SUSPEND,
- SENSOR_FEATURE_RESUME,
- SENSOR_FEATURE_SET_MAX_FRAME_RATE_BY_SCENARIO,
- SENSOR_FEATURE_GET_DEFAULT_FRAME_RATE_BY_SCENARIO,
- SENSOR_FEATURE_GET_AE_AWB_LOCK_INFO,
- SENSOR_FEATURE_AUTOTEST_CMD,
- SENSOR_FEATURE_GET_TEST_PATTERN_CHECKSUM_VALUE,
- SENSOR_FEATURE_GET_TEMPERATURE_VALUE,
- SENSOR_FEATURE_GET_SENSOR_CURRENT_TEMPERATURE,
- SENSOR_FEATURE_GET_AE_FLASHLIGHT_INFO,
- SENSOR_FEATURE_GET_TRIGGER_FLASHLIGHT_INFO, /* Trigger flashlight or not */
- SENSOR_FEATURE_SET_YUV_3A_CMD,
- SENSOR_FEATURE_SET_N3D_I2C_STREAM_REGDATA,
- SENSOR_FEATURE_SET_N3D_STOP_STREAMING,
- SENSOR_FEATURE_SET_N3D_START_STREAMING,
- SENSOR_FEATURE_GET_SENSOR_N3D_STREAM_TO_VSYNC_TIME,
- SENSOR_FEATURE_SET_ESHUTTER_GAIN,
- SENSOR_FEATURE_SET_OB_LOCK,
- SENSOR_FEATURE_SET_SENSOR_OTP_AWB_CMD,
- SENSOR_FEATURE_SET_SENSOR_OTP_LSC_CMD,
- SENSOR_FEATURE_GET_YUV_CAPTURE_OUTPUT_JPEG,
- SENSOR_FEATURE_SET_YUV_JPEG_PARA,
- SENSOR_FEATURE_GET_YUV_JPEG_INFO,
- SENSOR_FEATURE_SET_FRAMERATE,
- SENSOR_FEATURE_SET_HDR,
- SENSOR_FEATURE_GET_CROP_INFO,
- SENSOR_FEATURE_GET_VC_INFO,
- SENSOR_FEATURE_SET_IHDR_SHUTTER_GAIN,
- SENSOR_FEATURE_SET_AWB_GAIN,
- SENSOR_FEATURE_SET_MIN_MAX_FPS,
- SENSOR_FEATURE_GET_PDAF_INFO,
- SENSOR_FEATURE_GET_PDAF_DATA,
- SENSOR_FEATURE_GET_SENSOR_PDAF_CAPACITY,
- SENSOR_FEATURE_DEBUG_IMGSENSOR,
- SENSOR_FEATURE_SET_HDR_SHUTTER,
- SENSOR_FEATURE_SET_ISO,
- SENSOR_FEATURE_SET_PDAF,
- SENSOR_FEATURE_MAX
- } ACDK_SENSOR_FEATURE_ENUM;
- typedef enum {
- SENSOR_AF_IDLE = 0,
- SENSOR_AF_FOCUSING,
- SENSOR_AF_FOCUSED,
- SENSOR_AF_ERROR,
- SENSOR_AF_SCENE_DETECTING,
- SENSOR_AF_STATUS_MAX
- } ACDK_SENSOR_AF_STATUS_ENUM;
- typedef enum {
- SENSOR_AE_IDLE = 0,
- SENSOR_AE_EXPOSING,
- SENSOR_AE_EXPOSED,
- SENSOR_AE_ERROR,
- SENSOR_AE_LOCKED
- } ACDK_SENSOR_AE_STATUS_ENUM;
- typedef enum {
- SENSOR_AWB_IDLE = 0,
- SENSOR_AWB_BALANCING,
- SENSOR_AWB_BALANCED,
- SENSOR_AWB_ERROR,
- SENSOR_AWB_LOCKED
- } ACDK_SENSOR_AWB_STATUS_ENUM;
- typedef enum {
- SENSOR_INTERFACE_TYPE_PARALLEL = 0,
- SENSOR_INTERFACE_TYPE_MIPI,
- SENSOR_INTERFACE_TYPE_SERIAL, /* add for 72 ATV using serial interface */
- SENSOR_INTERFACE_TYPE_MAX
- } ACDK_SENSOR_INTERFACE_TYPE_ENUM;
- typedef enum {
- SENSOR_OUTPUT_FORMAT_RAW_B = 0,
- SENSOR_OUTPUT_FORMAT_RAW_Gb,
- SENSOR_OUTPUT_FORMAT_RAW_Gr,
- SENSOR_OUTPUT_FORMAT_RAW_R,
- SENSOR_OUTPUT_FORMAT_UYVY,
- SENSOR_OUTPUT_FORMAT_VYUY,
- SENSOR_OUTPUT_FORMAT_YUYV,
- SENSOR_OUTPUT_FORMAT_YVYU,
- SENSOR_OUTPUT_FORMAT_CbYCrY,
- SENSOR_OUTPUT_FORMAT_CrYCbY,
- SENSOR_OUTPUT_FORMAT_YCbYCr,
- SENSOR_OUTPUT_FORMAT_YCrYCb,
- SENSOR_OUTPUT_FORMAT_RAW8_B,
- SENSOR_OUTPUT_FORMAT_RAW8_Gb,
- SENSOR_OUTPUT_FORMAT_RAW8_Gr,
- SENSOR_OUTPUT_FORMAT_RAW8_R,
- SENSOR_OUTPUT_FORMAT_RAW_RWB_B,
- SENSOR_OUTPUT_FORMAT_RAW_RWB_Wb,
- SENSOR_OUTPUT_FORMAT_RAW_RWB_Wr,
- SENSOR_OUTPUT_FORMAT_RAW_RWB_R,
- SENSOR_OUTPUT_FORMAT_RAW_MONO
- } ACDK_SENSOR_OUTPUT_DATA_FORMAT_ENUM;
- typedef enum {
- SENSOR_MIPI_1_LANE = 0,
- SENSOR_MIPI_2_LANE,
- SENSOR_MIPI_3_LANE,
- SENSOR_MIPI_4_LANE
- } ACDK_SENSOR_MIPI_LANE_NUMBER_ENUM;
- typedef enum {
- SCAM_1_DATA_CHANNEL = 0,
- SCAM_2_DATA_CHANNEL,
- SCAM_3_DATA_CHANNEL,
- SCAM_4_DATA_CHANNEL,
- } SENSOR_SCAM_DATA_CHANNEL_ENUM;
- typedef enum {
- MIPI_OPHY_NCSI2 = 0,
- MIPI_OPHY_CSI2 = 1,
- } SENSOR_MIPI_TYPE_ENUM;
- typedef enum {
- MIPI_SETTLEDELAY_AUTO = 0,
- MIPI_SETTLEDELAY_MANUAL = 1,
- } SENSOR_SETTLEDELAY_MODE_ENUM;
- typedef enum {
- COMP8_NONE = 0,
- COMP8_DI_30 = 0x30,
- COMP8_DI_31 = 0x31,
- COMP8_DI_32 = 0x32,
- COMP8_DI_33 = 0x33,
- COMP8_DI_34 = 0x34,
- COMP8_DI_35 = 0x35,
- COMP8_DI_36 = 0x36,
- COMP8_DI_37 = 0x37,
- COMP8_DI_2A = 0x2A,
- } SENSOR_DPCM_TYPE_ENUM;
- typedef struct {
- MUINT16 SensorPreviewWidth;
- MUINT16 SensorPreviewHeight;
- MUINT16 SensorFullWidth;
- MUINT16 SensorFullHeight;
- MUINT16 SensorVideoWidth;
- MUINT16 SensorVideoHeight;
- MUINT16 SensorHighSpeedVideoWidth;
- MUINT16 SensorHighSpeedVideoHeight;
- MUINT16 SensorSlimVideoWidth;
- MUINT16 SensorSlimVideoHeight;
- MUINT16 SensorCustom1Width;
- MUINT16 SensorCustom1Height;
- MUINT16 SensorCustom2Width;
- MUINT16 SensorCustom2Height;
- MUINT16 SensorCustom3Width;
- MUINT16 SensorCustom3Height;
- MUINT16 SensorCustom4Width;
- MUINT16 SensorCustom4Height;
- MUINT16 SensorCustom5Width;
- MUINT16 SensorCustom5Height;
- MUINT16 Sensor3DPreviewWidth;
- MUINT16 Sensor3DPreviewHeight;
- MUINT16 Sensor3DFullWidth;
- MUINT16 Sensor3DFullHeight;
- MUINT16 Sensor3DVideoWidth;
- MUINT16 Sensor3DVideoHeight;
- MUINT16 SensorEffectivePreviewWidth;
- MUINT16 SensorEffectivePreviewHeight;
- MUINT16 SensorEffectiveFullWidth;
- MUINT16 SensorEffectiveFullHeight;
- MUINT16 SensorEffectiveVideoWidth;
- MUINT16 SensorEffectiveVideoHeight;
- MUINT16 SensorEffectiveHighSpeedVideoWidth;
- MUINT16 SensorEffectiveHighSpeedVideoHeight;
- MUINT16 SensorEffective3DPreviewWidth;
- MUINT16 SensorEffective3DPreviewHeight;
- MUINT16 SensorEffective3DFullWidth;
- MUINT16 SensorEffective3DFullHeight;
- MUINT16 SensorEffective3DVideoWidth;
- MUINT16 SensorEffective3DVideoHeight;
- MUINT16 SensorPreviewWidthOffset; /* from effective width to output width */
- MUINT16 SensorPreviewHeightOffset; /* from effective height to output height */
- MUINT16 SensorFullWidthOffset; /* from effective width to output width */
- MUINT16 SensorFullHeightOffset; /* from effective height to output height */
- MUINT16 SensorVideoWidthOffset; /* from effective width to output width */
- MUINT16 SensorVideoHeightOffset; /* from effective height to output height */
- MUINT16 SensorHighSpeedVideoWidthOffset; /* from effective width to output width */
- MUINT16 SensorHighSpeedVideoHeightOffset; /* from effective height to output height */
- MUINT16 Sensor3DPreviewWidthOffset; /* from effective width to output width */
- MUINT16 Sensor3DPreviewHeightOffset; /* from effective height to output height */
- MUINT16 Sensor3DFullWidthOffset; /* from effective width to output width */
- MUINT16 Sensor3DFullHeightOffset; /* from effective height to output height */
- MUINT16 Sensor3DVideoWidthOffset; /* from effective width to output width */
- MUINT16 Sensor3DVideoHeightOffset; /* from effective height to output height */
- } ACDK_SENSOR_RESOLUTION_INFO_STRUCT, *PACDK_SENSOR_RESOLUTION_INFO_STRUCT;
- typedef struct {
- MUINT16 SensorPreviewResolutionX;
- MUINT16 SensorPreviewResolutionY;
- MUINT16 SensorFullResolutionX;
- MUINT16 SensorFullResolutionY;
- MUINT8 SensorClockFreq; /* MHz */
- MUINT8 SensorCameraPreviewFrameRate;
- MUINT8 SensorVideoFrameRate;
- MUINT8 SensorStillCaptureFrameRate;
- MUINT8 SensorWebCamCaptureFrameRate;
- MUINT8 SensorClockPolarity; /* SENSOR_CLOCK_POLARITY_HIGH/SENSOR_CLOCK_POLARITY_Low */
- MUINT8 SensorClockFallingPolarity;
- MUINT8 SensorClockRisingCount; /* 0..15 */
- MUINT8 SensorClockFallingCount; /* 0..15 */
- MUINT8 SensorClockDividCount; /* 0..15 */
- MUINT8 SensorPixelClockCount; /* 0..15 */
- MUINT8 SensorDataLatchCount; /* 0..15 */
- MUINT8 SensorHsyncPolarity;
- MUINT8 SensorVsyncPolarity;
- MUINT8 SensorInterruptDelayLines;
- MINT32 SensorResetActiveHigh;
- MUINT32 SensorResetDelayCount;
- ACDK_SENSOR_INTERFACE_TYPE_ENUM SensroInterfaceType;
- ACDK_SENSOR_OUTPUT_DATA_FORMAT_ENUM SensorOutputDataFormat;
- ACDK_SENSOR_MIPI_LANE_NUMBER_ENUM SensorMIPILaneNumber;
- MUINT32 CaptureDelayFrame;
- MUINT32 PreviewDelayFrame;
- MUINT32 VideoDelayFrame;
- MUINT32 HighSpeedVideoDelayFrame;
- MUINT32 SlimVideoDelayFrame;
- MUINT32 YUVAwbDelayFrame;
- MUINT32 YUVEffectDelayFrame;
- MUINT32 Custom1DelayFrame;
- MUINT32 Custom2DelayFrame;
- MUINT32 Custom3DelayFrame;
- MUINT32 Custom4DelayFrame;
- MUINT32 Custom5DelayFrame;
- MUINT16 SensorGrabStartX;
- MUINT16 SensorGrabStartY;
- MUINT16 SensorDrivingCurrent;
- MUINT8 SensorMasterClockSwitch;
- MUINT8 AEShutDelayFrame; /* The frame of setting shutter default 0 for TG int */
- MUINT8 AESensorGainDelayFrame; /* The frame of setting sensor gain */
- MUINT8 AEISPGainDelayFrame;
- MUINT8 MIPIDataLowPwr2HighSpeedTermDelayCount;
- MUINT8 MIPIDataLowPwr2HighSpeedSettleDelayCount;
- MUINT8 MIPICLKLowPwr2HighSpeedTermDelayCount;
- MUINT8 SensorWidthSampling;
- MUINT8 SensorHightSampling;
- MUINT8 SensorPacketECCOrder;
- SENSOR_MIPI_TYPE_ENUM MIPIsensorType;
- MUINT8 SensorCaptureOutputJPEG; /* JPEG file or not? */
- MUINT8 SensorModeNum;
- MUINT8 IHDR_Support;
- MUINT16 IHDR_LE_FirstLine;
- SENSOR_SETTLEDELAY_MODE_ENUM SettleDelayMode;
- MUINT8 PDAF_Support;
- MUINT8 DPCM_INFO;
- MUINT8 PerFrameCTL_Support;
- SENSOR_SCAM_DATA_CHANNEL_ENUM SCAM_DataNumber;
- MUINT8 SCAM_DDR_En;
- MUINT8 SCAM_CLK_INV;
- MUINT8 SCAM_DEFAULT_DELAY;
- MUINT8 SCAM_CRC_En;
- MUINT8 SCAM_SOF_src;
- MUINT32 SCAM_Timout_Cali;
- } ACDK_SENSOR_INFO_STRUCT, *PACDK_SENSOR_INFO_STRUCT;
- typedef struct {
- MUINT16 SensorPreviewResolutionX;
- MUINT16 SensorPreviewResolutionY;
- MUINT16 SensorFullResolutionX;
- MUINT16 SensorFullResolutionY;
- MUINT8 SensorClockFreq; /* MHz */
- MUINT8 SensorCameraPreviewFrameRate;
- MUINT8 SensorVideoFrameRate;
- MUINT8 SensorStillCaptureFrameRate;
- MUINT8 SensorWebCamCaptureFrameRate;
- MUINT8 SensorClockPolarity; /* SENSOR_CLOCK_POLARITY_HIGH/SENSOR_CLOCK_POLARITY_Low */
- MUINT8 SensorClockFallingPolarity;
- MUINT8 SensorClockRisingCount; /* 0..15 */
- MUINT8 SensorClockFallingCount; /* 0..15 */
- MUINT8 SensorClockDividCount; /* 0..15 */
- MUINT8 SensorPixelClockCount; /* 0..15 */
- MUINT8 SensorDataLatchCount; /* 0..15 */
- MUINT8 SensorHsyncPolarity;
- MUINT8 SensorVsyncPolarity;
- MUINT8 SensorInterruptDelayLines;
- MINT32 SensorResetActiveHigh;
- MUINT32 SensorResetDelayCount;
- ACDK_SENSOR_INTERFACE_TYPE_ENUM SensroInterfaceType;
- ACDK_SENSOR_OUTPUT_DATA_FORMAT_ENUM SensorOutputDataFormat;
- ACDK_SENSOR_MIPI_LANE_NUMBER_ENUM SensorMIPILaneNumber;
- MUINT32 CaptureDelayFrame;
- MUINT32 PreviewDelayFrame;
- MUINT32 VideoDelayFrame;
- MUINT32 HighSpeedVideoDelayFrame;
- MUINT32 SlimVideoDelayFrame;
- MUINT32 YUVAwbDelayFrame;
- MUINT32 YUVEffectDelayFrame;
- MUINT32 Custom1DelayFrame;
- MUINT32 Custom2DelayFrame;
- MUINT32 Custom3DelayFrame;
- MUINT32 Custom4DelayFrame;
- MUINT32 Custom5DelayFrame;
- MUINT16 SensorGrabStartX_PRV;
- MUINT16 SensorGrabStartY_PRV;
- MUINT16 SensorGrabStartX_CAP;
- MUINT16 SensorGrabStartY_CAP;
- MUINT16 SensorGrabStartX_VD;
- MUINT16 SensorGrabStartY_VD;
- MUINT16 SensorGrabStartX_VD1;
- MUINT16 SensorGrabStartY_VD1;
- MUINT16 SensorGrabStartX_VD2;
- MUINT16 SensorGrabStartY_VD2;
- MUINT16 SensorGrabStartX_CST1;
- MUINT16 SensorGrabStartY_CST1;
- MUINT16 SensorGrabStartX_CST2;
- MUINT16 SensorGrabStartY_CST2;
- MUINT16 SensorGrabStartX_CST3;
- MUINT16 SensorGrabStartY_CST3;
- MUINT16 SensorGrabStartX_CST4;
- MUINT16 SensorGrabStartY_CST4;
- MUINT16 SensorGrabStartX_CST5;
- MUINT16 SensorGrabStartY_CST5;
- MUINT16 SensorDrivingCurrent;
- MUINT8 SensorMasterClockSwitch;
- MUINT8 AEShutDelayFrame; /* The frame of setting shutter default 0 for TG int */
- MUINT8 AESensorGainDelayFrame; /* The frame of setting sensor gain */
- MUINT8 AEISPGainDelayFrame;
- MUINT8 MIPIDataLowPwr2HighSpeedTermDelayCount;
- MUINT8 MIPIDataLowPwr2HighSpeedSettleDelayCount;
- MUINT8 MIPIDataLowPwr2HSSettleDelayM0;
- MUINT8 MIPIDataLowPwr2HSSettleDelayM1;
- MUINT8 MIPIDataLowPwr2HSSettleDelayM2;
- MUINT8 MIPIDataLowPwr2HSSettleDelayM3;
- MUINT8 MIPIDataLowPwr2HSSettleDelayM4;
- MUINT8 MIPICLKLowPwr2HighSpeedTermDelayCount;
- MUINT8 SensorWidthSampling;
- MUINT8 SensorHightSampling;
- MUINT8 SensorPacketECCOrder;
- SENSOR_MIPI_TYPE_ENUM MIPIsensorType;
- MUINT8 SensorCaptureOutputJPEG; /* JPEG file or not? */
- MUINT8 SensorModeNum;
- MUINT8 IHDR_Support;
- MUINT16 IHDR_LE_FirstLine;
- SENSOR_SETTLEDELAY_MODE_ENUM SettleDelayMode;
- MUINT8 PDAF_Support;
- MUINT8 DPCM_INFO;
- MUINT8 IMGSENSOR_DPCM_TYPE_PRE;
- MUINT8 IMGSENSOR_DPCM_TYPE_CAP;
- MUINT8 IMGSENSOR_DPCM_TYPE_VD;
- MUINT8 IMGSENSOR_DPCM_TYPE_VD1;
- MUINT8 IMGSENSOR_DPCM_TYPE_VD2;
- MUINT8 PerFrameCTL_Support;
- SENSOR_SCAM_DATA_CHANNEL_ENUM SCAM_DataNumber;
- MUINT8 SCAM_DDR_En;
- MUINT8 SCAM_CLK_INV;
- MUINT8 SCAM_DEFAULT_DELAY;
- MUINT8 SCAM_CRC_En;
- MUINT8 SCAM_SOF_src;
- MUINT32 SCAM_Timout_Cali;
- } ACDK_SENSOR_INFO2_STRUCT, *PACDK_SENSOR_INFO2_STRUCT;
- typedef enum {
- ACDK_CCT_REG_ISP = 0,
- ACDK_CCT_REG_CMOS,
- ACDK_CCT_REG_CCD
- } ACDK_CCT_REG_TYPE_ENUM;
- /* R/W ISP/Sensor Register */
- typedef struct {
- ACDK_CCT_REG_TYPE_ENUM Type;
- MUINT32 RegAddr;
- MUINT32 RegData;
- } ACDK_CCT_REG_RW_STRUCT, *PACDK_CCT_REG_RW_STRUCT;
- typedef struct {
- ACDK_CCT_REG_TYPE_ENUM Type; /* ISP, CMOS_SENSOR, CCD_SENSOR */
- MUINT32 DeviceId;
- ACDK_SENSOR_OUTPUT_DATA_FORMAT_ENUM StartPixelBayerPtn;
- MUINT16 GrabXOffset;
- MUINT16 GrabYOffset;
- } ACDK_CCT_SENSOR_INFO_STRUCT, *PACDK_CCT_SENSOR_INFO_STRUCT;
- typedef enum {
- CMOS_SENSOR = 0,
- CCD_SENSOR
- } SENSOR_TYPE_ENUM;
- typedef struct {
- MUINT16 SensorId;
- SENSOR_TYPE_ENUM SensorType;
- ACDK_SENSOR_OUTPUT_DATA_FORMAT_ENUM SensorOutputDataFormat;
- } ACDK_SENSOR_ENG_INFO_STRUCT;
- typedef struct {
- MUINT32 RegAddr;
- MUINT32 RegData;
- } ACDK_SENSOR_REG_INFO_STRUCT;
- typedef struct {
- MUINT8 debugStruct[32];
- MUINT8 debugSubstruct[32];
- MUINT32 isGet; /* 1 means get, 0 means set */
- MUINT32 value;
- } ACDK_SENSOR_DBG_IMGSENSOR_STRUCT;
- typedef struct {
- MUINT32 GroupIdx;
- MUINT32 ItemCount;
- MUINT8 *GroupNamePtr;
- } ACDK_SENSOR_GROUP_INFO_STRUCT;
- typedef struct {
- MUINT32 GroupIdx;
- MUINT32 ItemIdx;
- MUINT8 ItemNamePtr[50]; /* item name */
- MUINT32 ItemValue; /* item value */
- MINT32 IsTrueFalse; /* is this item for enable/disable functions */
- MINT32 IsReadOnly; /* is this item read only */
- MINT32 IsNeedRestart; /* after set this item need restart */
- MUINT32 Min; /* min value of item value */
- MUINT32 Max; /* max value of item value */
- } ACDK_SENSOR_ITEM_INFO_STRUCT;
- typedef enum {
- ACDK_SENSOR_IMAGE_NORMAL = 0,
- ACDK_SENSOR_IMAGE_H_MIRROR,
- ACDK_SENSOR_IMAGE_V_MIRROR,
- ACDK_SENSOR_IMAGE_HV_MIRROR
- } ACDK_SENSOR_IMAGE_MIRROR_ENUM;
- typedef enum {
- ACDK_SENSOR_OPERATION_MODE_CAMERA_PREVIEW = 0,
- ACDK_SENSOR_OPERATION_MODE_VIDEO,
- ACDK_SENSOR_OPERATION_MODE_STILL_CAPTURE,
- ACDK_SENSOR_OPERATION_MODE_HIGHSP_VIDEO1,
- ACDK_SENSOR_OPERATION_MODE_HIGHSP_VIDEO2,
- ACDK_SENSOR_OPERATION_MODE_WEB_CAPTURE,
- ACDK_SENSOR_OPERATION_MODE_CUSTOM1,
- ACDK_SENSOR_OPERATION_MODE_CUSTOM2,
- ACDK_SENSOR_OPERATION_MODE_CUSTOM3,
- ACDK_SENSOR_OPERATION_MODE_CUSTOM4,
- ACDK_SENSOR_OPERATION_MODE_CUSTOM5,
- ACDK_SENSOR_OPERATION_MODE_MAX
- } ACDK_SENSOR_OPERATION_MODE_ENUM;
- typedef struct {
- MUINT16 GrabStartX; /* The first grabed column data of the image sensor in pixel clock count */
- MUINT16 GrabStartY; /* The first grabed row data of the image sensor in pixel clock count */
- MUINT16 ExposureWindowWidth; /* Exposure window width of image sensor */
- MUINT16 ExposureWindowHeight; /* Exposure window height of image sensor */
- MUINT16 ImageTargetWidth; /* image captured width */
- MUINT16 ImageTargetHeight; /* image captuerd height */
- MUINT16 ExposurePixel; /* exposure window width of image sensor + dummy pixel */
- MUINT16 CurrentExposurePixel; /* exposure window width of image sensor + dummy pixel */
- MUINT16 ExposureLine; /* exposure window width of image sensor + dummy line */
- MUINT16 ZoomFactor; /* digital zoom factor */
- } ACDK_SENSOR_EXPOSURE_WINDOW_STRUCT;
- typedef struct {
- ACDK_SENSOR_IMAGE_MIRROR_ENUM SensorImageMirror;
- MINT32 EnableShutterTansfer; /* capture only */
- MINT32 EnableFlashlightTansfer; /* flash light capture only */
- ACDK_SENSOR_OPERATION_MODE_ENUM SensorOperationMode;
- MUINT16 ImageTargetWidth; /* image captured width */
- MUINT16 ImageTargetHeight; /* image captuerd height */
- MUINT16 CaptureShutter; /* capture only */
- MUINT16 FlashlightDuty; /* flash light capture only */
- MUINT16 FlashlightOffset; /* flash light capture only */
- MUINT16 FlashlightShutFactor; /* flash light capture only */
- MUINT16 FlashlightMinShutter;
- ACDK_CAMERA_OPERATION_MODE_ENUM MetaMode; /* capture only */
- MUINT32 DefaultPclk; /* Sensor pixel clock(Ex:24000000) */
- MUINT32 Pixels; /* Sensor active pixel number */
- MUINT32 Lines; /* Sensor active line number */
- MUINT32 Shutter; /* Sensor current shutter */
- MUINT32 FrameLines; /* valid+dummy lines for minimum shutter */
- } ACDK_SENSOR_CONFIG_STRUCT;
- typedef enum {
- MCLK_48MHZ_GROUP = 0x1,
- MCLK_52MHZ_GROUP = 0x2,
- } ACKD_SENSOR_MCLK_ENUM;
- typedef struct {
- MUINT8 on;
- ACKD_SENSOR_MCLK_ENUM freq;
- } ACDK_SENSOR_MCLK_STRUCT;
- typedef struct {
- MUINT16 full_w;
- MUINT16 full_h;
- MUINT16 x0_offset;
- MUINT16 y0_offset;
- MUINT16 w0_size;
- MUINT16 h0_size;
- MUINT16 scale_w;
- MUINT16 scale_h;
- MUINT16 x1_offset;
- MUINT16 y1_offset;
- MUINT16 w1_size;
- MUINT16 h1_size;
- MUINT16 x2_tg_offset;
- MUINT16 y2_tg_offset;
- MUINT16 w2_tg_size;
- MUINT16 h2_tg_size;
- } SENSOR_WINSIZE_INFO_STRUCT;
- typedef struct {
- MUINT32 SensorId;
- SENSOR_WINSIZE_INFO_STRUCT SensorWinSize;
- } SENSOR_WINSIZE_STRUCT, *pSENSOR_WINSIZE_STRUCT;
- typedef struct {
- MUINT16 VC_Num;
- MUINT16 VC_PixelNum;
- MUINT16 ModeSelect; /* 0: auto mode, 1:direct mode */
- MUINT16 EXPO_Ratio; /* 1/1, 1/2, 1/4, 1/8 */
- MUINT16 ODValue; /* OD Vaule */
- MUINT16 RG_STATSMODE; /* STATS divistion mdoe 0: 16x16, 1:8x8, 2:4x4, 3:1x1*/
- MUINT16 VC0_ID;
- MUINT16 VC0_DataType;
- MUINT16 VC0_SIZEH;
- MUINT16 VC0_SIZEV;
- MUINT16 VC1_ID;
- MUINT16 VC1_DataType;
- MUINT16 VC1_SIZEH;
- MUINT16 VC1_SIZEV;
- MUINT16 VC2_ID;
- MUINT16 VC2_DataType;
- MUINT16 VC2_SIZEH;
- MUINT16 VC2_SIZEV;
- MUINT16 VC3_ID;
- MUINT16 VC3_DataType;
- MUINT16 VC3_SIZEH;
- MUINT16 VC3_SIZEV;
- } SENSOR_VC_INFO_STRUCT, *pSENSOR_VC_INFO_STRUCT;
- typedef struct {
- MUINT32 ABS_GAIN_GR;
- MUINT32 ABS_GAIN_R;
- MUINT32 ABS_GAIN_B;
- MUINT32 ABS_GAIN_GB;
- } SET_SENSOR_AWB_GAIN, *PSET_SENSOR_AWB_GAIN;
- typedef struct {
- MUINT32 SENSOR_MODE;
- MUINT32 ISO;
- } SET_SENSOR_ISO, *PSET_SENSOR_ISO;
- typedef struct {
- MUINT32 i4OffsetX; /* start offset of first PD block */
- MUINT32 i4OffsetY;
- MUINT32 i4PitchX; /* PD block pitch */
- MUINT32 i4PitchY;
- MUINT32 i4PairNum; /* PD pair num in one block */
- MUINT32 i4SubBlkW; /* sub block width (one PD pair in one sub block) */
- MUINT32 i4SubBlkH; /* sub block height */
- MUINT32 i4PosL[16][2]; /* left pd pixel position in one block*/
- MUINT32 i4PosR[16][2]; /* right pd pixel position in one block*/
- MUINT32 iMirrorFlip; /* 0:IMAGE_NORMAL,1:IMAGE_H_MIRROR,2:IMAGE_V_MIRROR,3:IMAGE_HV_MIRROR*/
- } SET_PD_BLOCK_INFO_T, *PSET_PD_BLOCK_INFO_T;
- typedef enum {
- SENSORIF_PARALLEL = 0,
- SENSORIF_SERIAL,
- SENSORIF_MIPI_DHY0,
- SENSORIF_MIPI_DHY1,
- SENSORIF_MIPI_DHY2
- } SENSOR_PHY_TYPE_ENUM;
- typedef enum {
- DATA_8BIT_FMT = 0x0,
- DATA_10BIT_FMT = 0x1,
- DATA_12BIT_FMT = 0x2,
- DATA_YUV422_FMT = 0x3,
- } INDATA_FORMAT_ENUM;
- typedef struct {
- MINT32 mSensorDev;
- MUINT8 GpioEnable;
- SENSOR_PHY_TYPE_ENUM SensroInterfaceType;
- INDATA_FORMAT_ENUM SensorIndataformat;
- } IMGSENSOR_GPIO_STRUCT;
- /*******************************************************************************
- *
- ********************************************************************************/
- #define MAXIMUM_NVRAM_CAMERA_SENSOR_FILE_SIZE_KERNEL 4096
- #define NVRAM_CAMERA_SENSOR_FILE_VERSION 1
- /* Sensor table */
- #define MAXIMUM_SENSOR_CCT_REG_NUMBER 100
- #define MAXIMUM_SENSOR_ENG_REG_NUMBER 100
- typedef struct {
- MUINT32 Addr;
- MUINT32 Para;
- } SENSOR_REG_STRUCT;
- typedef struct {
- MUINT32 Version;
- MUINT32 SensorId; /* ID of sensor module */
- SENSOR_REG_STRUCT SensorEngReg[MAXIMUM_SENSOR_ENG_REG_NUMBER];
- SENSOR_REG_STRUCT SensorCCTReg[MAXIMUM_SENSOR_CCT_REG_NUMBER];
- MUINT8 CameraData[MAXIMUM_NVRAM_CAMERA_SENSOR_FILE_SIZE_KERNEL / 2 - 8 - sizeof(SENSOR_REG_STRUCT) * (MAXIMUM_SENSOR_ENG_REG_NUMBER + MAXIMUM_SENSOR_CCT_REG_NUMBER)];
- } NVRAM_SENSOR_DATA_STRUCT, *PNVRAM_SENSOR_DATA_STRUCT;
- #define MAX_SENSOR_CAL_SIZE_KERNEL (1024) /* Byte */
- #define MAX_SHADING_DATA_TBL ((MAX_SENSOR_CAL_SIZE_KERNEL-8)/4)
- typedef struct {
- MUINT32 DataFormat;
- MUINT32 DataSize;
- MUINT32 ShadingData[MAX_SHADING_DATA_TBL];
- } SET_SENSOR_CALIBRATION_DATA_STRUCT, *PSET_SENSOR_CALIBRATION_DATA_STRUCT;
- typedef struct {
- MSDK_SCENARIO_ID_ENUM ScenarioId[2];
- ACDK_SENSOR_INFO_STRUCT * pInfo[2];
- ACDK_SENSOR_CONFIG_STRUCT * pConfig[2];
- } ACDK_SENSOR_GETINFO_STRUCT, *PACDK_SENSOR_GETINFO_STRUCT;
- typedef struct {
- MUINT32 SensorId;
- ACDK_SENSOR_INFO2_STRUCT *pInfo;
- ACDK_SENSOR_RESOLUTION_INFO_STRUCT *pSensorResolution;
- } IMAGESENSOR_GETINFO_STRUCT, *PIMAGESENSOR_GETINFO_STRUCT;
- typedef struct {
- CAMERA_DUAL_CAMERA_SENSOR_ENUM InvokeCamera;
- ACDK_SENSOR_FEATURE_ENUM FeatureId;
- MUINT8 *pFeaturePara;
- MUINT32 *pFeatureParaLen;
- } ACDK_SENSOR_FEATURECONTROL_STRUCT, *PACDK_SENSOR_FEATURECONTROL_STRUCT;
- typedef struct {
- CAMERA_DUAL_CAMERA_SENSOR_ENUM InvokeCamera;
- MSDK_SCENARIO_ID_ENUM ScenarioId;
- ACDK_SENSOR_EXPOSURE_WINDOW_STRUCT *pImageWindow;
- ACDK_SENSOR_CONFIG_STRUCT *pSensorConfigData;
- } ACDK_SENSOR_CONTROL_STRUCT;
- typedef struct {
- ACDK_SENSOR_RESOLUTION_INFO_STRUCT *pResolution[2];
- } ACDK_SENSOR_PRESOLUTION_STRUCT;
- typedef struct regval_list {
- MUINT32 reg_addr;
- MUINT32 value;
- MUINT32 bytes;
- } REGVAL_LIST_STRUCT;
- #define KDIMGSENSOR_REGVAL_LIST_MAX_NUM 256
- typedef struct format_struct {
- MUINT8 *desc;
- MUINT32 pixelformat;
- /* REGVAL_LIST_STRUCT regs[KDIMGSENSOR_REGVAL_LIST_MAX_NUM]; */
- int (*pfInitCfg)(void);
- } IMGSENSOR_FORMAT_STRUCT;
- typedef struct {
- IMGSENSOR_FORMAT_STRUCT format;
- MUINT32 u4InClk; /* Common part //hard coded */
- MUINT32 u4OutClk; /* Common part // */
- MUINT32 u4TotalPixelPerLine; /* By modes */
- MUINT32 u4TotalLinesPerFrame; /* By modes and frame rate setting */
- MUINT32 u4ActualWidth; /* By modes */
- MUINT32 u4ActualHeight; /* By modes */
- MUINT32 u4Width; /* By modes */
- MUINT32 u4Height; /* By modes */
- MUINT32 u4FrameTimeInus; /* By modes and frame rate setting */
- MUINT32 u4MinFrameTimeInus; /* By modes */
- MUINT32 u4LineTimeInus; /* By modes */
- MUINT32 u4FinePixCntPerus; /* Common part */
- MUINT32 u4MinFineTimeInus; /* By modes */
- MUINT32 u4MaxFineTimeInus; /* By modes */
- MUINT32 u4XStart;
- MUINT32 u4XEnd;
- MUINT32 u4YStart;
- MUINT32 u4YEnd;
- } stImgSensorFormat;
- #ifdef CONFIG_COMPAT
- /* Redifne structures for compat_ioctl */
- typedef struct {
- MSDK_SCENARIO_ID_ENUM ScenarioId[2];
- compat_uptr_t pInfo[2];
- compat_uptr_t pConfig[2];
- } COMPAT_ACDK_SENSOR_GETINFO_STRUCT;
- typedef struct {
- MUINT32 SensorId;
- compat_uptr_t pInfo;
- compat_uptr_t pSensorResolution;
- } COMPAT_IMAGESENSOR_GETINFO_STRUCT;
- typedef struct {
- CAMERA_DUAL_CAMERA_SENSOR_ENUM InvokeCamera;
- ACDK_SENSOR_FEATURE_ENUM FeatureId;
- compat_uptr_t pFeaturePara;
- compat_uptr_t pFeatureParaLen;
- } COMPAT_ACDK_SENSOR_FEATURECONTROL_STRUCT;
- typedef struct {
- CAMERA_DUAL_CAMERA_SENSOR_ENUM InvokeCamera;
- MSDK_SCENARIO_ID_ENUM ScenarioId;
- compat_uptr_t pImageWindow;
- compat_uptr_t pSensorConfigData;
- } COMPAT_ACDK_SENSOR_CONTROL_STRUCT;
- typedef struct {
- compat_uptr_t pResolution[2];
- } COMPAT_ACDK_SENSOR_PRESOLUTION_STRUCT;
- #endif
- /*******************************************************************************
- *
- ********************************************************************************/
- /* */
- /* adoption to winmo driver files */
- /* */
- /* typedef */
- /* #define kal_uint8 u8 */
- /* #define MSDK_SCENARIO_ID_ENUM ACDK_SCENARIO_ID_ENUM */
- #define MSDK_SENSOR_EXPOSURE_WINDOW_STRUCT ACDK_SENSOR_EXPOSURE_WINDOW_STRUCT
- #define MSDK_SENSOR_CONFIG_STRUCT ACDK_SENSOR_CONFIG_STRUCT
- #define MSDK_SENSOR_FEATURE_ENUM ACDK_SENSOR_FEATURE_ENUM
- #define MSDK_SENSOR_REG_INFO_STRUCT ACDK_SENSOR_REG_INFO_STRUCT
- #define MSDK_SENSOR_GROUP_INFO_STRUCT ACDK_SENSOR_GROUP_INFO_STRUCT
- #define MSDK_SENSOR_ITEM_INFO_STRUCT ACDK_SENSOR_ITEM_INFO_STRUCT
- #define MSDK_SENSOR_ENG_INFO_STRUCT ACDK_SENSOR_ENG_INFO_STRUCT
- #define MSDK_SENSOR_INFO_STRUCT ACDK_SENSOR_INFO_STRUCT
- #define MSDK_SENSOR_RESOLUTION_INFO_STRUCT ACDK_SENSOR_RESOLUTION_INFO_STRUCT
- #define MSDK_SENSOR_DBG_IMGSENSOR_INFO_STRUCT ACDK_SENSOR_DBG_IMGSENSOR_STRUCT
- /* MSDK_SCENARIO_ID_ENUM => ACDK_SCENARIO_ID_ENUM */
- /* #define MSDK_SCENARIO_ID_CAMERA_PREVIEW ACDK_SCENARIO_ID_CAMERA_PREVIEW */
- /* #define MSDK_SCENARIO_ID_VIDEO_PREVIEW ACDK_SCENARIO_ID_VIDEO_PREVIEW */
- /* #define MSDK_SCENARIO_ID_CAMERA_CAPTURE_JPEG ACDK_SCENARIO_ID_CAMERA_CAPTURE_JPEG */
- #define MSDK_SENSOR_OPERATION_MODE_VIDEO ACDK_SENSOR_OPERATION_MODE_VIDEO
- /* #define MSDK_SCENARIO_ID_CAMERA_ZSD ACDK_SCENARIO_ID_CAMERA_ZSD */
- /* #define MSDK_SCENARIO_ID_CAMERA_3D_PREVIEW ACDK_SCENARIO_ID_CAMERA_3D_PREVIEW */
- /* #define MSDK_SCENARIO_ID_CAMERA_3D_CAPTURE ACDK_SCENARIO_ID_CAMERA_3D_CAPTURE */
- /* #define MSDK_SCENARIO_ID_CAMERA_3D_VIDEO ACDK_SCENARIO_ID_CAMERA_3D_VIDEO */
- /*******************************************************************************
- *
- ********************************************************************************/
- /*******************************************************************************
- *
- ********************************************************************************/
- /* for new simplifed sensor driver */
- typedef struct {
- MUINT32(*SensorOpen)(void);
- MUINT32(*SensorGetInfo)(MUINT32 *pScenarioId[2], MSDK_SENSOR_INFO_STRUCT * pSensorInfo[2], MSDK_SENSOR_CONFIG_STRUCT * pSensorConfigData[2]);
- MUINT32(*SensorGetResolution)(MSDK_SENSOR_RESOLUTION_INFO_STRUCT * pSensorResolution[2]);
- MUINT32(*SensorFeatureControl)(CAMERA_DUAL_CAMERA_SENSOR_ENUM InvokeCamera, MSDK_SENSOR_FEATURE_ENUM FeatureId, MUINT8 *pFeaturePara, MUINT32 *pFeatureParaLen);
- MUINT32(*SensorControl)(MSDK_SCENARIO_ID_ENUM ScenarioId, MSDK_SENSOR_EXPOSURE_WINDOW_STRUCT *pImageWindow, MSDK_SENSOR_CONFIG_STRUCT *pSensorConfigData);
- MUINT32(*SensorClose)(void);
- } MULTI_SENSOR_FUNCTION_STRUCT, *PMULTI_SENSOR_FUNCTION_STRUCT;
- typedef struct {
- MUINT32(*SensorOpen)(void);
- MUINT32(*SensorGetInfo)(MUINT32 *pScenarioId[2], MSDK_SENSOR_INFO_STRUCT * pSensorInfo[2], MSDK_SENSOR_CONFIG_STRUCT *pSensorConfigData[2]);
- MUINT32(*SensorGetResolution)(MSDK_SENSOR_RESOLUTION_INFO_STRUCT * pSensorResolution[2]);
- MUINT32(*SensorFeatureControl)(CAMERA_DUAL_CAMERA_SENSOR_ENUM InvokeCamera, MSDK_SENSOR_FEATURE_ENUM FeatureId, MUINT8 *pFeaturePara, MUINT32 *pFeatureParaLen);
- MUINT32(*SensorControl)(CAMERA_DUAL_CAMERA_SENSOR_ENUM InvokeCamera, MSDK_SCENARIO_ID_ENUM ScenarioId, MSDK_SENSOR_EXPOSURE_WINDOW_STRUCT *pImageWindow, MSDK_SENSOR_CONFIG_STRUCT *pSensorConfigData);
- MUINT32(*SensorClose)(void);
- } MULTI_SENSOR_FUNCTION_STRUCT2, *PMULTI_SENSOR_FUNCTION_STRUCT2;
- typedef struct {
- MUINT32(*SensorOpen)(void);
- MUINT32(*SensorGetInfo)(MSDK_SCENARIO_ID_ENUM ScenarioId, MSDK_SENSOR_INFO_STRUCT *pSensorInfo,
- MSDK_SENSOR_CONFIG_STRUCT *pSensorConfigData);
- MUINT32(*SensorGetResolution)(MSDK_SENSOR_RESOLUTION_INFO_STRUCT *pSensorResolution);
- MUINT32(*SensorFeatureControl)(MSDK_SENSOR_FEATURE_ENUM FeatureId, MUINT8 *pFeaturePara, MUINT32 *pFeatureParaLen);
- MUINT32(*SensorControl)(MSDK_SCENARIO_ID_ENUM ScenarioId, MSDK_SENSOR_EXPOSURE_WINDOW_STRUCT *pImageWindow, MSDK_SENSOR_CONFIG_STRUCT *pSensorConfigData);
- MUINT32(*SensorClose)(void);
- #if 1 /* isp suspend resume patch */
- MSDK_SCENARIO_ID_ENUM ScenarioId;
- MSDK_SENSOR_EXPOSURE_WINDOW_STRUCT imageWindow;
- MSDK_SENSOR_CONFIG_STRUCT sensorConfigData;
- #endif
- } SENSOR_FUNCTION_STRUCT, *PSENSOR_FUNCTION_STRUCT;
- typedef struct {
- MUINT32 SensorId;
- MUINT8 drvname[32];
- MUINT32(*SensorInit)(PSENSOR_FUNCTION_STRUCT *pfFunc);
- } ACDK_KD_SENSOR_INIT_FUNCTION_STRUCT, *PACDK_KD_SENSOR_INIT_FUNCTION_STRUCT;
- #define KDIMGSENSOR_DUAL_SHIFT 16
- #define KDIMGSENSOR_DUAL_MASK_MSB 0xFFFF0000
- #define KDIMGSENSOR_DUAL_MASK_LSB 0x0000FFFF
- #define KDIMGSENSOR_NOSENSOR "non_sensor"
- #define KDIMGSENSOR_MAX_INVOKE_DRIVERS (2)
- #define KDIMGSENSOR_INVOKE_DRIVER_0 (0)
- #define KDIMGSENSOR_INVOKE_DRIVER_1 (1)
- /* For sensor synchronize the exposure time / sensor gain and isp gain. */
- typedef struct {
- MUINT16 u2ISPNewRGain;
- MUINT16 u2ISPNewGrGain;
- MUINT16 u2ISPNewGbGain;
- MUINT16 u2ISPNewBGain;
- MUINT16 u2SensorNewExpTime;
- MUINT16 u2SensorNewGain;
- MUINT8 uSensorExpDelayFrame;
- MUINT8 uSensorGainDelayFrame;
- MUINT8 uISPGainDelayFrame;
- MUINT8 uDummy;
- } ACDK_KD_SENSOR_SYNC_STRUCT, *PACDK_KD_SENSOR_SYNC_STRUCT;
- typedef struct {
- MUINT16 AeRefLV05Shutter; /* Sensor AE Shutter under Lv05 */
- MUINT16 AeRefLV13Shutter; /* Sensor AE Shutter under Lv13 */
- MUINT16 AeRefLV05Gain; /* Sensor AE Gain under Lv05 */
- MUINT16 AeRefLV13Gain; /* Sensor AE Gain under Lv13 */
- } SENSOR_AE_REF_STRUCT, *PSENSOR_AE_REF_STRUCT;
- typedef struct {
- MUINT16 AwbRefD65Rgain; /* Sensor AWB R Gain under D65 */
- MUINT16 AwbRefD65Bgain; /* Sensor AWB B Gain under D65 */
- MUINT16 AwbRefCWFRgain; /* Sensor AWB R Gain under CWF */
- MUINT16 AwbRefCWFBgain; /* Sensor AWB B Gain under CWF */
- } SENSOR_AWB_GAIN_REF_STRUCT, *PSENSOR_AWB_GAIN_REF_STRUCT;
- typedef struct {
- SENSOR_AE_REF_STRUCT SensorAERef; /* AE Ref information for ASD usage */
- SENSOR_AWB_GAIN_REF_STRUCT SensorAwbGainRef; /* AWB Gain Ref information for ASD usage */
- MUINT32 SensorLV05LV13EVRef; /* EV calculate for ASD usage */
- } SENSOR_AE_AWB_REF_STRUCT, *PSENSOR_AE_AWB_REF_STRUCT;
- typedef struct {
- MUINT16 AeCurShutter; /* Current Sensor AE Shutter */
- MUINT16 AeCurGain; /* Current Sensor AE Gain */
- } SENSOR_AE_CUR_STRUCT, *PSENSOR_AE_CUR_STRUCT;
- typedef struct {
- MUINT16 AwbCurRgain; /* Current Sensor AWB R Gain */
- MUINT16 AwbCurBgain; /* Current Sensor AWB R Gain */
- } SENSOR_AWB_GAIN_CUR_STRUCT, *PSENSOR_AWB_GAIN_CUR_STRUCT;
- typedef struct {
- SENSOR_AE_CUR_STRUCT SensorAECur; /* AE Current information for ASD usage */
- SENSOR_AWB_GAIN_CUR_STRUCT SensorAwbGainCur; /* AWB Gain Current information for ASD usage */
- } SENSOR_AE_AWB_CUR_STRUCT, *PSENSOR_AE_AWB_CUR_STRUCT;
- typedef struct {
- MUINT32 FNumber;
- MUINT32 AEISOSpeed;
- MUINT32 AWBMode;
- MUINT32 CapExposureTime;
- MUINT32 FlashLightTimeus;
- MUINT32 RealISOValue;
- } SENSOR_EXIF_INFO_STRUCT, *PSENSOR_EXIF_INFO_STRUCT;
- typedef struct {
- MUINT32 InitDelay;
- MUINT32 EffectDelay;
- MUINT32 AwbDelay;
- MUINT32 AFSwitchDelayFrame;
- MUINT32 EvDelay;
- MUINT32 SatDelay;
- MUINT32 BrightDelay;
- MUINT32 ContrastDelay;
- } SENSOR_DELAY_INFO_STRUCT, *PSENSOR_DELAY_INFO_STRUCT;
- typedef struct {
- MUINT32 u4Fno;
- MUINT32 Exposuretime;
- MUINT32 Gain;
- MUINT32 GAIN_BASE;
- } SENSOR_FLASHLIGHT_AE_INFO_STRUCT, *PSENSOR_FLASHLIGHT_AE_INFO_STRUCT;
- /* multisensor driver */
- typedef struct {
- MUINT32 drvIndex[KDIMGSENSOR_MAX_INVOKE_DRIVERS]; /* max 2 driver sumultaneously */
- } SENSOR_DRIVER_INDEX_STRUCT, *PSENSOR_DRIVER_INDEX_STRUCT;
- /* hardcode by GPIO module, should be sync with.(cust_gpio_usage.h) */
- #define GPIO_CAMERA_INVALID 0xFF
- /* */
- typedef enum {
- IMGSENSOR_SOCKET_POS_NONE = 0xFFFFFFFF,
- IMGSENSOR_SOCKET_POS_RIGHT = 0x1,
- IMGSENSOR_SOCKET_POS_LEFT = 0x2,
- } IMGSENSOR_SOCKET_POSITION_ENUM;
- /* */
- typedef enum {
- IMGSENSOR_SET_I2C_ID_STATE = 0x00,
- IMGSENSOR_SET_I2C_ID_FORCE
- } IMGSENSOR_SET_I2C_ID_ENUM;
- typedef enum {
- SENSOR_3A_AE_LOCK = 0,
- SENSOR_3A_AE_UNLOCK,
- SENSOR_3A_AWB_LOCK,
- SENSOR_3A_AWB_UNLOCK,
- SENSOR_3A_AE_ON,
- SENSOR_3A_AE_OFF,
- SENSOR_3A_AWB_ON,
- SENSOR_3A_AWB_OFF,
- SENSOR_3A_AF_INFINITY,
- /* SENSOR_3A_AF_LOCK, */
- /* SENSOR_3A_AF_UNLOCK, */
- } ACDK_SENSOR_3A_LOCK_ENUM;
- typedef struct {
- MUINT32 tgtWidth;
- MUINT32 tgtHeight;
- MUINT32 quality;
- } ACDK_SENSOR_JPEG_OUTPUT_PARA;
- /* for JPEG Sensor Info */
- typedef struct {
- MUINT32 u4FileSize; /* For input sensor width */
- MUINT32 u4SrcW; /* For input sensor width */
- MUINT32 u4SrcH; /* For input sensor height */
- } ACDK_SENSOR_JPEG_INFO;
- #endif /* _KD_IMGSENSOR_DATA_H */
|