Hi, 2021年7月1日(木) 21:50 <Cedric.dewijs@xxxxxxxxxx>: > > 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 <alexandre.belloni@xxxxxxxxxxx> > 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