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

From: Heiko Stuebner

Date: Thu Aug 27 2026 - 09:56:21 EST


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


> 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 <rudi@xxxxxxxxxxxx>
> ---
> 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, },
>