[PATCH v2 3/5] board: rock5b-rk3588: add USB-C controller support
Marek Vasut
marex at denx.de
Sat Jul 6 02:50:32 CEST 2024
On 6/4/24 6:33 PM, Sebastian Reichel wrote:
> Enable support for the fusb302 USB Type-C controller.
>
> This will do early USB PD (power deliver) negotiation, which must happen
> within 5 seconds after the USB-C connector has plugged in according to
> the specification. It takes almost 5 seconds to go through the bootchain
> on Rock 5B and jump to the operating system. When the Linux initializes
> the fusb302 usually 20-30 seconds have gone since the device has been
> plugged, which is far too late. The USB PD power source reacts with a
> hard reset, which disables VBUS for some time. This is not a problem for
> a battery driven device, but Rock 5B will loose its power-supply and
> reset. By initializing PD in U-Boot, this can be avoided.
>
> The DT node can be sourced from the Linux kernel DT in the future,
> but to get things going it makes sense to add it in the U-Boot
> specific file for now. Because of the reset issue it is important
> to get support in U-Boot first.
[...]
> +int misc_init_r(void)
> +{
> + struct udevice *dev;
> + int ret;
> +
> + ret = tcpm_get("usb-typec at 22", &dev);
> + if (ret) {
> + printf("Failed to probe Type-C controller\n");
> + return 0;
> + }
> +
> + return 0;
> +}
A code comment similar to commit message content would be nice here.
More information about the U-Boot
mailing list