update:1、更新双sensor驱动 2、关闭mpp调试信息,缩小rootfs尺寸
This commit is contained in:
parent
ef53c30fce
commit
485e855b5e
|
@ -1651,7 +1651,6 @@ CONFIG_VIN_LOG=y
|
|||
CONFIG_SUPPORT_ISP_TDM=y
|
||||
CONFIG_TDM_LBC_EN=y
|
||||
# CONFIG_TDM_ONE_BUFFER is not set
|
||||
# CONFIG_TDM_ONE_BUFFER_WITH_TWORX is not set
|
||||
# CONFIG_TDM_OFFLINE_HANDLE_RAW is not set
|
||||
# CONFIG_MIPI_VC is not set
|
||||
# CONFIG_AVG_TDM_FIFO is not set
|
||||
|
@ -2828,7 +2827,7 @@ CONFIG_PROC_FS=y
|
|||
CONFIG_MODULE_PROC_FS=y
|
||||
# CONFIG_EXECDOMAINS_PROC_FS is not set
|
||||
# CONFIG_PROC_SYSCTL is not set
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
# CONFIG_PROC_PAGE_MONITOR is not set
|
||||
# CONFIG_PROC_CHILDREN is not set
|
||||
# CONFIG_PROC_UID is not set
|
||||
CONFIG_KERNFS=y
|
||||
|
|
|
@ -53,8 +53,8 @@ size = 16
|
|||
|
||||
[partition]
|
||||
name = rootfs
|
||||
;size = 12288
|
||||
size = 12544
|
||||
size = 12288
|
||||
;size = 12544
|
||||
downloadfile = "rootfs.fex"
|
||||
user_type = 0x8000
|
||||
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||||
OUTPUT_ARCH(arm)
|
||||
ENTRY(_start)
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x28000;
|
||||
. = ALIGN(4);
|
||||
.head :
|
||||
{
|
||||
main/fes1_head.o (.rodata)
|
||||
}
|
||||
.text :
|
||||
{
|
||||
/home/huangjituan/SmartLock/src/back_board/sl100_sdk/lichee/brandy-2.0/spl/arch/arm/cpu/armv7/fes1_entry.o (.text)
|
||||
*(.text)
|
||||
}
|
||||
. = ALIGN(16);
|
||||
.rodata : { *(.rodata) }
|
||||
. = ALIGN(16);
|
||||
.data : { *(.data) }
|
||||
. = ALIGN(4);
|
||||
.bss :
|
||||
{
|
||||
__bss_start = .;
|
||||
*(.bss)
|
||||
}
|
||||
. = ALIGN(4);
|
||||
__bss_end = .;
|
||||
_end = .;
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||||
OUTPUT_ARCH(arm)
|
||||
ENTRY(_start)
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x20000;
|
||||
. = ALIGN(4);
|
||||
.head :
|
||||
{
|
||||
main/boot0_head.o (.rodata)
|
||||
}
|
||||
. = ALIGN(1);
|
||||
.text :
|
||||
{
|
||||
/home/huangjituan/SmartLock/src/back_board/sl100_sdk/lichee/brandy-2.0/spl/arch/arm/cpu/armv7/boot0_entry.o (.text)
|
||||
/home/huangjituan/SmartLock/src/back_board/sl100_sdk/lichee/brandy-2.0/spl/solution/libsolution.o (.text)
|
||||
*(.text)
|
||||
}
|
||||
. = ALIGN(16);
|
||||
.rodata : { *(.rodata) }
|
||||
. = ALIGN(16);
|
||||
.data : { *(.data) }
|
||||
. = ALIGN(4);
|
||||
.bss :
|
||||
{
|
||||
__bss_start = .;
|
||||
*(.bss)
|
||||
}
|
||||
. = ALIGN(4);
|
||||
__bss_end = .;
|
||||
_end = .;
|
||||
ASSERT(. <= (0x20000 + 0x10000), "boot0 image has exceeded its limit.")
|
||||
}
|
|
@ -30,16 +30,16 @@ MODULE_DESCRIPTION("A low-level driver for SC202CS sensors");
|
|||
MODULE_LICENSE("GPL");
|
||||
|
||||
//define the registers
|
||||
#define EXP_HIGH 0xff
|
||||
#define EXP_MID 0x03
|
||||
#define EXP_LOW 0x04
|
||||
#define GAIN_HIGH 0xff
|
||||
#define GAIN_LOW 0x24
|
||||
/*
|
||||
* Our nominal (default) frame rate.
|
||||
*/
|
||||
#define ID_REG_HIGH 0xf0
|
||||
#define ID_REG_LOW 0xf1
|
||||
#define EXP_HIGH 0x3e00
|
||||
#define EXP_MID 0x3e01
|
||||
#define EXP_LOW 0x3e02
|
||||
#define DIG_GAIN 0x3e06
|
||||
#define DIG_FINE_GAIN 0x3e07
|
||||
#define ANA_GAIN 0x3e09
|
||||
#define GAIN_STEP_BASE 128 //mean gain min step is 1/128gain
|
||||
|
||||
#define ID_REG_HIGH 0x3e07
|
||||
#define ID_REG_LOW 0x3e08
|
||||
#define ID_VAL_HIGH ((V4L2_IDENT_SENSOR) >> 8)
|
||||
#define ID_VAL_LOW ((V4L2_IDENT_SENSOR) & 0xff)
|
||||
|
||||
|
@ -66,7 +66,7 @@ MODULE_LICENSE("GPL");
|
|||
#endif
|
||||
|
||||
#define EXPOSURE_MIN 6
|
||||
#define EXPOSURE_MAX (VTS - 6)
|
||||
#define EXPOSURE_MAX (VTS)
|
||||
#define EXPOSURE_STEP 1
|
||||
#define EXPOSURE_DEFAULT 0x0148
|
||||
|
||||
|
@ -373,8 +373,58 @@ static int sensor_g_gain(struct v4l2_subdev *sd, __s32 *value)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned char analog_Gain_Reg[] = {0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f};
|
||||
|
||||
static int setSensorGain(struct v4l2_subdev *sd, int gain)
|
||||
{
|
||||
int ana_gain = gain / GAIN_STEP_BASE;
|
||||
int dig_Gain;
|
||||
int gain_flag = 1;
|
||||
|
||||
if (ana_gain >= 32 * 2) {
|
||||
gain_flag = 5;
|
||||
} else if (ana_gain >= 32) {
|
||||
gain_flag = 5;
|
||||
} else if (ana_gain >= 16) {
|
||||
gain_flag = 4;
|
||||
} else if (ana_gain >= 8) {
|
||||
gain_flag = 3;
|
||||
} else if (ana_gain >= 4) {
|
||||
gain_flag = 2;
|
||||
} else if (ana_gain >= 2) {
|
||||
gain_flag = 1;
|
||||
} else {
|
||||
gain_flag = 0;
|
||||
}
|
||||
|
||||
sensor_write(sd, ANA_GAIN, analog_Gain_Reg[gain_flag]);
|
||||
dig_Gain = gain >> gain_flag; //dig_Gain min mean 1/128gain
|
||||
if (dig_Gain < 2 * GAIN_STEP_BASE) {
|
||||
//step1/128
|
||||
sensor_write(sd, DIG_GAIN, 0x00);
|
||||
sensor_write(sd, DIG_FINE_GAIN, dig_Gain - 128 + 0x80);
|
||||
//sensor_print("sensor set analog_gain:0x%02x, dig_gain:0x%02x, dig_fine_gain:0x%02x", analog_Gain_Reg[gain_flag], 0x00, dig_Gain - 128 + 0x80);
|
||||
} else if (dig_Gain < 4 * GAIN_STEP_BASE) {
|
||||
//step1/64
|
||||
sensor_write(sd, DIG_GAIN, 0x01);
|
||||
sensor_write(sd, DIG_FINE_GAIN, (dig_Gain - 128 * 2) / 2 + 0x80);
|
||||
//sensor_print("sensor set analog_gain:0x%02x, dig_gain:0x%02x, dig_fine_gain:0x%02x", analog_Gain_Reg[gain_flag], 0x01, (dig_Gain - 128 * 2) / 2 + 0x80);
|
||||
} else if (dig_Gain < 8 * GAIN_STEP_BASE) {
|
||||
//step1/32
|
||||
sensor_write(sd, DIG_GAIN, 0x03);
|
||||
sensor_write(sd, DIG_FINE_GAIN, (dig_Gain - 128 * 4) / 4 + 0x80);
|
||||
//sensor_print("sensor set analog_gain:0x%02x, dig_gain:0x%02x, dig_fine_gain:0x%02x", analog_Gain_Reg[gain_flag], 0x03, (dig_Gain - 128 * 4) / 4 + 0x80);
|
||||
} else {
|
||||
sensor_write(sd, DIG_GAIN, 0x03);
|
||||
sensor_write(sd, DIG_FINE_GAIN, 0xfe);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sensor_s_gain(struct v4l2_subdev *sd, int gain_val)
|
||||
{
|
||||
#if 0
|
||||
struct sensor_info *info = to_state(sd);
|
||||
//sensor_dbg("%s():%d. info:%p, gain_val:%d\n", __func__, __LINE__, info, gain_val);
|
||||
// if (gain_val == info->gain) {
|
||||
|
@ -414,6 +464,15 @@ static int sensor_s_gain(struct v4l2_subdev *sd, int gain_val)
|
|||
|
||||
//sensor_dbg("drv sensor_s_gain(%d)\n", gain_val);
|
||||
info->gain = gain_val;
|
||||
#endif
|
||||
struct sensor_info *info = to_state(sd);
|
||||
|
||||
//if (gain_val == info->gain)
|
||||
// return 0;
|
||||
|
||||
//sensor_print("gain_val:%d\n", gain_val);
|
||||
setSensorGain(sd, gain_val);
|
||||
info->gain = gain_val;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -421,8 +480,30 @@ static int sensor_s_gain(struct v4l2_subdev *sd, int gain_val)
|
|||
static int sensor_s_exp_gain(struct v4l2_subdev *sd,
|
||||
struct sensor_exp_gain *exp_gain)
|
||||
{
|
||||
sensor_s_exp(sd, exp_gain->exp_val);
|
||||
sensor_s_gain(sd, exp_gain->gain_val);
|
||||
int exp_val, gain_val;
|
||||
//int shutter = 0, frame_length = 0;
|
||||
struct sensor_info *info = to_state(sd);
|
||||
struct i2c_client *client = v4l2_get_subdevdata(sd);
|
||||
if ((exp_gain->exp_val - exp_gain->exp_val / 16 * 16) > 0) {
|
||||
exp_val = exp_gain->exp_val / 16 + 1;
|
||||
} else {
|
||||
exp_val = exp_gain->exp_val / 16;
|
||||
}
|
||||
exp_val = exp_val & 0xffff;
|
||||
|
||||
if (exp_val > 1250){
|
||||
exp_val = 1250;
|
||||
}
|
||||
|
||||
//gain min step is 1/128gain
|
||||
gain_val = exp_gain->gain_val * GAIN_STEP_BASE;
|
||||
if ((gain_val - gain_val / 16 * 16) > 0) {
|
||||
gain_val = gain_val / 16 + 1;
|
||||
} else {
|
||||
gain_val = gain_val / 16;
|
||||
}
|
||||
sensor_s_exp(sd, exp_val);
|
||||
sensor_s_gain(sd, gain_val);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -466,7 +547,7 @@ static int sensor_s_hflip(struct v4l2_subdev *sd, int enable)
|
|||
|
||||
static int sensor_get_fmt_mbus_core(struct v4l2_subdev *sd, int *code)
|
||||
{
|
||||
*code = MEDIA_BUS_FMT_SBGGR10_1X10;// MEDIA_BUS_FMT_SRGGB10_1X10; // gc2053 support change the rgb format by itself
|
||||
*code = MEDIA_BUS_FMT_SBGGR10_1X10;//;MEDIA_BUS_FMT_SBGGR10_1X10;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -655,8 +736,8 @@ static int sensor_init(struct v4l2_subdev *sd, u32 val)
|
|||
|
||||
info->focus_status = 0;
|
||||
info->low_speed = 0;
|
||||
info->width = SENSOR_WIDTH;
|
||||
info->height = SENSOR_HEIGHT;
|
||||
info->width = 1600;
|
||||
info->height = 1200;
|
||||
info->hflip = 0;
|
||||
info->vflip = 0;
|
||||
info->gain = 0;
|
||||
|
@ -695,13 +776,7 @@ static long sensor_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
|
|||
case SET_FPS:
|
||||
break;
|
||||
case VIDIOC_VIN_SENSOR_EXP_GAIN:
|
||||
if (m_autoexp == V4L2_EXPOSURE_MANUAL) {
|
||||
sensor_print("SENSOR_EXP_GAIN continue\n");
|
||||
break;
|
||||
} else {
|
||||
//sensor_dbg("SENSOR_EXP_GAIN set\n");
|
||||
ret = sensor_s_exp_gain(sd, (struct sensor_exp_gain *)arg);
|
||||
}
|
||||
sensor_s_exp_gain(sd, (struct sensor_exp_gain *)arg);
|
||||
break;
|
||||
// case VIDIOC_VIN_SENSOR_SET_FPS:
|
||||
// ret = sensor_s_fps(sd, (struct sensor_fps *)arg);
|
||||
|
@ -727,7 +802,7 @@ static long sensor_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
|
|||
static struct sensor_format_struct sensor_formats[] = {
|
||||
{
|
||||
.desc = "Raw RGB Bayer",
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SRGGB10_1X10, /*.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, */
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10, /*.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, */
|
||||
.regs = sensor_fmt_raw,
|
||||
.regs_size = ARRAY_SIZE(sensor_fmt_raw),
|
||||
.bpp = 1
|
||||
|
@ -746,16 +821,16 @@ static struct sensor_win_size sensor_win_sizes[] = {
|
|||
.height = 1200, //
|
||||
.hoffset = 0,
|
||||
.voffset = 0,
|
||||
.hts = 2200,
|
||||
.hts = 1920,
|
||||
.vts = 1250,
|
||||
.pclk = 74250000,
|
||||
.mipi_bps = 371250000,
|
||||
.pclk = 71250000,
|
||||
.mipi_bps = 297 * 1000 * 1000,
|
||||
.fps_fixed = 30,
|
||||
.bin_factor = 1,
|
||||
.intg_min = 1 << 4,
|
||||
.intg_max = (1250 - 8) << 4,
|
||||
.intg_max = 1250 << 4,
|
||||
.gain_min = 1 << 4,
|
||||
.gain_max = 128 << 4,
|
||||
.gain_max = 16 << 4,
|
||||
.regs = sensor_normal_regs,
|
||||
.regs_size = ARRAY_SIZE(sensor_normal_regs),
|
||||
.set_size = NULL,
|
||||
|
@ -973,23 +1048,18 @@ static int sensor_init_controls(struct v4l2_subdev *sd,
|
|||
|
||||
v4l2_ctrl_handler_init(handler, 5);
|
||||
|
||||
ctrl = v4l2_ctrl_new_std(handler, ops, V4L2_CID_GAIN,
|
||||
GAIN_MIN, GAIN_MAX,
|
||||
GAIN_STEP, GAIN_DEFAULT);
|
||||
ctrl = v4l2_ctrl_new_std(handler, ops, V4L2_CID_GAIN, 1 * 1600, 256 * 1600, 1, 1 * 1600);
|
||||
|
||||
if (ctrl != NULL)
|
||||
ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE;
|
||||
|
||||
ctrl = v4l2_ctrl_new_std(handler, ops, V4L2_CID_EXPOSURE,
|
||||
EXPOSURE_MIN, EXPOSURE_MAX,
|
||||
EXPOSURE_STEP, EXPOSURE_DEFAULT);
|
||||
if (ctrl != NULL)
|
||||
ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE;
|
||||
ctrl = v4l2_ctrl_new_std(handler, ops, V4L2_CID_EXPOSURE, 1, 65536 * 16, 1, 1);
|
||||
|
||||
v4l2_ctrl_new_std(handler, ops, V4L2_CID_HFLIP, 0, 1, 1, 0);
|
||||
v4l2_ctrl_new_std(handler, ops, V4L2_CID_VFLIP, 0, 1, 1, 0);
|
||||
v4l2_ctrl_new_std_menu(handler, ops, V4L2_CID_EXPOSURE_AUTO,
|
||||
V4L2_EXPOSURE_APERTURE_PRIORITY, 0,
|
||||
V4L2_EXPOSURE_AUTO);
|
||||
|
||||
if (ctrl != NULL)
|
||||
ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE;
|
||||
|
||||
if (handler->error) {
|
||||
ret = handler->error;
|
||||
|
@ -1039,7 +1109,7 @@ static int sensor_probe(struct i2c_client *client,
|
|||
info->af_first_flag = 1;
|
||||
info->exp = 0;
|
||||
info->gain = 0;
|
||||
//info->time_hs = 0x11;
|
||||
info->time_hs = 0x11;
|
||||
info->deskew = 0x02;
|
||||
|
||||
#if defined CONFIG_VIN_INIT_MELIS
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#define ID_VAL_LOW 0x52
|
||||
#define SENSOR_FRAME_RATE 30
|
||||
|
||||
#define GAIN_STEP_BASE 64 //mean gain min step is 1/64gain
|
||||
//#define GAIN_STEP_BASE 64 //mean gain min step is 1/64gain
|
||||
|
||||
#define I2C_ADDR 0x60
|
||||
//#define I2C_ADDR_2 0x32
|
||||
|
@ -260,6 +260,7 @@ static int setSensorGain(int id, int gain)
|
|||
|
||||
static int sensor_s_gain(int id, int gain_val)
|
||||
{
|
||||
#if 0
|
||||
#if 0
|
||||
int tem_gain_val;
|
||||
|
||||
|
@ -301,7 +302,10 @@ static int sensor_s_gain(int id, int gain_val)
|
|||
sensor_write(id, 0x3e08, 0x1f);
|
||||
sensor_write(id, 0x3e09, gain_val >> 3);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
sensor_print("gain_val:%d.\n", gain_val);
|
||||
setSensorGain(id, gain_val);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -310,12 +314,43 @@ static int sensor_s_exp_gain(int id, struct sensor_exp_gain *exp_gain)
|
|||
int exp_val,gain_val;
|
||||
int shutter = 0, frame_length = 0;
|
||||
|
||||
//sensor_print("sensor_s_exp_gain exp:%d gain:%d\n", exp_gain->gain_val, exp_gain->exp_val);
|
||||
if((exp_gain->exp_val - exp_gain->exp_val / 16 * 16) > 0) {
|
||||
exp_val = exp_gain->exp_val / 16 + 1;
|
||||
} else {
|
||||
exp_val = exp_gain->exp_val / 16;
|
||||
}
|
||||
exp_val = exp_val & 0xffff;
|
||||
|
||||
gain_val = exp_gain->gain_val * GAIN_STEP_BASE;
|
||||
if((gain_val - gain_val / 16 * 16) > 0) {
|
||||
gain_val = gain_val / 16 + 1;
|
||||
} else {
|
||||
gain_val = gain_val / 16;
|
||||
}
|
||||
if (exp_val > 1250){
|
||||
exp_val = 1250;
|
||||
}
|
||||
sensor_s_exp(id, exp_val);
|
||||
sensor_s_gain(id, gain_val);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int sensor_g_fps(int id, struct sensor_fps *fps)
|
||||
{
|
||||
data_type frame_length = 0, act_vts = 0;
|
||||
sensor_read(id, 0x320f, &frame_length);
|
||||
act_vts = frame_length << 8;
|
||||
sensor_read(id, 0x320e, &frame_length);
|
||||
act_vts |= frame_length;
|
||||
fps‑>fps = current_win[id]‑>pclk / (current_win[id]‑>hts * act_vts);
|
||||
sensor_dbg("fps = %d\n", fps‑>fps);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int sensor_power(int id, int on)
|
||||
{
|
||||
int ret;
|
||||
|
@ -333,13 +368,13 @@ static int sensor_power(int id, int on)
|
|||
vin_set_mclk_freq(id, MCLK);
|
||||
vin_set_mclk(id, 1);
|
||||
hal_usleep(1000);
|
||||
ret = vin_gpio_get_status(id, IR_CUT0);
|
||||
if(ret != 1){ //if not output, set output
|
||||
vin_gpio_set_status(id, IR_CUT0, 1); /* power en*/
|
||||
vin_gpio_write(id, IR_CUT0, CSI_GPIO_HIGH); /* power en*/
|
||||
}
|
||||
//ret = vin_gpio_get_status(id, IR_CUT0);
|
||||
//if(ret != 1){ //if not output, set output
|
||||
// vin_gpio_set_status(id, IR_CUT0, 1); /* power en*/
|
||||
// vin_gpio_write(id, IR_CUT0, CSI_GPIO_HIGH); /* power en*/
|
||||
//}
|
||||
//vin_gpio_get_status(id, IR_CUT0);
|
||||
vin_gpio_read(id, IR_CUT0);
|
||||
//vin_gpio_read(id, IR_CUT0);
|
||||
vin_gpio_set_status(id, PWDN, 1);
|
||||
vin_gpio_set_status(id, RESET, 1);
|
||||
//vin_gpio_set_status(id, IR_CUT0, 1); /* power en*/
|
||||
|
@ -431,21 +466,21 @@ static int sensor_init(int id)
|
|||
static struct sensor_format_struct sensor_formats[] = {
|
||||
|
||||
{
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, /*.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, */
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10, /*.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, */
|
||||
.width = 1600,
|
||||
.height = 1200,//1080,
|
||||
.hoffset = 0,
|
||||
.voffset = 0,
|
||||
.hts = 2200,
|
||||
.hts = 1920,
|
||||
.vts = 1250,
|
||||
.pclk = 74250000,
|
||||
.mipi_bps = 371250000,
|
||||
.pclk = 71250000,
|
||||
.mipi_bps = 297 * 1000 * 1000,
|
||||
.fps_fixed = 30,
|
||||
.bin_factor = 1,
|
||||
.intg_min = 1 << 4,
|
||||
.intg_max = 1250 << 4,
|
||||
.gain_min = 1 << 4,
|
||||
.gain_max = 128 << 4,
|
||||
.gain_max = 16 << 4,
|
||||
.offs_h = 0,
|
||||
.offs_v = 0,
|
||||
.regs = sensor_normal_regs,
|
||||
|
@ -512,21 +547,21 @@ static struct sensor_format_struct switch_sensor_formats[] = {
|
|||
|
||||
#if SENSOR_30FPS
|
||||
{
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10, /*.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, */
|
||||
.width = 1600,
|
||||
.height = 1200,//1080,
|
||||
.hoffset = 0,
|
||||
.voffset = 0,
|
||||
.hts = 2200,
|
||||
.hts = 1920,
|
||||
.vts = 1250,
|
||||
.pclk = 74250000,
|
||||
.mipi_bps = 371250000,
|
||||
.pclk = 71250000,
|
||||
.mipi_bps = 297 * 1000 * 1000,
|
||||
.fps_fixed = 30,
|
||||
.bin_factor = 1,
|
||||
.intg_min = 1 << 4,
|
||||
.intg_max = 1250 << 4,
|
||||
.gain_min = 1 << 4,
|
||||
.gain_max = 128 << 4,
|
||||
.gain_max = 16 << 4,
|
||||
.switch_regs = sensor_normal_regs,
|
||||
.switch_regs_size = ARRAY_SIZE(sensor_normal_regs),
|
||||
}
|
||||
|
@ -622,7 +657,8 @@ static int sensor_reg_init(int id, int isp_id)
|
|||
sensor_s_exp_gain(id, &exp_gain);
|
||||
|
||||
sc202cs_sensor_vts = current_win[id]->vts;
|
||||
//sensor_dbg("sc202cs_sensor_vts = %d\n", sc202cs_sensor_vts);
|
||||
sensor_dbg("sc202cs_sensor_vts = %d, exp_val = %d, gain_val = %d\n",
|
||||
sc202cs_sensor_vts, exp_gain.exp_val, exp_gain.gain_val);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ export HOME=${HOME:-/root}
|
|||
export PS1='\u@\h:\w\$ '
|
||||
export LD_LIBRARY_PATH=/usr/lib/eyesee-mpp:${LD_LIBRARY_PATH}
|
||||
ulimit -c unlimited
|
||||
mount -t debugfs none /sys/kernel/debug
|
||||
#mount -t debugfs none /sys/kernel/debug
|
||||
|
||||
[ -x /bin/more ] || alias more=less
|
||||
[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi
|
||||
|
|
Binary file not shown.
|
@ -145,7 +145,7 @@ CONFIG_KERNEL_BUILD_USER=""
|
|||
CONFIG_KERNEL_BUILD_DOMAIN=""
|
||||
CONFIG_KERNEL_PRINTK=y
|
||||
# CONFIG_KERNEL_SWAP is not set
|
||||
CONFIG_KERNEL_DEBUG_FS=y
|
||||
# CONFIG_KERNEL_DEBUG_FS is not set
|
||||
# CONFIG_KERNEL_HW_PERF_EVENTS is not set
|
||||
# CONFIG_KERNEL_PERF_EVENTS is not set
|
||||
# CONFIG_KERNEL_FRAME_POINTER is not set
|
||||
|
@ -169,7 +169,7 @@ CONFIG_KERNEL_DEBUG_FS=y
|
|||
# CONFIG_KERNEL_PROVE_LOCKING is not set
|
||||
CONFIG_KERNEL_PRINTK_TIME=y
|
||||
# CONFIG_KERNEL_SLABINFO is not set
|
||||
CONFIG_KERNEL_PROC_PAGE_MONITOR=y
|
||||
# CONFIG_KERNEL_PROC_PAGE_MONITOR is not set
|
||||
CONFIG_KERNEL_PROC_SYSCTL=y
|
||||
# CONFIG_KERNEL_KEXEC is not set
|
||||
# CONFIG_USE_RFKILL is not set
|
||||
|
@ -4620,7 +4620,6 @@ CONFIG_PACKAGE_mtd-utils-mkfs.jffs2=y
|
|||
# CONFIG_PACKAGE_prlimit is not set
|
||||
# CONFIG_PACKAGE_procps is not set
|
||||
# CONFIG_PACKAGE_procps-ng is not set
|
||||
# CONFIG_PACKAGE_procrank_linux is not set
|
||||
# CONFIG_PACKAGE_px5g is not set
|
||||
# CONFIG_PACKAGE_px5g-standalone is not set
|
||||
# CONFIG_PACKAGE_qrencode is not set
|
||||
|
|
Loading…
Reference in New Issue