63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd. */
|
|
|
|
#ifndef IMX258_EEPROM_HEAD_H
|
|
#define IMX258_EEPROM_HEAD_H
|
|
|
|
#define SLAVE_ADDRESS_GZ 0x50
|
|
#define GZ_INFO_FLAG_REG 0X0000
|
|
#define GZ_ID_REG 0X0005
|
|
#define GZ_LENS_ID_REG 0X0006
|
|
#define GZ_PRODUCT_YEAR_REG 0X000A
|
|
#define GZ_PRODUCT_MONTH_REG 0X000B
|
|
#define GZ_PRODUCT_DAY_REG 0X000C
|
|
#define GZ_AWB_FLAG_REG 0x001c
|
|
#define GZ_CUR_R_REG 0x001d
|
|
#define GZ_CUR_GR_REG 0x001e
|
|
#define GZ_CUR_GB_REG 0x001f
|
|
#define GZ_CUR_B_REG 0x0020
|
|
#define GZ_GOLDEN_R_REG 0x0021
|
|
#define GZ_GOLDEN_GR_REG 0x0022
|
|
#define GZ_GOLDEN_GB_REG 0x0023
|
|
#define GZ_GOLDEN_B_REG 0x0024
|
|
#define GZ_AWB_CHECKSUM_REG 0x0025
|
|
#define GZ_LSC_FLAG_REG 0X003A
|
|
#define GZ_LSC_DATA_START_REG 0x003B
|
|
#define GZ_LSC_CHECKSUM_REG 0x0233
|
|
#define GZ_VCM_FLAG_REG 0X0788
|
|
#define GZ_VCM_DIR_REG 0X0789
|
|
#define GZ_VCM_START_REG 0X078C
|
|
#define GZ_VCM_END_REG 0X078A
|
|
#define GZ_VCM_CHECKSUM_REG 0x0790
|
|
#define GZ_SPC_FLAG_REG 0X0CE1
|
|
#define GZ_SPC_DATA_START_REG 0x0CE2
|
|
#define GZ_SPC_CHECKSUM_REG 0x0d60
|
|
|
|
struct imx258_otp_info {
|
|
u32 flag; //bit[7]: info bit[6]:wb bit[5]:vcm bit[4]:lenc bit[3]:spc
|
|
u32 module_id;
|
|
u32 lens_id;
|
|
u32 year;
|
|
u32 month;
|
|
u32 day;
|
|
u32 rg_ratio;
|
|
u32 bg_ratio;
|
|
u32 rg_golden;
|
|
u32 bg_golden;
|
|
int vcm_start;
|
|
int vcm_end;
|
|
int vcm_dir;
|
|
u8 lenc[504];
|
|
u8 spc[126];
|
|
};
|
|
|
|
/* imx258_eeprom device structure */
|
|
struct imx258_eeprom_device {
|
|
struct v4l2_subdev sd;
|
|
struct i2c_client *client;
|
|
struct imx258_otp_info *otp;
|
|
};
|
|
|
|
#endif /* IMX258_EEPROM_HEAD_H */
|
|
|