[U-Boot] [RFC] Supporting multiple variants of an SoC

Lukasz Majewski l.majewski at samsung.com
Wed Jul 3 10:09:51 CEST 2013


On Tue, 02 Jul 2013 16:40:08 -0400, Tom Rini wrote:
Hi Tom,

> On Tue, Jul 02, 2013 at 11:58:51AM -0600, Stephen Warren wrote:
> > On 07/02/2013 10:28 AM, Tom Rini wrote:
> > > Hey guys,
> > > 
> > > I'm wondering about something and looking for input.  As has come
> > > up a few times now, we have the ability for a single binary to run
> > > on a few systems (there's both i.MX examples and AM335x examples),
> > > but what we don't have is agreement on the best way to handle
> > > things that must (today) be done at build time.  For example,
> > > am335x_evm supports both the "kitchen sink" style EVM which
> > > includes NAND, and Beaglebone White/Black, which do not.  But we
> > > default to env on NAND as that was the first board up.  What might
> > > provide the best end-user experience (in their binary) would be
> > > adding a build target of am335x_evm_bbb that: - Uses eMMC for
> > > environment - Uses GPIO (since we have a button available) for
> > > skipping Falcon Mode and then adding am335x_evm_sd_only that: -
> > > Uses a file on FAT for environment - Uses a character (c) for
> > > skipping Falcon Mode and maybe even adding am335x_evm_nand that: -
> > > Uses NAND for environment (still default) - Checks environment for
> > > skipping Falcon Mode
> > > 
> > > That said, when others have suggested something like this before, 
> > > Wolfgang has pointed out and NAK'd the idea of adding N different 
> > > configuration as that adds (potentially) a lot of build time for 
> > > custodians/etc that tend to build --soc or --arch or other group 
> > > targets.  So, what do we want to do here?  I guess longer term, if
> > > we are able to focus on switching to Kconfig, it would become we
> > > provide a generic defconfig for am335x (or imx6 or ...) with a
> > > best-fit-for-all set and communities can provide tweaked binaries
> > > as needed.  But do we want to think about any stop-gap solutions
> > > here?
> > 
> > Can there be a single generic binary, which is configured at
> > run-time by device-tree? Tegra and at least some Samsung Exynos
> > boards (snow I guess) seem headed that way, although the conversion
> > is nowhere near complete and hasn't yet covered the specific
> > differences you listed above.
> 
> We don't, today, support switching where environment comes from at
> run-time, but we kind of could add that.  Same with the SPL related
> changes.  But, is it worth doing the effort now vs device model (which
> would lead to easier run time environment backing switching) and
> Kconfig and so on?

If I can vote here for something - I would like to first move toward
device model + Kconfig implementation.

I think that those changes are more important now.

> 


-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group


More information about the U-Boot mailing list