* [PATCH v2] usb: onboard_dev: add the Rockchip rk1808
@ 2026-09-05 4:30 Rudi Heitbaum
0 siblings, 0 replies; only message in thread
From: Rudi Heitbaum @ 2026-09-05 4:30 UTC (permalink / raw)
To: Chaoyi Chen, Heiko Stübner
Cc: Matthias Kaehlcke, Greg Kroah-Hartman, linux-usb, linux-rockchip,
linux-arm-kernel, linux-kernel, rudi
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 what this driver exists to do
for onboard devices. It also needs six rails up and its reset released
before it appears on the bus.
MAX_SUPPLIES changes from 2 to 6 for the supplies. The array is fixed size
in the static pdata and onboard_dev_priv.
The rails have no ordering requirement, so enabling them together
and releasing reset 25 ms later is reliably working.
Both product ids are matched. 2207:180a is the die in maskrom awaiting
a firmware download, 2207:1808 the same die afterwards.
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
---
v2:
- describe the six rails and the reset instead of binding with an empty
entry, so the die is brought up by the kernel rather than a userspace
script
- raise MAX_SUPPLIES from 2 to 6 to make room for them
- checked on hardware that the rails have no ordering requirement, so the
concurrent regulator_bulk_enable() already in onboard_usb_dev is
sufficient (Chaoyi Chen)
v1: https://lore.kernel.org/all/aouw7rH6FZxscUTO@0d3a7a881997/
---
drivers/usb/misc/onboard_usb_dev.h | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 3523f8f8a149..b252cce32f86 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -6,7 +6,7 @@
#ifndef _USB_MISC_ONBOARD_USB_DEV_H
#define _USB_MISC_ONBOARD_USB_DEV_H
-#define MAX_SUPPLIES 2
+#define MAX_SUPPLIES 6
struct onboard_dev_pdata {
unsigned long reset_us; /* reset pulse width in us */
@@ -134,6 +134,13 @@ static const struct onboard_dev_pdata xmos_xvf3500_data = {
.is_hub = false,
};
+static const struct onboard_dev_pdata rockchip_rk1808_data = {
+ .reset_us = 25000,
+ .num_supplies = 6,
+ .supply_names = { "vdd", "vddlog", "vddcpu", "vdd0v8", "vcc1v8", "vccio" },
+ .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 = µchip_usb424_data, },
@@ -167,6 +174,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, },
--
2.53.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-05 4:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-05 4:30 [PATCH v2] usb: onboard_dev: add the Rockchip rk1808 Rudi Heitbaum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox