This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
目前我们在做camera的驱动,所以第一步验证了i2c控制,现在开发板能通过i2c控制964寄存器,但不能远程配置953的,有些问题,我们现在的操作如下,就是参考TI的各种资料做的,但有问题,请大神帮忙看看是哪里不对:
regmap_write(ds964->regmap, 0x4c, 0x0f);
regmap_write(ds964->regmap, 0x58, 0x58);
//serializer
regmap_read(ds964->regmap,0x5B,&ser_id);
printk("ser_id= %d \n",ser_id);
regmap_write(ds964->regmap, 0x5B, 0x30); //8位953地址
regmap_write(ds964->regmap, 0x5c, 0x30);
regmap_read(ds964->regmap,0x5B,&ser_id);
printk("ser_id= %d \n",ser_id);
client->addr=0x18; //7位953地址
ds964_i2c_read(client,0x00,&gpio_ctrl);
先通过配置964里的寄存器0x5b/0x5c设置了953的从设备id 和别名,我们这边是0x18(7bits)/0x30(8bits)
然后将i2c控制的从设备地址设置为了953 的(0x18),进行读写操作,出现错误
我们参考的就是snla222这个文档,所以请不要说参考这个文档就行,帮忙看看哪里配置有问题
非常感谢。
Dears:
我们这样相机的硬件连接方式是 :host侧 + ds90ub964 -> ds90ub953 + image sensor
Host端通过i2c控制964,目前我们编写了驱动测试了i2c到964的通信,但是通过i2c操作远程的953出现错误
我们的设置是按964 datasheet里的说明进行的,如下:
regmap_write(ds964->regmap, 0x4c, 0x0f);
regmap_write(ds964->regmap, 0x58, 0xd8);
//serializer
regmap_read(ds964->regmap,0x5B,&ser_id);
printk("ser_id= %d \n",ser_id);
regmap_write(ds964->regmap, 0x5B, 0x30);
regmap_write(ds964->regmap, 0x5c, 0x30);
regmap_read(ds964->regmap,0x5B,&ser_id);
printk("ser_id= %d \n",ser_id);
client->addr=0x18;
ds964_i2c_read(client,0x00,&gpio_ctrl);
先通过配置964里的寄存器0x5b/0x5c设置了953的从设备id 和别名,我们这边是0x18(7bits)/0x30(8bits)
然后将i2c控制的从设备地址设置为了953 的(0x18),进行读写炒作,出现错误
客户不确定是不是这个设置过程,所以很难排除是哪里出现了问题,麻烦您帮忙看看应该如何配置
谢谢