MTK 平台 camera点亮之 I2C不通

由于MTK平台 camera点亮涉及很多文件,很可能造成点亮失败!!!。I2C不通是点亮失败的重要之一,总结如下做相互学习,也做备忘之效

1、对照spec文档,检查上下电时序(AVDD、DVDD、DOVDD、RST、PowerDown)

    

2、对照上电,用示波器检查的信号(SDA/SCL)波形

3、检查当前的camera 模组挂载I2C bus。检查模组规格书中I2C芯片地址,和代码中kernel-4.14/drivers/misc/mediatek/dws/项目名.dws

     在这文件中搜索i2c,查看对应camera

<device4>            
    <varName>CAMERA_MAIN</varName>               
    <channel>I2C_CHANNEL_2</channel>               
    <address>0x20</address>               
</device4>         

4、确认内核中驱动代码的读写函数    addr和data的数据长度,要与sensor I2C的接口一致

static kal_uint16 read_cmos_sensor(kal_uint32 addr)
{
	kal_uint16 get_byte = 0;
	char pu_send_cmd[2] = { (char)(addr >> 8), (char)(addr & 0xFF) };

	iReadRegI2C(pu_send_cmd, 2, (u8 *) &get_byte, 1,
				imgsensor.i2c_write_id);
	return get_byte;
}

static void write_cmos_sensor_byte(kal_uint32 addr, kal_uint32 para)
{
	char pu_send_cmd[3] = {
	 (char)(addr >> 8), (char)(addr & 0xFF), (char)(para & 0xFF) };

	iWriteRegI2C(pu_send_cmd, 3, imgsensor.i2c_write_id);
}

5、检查cfg_settting_imgsensor.cpp中函数,getSensorMclkConnection,是否和HW上实际MCLK连接一致

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于你的第一个问题:i2c总线工作原理和MTK平台配置流程,我可以为你解答。 一、i2c总线工作原理 i2c(Inter-Integrated Circuit)总线是一种串行总线,它由两根线构成:SDA(数据线)和SCL(时钟线)。i2c总线采用主从模式进行通信,主设备负责发起通信请求,从设备则被动地响应请求。 i2c总线的数据传输是通过时钟信号进行同步的。在传输数据时,主设备向从设备发送一个起始信号,再发送从设备的地址和读写位,接着从设备响应确认信号,主设备继续发送数据,从设备再次响应确认信号,直到传输完成,主设备发送停止信号。 二、MTK平台配置流程 1. 打开内核配置菜单 在Linux内核源码树中,使用make menuconfig命令打开内核配置菜单。 2. 配置i2c驱动 在内核配置菜单中,选择Device Drivers -> I2C support -> I2C Hardware Bus support,打开i2c总线驱动的配置选项。 3. 配置MTK i2c控制器 在内核配置菜单中,选择Device Drivers -> I2C support -> I2C Hardware Bus support -> Mediatek I2C controller,打开MTK i2c控制器的配置选项。 4. 配置i2c设备驱动 在内核配置菜单中,选择Device Drivers -> I2C support -> I2C device interface,打开i2c设备驱动的配置选项。 5. 生成内核镜像和设备树 完成内核配置后,使用make命令生成内核镜像和设备树文件。 6. 加载内核模块 将内核镜像和设备树文件烧录到设备上,并加载i2c驱动模块,即可使用MTK平台的i2c总线进行通信。 以上就是关于i2c总线工作原理和MTK平台配置流程的简要介绍,希望能够对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值