From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/3] Build: Add "board options" column to boards.cfg
Date: Mon, 11 Oct 2010 11:45:08 +0200 [thread overview]
Message-ID: <1286790310-5865-2-git-send-email-wd@denx.de> (raw)
In-Reply-To: <1286790310-5865-1-git-send-email-wd@denx.de>
From: Marek Vasut <marek.vasut@gmail.com>
There are some boards where it's currently not possible to detect all
board information at runtime, therefore a new column was added to
boards.cfg .
This column can contain multiple options: a board configuration name,
optionally followed by a colon (':') and a list of options, which are
separated by comma (',').
In case of simple options like '256M_U_BOOT', these expand to
"#define CONFIG_MK_256M_U_BOOT 1" in config.h . In case of
assignments like 'RAM=8192', these expand to "#define CONFIG_MK_RAM
8192" in config.h .
Example:
FOO:HAS_BAR,BAZ=64
means:
- the name of the board config file is include/configs/FOO.h
- the generated file include/config.h will contain these
lines:
#define CONFIG_HAS_BAR 1
#define CONFIG_BAZ 64
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
[wd at denx.de: edited commit message; added code to deal with an
optional board configuration name]
Signed-off-by: Wolfgang Denk <wd@denx.de>
---
boards.cfg | 4 ++--
mkconfig | 34 +++++++++++++++++++++++++++++-----
2 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/boards.cfg b/boards.cfg
index 91d75d3..1f44525 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -17,8 +17,8 @@
#
# :.,$! sort -f -k2,2 -k3,3 -k6,6 -k5,5 -k1,1
#
-# Target ARCH CPU Board name Vendor SoC
-###########################################################################
+# Target ARCH CPU Board name Vendor SoC Options
+###############################################################################################
qong arm arm1136 - davedenx mx31
mx31ads arm arm1136 - freescale mx31
diff --git a/mkconfig b/mkconfig
index b661071..f3054ce 100755
--- a/mkconfig
+++ b/mkconfig
@@ -5,7 +5,7 @@
#
# Parameters: Target Architecture CPU Board [VENDOR] [SOC]
#
-# (C) 2002-2006 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
+# (C) 2002-2010 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
#
APPEND=no # Default: Create new config file
@@ -17,6 +17,7 @@ cpu=""
board=""
vendor=""
soc=""
+options=""
if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then
# Automatic mode
@@ -41,11 +42,12 @@ while [ $# -gt 0 ] ; do
done
[ $# -lt 4 ] && exit 1
-[ $# -gt 6 ] && exit 1
+[ $# -gt 7 ] && exit 1
+# Strip all options and/or _config suffixes
CONFIG_NAME="${1%_config}"
-[ "${BOARD_NAME}" ] || BOARD_NAME="${CONFIG_NAME}"
+[ "${BOARD_NAME}" ] || BOARD_NAME="${1%_config}"
arch="$2"
cpu="$3"
@@ -56,13 +58,34 @@ else
fi
[ $# -gt 4 ] && [ "$5" != "-" ] && vendor="$5"
[ $# -gt 5 ] && [ "$6" != "-" ] && soc="$6"
+[ $# -gt 6 ] && [ "$7" != "-" ] && {
+ # check if we have a board config name in the options field
+ # the options field mave have a board config name and a list
+ # of options, both separated by a colon (':'); the options are
+ # separated by commas (',').
+ #
+ # Check for board name
+ tmp="${7%:*}"
+ if [ "$tmp" ] ; then
+ CONFIG_NAME="$tmp"
+ fi
+ # Check if we only have a colon...
+ if [ "${tmp}" != "$7" ] ; then
+ options=${7#*:}
+ TARGETS="`echo ${options} | sed 's:,: :g'` ${TARGETS}"
+ fi
+}
if [ "${ARCH}" -a "${ARCH}" != "${arch}" ]; then
echo "Failed: \$ARCH=${ARCH}, should be '${arch}' for ${BOARD_NAME}" 1>&2
exit 1
fi
-echo "Configuring for ${BOARD_NAME} board..."
+if [ "$options" ] ; then
+ echo "Configuring for ${BOARD_NAME} - Board: ${CONFIG_NAME}, Options: ${options}"
+else
+ echo "Configuring for ${BOARD_NAME} board..."
+fi
#
# Create link to architecture specific headers
@@ -126,7 +149,8 @@ fi
echo "/* Automatically generated - do not edit */" >>config.h
for i in ${TARGETS} ; do
- echo "#define CONFIG_MK_${i} 1" >>config.h ;
+ i="`echo ${i} | sed '/=/ {s/=/\t/;q } ; { s/$/\t1/ }'`"
+ echo "#define CONFIG_MK_${i}" >>config.h ;
done
cat << EOF >> config.h
--
1.7.2.3
next prev parent reply other threads:[~2010-10-11 9:45 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-11 9:45 [U-Boot] [PATCH 0/3] Makefile cleanup Wolfgang Denk
2010-10-11 9:45 ` Wolfgang Denk [this message]
2010-10-11 9:45 ` [U-Boot] [PATCH 2/3] mkconfig: change CONFIG_MK_ prefix into plain CONFIG_ Wolfgang Denk
2010-10-11 19:17 ` Mike Frysinger
2010-10-12 19:46 ` Wolfgang Denk
2010-10-11 9:45 ` [U-Boot] [PATCH 3/3] Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 0/5] Makefile cleanup Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 1/5] Build: Add "board options" column to boards.cfg Wolfgang Denk
2010-10-17 0:12 ` Marek Vasut
2010-10-17 7:16 ` Wolfgang Denk
2010-10-17 0:13 ` Reinhard Meyer
2010-10-17 7:33 ` Wolfgang Denk
2010-10-18 20:00 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 2/5] mkconfig: change CONFIG_MK_ prefix into plain CONFIG_ Wolfgang Denk
2010-10-17 6:24 ` Mike Frysinger
2010-10-18 20:02 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 3/5] Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE Wolfgang Denk
2010-10-18 20:08 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 4/5] autoconfig.mk: avoid apostophes around hex values Wolfgang Denk
2010-10-17 6:23 ` Mike Frysinger
2010-10-18 20:09 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 5/5] Makefile: move all Power Architecture boards into boards.cfg Wolfgang Denk
2010-10-18 20:12 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1286790310-5865-2-git-send-email-wd@denx.de \
--to=wd@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox