Re: rtc_rv8803.ko does not create a /dev/rtc?
From: Nobuhiro Iwamatsu <hidden>
Date: 2021-07-02 13:09:08
Hi, 2021年7月1日(木) 21:50 [off-list ref]:
Hi all, I have a raspberry pi 3B, running kernel 5.10.17. On the i2c bus, I've added a rx8900 rtc chip. I would like to use this chip, but I fail to create a /dev/rtc for it. I have checked the kernel version: # uname -a Linux raspberrypi 5.10.17-v7+ #1421 SMP Thu May 27 13:59:01 BST 2021 armv7l GNU/Linux I've downloaded the rtc driver for this version of the kernel from here: https://github.com/raspberrypi/linux/blob/rpi-5.10.y/drivers/rtc/rtc-rv8803.c And compiled the driver with this makefile [1, see below] and installed the resulting rtc-rv8803.ko here: $ modinfo /usr/lib/modules/5.10.17-v7+/kernel/drivers/rtc/rtc-rv8803.ko filename: /usr/lib/modules/5.10.17-v7+/kernel/drivers/rtc/rtc-rv8803.ko license: GPL v2 description: Micro Crystal RV8803 RTC driver author: Alexandre Belloni [off-list ref] srcversion: 0067552CB786360DEA9CADB alias: i2c:rx8900 alias: i2c:rx8803 alias: i2c:rv8803 alias: of:N*T*Cepson,rx8900C* alias: of:N*T*Cepson,rx8900 alias: of:N*T*Cepson,rx8803C* alias: of:N*T*Cepson,rx8803 alias: of:N*T*Cmicrocrystal,rv8803C* alias: of:N*T*Cmicrocrystal,rv8803 depends: name: rtc_rv8803 vermagic: 5.10.17-v7+ SMP mod_unload modversions ARMv7 p2v8 Next I do the following steps to load the module: # modprobe i2c:rx8900 [ 130.591843] rtc_rv8803: loading out-of-tree module taints kernel.
This is not necessary if the module is installed correctly. The module will be loaded when you write to '/sys/class/ i2c-adapter/i2c-1/new_device' below.
The module is loaded: # lsmod Module Size Used by rtc_rv8803 16384 0 Next I bind the driver to the i2c address 0x32: # echo i2c:rx8900 0x32 > /sys/class/i2c-adapter/i2c-1/new_device
I think ' i2c' is unnecessary. Please check with following: echo rx8900 0x32 > /sys/class/i2c-adapter/i2c-1/new_device
[ 176.871589] i2c i2c-1: new_device: Instantiated device i2c:rx8900 at 0x32
This does not give me a /dev/rtc device:
# ls /dev/rtc*
ls: cannot access '/dev/rtc*': No such file or directory
The rtc is detected at address 0x32, but it's not claimed by any driver (that would have been indicated by UU instead of 32).
# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- --
30: -- -- 32 -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- 49 4a -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
What did I miss?
Kind regards,
Cedric
Best regards,
Nobuhiro
--
Nobuhiro Iwamatsu
iwamatsu at {nigauri.org / debian.org / kernel.org}
GPG ID: 40AD1FA6