[PATCH] usb: onboard_dev: add the Rockchip rk1808

Rudi Heitbaum rudi at heitbaum.com
Fri Aug 28 03:55:56 PDT 2026


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:
> > 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
> 
> 
> > 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 at heitbaum.com>
> > ---
> >  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, },
> > 
> 
> 
> 
> 



More information about the linux-arm-kernel mailing list