ARM: stm32: Add board_early_init_f() to SPL
authorMarek Vasut <marex@denx.de>
Wed, 22 Apr 2020 11:18:10 +0000 (13:18 +0200)
committerPatrick Delaunay <patrick.delaunay@st.com>
Thu, 14 May 2020 07:02:12 +0000 (09:02 +0200)
Add weak implementation of board_early_init_f() hook into the
STM32MP1 SPL. This can be used to read out e.g. configuration
straps before initializing the DRAM.

Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
arch/arm/mach-stm32mp/spl.c

index f85391c6af2f93b6185063efb64bf55e74f82ae1..9fbc3ac953dabbd066b4a959471f3bf53cdebac9 100644 (file)
@@ -76,6 +76,11 @@ void spl_display_print(void)
 }
 #endif
 
+__weak int board_early_init_f(void)
+{
+       return 0;
+}
+
 void board_init_f(ulong dummy)
 {
        struct udevice *dev;
@@ -110,6 +115,12 @@ void board_init_f(ulong dummy)
        /* enable console uart printing */
        preloader_console_init();
 
+       ret = board_early_init_f();
+       if (ret) {
+               debug("board_early_init_f() failed: %d\n", ret);
+               hang();
+       }
+
        ret = uclass_get_device(UCLASS_RAM, 0, &dev);
        if (ret) {
                printf("DRAM init failed: %d\n", ret);