diff options
author | Lukasz Majewski | 2021-12-27 11:38:21 +0100 |
---|---|---|
committer | Stefano Babic | 2022-02-05 13:38:39 +0100 |
commit | 8bba8954b1b6a155bf944b545ec9461fb2505e93 (patch) | |
tree | 5cf18ebb93b22844ec003f0a797cfdbc82d5bc12 /board/liebherr | |
parent | 014315b2d81a0ad1600d9dcdb51cf14a952eff41 (diff) |
arm: xea: Modify board code to generate single binary u-boot
This change provides the possibility to build XEA (imx287 based) board
U-Boot as a single binary (without support for CONFIG_SPL_FRAMEWORK).
The generated u-boot.sb can be used in the factory environment to for
example perform initial setup or HW testing.
It can be used with 'uuu' utility
(SDPS: boot -f /srv/tftp/xea/u-boot.sb)
In the configs/imx28_xea_defconfig one needs to disable following configs:
# CONFIG_SPL_BLK is not set
# CONFIG_SPL_FRAMEWORK is not set
The board_init_ll() is used in arch/arm/cpu/arm926ejs/mxs/start.S, which
is utilized when CONFIG_SPL_FRAMEWORK is disabled.
However, when it is enabled - the arch/arm/cpu/arm926ejs/start.S is used,
which requires the lowlevel_init() function.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Diffstat (limited to 'board/liebherr')
-rw-r--r-- | board/liebherr/xea/spl_xea.c | 7 | ||||
-rw-r--r-- | board/liebherr/xea/xea.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/board/liebherr/xea/spl_xea.c b/board/liebherr/xea/spl_xea.c index 192f68fca5f..df354cac641 100644 --- a/board/liebherr/xea/spl_xea.c +++ b/board/liebherr/xea/spl_xea.c @@ -290,6 +290,12 @@ u32 mxs_dram_vals[] = { 0x00000000, 0xffffffff }; +#ifndef CONFIG_SPL_FRAMEWORK +void board_init_ll(const u32 arg, const uint32_t *resptr) +{ + mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup)); +} +#else void lowlevel_init(void) { struct mxs_pinctrl_regs *pinctrl_regs = @@ -301,3 +307,4 @@ void lowlevel_init(void) mxs_common_spl_init(0, NULL, iomux_setup, ARRAY_SIZE(iomux_setup)); } +#endif diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c index cd11b0ada77..38e841c5f67 100644 --- a/board/liebherr/xea/xea.c +++ b/board/liebherr/xea/xea.c @@ -58,7 +58,7 @@ static void init_clocks(void) mxs_set_sspclk(MXC_SSPCLK3, 96000, 0); } -#ifdef CONFIG_SPL_BUILD +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_FRAMEWORK) void board_init_f(ulong arg) { init_clocks(); |