Dne Ne 17. října 2010 01:57:38 Wolfgang Denk napsal(a): > From: Marek Vasut <marek.va...@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 . >
Didn't you say CONFIG_MK_ was being changed to plain CONFIG_ ? You left CONFIG_MK_RAM above. Cheers > 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.va...@gmail.com> > > [...@denx.de: edited commit message; added code to deal with an > optional board configuration name] > > Signed-off-by: Wolfgang Denk <w...@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 <w...@denx.de> > +# (C) 2002-2010 DENX Software Engineering, Wolfgang Denk <w...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot