82 lines
2.0 KiB
C
Executable File
82 lines
2.0 KiB
C
Executable File
#ifndef _IMX678_COMM_H_
|
|
#define _IMX678_COMM_H_
|
|
|
|
#include "sns_comm.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Imx678 Register Address
|
|
#define IMX678_REG_ADDR_SHR0_H 0x3050
|
|
#define IMX678_REG_ADDR_SHR0_M 0x3051
|
|
#define IMX678_REG_ADDR_SHR0_L 0x3052
|
|
#define IMX678_REG_ADDR_GAIN 0x3070 //增益调节
|
|
#define IMX678_REG_ADDR_HCG 0x3030 //LCG与HCG的设置
|
|
#define IMX678_REG_ADDR_VMAX_H 0x3028
|
|
#define IMX678_REG_ADDR_VMAX_M 0x3029
|
|
#define IMX678_REG_ADDR_VMAX_L 0x302A
|
|
#define IMX678_REG_ADDR_SHR1_H 0x3054
|
|
#define IMX678_REG_ADDR_SHR1_M 0x3055
|
|
#define IMX678_REG_ADDR_SHR1_L 0x3056
|
|
#define IMX678_REG_ADDR_RHS1_H 0x3060
|
|
#define IMX678_REG_ADDR_RHS1_M 0x3061
|
|
#define IMX678_REG_ADDR_RHS1_L 0x3062
|
|
#define IMX678_REG_ADDR_HCG_SEL1 0x3031
|
|
#define IMX678_REG_ADDR_HCG_SEL2 0x3032
|
|
|
|
#define IMX678_HMAX_ADDR 0x302c
|
|
#define IMX678_WDR_BRL 2210
|
|
|
|
typedef enum {
|
|
IMX678_REG_SHR0_H = 0,
|
|
IMX678_REG_SHR0_M,
|
|
IMX678_REG_SHR0_L,
|
|
IMX678_REG_GAIN,
|
|
IMX678_REG_HCG,
|
|
IMX678_REG_VMAX_H,
|
|
IMX678_REG_VMAX_M,
|
|
IMX678_REG_VMAX_L,
|
|
IMX678_REG_L_MAX_NUM,
|
|
|
|
// short frame reg info from here
|
|
IMX678_REG_SHR1_H = IMX678_REG_L_MAX_NUM,
|
|
IMX678_REG_SHR1_M,
|
|
IMX678_REG_SHR1_L,
|
|
IMX678_REG_RHS1_H,
|
|
IMX678_REG_RHS1_M,
|
|
IMX678_REG_RHS1_L,
|
|
IMX678_REG__HCG_SEL1,
|
|
IMX678_REG__HCG_SEL2,
|
|
IMX678_REG_MAX_NUM
|
|
}imx678_reg_info;
|
|
|
|
typedef struct {
|
|
xmedia_u8 hcg;
|
|
xmedia_u32 brl;
|
|
xmedia_u32 rhs1_max;
|
|
xmedia_u32 rhs2_max;
|
|
} imx678_state_s;
|
|
|
|
|
|
#define IMX678_LINEAR_REG_INFO_MAX_NUM IMX678_REG_L_MAX_NUM
|
|
#define IMX678_2TO1_WDR_REG_INFO_MAX_NUM IMX678_REG_MAX_NUM
|
|
|
|
|
|
// local variables
|
|
#define IMX678_FULL_LINES_MAX 0xFFFFF
|
|
#define IMX678_FULL_LINES_MAX_2TO1_WDR 9000
|
|
|
|
#define IMX678_VMAX_8M_LINEAR 3750
|
|
#define IMX678_VMAX_8M_WDR 2250 // 10bit
|
|
|
|
extern sensor_context *g_imx678_ctx[XMEDIA_SENSOR_DEV_MAX_NUM];
|
|
#define IMX678_GET_CTX(dev, ctx) ctx = g_imx678_ctx[dev]
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|