我在 i2c 总线上使用带有 ds1307 兼容 RTC 控制器的 ARM 设备的 Linux-4.9.67。在内核配置中添加
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()
调用。
有什么想法吗?谢谢