[U-Boot] [PATCH v8 1/2] SPL: add support to boot from a partition type

Tom Rini trini at konsulko.com
Sat Feb 11 03:25:05 UTC 2017


On Fri, Feb 10, 2017 at 04:04:48PM -0800, Dalon Westergreen wrote:
> On Sat, 2017-02-11 at 00:47 +0100, Marek Vasut wrote:
> > On 02/10/2017 11:58 PM, Dalon Westergreen wrote:
> > > 
> > > the socfpga bootrom supports mmc booting from either a raw image
> > > starting at 0x0, or from a partition of type 0xa2.  This patch
> > > adds support for locating the boot image in the first type 0xa2
> > > partition found.
> > > 
> > > Assigned a partition number of -1 will cause a search for a
> > > partition of type CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE
> > > and use it to find the u-boot image
> > > 
> > > Signed-off-by: Dalon Westergreen <dwesterg at gmail.com>
> > > 
> > > --
> > > Changes in v8:
> > >  - Move partition type default to arch/arm/mach-socfpga/Kconfig
> > > Changes in v7:
> > >  - set part type to 0xa2 only if socfpga selected
> > > Changes in V6:
> > >  - Remove unneeded backslash
> > > Changes in V5:
> > >  - fix styling in if (..) per Tom's request
> > > Changes in V4:
> > >  - Try search for partition type and failover to the defined
> > >    partition number
> > > Changes in V3:
> > >  - Add depends on DOS_PARTITION
> > >  - Ensure that PARTTION_TYPE defaults to non-zero
> > >  - Add ifdef around sys_ind in disk_partition structure
> > > Changes in V2:
> > >  - Merge partition search into single partition function
> > > ---
> > >  arch/arm/mach-socfpga/Kconfig |  3 +++
> > >  common/spl/Kconfig            | 16 ++++++++++++++++
> > >  common/spl/spl_mmc.c          | 15 +++++++++++++++
> > >  disk/part_dos.c               |  1 +
> > >  include/part.h                |  3 +++
> > >  5 files changed, 38 insertions(+)
> > > 
> > > diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
> > > index df9e8d4..6fd724e 100644
> > > --- a/arch/arm/mach-socfpga/Kconfig
> > > +++ b/arch/arm/mach-socfpga/Kconfig
> > > @@ -27,6 +27,9 @@ config SPL_SPI_SUPPORT
> > >  config SPL_WATCHDOG_SUPPORT
> > >  	default y
> > >  
> > > +config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE
> > > +	default 0xa2
> > > +
> > >  config TARGET_SOCFPGA_ARRIA5
> > >  	bool
> > >  	select TARGET_SOCFPGA_GEN5
> > > diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> > > index cf714c2..3cdd200 100644
> > > --- a/common/spl/Kconfig
> > > +++ b/common/spl/Kconfig
> > > @@ -96,6 +96,22 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
> > >  	  Address on the MMC to load U-Boot from, when the MMC is being
> > > used
> > >  	  in raw mode. Units: MMC sectors (1 sector = 512 bytes).
> > >  
> > > +config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
> > > +	bool "MMC raw mode: by partition type"
> > > +	depends on SPL && DOS_PARTITION
> > > +	default y if ARCH_SOCFPGA
> > 
> > SoCFPGA should select this, ARCH_SOCFPGA has nothing to do in common
> > stuff :)
> > 
> Odd, i did test it and it worked in hw

Lets just set this part aside.  The most correct answer is that once the
'imply' keyword is in our Kconfig support we'll move this and tons of
other stuff up to the right level Kconfig where SoCs and boards can say
what reasonable things are based on what's optional and non-optional.

Reviewed-by: Tom Rini <trini at konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170210/b98b341e/attachment.sig>


More information about the U-Boot mailing list