[已解决]wrtnode i2c的问题 wiki 的教程好像有问题 感谢summer,admin

insmod i2c-gpio-custom bus0=0,1,2
 
提示:pin 1 is not set to gpio mux
 
WRTNODE.dts 已经添加了 gpio1 
palmbus@10000000 {
gpio1: gpio@638 {
status = "okay";
};

gpio2: gpio@660 {
status = "okay";
};

gpio3: gpio@688 {
status = "okay";
};
求指导
已邀请:

summer

赞同来自: noel admin

gpio1: gpio@奈何col
     status = "okay";
};
这个不是指gpio#1,而是gpio1这一组
mt7620n把gpio一共分为四组,分别是gpio0、gpio1、gpio2、gpio3
gpio0 {gpio#0  - gpio#23}    gpio1 {gpio#24 - gpio#39} 
gpio2 {gpio#40 - gpio#71}     gpio3 {gpio#72} 
gpio的定义及复用可以参考:
http://wiki.wrtnode.com/index. ... zh-cn
如果您的dts里有注册gpio-keys-polled,把这段注释掉
/*
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 1>;
linux,code = <0x198>;
};
};
*/
注:通过我们的测试及客户的反馈,mt7620n的i2c驱动不是很稳定。所以建议用gpio模拟i2c。

admin - 90后it男

赞同来自: cnzhuhai

参考wiki上的这个教程,就是gpio模拟i2c的。
将命令
insmod i2c-gpio-custom bus0=0,1,2  
中的1和2换成你要使用的gpio pin即可。
 

vanadic

赞同来自:

感谢回复
 
我的dts 文件中并没有gpio-keys-polled定义。
 
gpio0: gpio@cnzhuhai {   status = "okay";  };
我把文件改成这样也不行
 
还有请教下gpio模拟i2c 是否就是只要给/sys/class/gpio/export 释放出来2根针脚 再配合c 程序就能实现?

要回复问题请先登录注册