update:更新双目sensor驱动
This commit is contained in:
@@ -558,7 +558,44 @@ static int vin_g_config(void)
|
||||
global_video[i].used = ivalue;
|
||||
if(1 != ivalue)
|
||||
continue;
|
||||
|
||||
#if (CONFIG_ISP_NUMBER == 2)
|
||||
//sensor_name
|
||||
char sensor_name[100];
|
||||
memset(sensor_name, 0, sizeof(sensor_name));
|
||||
memset(sub_name, 0, sizeof(sub_name));
|
||||
sprintf(sub_name, "name%d", i);
|
||||
ret = Hal_Cfg_GetSubKeyValue(main_name, sub_name, (void*)sensor_name, DATA_TYPE_STRING);
|
||||
if(0 != ret) {
|
||||
vin_err("%s %s: %s\n", main_name, sub_name, sensor_name);
|
||||
//break;
|
||||
}else{
|
||||
memset(global_sensors[i].sensor_name, 0, sizeof(global_sensors[i].sensor_name));
|
||||
sprintf(global_sensors[i].sensor_name, "%s", sensor_name);
|
||||
}
|
||||
//addr_width
|
||||
int addr_width = 0;
|
||||
memset(sub_name, 0, sizeof(sub_name));
|
||||
sprintf(sub_name, "addr_width%d", i);
|
||||
ret = Hal_Cfg_GetSubKeyValue(main_name, sub_name, (void*)&addr_width, DATA_TYPE_SINGLE_WORD);
|
||||
if(0 != ret) {
|
||||
vin_err("%s %s: 0x%x\n", main_name, sub_name, addr_width);
|
||||
//break;
|
||||
}else{
|
||||
global_sensors[i].addr_width = addr_width;
|
||||
}
|
||||
|
||||
//data_width
|
||||
int data_width = 0;
|
||||
memset(sub_name, 0, sizeof(sub_name));
|
||||
sprintf(sub_name, "data_width%d", i);
|
||||
ret = Hal_Cfg_GetSubKeyValue(main_name, sub_name, (void*)&data_width, DATA_TYPE_SINGLE_WORD);
|
||||
if(0 != ret) {
|
||||
vin_err("%s %s: 0x%x\n", main_name, sub_name, data_width);
|
||||
//break;
|
||||
}else{
|
||||
global_sensors[i].data_width = data_width;
|
||||
}
|
||||
#endif
|
||||
sprintf(sub_name, "reset%d", i);
|
||||
ret = Hal_Cfg_GetSubKeyValue(main_name, sub_name, (void*)&gpio_cfg, 4);
|
||||
if(0 != ret) {
|
||||
@@ -582,6 +619,34 @@ static int vin_g_config(void)
|
||||
vind_default_mclk[i].pin = (gpio_cfg.port - 1) * 32 + gpio_cfg.port_num;
|
||||
vind_default_mclk[i].pin_func[0] = gpio_cfg.mul_sel;
|
||||
vind_default_mclk[i].pin_func[1] = 0xf;
|
||||
#if (CONFIG_ISP_NUMBER == 2)
|
||||
sprintf(sub_name, "twi_id%d", i);
|
||||
ret = Hal_Cfg_GetSubKeyValue(main_name, sub_name, (void*)&ivalue, 1);
|
||||
if(0 == ret) {
|
||||
vin_err("%s is %d ok, default:%d\n", sub_name, ivalue, global_sensors[i].sensor_twi_id);
|
||||
global_sensors[i].sensor_twi_id = ivalue;
|
||||
}else{
|
||||
vin_err("%s is %d faill, default:%d\n", sub_name, ivalue, global_sensors[i].sensor_twi_id);
|
||||
}
|
||||
|
||||
sprintf(sub_name, "twi_addr%d", i);
|
||||
ret = Hal_Cfg_GetSubKeyValue(main_name, sub_name, (void*)&ivalue, 1);
|
||||
if(0 == ret) {
|
||||
vin_err("%s is %d ok, default:0x%x\n", sub_name, ivalue, global_sensors[i].sensor_twi_addr);
|
||||
global_sensors[i].sensor_twi_addr = ivalue;
|
||||
}else{
|
||||
vin_err("%s is %d faill, default:0x%x\n", sub_name, ivalue, global_sensors[i].sensor_twi_addr);
|
||||
}
|
||||
|
||||
sprintf(sub_name, "mclk_id%d", i);
|
||||
ret = Hal_Cfg_GetSubKeyValue(main_name, sub_name, (void*)&ivalue, 1);
|
||||
if(0 == ret) {
|
||||
vin_err("%s is %d ok, default:0x%x\n", sub_name, ivalue, global_sensors[i].mclk_id);
|
||||
global_sensors[i].mclk_id = ivalue;
|
||||
}else{
|
||||
vin_err("%s is %d faill, default:0x%x\n", sub_name, ivalue, global_sensors[i].mclk_id);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user