diff options
author | Chunrong Guo <B40290@freescale.com> | 2015-01-22 14:27:49 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-02-07 13:30:56 +0000 |
commit | be997c70e4dec101786978b3ab5e49a1be87a85d (patch) | |
tree | 82a44ddb24905191e5427940bd0d0a0e1065af93 /meta/classes/uboot-config.bbclass | |
parent | eb9d896db2fc67bac8efd258744d06fbbee87f06 (diff) | |
download | openembedded-core-be997c70e4dec101786978b3ab5e49a1be87a85d.tar.gz openembedded-core-be997c70e4dec101786978b3ab5e49a1be87a85d.tar.bz2 openembedded-core-be997c70e4dec101786978b3ab5e49a1be87a85d.zip |
uboot-config.bbclass: Allow multiple U-Boot config for machine
This adds support to build multiple U-Boot configs for a machine; this
is useful when we have support for different media boots which require
different U-Boot configuration (e.g: eMMC and NAND).
Below there's an usage example:
,----[ i.MX6Q SABRE AUTO based example ]
| UBOOT_CONFIG ??= "sd eimnor nand spinor"
| UBOOT_CONFIG[sd] = "mx6qsabreauto_config,sdcard"
| UBOOT_CONFIG[eimnor] = "mx6qsabreauto_eimnor_config"
| UBOOT_CONFIG[nand] = "mx6qsabreauto_nand_config,ubifs"
| UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config"
`----
Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/classes/uboot-config.bbclass')
-rw-r--r-- | meta/classes/uboot-config.bbclass | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/meta/classes/uboot-config.bbclass b/meta/classes/uboot-config.bbclass index b467659cbb..cb061af348 100644 --- a/meta/classes/uboot-config.bbclass +++ b/meta/classes/uboot-config.bbclass @@ -31,28 +31,19 @@ python () { return ubootconfig = (d.getVar('UBOOT_CONFIG', True) or "").split() - if len(ubootconfig) > 1: - raise bb.parse.SkipPackage('You can only have a single default for UBOOT_CONFIG.') + if len(ubootconfig) > 0: + for config in ubootconfig: + for f, v in ubootconfigflags.items(): + if config == f: + items = v.split(',') + if items[0] and len(items) > 2: + raise bb.parse.SkipPackage('Only config,images can be specified!') + d.appendVar('UBOOT_MACHINE', ' ' + items[0]) + # IMAGE_FSTYPES appending + if len(items) > 1 and items[1]: + bb.debug(1, "Appending '%s' to IMAGE_FSTYPES." % items[1]) + d.appendVar('IMAGE_FSTYPES', ' ' + items[1]) + break elif len(ubootconfig) == 0: - raise bb.parse.SkipPackage('You must set a default in UBOOT_CONFIG.') - ubootconfig = ubootconfig[0] - - for f, v in ubootconfigflags.items(): - items = v.split(',') - if items[0] and len(items) > 2: - raise bb.parse.SkipPackage('Only config,images can be specified!') - - if ubootconfig == f: - bb.debug(1, "Setting UBOOT_MACHINE to %s." % items[0]) - d.setVar('UBOOT_MACHINE', items[0]) - - # IMAGE_FSTYPES appending - if len(items) > 1 and items[1]: - bb.debug(1, "Appending '%s' to IMAGE_FSTYPES." % items[1]) - d.appendVar('IMAGE_FSTYPES', ' ' + items[1]) - - # Go out as we found a match! - break - else: - raise bb.parse.SkipPackage("UBOOT_CONFIG %s is not supported" % ubootconfig) + raise bb.parse.SkipPackage('You must set a default in UBOOT_CONFIG.') } |