Files
gk-sdk/source/gmp/usr/isp/sensor/omnivision_os08a20/os08a20.h
T

85 lines
2.6 KiB
C
Executable File

#ifndef __OS08A20_H__
#define __OS08A20_H__
#include "sns_comm.h"
#ifdef __cplusplus
extern "C" {
#endif
#define OS08A20_BIT_WIDTH_10
#ifdef OS08A20_BIT_WIDTH_10
#define OS08A20_VMAX_8M_LINEAR 2314 // 10bit
#define OS08A20_VMAX_5M_LINEAR OS08A20_VMAX_8M_LINEAR // crop from 8M
#define OS08A20_VMAX_4M_LINEAR OS08A20_VMAX_8M_LINEAR
#define OS08A20_VMAX_4M_1440P_LINEAR OS08A20_VMAX_8M_LINEAR
#define OS08A20_VMAX_3M_LINEAR OS08A20_VMAX_8M_LINEAR
#define OS08A20_VMAX_2M_LINEAR 4628
#else
#ifdef FPGA
#define OS08A20_VMAX_8M_LINEAR 4000 // 0xfa0 12bit
#else
#define OS08A20_VMAX_8M_LINEAR 2314
#endif
#define OS08A20_VMAX_5M_LINEAR OS08A20_VMAX_8M_LINEAR // crop from 8M
#define OS08A20_VMAX_4M_LINEAR OS08A20_VMAX_8M_LINEAR
#define OS08A20_VMAX_4M_1440P_LINEAR OS08A20_VMAX_8M_LINEAR
#define OS08A20_VMAX_3M_LINEAR OS08A20_VMAX_8M_LINEAR
#define OS08A20_VMAX_2M_LINEAR OS08A20_VMAX_8M_LINEAR
#endif
#define OS08A20_VMAX_8M_WDR 2317 // 10bit
#define OS08A20_VMAX_5M_WDR OS08A20_VMAX_8M_WDR // crop from 8M
#define OS08A20_VMAX_4M_WDR OS08A20_VMAX_8M_WDR
#define OS08A20_VMAX_4M_1440P_WDR OS08A20_VMAX_8M_WDR
#define OS08A20_VMAX_3M_WDR OS08A20_VMAX_8M_WDR
#define OS08A20_VMAX_2M_WDR OS08A20_VMAX_8M_WDR
#define OS08A20_EXP_OFFSET_LINEAR 10
#define OS08A20_EXP_OFFSET_WDR 18
#define OS08A20_REG_DELAY_CONFIG_NUM 0
// OS08A20 Register Address
#define OS08A20_REG_ADDR_EXP_H 0x3501
#define OS08A20_REG_ADDR_EXP_L 0x3502
#define OS08A20_REG_ADDR_AGAIN_H 0x3508
#define OS08A20_REG_ADDR_AGAIN_L 0x3509
#define OS08A20_REG_ADDR_DGAIN_H 0x350a
#define OS08A20_REG_ADDR_DGAIN_L 0x350b
#define OS08A20_REG_ADDR_VMAX_H 0x380e
#define OS08A20_REG_ADDR_VMAX_L 0x380f
#define OS08A20_REG_ADDR_S_EXP_H 0x3511
#define OS08A20_REG_ADDR_S_EXP_L 0x3512
#define OS08A20_REG_ADDR_S_AGAIN_H 0x350c
#define OS08A20_REG_ADDR_S_AGAIN_L 0x350d
#define OS08A20_REG_ADDR_S_DGAIN_H 0x350e
#define OS08A20_REG_ADDR_S_DGAIN_L 0x350f
typedef enum {
OS08A20_REG_EXP_H_IDX = 0,
OS08A20_REG_EXP_L_IDX,
OS08A20_REG_AGAIN_H_IDX,
OS08A20_REG_AGAIN_L_IDX,
OS08A20_REG_DGAIN_H_IDX,
OS08A20_REG_DGAIN_L_IDX,
OS08A20_REG_VMAX_H_IDX,
OS08A20_REG_VMAX_L_IDX,
OS08A20_REG_L_MAX_NUM,
OS08A20_REG_S_EXP_H_IDX = OS08A20_REG_L_MAX_NUM,
OS08A20_REG_S_EXP_L_IDX,
OS08A20_REG_S_AGAIN_H_IDX,
OS08A20_REG_S_AGAIN_L_IDX,
OS08A20_REG_S_DGAIN_H_IDX,
OS08A20_REG_S_DGAIN_L_IDX,
OS08A20_REG_MAX_NUM
} os08a20_reg_index;
#ifdef __cplusplus
}
#endif
#endif // __OS08A20_H__