ARM: Make multi images startup process simpler

The multi image startup process used to have three binaries involved:
- The lowlevel board code to initialize SDRAM
- the uncompressor
- the regular (compressed) barebox binary
Drop the uncompressor and put the uncompress code into the lowlevel
board code binary. This makes the startup process easier.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: Make ENTRY_FUNCTION more robust

An entry function should begin with a exception header. For this to work
properly the entry function should not contain any code which gcc might
put before the header. To make this sure change the ENTRY_FUNCTION macro
so that it generates one function which only contains the exception header
and a second function which contains the original body of the entry function.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: Add base am335x-phytec-phycore devicetree file

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: am335x phytec phyCORE: Switch to devicetree probe support

This switches the am335x Phytec phyCORE to devicetree probe support.
For now we use a linked in dtb.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: am33xx Phytec phyCORE: initialize debug UART

Add debug UART initialization to lowlevel init and print a '>'. Helps
debugging lowlevel code.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: am33xx Phytec phyCORE: Switch to multiimage support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: am33xx Phytec phyCORE: update defconfig

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: dts: Add am33xx beaglebone(black) dts files

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: am33xx: beaglebone: remove mlo_large_defconfig

As with devicetree support the binary will get too large for the
SRAM drop the configuration. It was mainly meant for debugging purposes
anyway.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: beaglebone: Add memory to devicetrees

barebox needs it to initialize the memory. While at it, give the
beabglebone black another name than the original beaglebone has.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: beaglebone: Switch to devicetree and multiimage

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: am335x Phytec phyCORE: Move partition descriptions to devicetree

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: OMAP: Safe boot info in fixed SRAM address

Storing the boot information in the image itself and passing a pointer
around between images is cumbersome and doesn't fit well with multiimage
support where the pointer we pass around is already occupied by the
devicetree.
Do the same as U-Boot does and store the boot information at the bottom
of the SRAM public stack.
To maintain the compatibility between new xloaders and older barebox
binaries we still pass the boot information to the next stage via pointer.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: am335x Phytec phyCORE: configure environment from devicetree

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: beaglebone: configure console from devicetree

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: OMAP: introduce multiboard support and move am33xx boards to it

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ARM: OMAP: consolidate am335x mlo defconfigs

The Beaglebone and the AM335x Phytec phyCORE can be compiled
together, so merge the configs into a am335x_mlo_defconfig.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Merge branch 'work/am335x'