From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: Karl Mehltretter <kmehltretter@gmail.com>,
Yoshinori Sato <yoshinori.sato@nifty.com>,
Rich Felker <dalias@libc.org>
Cc: linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sh: sh7785lcr: register the PCA9564 as I2C bus 0
Date: Sat, 03 Oct 2026 10:53:45 +0200 [thread overview]
Message-ID: <93b5e35ce1ebf5447f2034ead9d1d20da8cb40f0.camel@physik.fu-berlin.de> (raw)
In-Reply-To: <20261003082833.21511-1-kmehltretter@gmail.com>
Hello Karl,
On Sat, 2026-10-03 at 10:28 +0200, Karl Mehltretter wrote:
> The R2025S/D board information is registered on I2C bus 0. Commit
> 44454baa7ca7 ("i2c: Dynamically assign adapter id if it wasn't explictly
> specified") changed the PCA9564 platform driver to pass negative platform
> device IDs to the I2C core. The SH7785LCR device uses ID -1, so the core
> assigns it a dynamic bus number. Reserving bus 0 for the board information
> makes i2c-1 the first dynamic bus, and the RTC is never instantiated.
>
> Set the platform device ID to 0 so the adapter is registered as i2c-0 and
> the RTC board information matches it.
>
> Fixes: 44454baa7ca7 ("i2c: Dynamically assign adapter id if it wasn't explictly specified")
> Assisted-by: LLM
> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
> ---
>
> Tested with 29-bit and 32-bit kernels on a custom QEMU model of the
> SH7785LCR. Both registered the controller as i2c-0 and the R2025S/D as
> rtc0.
> Testing on real hardware is welcome.
>
> arch/sh/boards/board-sh7785lcr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/sh/boards/board-sh7785lcr.c b/arch/sh/boards/board-sh7785lcr.c
> index 25c4968f0d8b..b93423df582f 100644
> --- a/arch/sh/boards/board-sh7785lcr.c
> +++ b/arch/sh/boards/board-sh7785lcr.c
> @@ -256,7 +256,7 @@ static struct i2c_pca9564_pf_platform_data i2c_platform_data = {
>
> static struct platform_device i2c_device = {
> .name = "i2c-pca-platform",
> - .id = -1,
> + .id = 0,
> .dev = {
> .platform_data = &i2c_platform_data,
> },
Without the patch, the rtc is not detected during boot and trying to read it out
with the hwclock utility fails:
root@tirpitz:~> hwclock
hwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --verbose option to see the details of our search for an access method.
root@tirpitz:~> hwclock --verbose
hwclock from util-linux 2.41.3
System Time: 1791016681.183560
Trying to open: /dev/rtc0
Trying to open: /dev/rtc
Trying to open: /dev/misc/rtc
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.
root@tirpitz:~>
With the patch, the rtc is detected during boot:
[ 4.048000] rtc-rs5c372 0-0032: r2025sd found, 24hr
[ 4.056000] rtc-rs5c372 0-0032: rtc oscillator interruption detected. Please reset the rtc clock.
[ 4.072000] rtc-rs5c372 0-0032: registered as rtc0
[ 4.080000] rtc-rs5c372 0-0032: rtc oscillator interruption detected. Please reset the rtc clock.
[ 4.088000] rtc-rs5c372 0-0032: hctosys: unable to read the hardware clock
And can be read out with hwclock:
root@tirpitz:~> hwclock --verbose
hwclock from util-linux 2.41.3
System Time: 1791017592.121448
Trying to open: /dev/rtc0
Using the rtc interface to the clock.
Last drift adjustment done at 0 seconds after 1969
Last calibration done at 0 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
ioctl(4, RTC_UIE_ON, 0): Invalid argument
Waiting in loop for time from /dev/rtc0 to change
...got clock tick
Time read from Hardware Clock: 2026/10/03 08:53:13
Hw clock time : 2026/10/03 08:53:13 = 1791017593 seconds since 1969
Time since last adjustment is 1791017593 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2026-10-03 10:53:12.109057+02:00
root@tirpitz:~>
Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
next prev parent reply other threads:[~2026-10-03 8:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-03 8:28 Karl Mehltretter
2026-10-03 8:53 ` John Paul Adrian Glaubitz [this message]
2026-10-03 9:07 ` John Paul Adrian Glaubitz
2026-10-03 9:38 ` John Paul Adrian Glaubitz
2026-10-03 9:51 ` Karl Mehltretter
2026-10-03 9:57 ` John Paul Adrian Glaubitz
2026-10-03 12:52 ` Geert Uytterhoeven
2026-10-03 18:17 ` John Paul Adrian Glaubitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=93b5e35ce1ebf5447f2034ead9d1d20da8cb40f0.camel@physik.fu-berlin.de \
--to=glaubitz@physik.fu-berlin.de \
--cc=dalias@libc.org \
--cc=kmehltretter@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=yoshinori.sato@nifty.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®