This was done automatically with the following bits of scripting.
The Kconfig choice content was generated with this script snippet:
for i in $(git grep -l CONFIG_ARCH_SUNXI configs/*) ; do
TARGET=$(sed -n -e 's/CONFIG_SYS_EXTRA_OPTIONS="\([^,"]\+\).*/\1/p' $i);
MACH=$(sed -n -e 's/.*CONFIG_\(MACH_SUN.I\)=./\1/p' $i)
echo "config TARGET_$TARGET"
echo " bool \"$TARGET\""
echo " depends on $MACH"
echo
done
defconfigs were updated with a sed script (t):
# Extract board from first entry of CONFIG_SYS_EXTRA_OPTIONS,
/^CONFIG_SYS_EXTRA_OPTIONS/ {
s/^\(CONFIG_SYS_EXTRA_OPTIONS="\)\([^,"]\+\),\?\(.*\)/\1\3\nCONFIG_TARGET_\2=y/;
# Print and delete first line (CONFIG_SYS_EXTRA_OPTIONS), leaving
# CONFIG_TARGET_<BOARD> in pattern space
P;D;
};
# Move CONFIG_TARGET_<BOARD> to hold space
/^CONFIG_TARGET/{h;n}
# Print CONFIG_TARGET_<BOARD> after CONFIG_MACH_<SOC> in either SPL or
# normal mode.
/^CONFIG_MACH/{p;g;p;n};
/^\+S:CONFIG_MACH/{p;g;s/^CONFIG_TARGET/+S:&/;p;n};
# Print any remaining lines normally
p;
Run as:
sed -i -n -f t $(git grep -l CONFIG_ARCH_SUNXI configs/*)
and then manually removing the one instance of CONFIG_SYS_EXTRA_OPTIONS="" from
Colombus_defconfig
board/sunxi/Makefile was updated with:
sed -e 's/^\(obj-\$(CONFIG_\)\(.*\)\().*+= dram_.*\)/\1TARGET_\2\3/g' board/sunxi/Makefile
and manually retabbing a few lines to line up again.
The board descriptions could certainly be improved.
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Now we have CONFIG_ARCH_SUNXI as the toplevel, CONFIG_MACH_SUN[45678]I as the
per-SoC option and leave CONFIG_TARGET_BLAH free for individual boards in the
future.
Done automatically with:
sed -i -e 's/TARGET_\(SUN[45678]I\)/MACH_\1/g' $(git grep -l TARGET_SUN[45678]I)
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
And make TARGET_SUN[45678]I a choice variable under this.
configs updated with:
sed -i -e 's/^\(\+S:\)\?CONFIG_TARGET_SUN.I=y/\1CONFIG_ARCH_SUNXI=y\n&/g' configs/*
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This adds support for the Olimex A20-OLinuXino-Lime2
https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXIno-LIME2
Differences to previous Lime boards are 1GB RAM and gigabit ethernet
Signed-off-by: Iain Paton <ipaton0@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>