修改文件 drivers/rtc/rtc-sun6i.c
添加
#define SUN6I_LOSC_CTRL_FIX BIT(15) //fix bug, when powerdown
#define SUN6I_LOSC_CTRL_EXT_OSC_GSM BIT(3)
修改
/* Switch to the external, more precise, oscillator */
writel(SUN6I_LOSC_CTRL_KEY | SUN6I_LOSC_CTRL_EXT_OSC | SUN6I_LOSC_CTRL_EXT_OSC_GSM | SUN6I_LOSC_CTRL_FIX,
rtc->base + SUN6I_LOSC_CTRL);
最近编辑记录 wupaul2001 (2020-07-14 16:33:19)
离线
谢谢分享,如果功耗太大改了也没用哈。
离线
荔枝派Zero开发板(3.7V电池串了IN4148接Vrtc,去掉了电源树中R6那颗0Ω电阻),测试了不起作用。linux内核4.14。在不加SUN6I_LOSC_CTRL_FIX的情况下(或者不改rtc-sun6i.c),用hwclock -r读时钟正常,hwclock -w写入也正常,rtc时钟会走,掉电后不走,保存的是掉电前的时间。但是如果加上SUN6I_LOSC_CTRL_FIX会表现为进系统后hwclock -r不管读几次时钟保持不变,hwclock -w会失败,因为写的过程中LOSC_CTRL_REG寄存器的7~9bit不会复位为0。掉电后时钟也不会走。
离线
@yuleniwo
我也遇到同样的问题 不到您有没有解决rtc的问题
离线
V3S RTC是有很大的坑, 1. 耗电巨大, 比你想象的大很多倍。 2. RTC不稳。 调试未果, 加外置RTC解决。 只要是耗电无解。
离线
确实是的,功耗贼大,纽扣电池不经用!还是外挂RTC吧
离线