From: Stephano Cetola <stephano@cetola.net>
To: Sascha Hauer <s.hauer@pengutronix.de>,
"open list:BAREBOX" <barebox@lists.infradead.org>
Subject: [PATCH] spi: rockchip: restore bus_num alias lookup via dev->id
Date: Sat, 22 Aug 2026 07:07:45 -0700 [thread overview]
Message-ID: <20260822-send-spi-rockchip-busnum-v1-1-bf9c183786e4@cetola.net> (raw)
ctlr->bus_num = pdev->id was commented out when this driver was
ported from Linux (pdev doesn't exist in barebox's device model here,
only dev - the port left this line unresolved rather than translating
it). With bus_num left at its kzalloc default of 0,
spi_register_controller() only runs the alias lookup when bus_num < 0,
so it's skipped and every Rockchip SPI controller ends up on bus 0.
On RK3588S, spi@feb20000 returns the PMIC controller instead of
the intended gpio-spi RP2040 bus. The barebox spi command then does
a write+read through the Rockchip SPI driver, which programmes the
hardware in XFM_RO (RX-only) mode for the read phase. In that mode
dummy TXDR writes don't generate clock pulses, the RX FIFO never
fills, and rockchip_spi_pio's while(1) loop never exits -> boot hang.
Fixes: 1efba64ba04 ("spi: add rockchip spi controller support")
Signed-off-by: Stephano Cetola <stephano@cetola.net>
---
drivers/spi/spi-rockchip.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c
index 1e81e9393f..b9f43fa4d6 100644
--- a/drivers/spi/spi-rockchip.c
+++ b/drivers/spi/spi-rockchip.c
@@ -514,7 +514,7 @@ static int rockchip_spi_probe(struct device *dev)
goto err_put_ctlr;
}
-// ctlr->bus_num = pdev->id;
+ ctlr->bus_num = dev->id;
// ctlr->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LOOP | SPI_LSB_FIRST;
/*
---
base-commit: 9bc1a26592a59919d2ee8c60c273d87d3d9f2e81
change-id: 20260821-send-spi-rockchip-busnum-a9b1116e14a5
reply other threads:[~2026-08-22 14:09 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20260822-send-spi-rockchip-busnum-v1-1-bf9c183786e4@cetola.net \
--to=stephano@cetola.net \
--cc=barebox@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
/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