[U-Boot] [PATCH v2 5/9] sunxi: generic sun7i build infrastructure.

Marek Vasut
2014-03-24T21:01:04Z

On Friday, March 21, 2014 at 10:54:22 PM, Ian Campbell wrote:
> This has been stripped back for mainlining and supports only sun7i booting
> via FEL mode. These changes are not useful by themselves but are split out
> to make the patch sizes more manageable.
>
> As well as the following signed-off-by the sunxi branch shows commits to
> these files authored by the following:
> Almo Nito
> Carl van Schaik
> FUKAUMI Naoki
> hehopmajieh
> j
> Sergey Lapin
> Tom Cubie
>
> Signed-off-by: Adam Sampson <ats@offog.org>
> Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> Signed-off-by: Emilio L?pez <emilio@elopez.com.ar>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> Signed-off-by: Henrik Nordstrom <henrik@henriknordstrom.net>
> Signed-off-by: Jens Kuske <jenskuske@gmail.com>
> Signed-off-by: Luc Verhaegen <libv@skynet.be>
> Signed-off-by: Luke Leighton <lkcl@lkcl.net>
> Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>
> Signed-off-by: Patrick Wood <patrickhwood@gmail.com>
> Signed-off-by: Stefan Roese <sr@denx.de>
> Signed-off-by: Wills Wang <wills.wang.open@gmail.com>
> Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
> ---
> v2: Based on u-boot-sunxi.git#sunxi d9aa5dd3d15c "sunxi: mmc:
> checkpatch whitespace fixes" with v2014.04-rc2 merged in:
> - sunxi-common.h updates, including pulling some command additions back
> from the non-FEL patch and switchin to bootm_size not BOOTMAPSZ
>
> v1: Based on u-boot-sunxi.git#sunxi commit d854c4de2f57 "arm: Handle
> .gnu.hash section in ldscripts" vs v2014.01.
> ---
> arch/arm/cpu/armv7/Makefile | 2 +-
> arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds | 59 +++++++++++
> arch/arm/include/asm/arch-sunxi/spl.h | 20 ++++
> board/sunxi/Makefile | 1 +
> include/configs/sun7i.h | 24 +++++
> include/configs/sunxi-common.h | 153
> ++++++++++++++++++++++++++++ 6 files changed, 258 insertions(+), 1
> deletion(-)
> create mode 100644 arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds
> create mode 100644 arch/arm/include/asm/arch-sunxi/spl.h
> create mode 100644 include/configs/sun7i.h
> create mode 100644 include/configs/sunxi-common.h
>
> diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile
> index 119ebb3..ddf00f3 100644
> --- a/arch/arm/cpu/armv7/Makefile
> +++ b/arch/arm/cpu/armv7/Makefile
> @@ -12,7 +12,7 @@ obj-y += cache_v7.o
> obj-y += cpu.o
> obj-y += syslib.o
>
> -ifneq
> ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CON
> FIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI81XX)$(CONFIG_AT91FAMILY),) +ifneq
> ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CON
> FIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI81XX)$(CONFIG_AT91FAMILY)$(CONFIG_SUNXI),
> ) ifneq ($(CONFIG_SKIP_LOWLEVEL_INIT),y)
> obj-y += lowlevel_init.o
> endif
> diff --git a/arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds
> b/arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds new file mode 100644
> index 0000000..cf02300
> --- /dev/null
> +++ b/arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds
> @@ -0,0 +1,59 @@
> +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
> +OUTPUT_ARCH(arm)
> +ENTRY(s_init)
> +SECTIONS
> +{
> + . = 0x00002000;
> + . = ALIGN(4);
> + .text :
> + {

This file is unreadable. Can you not actually merge it into u-boot-spl.lds with
some #ifdef ?

[...]

> +/*
> + * Display CPU information
> + */
> +#define CONFIG_DISPLAY_CPUINFO
> +
> +/* Serial & console */
> +#define CONFIG_SYS_NS16550
> +#define CONFIG_SYS_NS16550_SERIAL
> +/* ns16550 reg in the low bits of cpu reg */
> +#define CONFIG_SYS_NS16550_REG_SIZE (-4)
> +#define CONFIG_SYS_NS16550_CLK (24000000)

The braces are not needed .

> +#define CONFIG_SYS_NS16550_COM1 SUNXI_UART0_BASE
> +#define CONFIG_SYS_NS16550_COM2 SUNXI_UART1_BASE
> +#define CONFIG_SYS_NS16550_COM3 SUNXI_UART2_BASE
> +#define CONFIG_SYS_NS16550_COM4 SUNXI_UART3_BASE …