Hi Jonas,

On Fri, Aug 02, 2024 at 11:04:05PM GMT, Jonas Karlman wrote:
> Hi Sebastian,
> 
> On 2024-08-02 19:59, Sebastian Reichel wrote:
> > Since older U-Boot releases do not negotiate USB PD, the kernel
> > DT may not enable the USB-C controller by default to avoid a
> > regression. The plan is to upstream it with 'status = "fail";'
> > instead. U-Boot should then mark it as 'status = "okay";' if
> > it negotiated USB PD. Currently existing upstream kernel DTs do
> > not yet have the USB-C controller at all, so we ignore any
> > failures.
> 
> I do not really understand why you need to upstream it this way, there
> are plenty of other rk3588 boards with fcs,fusb302 already having status
> "okay" that possible are affected by same USB PD issue that ROCK 5B
> have.
> 
> I guess you want to try and protect users that upgrade kernel DT and
> ignore upgrading to a newer U-Boot, use vendor U-Boot or any other
> bootloader from having possible issues with those USB PD power supplies
> that have issues?

Correct. Existing upstream U-Boot with new kernel would result in a
boot loop. That's precisly why we need this U-Boot series. Since the
Rock 5B is usually powered via USB-C and Radxa explicitly requests a
USB-C PD power-supply almost everyone would be affected. IDK how
other boards solve this considering U-Boot does not yet have a
fusb302 driver. For me **all** of my power-supplies trigger a hard
reset and thus a power-loss when booting a kernel with fusb302
combined with an old U-Boot version not supporting fusb302.

-- Sebastian

> > Signed-off-by: Sebastian Reichel <[email protected]>
> > ---
> >  board/radxa/rock5b-rk3588/rock5b-rk3588.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/board/radxa/rock5b-rk3588/rock5b-rk3588.c 
> > b/board/radxa/rock5b-rk3588/rock5b-rk3588.c
> > index 1c17ae93c76c..4e926ebf2cb0 100644
> > --- a/board/radxa/rock5b-rk3588/rock5b-rk3588.c
> > +++ b/board/radxa/rock5b-rk3588/rock5b-rk3588.c
> > @@ -3,6 +3,8 @@
> >   * Copyright (c) 2023-2024 Collabora Ltd.
> >   */
> >  
> > +#include <fdtdec.h>
> > +#include <fdt_support.h>
> >  #include <usb/tcpm.h>
> >  
> >  #ifdef CONFIG_MISC_INIT_R
> > @@ -33,3 +35,12 @@ int misc_init_r(void)
> >     return 0;
> >  }
> >  #endif
> > +
> > +#ifdef CONFIG_OF_BOARD_SETUP
> > +int ft_board_setup(void *blob, struct bd_info *bd)
> > +{
> > +   if (IS_ENABLED(CONFIG_MISC_INIT_R))
> 
> It make very little sense to check for this, it is implied for almost
> all Rockchip boards since it is used in rockchip board common code
> to setup serial and Ethernet mac addresses env vars.
> 
> Regards,
> Jonas
> 
> > +           fdt_status_okay_by_compatible(blob, "fcs,fusb302");
> > +   return 0;
> > +}
> > +#endif
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to