aboutsummaryrefslogtreecommitdiff
path: root/board/siemens/capricorn/spl.c
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2020-01-07 16:37:42 +0100
committerStefano Babic <sbabic@denx.de>2020-01-14 22:15:21 +0100
commit7b5b9343139f934f1ce876e9466c065f20c8265c (patch)
tree4c6636057130713042fb73191aebf4ce5104a07e /board/siemens/capricorn/spl.c
parent88366b96ee0d8640b2af53e4026dbaeed0fab5e0 (diff)
downloadu-boot-7b5b9343139f934f1ce876e9466c065f20c8265c.zip
u-boot-7b5b9343139f934f1ce876e9466c065f20c8265c.tar.gz
u-boot-7b5b9343139f934f1ce876e9466c065f20c8265c.tar.bz2
imx: add imx8x capricorn giedi board
Add support for i.MX8X based Capricorn Giedi SoM. Supported interfaces: GPIO, ENET, eMMC, I2C, UART. Console output: U-Boot SPL 2020.01-00003-gfd1c98f (Jan 07 2020 - 15:51:25 +0100) Trying to boot from MMC1 Load image from MMC/SD 0x3e400 U-Boot 2020.01-00003-gfd1c98f (Jan 07 2020 - 15:51:25 +0100) ##v01.07 CPU: NXP i.MX8QXP RevB A35 at 1200 MHz at 30C Model: Siemens Giedi Board: Capricorn Boot: MMC0 DRAM: 1022 MiB MMC: FSL_SDHC: 0 Loading Environment from MMC... OK In: serial@5a080000 Out: serial@5a080000 Err: serial@5a080000 Net: eth1: ethernet@5b050000 [PRIME] Autobooting in 1 seconds, press "<Esc><Esc>" to stop Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'board/siemens/capricorn/spl.c')
-rw-r--r--board/siemens/capricorn/spl.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/board/siemens/capricorn/spl.c b/board/siemens/capricorn/spl.c
new file mode 100644
index 0000000..47fe86c
--- /dev/null
+++ b/board/siemens/capricorn/spl.c
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2018 NXP
+ *
+ * Copyright 2019 Siemens AG
+ *
+ */
+#include <common.h>
+#include <spl.h>
+#include <dm.h>
+#include <dm/uclass.h>
+#include <dm/device.h>
+#include <dm/uclass-internal.h>
+#include <dm/device-internal.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void spl_board_init(void)
+{
+ struct udevice *dev;
+
+ uclass_find_first_device(UCLASS_MISC, &dev);
+
+ for (; dev; uclass_find_next_device(&dev)) {
+ if (device_probe(dev))
+ continue;
+ }
+
+ arch_cpu_init();
+
+ board_early_init_f();
+
+ timer_init();
+
+ preloader_console_init();
+}
+
+void board_init_f(ulong dummy)
+{
+ /* Clear global data */
+ memset((void *)gd, 0, sizeof(gd_t));
+
+ /* Clear the BSS. */
+ memset(__bss_start, 0, __bss_end - __bss_start);
+
+ board_init_r(NULL, 0);
+}