1 /*****************************************************************************
5 * OV56702NDmipi_Sensor.h
13 * CMOS sensor header file
15 ****************************************************************************/
16 #ifndef _OV56702NDMIPI_SENSOR_H
17 #define _OV56702NDMIPI_SENSOR_H
19 typedef enum group_enum
{
22 FRAME_RATE_LIMITATION
,
28 #define ENGINEER_START_ADDR 10
29 #define FACTORY_START_ADDR 0
31 typedef enum engineer_index
33 CMMCLK_CURRENT_INDEX
=ENGINEER_START_ADDR
,
35 } FACTORY_ENGINEER_INDEX
;
37 typedef enum register_index
39 SENSOR_BASEGAIN
=FACTORY_START_ADDR
,
45 } FACTORY_REGISTER_INDEX
;
49 SENSOR_REG_STRUCT Reg
[ENGINEER_END
];
50 SENSOR_REG_STRUCT CCT
[FACTORY_END_ADDR
];
51 } SENSOR_DATA_STRUCT
, *PSENSOR_DATA_STRUCT
;
58 } OV56702ND_SENSOR_MODE
;
63 kal_uint32 DummyPixels
;
64 kal_uint32 DummyLines
;
75 kal_uint16 sensorGlobalGain
;
76 kal_uint16 ispBaseGain
;
81 OV56702ND_SENSOR_MODE sensorMode
;
83 kal_bool OV56702NDAutoFlickerMode
;
84 kal_bool OV56702NDVideoMode
;
86 }OV56702ND_PARA_STRUCT
,*POV56702ND_PARA_STRUCT
;
89 #define OV56702ND_SHUTTER_MARGIN (4)
90 #define OV56702ND_GAIN_BASE (128)
91 #define OV56702ND_AUTOFLICKER_OFFSET_30 (296)
92 #define OV56702ND_AUTOFLICKER_OFFSET_25 (250)
93 #define OV56702ND_AUTOFLICKER_OFFSET_15 (146)
94 #define OV56702ND_PREVIEW_PCLK (102850000)
95 #define OV56702ND_VIDEO_PCLK (OV56702ND_PREVIEW_PCLK)
96 #define OV56702ND_CAPTURE_PCLK (102850000)
98 #define OV56702ND_MAX_FPS_PREVIEW (300)
99 #define OV56702ND_MAX_FPS_VIDEO (300)
100 #define OV56702ND_MAX_FPS_CAPTURE (250)
101 //#define OV56702ND_MAX_FPS_N3D (300)
105 #define OV56702ND_IMAGE_SENSOR_PV_WIDTH (1296)
106 #define OV56702ND_IMAGE_SENSOR_PV_HEIGHT (972) //(960)
107 #define OV56702ND_IMAGE_SENSOR_VIDEO_WIDTH (OV56702ND_IMAGE_SENSOR_PV_WIDTH)
108 #define OV56702ND_IMAGE_SENSOR_VIDEO_HEIGHT (OV56702ND_IMAGE_SENSOR_PV_HEIGHT)
109 #define OV56702ND_IMAGE_SENSOR_FULL_WIDTH (2592)
110 #define OV56702ND_IMAGE_SENSOR_FULL_HEIGHT (1944)
112 #define OV56702ND_FULL_X_START (0)
113 #define OV56702ND_FULL_Y_START (0)
114 #define OV56702ND_PV_X_START (0)
115 #define OV56702ND_PV_Y_START (0)
116 #define OV56702ND_VIDEO_X_START (0)
117 #define OV56702ND_VIDEO_Y_START (0)
119 #define OV56702ND_MAX_ANALOG_GAIN (8)
120 #define OV56702ND_MIN_ANALOG_GAIN (1)
123 /* SENSOR PIXEL/LINE NUMBERS IN ONE PERIOD */
124 #define OV56702ND_PV_PERIOD_PIXEL_NUMS 0x068C //1676*2=>3352
125 #define OV56702ND_PV_PERIOD_LINE_NUMS 0x07FD //2045
127 #define OV56702ND_VIDEO_PERIOD_PIXEL_NUMS OV56702ND_PV_PERIOD_PIXEL_NUMS
128 #define OV56702ND_VIDEO_PERIOD_LINE_NUMS OV56702ND_PV_PERIOD_LINE_NUMS
130 #define OV56702ND_FULL_PERIOD_PIXEL_NUMS 0x07DC //2012*2 25fps
131 #define OV56702ND_FULL_PERIOD_LINE_NUMS 0x07FD //2045
133 #define OV56702NDMIPI_WRITE_ID (0x6c)
134 #define OV56702NDMIPI_READ_ID (0x6d)
136 #define OV56702NDMIPI_SENSOR_ID OV5670_SENSOR_ID
139 UINT32
OV56702NDMIPIOpen(void);
140 UINT32
OV56702NDMIPIGetResolution(MSDK_SENSOR_RESOLUTION_INFO_STRUCT
*pSensorResolution
);
141 UINT32
OV56702NDMIPIGetInfo(MSDK_SCENARIO_ID_ENUM ScenarioId
, MSDK_SENSOR_INFO_STRUCT
*pSensorInfo
, MSDK_SENSOR_CONFIG_STRUCT
*pSensorConfigData
);
142 UINT32
OV56702NDMIPIControl(MSDK_SCENARIO_ID_ENUM ScenarioId
, MSDK_SENSOR_EXPOSURE_WINDOW_STRUCT
*pImageWindow
, MSDK_SENSOR_CONFIG_STRUCT
*pSensorConfigData
);
143 UINT32
OV56702NDMIPIFeatureControl(MSDK_SENSOR_FEATURE_ENUM FeatureId
, UINT8
*pFeaturePara
,UINT32
*pFeatureParaLen
);
144 UINT32
OV56702NDMIPIClose(void);