camera 调试

1. 读id不对

可能: camera 的id设置不对。 模组打样有问题

kernel_log.boot:1674:<4>[   61.191633] .(0)[437:camerahalserver]----5025----> (read_cmos_sensor(0xf0) << 8) = 0  read_cmos_sensor(0xf1) = 5 line = 901
kernel_log.boot:1677:<4>[   61.197636] .(0)[437:camerahalserver]----5025----> (read_cmos_sensor(0xf0) << 8) = 0  read_cmos_sensor(0xf1) = 5 line = 901
kernel_log.boot:2071:<4>[   69.297903] .(1)[437:camerahalserver]----5025----> (read_cmos_sensor(0xf0) << 8) = 0  read_cmos_sensor(0xf1) = 0 line = 901

kernel_log.boot:2317:<4>[   81.298000] .(0)[437:camerahalserver]----5025----> (read_cmos_sensor(0xf0) << 8) = 0  read_cmos_sensor(0xf1) = 0 line = 901

 

以上是模组打样问题,gc5025正常id是0x5025 ,但驱动中读到的是5。duid操作强制返回设置的5025,camera点亮,ok

 

 

2、调试后副摄

error: 读不到后副的id

问题:

clk是否有加,(可以一直把前后的都一起加上,后副的clk和前摄的是共用的)

模组是否有问题(找个ok的可以烧录的软件,烧录到读不到和ok的对比验证)(软件关于camera的gpio是一样的)

模组问题的可以问一下公司设计的pin定义和模组的pin定义,看是否可以直接在驱动中控制gpio来工作

 

3、有些修改了camera方向会影响图像的颜色。

格科的gc修改方向,未发现修改方向对图像颜色有影响

//#define IMAGE_NO_MIRROR
//#define IMAGE_H_MIRROR
//#define IMAGE_V_MIRROR
#define IMAGE_HV_MIRROR

#ifdef IMAGE_NO_MIRROR
#define MIRROR 0xd4
#define STARTY 0x03
#define STARTX 0x05
#define BLK_Select_H 0x3c
#define BLK_Select_L 0x00
#endif

#ifdef IMAGE_H_MIRROR
#define MIRROR 0xd5
#define STARTY 0x03
#define STARTX 0x06
#define BLK_Select_H 0x3c
#define BLK_Select_L 0x00
#endif

#ifdef IMAGE_V_MIRROR
#define MIRROR 0xd6
#define STARTY 0x04
#define STARTX 0x05
#define BLK_Select_H 0x00
#define BLK_Select_L 0x3c
#endif

#ifdef IMAGE_HV_MIRROR
#define MIRROR 0xd7
#define STARTY 0x04
#define STARTX 0x06
#define BLK_Select_H 0x00
#define BLK_Select_L 0x3c
#endif

思比科:修改图像影响颜色

思比科的调整颜色是在初始化中写寄存器

sp250a:

write_cmos_sensor(0x27,0x01);  // 0 | 1

write_cmos_sensor(0x3f,0x01); // 0 | 1 | 2 | 3

 

图像RGB偏色调试

kd_imgsensor_define.h

typedef enum {
    SENSOR_OUTPUT_FORMAT_RAW_B = 0,
    SENSOR_OUTPUT_FORMAT_RAW_Gb,
    SENSOR_OUTPUT_FORMAT_RAW_Gr,
    SENSOR_OUTPUT_FORMAT_RAW_R,

 

 

4、调试前摄的闪光灯,使用insink,(也可以使用gpio)

kernel-3.18/drivers/misc/mediatek/flashlight/src/mt6580/sub_strobe.c

+#include <linux/mutex.h>
+#include <linux/i2c.h>
+#include <linux/leds.h>
+//#include <linux/gpio.h>

+#include <mt-plat/upmu_common.h>

+#if 1
+
+static DEFINE_SPINLOCK(g_strobeSMPLock);       /* cotta-- SMP proection */
+
+
+static u32 strobe_Res;
+static u32 strobe_Timeus;
+static BOOL g_strobe_On;
+
+static int g_timeOutTimeMs;
+static struct work_struct workTimeOut;
+static void work_timeOutFunc(struct work_struct *data);
+static DEFINE_MUTEX(g_strobeSem);
+
+
+static int FL_Enable(void)
+{
+       //printk("boli test FL_Enable\n");
+    pmic_set_register_value(PMIC_ISINK_CH0_EN, 1);
+    pmic_set_register_value(PMIC_ISINK_CH1_EN, 1);
+    //pmic_set_register_value(PMIC_ISINK_CH2_EN, 1);   
+    //pmic_set_register_value(PMIC_ISINK_CH3_EN, 1);
+
+   printk("FL_enable");        
+            
+    return 0;
+}
+
+static int FL_Disable(void)
+{
+       //printk("boli test FL_Disable\n");
+    pmic_set_register_value(PMIC_ISINK_CH0_EN, 0);
+    pmic_set_register_value(PMIC_ISINK_CH1_EN, 0);
+    //pmic_set_register_value(PMIC_ISINK_CH2_EN, 0);
+       //pmic_set_register_value(PMIC_ISINK_CH3_EN, 0);
+
+    printk("FL_disable");
+
+

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值