Thread (8 messages) flat view 8 messages, 4 authors, 23d ago

Re: [PATCH] usb: onboard_dev: add the Rockchip rk1808

From: Rudi Heitbaum <hidden>
Date: 2026-08-28 10:56:34
Also in: linux-rockchip, linux-usb, lkml

On Thu, Aug 27, 2026 at 03:25:23PM +0200, Heiko Stuebner wrote:
Hi Rudi,

Am Montag, 24. August 2026, 04:52:02 Mitteleuropäische Sommerzeit schrieb Rudi Heitbaum:
quoted
The rk1808 is the npu die in an rk3399pro package. It is wired to one
of the usb3 controllers rather than to an external port, and it needs
its reference clock running before it will boot, which is exactly what
this driver exists to do for onboard devices.

It takes no supply from the driver: the rails are sequenced elsewhere.
Only the clock matters here, and that is already optional and handled
generically.
the "elsewhere" might need a bit more explanation to verify it's the right
implementation. Even if the regulators are always-on or something, we
still want the supplies defined - for future uses.
Hi Heiko,

As follow up on the bringup of the Rock-Pi-N10, the proposed change to the dtsi
for the rk3399pro-vmarc-som is here, but needs the provision of the usb first.
https://github.com/heitbaum/linux/commit/6b114b6fff4022c330003d7f70ce09915ffd774f

Thanks
Rudi

 
Thanks
Heiko

quoted
Two ids, because the die changes identity as it boots: 180a while it is
in maskrom and then in the rockusb loader, 1808 once it is running.

Signed-off-by: Rudi Heitbaum <redacted>
---
 drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 3523f8f8a149..e07f509ac751 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -134,6 +134,12 @@ static const struct onboard_dev_pdata xmos_xvf3500_data = {
 	.is_hub = false,
 };
 
+static const struct onboard_dev_pdata rockchip_rk1808_data = {
+	.reset_us = 0,
+	.num_supplies = 0,
+	.is_hub = false,
+};
+
 static const struct of_device_id onboard_dev_match[] = {
 	{ .compatible = "usb-a-connector", .data = &usb_a_conn_data, },
 	{ .compatible = "usb424,2412", .data = &microchip_usb424_data, },
@@ -167,6 +173,8 @@ static const struct of_device_id onboard_dev_match[] = {
 	{ .compatible = "usb2109,817", .data = &vialab_vl817_data, },
 	{ .compatible = "usb2109,2817", .data = &vialab_vl817_data, },
 	{ .compatible = "usb20b1,0013", .data = &xmos_xvf3500_data, },
+	{ .compatible = "usb2207,1808", .data = &rockchip_rk1808_data, },
+	{ .compatible = "usb2207,180a", .data = &rockchip_rk1808_data, },
 	{ .compatible = "usb3431,6241", .data = &corechips_sl6341_data, },
 	{ .compatible = "usb3431,6341", .data = &corechips_sl6341_data, },
 	{ .compatible = "usb5986,1198", .data = &bison_intcamera_data, },

  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help