update:更新双目sensor驱动

This commit is contained in:
2025-03-31 18:48:56 +08:00
parent 4fd818749c
commit 0933b5aeec
18 changed files with 489 additions and 585 deletions

View File

@@ -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;
}