diff options
author | Anatolij Gustschin <agust@denx.de> | 2020-01-07 16:37:42 +0100 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2020-01-14 22:15:21 +0100 |
commit | 7b5b9343139f934f1ce876e9466c065f20c8265c (patch) | |
tree | 4c6636057130713042fb73191aebf4ce5104a07e /board/siemens/capricorn/spl.c | |
parent | 88366b96ee0d8640b2af53e4026dbaeed0fab5e0 (diff) | |
download | u-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.c | 47 |
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); +} |