summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorLukasz Majewski <lukma@denx.de>2021-12-27 13:38:21 +0300
committerStefano Babic <sbabic@denx.de>2022-02-05 15:38:39 +0300
commit8bba8954b1b6a155bf944b545ec9461fb2505e93 (patch)
tree5cf18ebb93b22844ec003f0a797cfdbc82d5bc12 /board
parent014315b2d81a0ad1600d9dcdb51cf14a952eff41 (diff)
downloadu-boot-8bba8954b1b6a155bf944b545ec9461fb2505e93.tar.xz
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')
-rw-r--r--board/liebherr/xea/spl_xea.c7
-rw-r--r--board/liebherr/xea/xea.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/board/liebherr/xea/spl_xea.c b/board/liebherr/xea/spl_xea.c
index 192f68fca5..df354cac64 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 cd11b0ada7..38e841c5f6 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();