BSP调试#01:RTC(RK3588)
本合集分享的是我当初调试 RK3588 平台时的原始笔记------只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下:
- 硬件设计
- 软件配置
- 开启内核 8563 驱动:
CONFIG_RTC_DRV_PCF8563=y
- 开启内核 8563 驱动:
- 调试过程(记录踩过的坑)
- 功能验证
其中,"调试过程"章节可能有点意思(记录了我踩过的坑),其他章节无关紧要。
软件配置
开启内核 8563 驱动:
CONFIG_RTC_DRV_PCF8563=y
调试过程
问题描述:dmesg 查看 rtc 驱动加载情况,报错 log 打印如下:
从 log 直接可以看出是 PCF8563 的 I2C 通信超时 / 失败,导致 RTC 驱动 probe 探测失败。因此,接下来应该重点排查 I2C 通信相关。
问题分析:从 log 直接能看出是 PCF8563 的 I2C 通信超时 / 失败,导致 RTC 驱动 probe 探测失败。因此,接下来应该重点排查 I2C 通信相关。
问题解决:排查发现,I2C 配置忘了指定 pinctrl,重新指定问题解决。
功能验证
# 查看系统 RTC 启动情况
dmesg | grep rtc
# 查看 RTC 设备节点
ls /dev/rtc*
# 查看系统时钟
date
# 查看 RTC 时钟
hwclock
# 设置系统时钟
date -s "2024-05-6 16:20:00"
# 同步系统时钟至 RTC
hwclock -w
# 同步 RTC 时钟至系统时钟
hwclock -s
(完)