我在i2c总线上使用Linux-4.9.67和带有ds1307兼容RTC控制器的ARM设备。添加在内核配置中
CONFIG_RTC_DRV_DS1307=y
在设备树中添加了节点
&i2c4 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c4>;
status = "okay";
ds1307: rtc@68 {
compatible = "dallas,ds1307";
reg = <0x68>;
};
};
我在设备列表中看到它
root@csb:~# i2cdetect -y 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
然而,问题是设备驱动程序未加载,并且ds1307_probe()
从未调用过。
你知道那东西不见了吗?感谢
问题中的一切都还可以。问题是由硬件问题引起的。