summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Salveti <ricardo@foundries.io>2021-09-12 17:32:57 +0300
committerStefano Babic <sbabic@denx.de>2022-02-05 15:38:38 +0300
commit8b71576f3842bee0559b3865ed0b129c417f27c9 (patch)
treeaaeb9f6f078c3f0968989bd6c0b4530dc8a20bda
parent498eedc0d47f8f194698fcb082fbdf4f81f90625 (diff)
downloadu-boot-8b71576f3842bee0559b3865ed0b129c417f27c9.tar.xz
mx7ulp_com: add support for SPL
Add EA iMX7ULP COM board support for building SPL. Signed-off-by: Ricardo Salveti <ricardo@foundries.io> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
-rw-r--r--arch/arm/dts/imx7ulp-com-u-boot.dtsi37
-rw-r--r--arch/arm/dts/imx7ulp-com.dts1
-rw-r--r--arch/arm/mach-imx/mx7ulp/Kconfig12
-rw-r--r--board/ea/mx7ulp_com/mx7ulp_com.c26
-rw-r--r--include/configs/mx7ulp_com.h6
5 files changed, 82 insertions, 0 deletions
diff --git a/arch/arm/dts/imx7ulp-com-u-boot.dtsi b/arch/arm/dts/imx7ulp-com-u-boot.dtsi
new file mode 100644
index 0000000000..d73bfbf7a0
--- /dev/null
+++ b/arch/arm/dts/imx7ulp-com-u-boot.dtsi
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2019 Foundries.io
+ */
+
+&iomuxc1 {
+ u-boot,dm-spl;
+};
+
+&ahbbridge0 {
+ u-boot,dm-spl;
+};
+
+&ahbbridge1 {
+ u-boot,dm-spl;
+};
+
+&lpuart4 {
+ u-boot,dm-spl;
+};
+
+&usbotg1 {
+ extcon = <&usbphy1>;
+ u-boot,dm-spl;
+};
+
+&usbphy1 {
+ u-boot,dm-spl;
+};
+
+&usdhc0 {
+ u-boot,dm-spl;
+};
+
+&gpio0 {
+ u-boot,dm-spl;
+};
diff --git a/arch/arm/dts/imx7ulp-com.dts b/arch/arm/dts/imx7ulp-com.dts
index c01e03dd06..dcfa37441f 100644
--- a/arch/arm/dts/imx7ulp-com.dts
+++ b/arch/arm/dts/imx7ulp-com.dts
@@ -6,6 +6,7 @@
/dts-v1/;
#include "imx7ulp.dtsi"
+#include "imx7ulp-com-u-boot.dtsi"
/ {
model = "Embedded Artists i.MX7ULP COM";
diff --git a/arch/arm/mach-imx/mx7ulp/Kconfig b/arch/arm/mach-imx/mx7ulp/Kconfig
index 56a3efd7b9..15c3ab6dae 100644
--- a/arch/arm/mach-imx/mx7ulp/Kconfig
+++ b/arch/arm/mach-imx/mx7ulp/Kconfig
@@ -23,6 +23,18 @@ config TARGET_MX7ULP_COM
bool "Support MX7ULP COM board"
select MX7ULP
select SYS_ARCH_TIMER
+ select SPL_DM if SPL
+ select SPL_GPIO_SUPPORT if SPL
+ select SPL_LIBCOMMON_SUPPORT if SPL
+ select SPL_LIBDISK_SUPPORT if SPL
+ select SPL_LIBGENERIC_SUPPORT if SPL
+ select SPL_MMC_SUPPORT if SPL
+ select SPL_OF_CONTROL if SPL
+ select SPL_OF_LIBFDT if SPL
+ select SPL_PINCTRL if SPL
+ select SPL_SEPARATE_BSS if SPL
+ select SPL_SERIAL_SUPPORT if SPL
+ select SUPPORT_SPL
config TARGET_MX7ULP_EVK
bool "Support mx7ulp EVK board"
diff --git a/board/ea/mx7ulp_com/mx7ulp_com.c b/board/ea/mx7ulp_com/mx7ulp_com.c
index 7fce75ade9..cd9591a9e3 100644
--- a/board/ea/mx7ulp_com/mx7ulp_com.c
+++ b/board/ea/mx7ulp_com/mx7ulp_com.c
@@ -52,3 +52,29 @@ int board_init(void)
return 0;
}
+
+#ifdef CONFIG_SPL_BUILD
+#include <spl.h>
+
+#ifdef CONFIG_SPL_LOAD_FIT
+int board_fit_config_name_match(const char *name)
+{
+ if (!strcmp(name, "imx7ulp-com"))
+ return 0;
+
+ return -1;
+}
+#endif
+
+void spl_board_init(void)
+{
+ preloader_console_init();
+}
+
+void board_init_f(ulong dummy)
+{
+ arch_cpu_init();
+
+ board_early_init_f();
+}
+#endif
diff --git a/include/configs/mx7ulp_com.h b/include/configs/mx7ulp_com.h
index 8c4d94215b..75f5cf0b6d 100644
--- a/include/configs/mx7ulp_com.h
+++ b/include/configs/mx7ulp_com.h
@@ -11,6 +11,10 @@
#include <linux/sizes.h>
#include <asm/arch/imx-regs.h>
+#ifdef CONFIG_SPL
+#include "imx7ulp_spl.h"
+#endif
+
#define CONFIG_BOARD_POSTCLK_INIT
#define CONFIG_SYS_BOOTM_LEN 0x1000000
@@ -67,5 +71,7 @@
#define CONFIG_SYS_INIT_SP_ADDR \
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+#define CONFIG_ARMV7_SECURE_BASE 0x2F000000
+
#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
#endif /* __CONFIG_H */