[PATCH 0/6] bootstd: sunxi: Migrate to standard boot

Andre Przywara andre.przywara at arm.com
Tue Aug 13 14:35:16 CEST 2024


On Tue, 13 Aug 2024 06:17:17 -0600
Simon Glass <sjg at chromium.org> wrote:

Hi Simon,

I had a bit deeper look yesterday.

> Hi Andre,
> 
> On Mon, 12 Aug 2024 at 10:00, Andre Przywara <andre.przywara at arm.com> wrote:
> >
> > On Wed,  7 Aug 2024 14:50:26 -0600
> > Simon Glass <sjg at chromium.org> wrote:
> >
> > Hey Simon,
> >  
> > > This series attempts to migrate all sunxi boards to use standard boot,
> > > along with a text environment.  
> >
> > Ah, many thanks for that! I figured that we need a bootmeth for FEL, but
> > never got around to have a closer look.
> > On a coarse glance, this looks roughly OK, and doing a super quick boot
> > test on one board, it seems to still work(TM), though the priority of the
> > FEL boot is not right?  
> 
> Does it need to be the top priority, perhaps?

Yes, please. It should only trigger when you a) do FEL booting and b)
upload a boot script via FEL, in which case you surely want to execute
that before anything else. From what I see the global EFI bootmeth is first
in the list, but I couldn't find an easy way to fix this in the source
file. Would that go through a platform specific bootmeths env variable?

> > And I guess ditching the old kernel support might be a bit controversial.
> > I think this is about the vendor kernels, which some people still rely on?  
> 
> OK, perhaps it is. It might be a little tricky to handle it, but I
> suspect another bootmeth might be enough.

Well, I had a look, and it looks like CONFIG_OLD_SUNXI_KERNEL_COMPAT
covers multiple things:
- it sets up some clocks slightly differently
- it enters the kernel (stays?) in secure mode
- it provides a custom boot script

I think the latter can be replaced quite easily with something custom, and
I guess it's the only one biting you? So I am OK with that going, but I
think we should keep the first two features (and thus the Kconfig symbol).


Another thing I discovered: we lose USB support with patch 3/6. The reason
is that USB support is enabled by having DISTRO_DEFAULTS. Just replacing
that with BOOTSTD_DEFAULTS didn't work, though, I get a (ridiculous) splat
about a circular Kconfig dependency. My hunch is that's something else not
right in Kconfig, but I need to have a closer look.

Cheers,
Andre

> 
> >
> > I will have a closer look this week and give you a review, just wanted to
> > acknowledge the series and thank you for your efforts.  
> 
> OK thank you.
> 
> Regards,
> Simon
> 
> 
> >
> > Cheers,
> > Andre
> >  
> > > Simon Glass (6):
> > >   sunxi: Drop BOOTCMD_SUNXI_COMPAT
> > >   sunxi: Add a bootmeth for FEL
> > >   sunxi: Move to bootstd
> > >   sunxi: Drop old distro boot variables
> > >   env: Provide a work-around for unquoting fdtfile
> > >   sunxi: Move to text environment
> > >
> > >  Makefile                                      |   1 +
> > >  arch/arm/Kconfig                              |   2 +-
> > >  arch/arm/include/asm/arch-sunxi/clock_sun4i.h |  10 -
> > >  arch/arm/mach-sunxi/Kconfig                   |  12 -
> > >  arch/arm/mach-sunxi/dram_sun4i.c              |   4 -
> > >  board/sunxi/sunxi.env                         | 138 ++++++++++
> > >  boot/Kconfig                                  |  14 ++
> > >  boot/Makefile                                 |   1 +
> > >  boot/bootmeth_fel.c                           |  81 ++++++
> > >  configs/icnova-a20-swac_defconfig             |   1 -
> > >  doc/usage/environment.rst                     |  12 +
> > >  include/configs/sunxi-common.h                | 238 ------------------
> > >  12 files changed, 248 insertions(+), 266 deletions(-)
> > >  create mode 100644 board/sunxi/sunxi.env
> > >  create mode 100644 boot/bootmeth_fel.c
> > >  
> >  



More information about the U-Boot mailing list