[PATCH] usb: onboard_dev: add the Rockchip rk1808
Chaoyi Chen
chaoyi.chen at rock-chips.com
Tue Sep 1 18:39:03 PDT 2026
Hello Rudi,
On 9/1/2026 7:42 PM, Rudi Heitbaum wrote:
> On Mon, Aug 31, 2026 at 09:41:08AM +0800, Chaoyi Chen wrote:
>> Hello Rudi,
>>
>> On 8/28/2026 9:24 PM, Rudi Heitbaum wrote:
>>> Hi Heiko,
>>>
>>> I hadn't looked in to these from the mainline viewpoint. I had been
>>> using an adapted vendor script based on the radxa npu_powerctl binary
>>> which reimplements the npu_reset sequence over GPIO.
> ...
>>> I have the schematics and the working N10 here, so let me look into
>>> describing these in the .dts and update the onboard_usb_dev.h.
>>>
>>
>> Perhaps we should first check whether the power-on sequence in
>> onboard_usb_dev.c meets the requirements, as it enables all
>> regulator supplies at the same time.
>
> Hi Chaoyi and Heiko,
>
> I have done some work on the bringup of the rk1808, and can confirm that
> it needs six rails up and its reset released before it appears on the
> bus. There are no ordering requirements, issuing the reset 25 ms later
> is reliably working. The supply names being "vdd", "vddlog", "vddcpu",
> "vdd0v8", "vcc1v8", "vccio". This moves the power-on into the kernel
> and not the userland script.
>
> The MAX_SUPPLIES fixed size array needs to be expanded from 2 to 6 to
> accommodate the rails.
>
> The rock-pi-n10 and the on-die rk1808 (including the onboard VIP8000Nano-Q
> NPU) are now both running on the 7.2 mainline kernel. The
> rock-pi-n10/rk3399pro-vmarc-som is booting with the mainline .dts and
> the rk1808 is booting with an adapted vendor .dts.
>
> The required changes to the drivers/usb/misc/onboard_usb_dev.h are now:
>
> @@ -6,1 +6,1 @@
> -#define MAX_SUPPLIES 2
> +#define MAX_SUPPLIES 6
>
> @@ -134,6 +134,6 @@ static const struct onboard_dev_pdata xmos_xvf3500_data = {
> +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,
> +};
>
> @@ -167,2 +167,2 @@ static const struct of_device_id onboard_dev_match[] = {
> + { .compatible = "usb2207,1808", .data = &rockchip_rk1808_data, },
> + { .compatible = "usb2207,180a", .data = &rockchip_rk1808_data, },
>
> Hoping to get your direction on this, and if this can go through as a
> single patch, or should be raised as a series. I will raise a v2 of
> the above if this is suitable.
>
> https://github.com/heitbaum/linux/commits/rock-pi-n10/
> https://github.com/heitbaum/linux/commits/rk1808/
>
I took a quick look at your submission. Since it spans multiple
subsystems, I'd suggest splitting it into separate series by subsystem
so that maintainers can review them more easily.
--
Best,
Chaoyi
More information about the linux-arm-kernel
mailing list