[U-Boot] [PATCH v5 7/8] board: intel: Add new slimbootloader board
Bin Meng
bmeng.cn at gmail.com
Tue Jul 23 06:15:07 UTC 2019
Hi Andy,
On Mon, Jul 22, 2019 at 11:49 PM Andy Shevchenko
<andy.shevchenko at gmail.com> wrote:
>
> On Wed, Jul 17, 2019 at 7:42 AM Park, Aiden <aiden.park at intel.com> wrote:
> >
> > Add slimbootloader board to run U-boot as a Slim Bootloader payload
> > - Add new board/intel/slimbootloader directory with minimum codes
> > - Add slimbootloader configuration files
> > - Add README in board/intel/slimbootloader
>
> > board/intel/slimbootloader/README | 133 ++++++++++++++++++++
>
> Shouldn't become reST one?
I think this will need be converted to reST after my doc series are applied.
>
> > +Stitch IFWI:
> > + Refer to https://slimbootloader.github.io/supported-hardware/apollo-lake-crb.html#stitching.
> > + > python Platform/ApollolakeBoardPkg/Script/StitchLoader.py -i <Existing IFWI> -s Outputs/apl/Stitch_Components.zip -o <Output IFWI>
>
> It reminds me that DnX protocol.
>
> > +Flash IFWI:
> > + Use DediProg to flash IFWI.
> > + Now, you should reach at U-Boot serial console.
>
> Can't it be done via DFU?
>
> > +int board_early_init_r(void)
> > +{
> > + /*
> > + * Make sure PCI bus is enumerated so that peripherals on the PCI bus
> > + * can be discovered by their drivers
> > + */
> > + pci_init();
>
> I'm not sure this is how U-Boot is designed with DM.
> At least my expectations that bus gets initialized followed by the
> certain driver in a lazy way.
> Isn't it the case? Bin?
For most x86 board, yes, PCI gets enumerated automatically if some PCI
APIs are called in the early initialization codes: eg: pci_{read,
write}_config().
But for boards like coreboot/slimbootloader, if there is no touch to
any PCI config register on that board in the early phase, PCI bus
remains not probed.
>
> > +
> > + return 0;
> > +}
>
>
> > +++ b/board/intel/slimbootloader/start.S
> > @@ -0,0 +1,9 @@
>
> > +/* board early initialization */
> > +.globl early_board_init
> > +early_board_init:
> > + jmp early_board_init_ret
>
> Do you need this stub at all? How other CPUs work without it?
This hook is currently needed by every board.
>
> > +++ b/include/configs/slimbootloader.h
> > @@ -0,0 +1,59 @@
>
> > +#undef CONFIG_NFSBOOTCOMMAND
> > +#undef CONFIG_RAMBOOTCOMMAND
> > +#undef CONFIG_EXTRA_ENV_SETTINGS
> > +#undef CONFIG_BOOTCOMMAND
>
> Do we really need all these in the header?
> Can't some at least be done via configuration?
I suspect not all of these are converted to Kconfig yet.
Regards,
Bin
More information about the U-Boot
mailing list