设备树定义两个i2c:
反复查看compatible是跟mv64xxx.c文件上能对应用上的:
配置里启用了mv64xxx IIC(还有哪些需要启用的吗?):
编译烧写启动后似乎没看到有i2c0和i2c2启动成功(是否还有哪里缺少配置?):
进入sys/class/i2c-dev和i2c-adapter都是空的:
进入sys/bus/i2c/devices里也是空的:
进入sys/devices/platform里也没看到i2c:
进入soc里可以看到是有定义的i2c0和i2c2:
这里是否需要添加什么信息?
初学者对linux架构和驱动流程都没熟悉,弄了两天都没解决。是否除了以上配置,是否还需要在其它文件上做修改?在此先感谢各位留言指点的大佬!
离线
问题不大, 你得在 i2c 节点添加设备才会执行驱动,比如ns2009电阻触摸, gt911电容触摸这种。
这样启动log会有识别到i2c设备的信息。
然后你 cat /proc/interrupts 可以看到有 i2c 中断。
就是要给两组IIC添加子节点(从设备)对吧? 我试一下,感谢!
离线
你也可以用i2cdetect工具检测下设备
试过检测不到设备,在家没显波器,看不到从机是否工作起来。
我添加了子节点从机设备,还是没有看到任何设备,我可能理解错了IIC接口,以为像串口TTY一样,驱动加载成功了就可以测试IIC发数据了。
离线
为I2C总线添加子节点:
没有查到i2c有中断:
是否可以怀疑这两个节点的从机设备没正常工作?
离线
如果驱动失败,按理在启动log中是否应该提示失败才对?但是查不到有失败的提示。
还是一样只提示i2c /dev entries driver:
离线
给子节点AK4456也加了设备驱动,还是没有驱动起来。路过大佬再帮指点一下还有哪里可能没弄好!
mv64xxx.c是IIC总线驱动,加上子节点等于在总线上挂上从机设备,再写上从机的设备驱动,正常至少也会提示一下绑定成功或失败吧?不知道这理解对否?
离线
在家没设备,我试下固件看看,谢谢!
离线