Commit graph

57 commits

Author SHA1 Message Date
Hans de Goede
389046be2f sunxi: Convert sun7i boards to use auto dram configuration
Currently we've separate detailed dram settings for all sun7i boards, this
moves them over to using auto dram configuration so that we can get rid of
all the per board dram_foo.c files.

This has been tested on a A20-Olinuxino-Lime, A20-Olinuxino_MICRO, Bananapi,
Bananapro, Cubieboard2, Cubietruck, Mele_M3 and a Linksprite_pcDuino3.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
2015-01-23 15:15:02 +01:00
Hans de Goede
d9786d2380 sunxi: video: Add VGA output support
Add support for VGA directly from the sunxi SoC / display engine.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
2015-01-14 14:56:39 +01:00
Ian Campbell
d9a2047641 sunxi: kconfig: Introduce CONFIG_TARGET_<BOARD>
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>
2014-11-05 13:09:58 +01:00
Ian Campbell
c3be279322 sunxi: kconfig: Rename TARGET_SUN[45678]I to MACH_SUN[45678]I.
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>
2014-11-05 13:09:57 +01:00
Ian Campbell
2c7e3b9046 sunxi: kconfig: Add top-level ARCH_SUNXI
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>
2014-11-05 13:09:57 +01:00
Hans de Goede
69c050a671 sunxi: Enable second sdcard slot found on some boards
Enable the second sdcard slot found on some boards. Note that we do not
set CONFIG_MMC_SUNXI_SLOT_EXTRA for the SPL, as having it there is not useful,

Except for on the Mele-M3 where the second sdcard is an eMMC, from which the
device can also boot, and there we want to have both in the SPL, so that
a single u-boot binary can both from both. So for the M3 we do prefix the
defconfig setting with the special "+S:" syntax so that it applies to the
SPL too.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-10-24 09:35:38 +02:00
Hans de Goede
f1fe97527a sunxi: Add support for the Mele M3 board
The Mele M3 is yet another Allwinnner based Android top set box from Mele.

It uses a housing similar to the A2000, but without the USM sata storage slot
at the top.

It features an A20 SoC, 1G RAM, 4G eMMC (unique for Allwinner devices),
100Mbit ethernet, HDMI out, 3 USB A receptacles, VGA, and A/V OUT connections.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-10-24 09:35:37 +02:00