Re: [PATCH] usb: onboard_dev: add the Rockchip rk1808
From: Heiko Stuebner <heiko@sntech.de>
Date: 2026-08-27 13:25:41
Also in:
linux-arm-kernel, linux-rockchip, lkml
Hi Rudi, Am Montag, 24. August 2026, 04:52:02 Mitteleuropäische Sommerzeit schrieb Rudi Heitbaum:
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. Thanks Heiko
quoted hunk ↗ jump to hunk
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 = µchip_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, },