Thread (2 messages) 2 messages, 2 authors, 2021-07-02

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help