diff options
author | Tom Rini <trini@konsulko.com> | 2020-04-20 08:45:27 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-04-20 08:45:27 -0400 |
commit | d1bbf833aa7b45c00a42227b9563134643e44237 (patch) | |
tree | ca5a899ee0a4cdf8c4a574d0ac4f1833a27c5f92 /board/freescale/imxrt1020-evk/imxrt1020-evk.c | |
parent | 8d5d3bcf3c53d798bd7f3fe7092e994593bcc41c (diff) | |
parent | 931edc6efb11f07557b5fb85f5ce95afa4818f25 (diff) |
Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Diffstat (limited to 'board/freescale/imxrt1020-evk/imxrt1020-evk.c')
-rw-r--r-- | board/freescale/imxrt1020-evk/imxrt1020-evk.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/board/freescale/imxrt1020-evk/imxrt1020-evk.c b/board/freescale/imxrt1020-evk/imxrt1020-evk.c new file mode 100644 index 0000000000..06ad524d5d --- /dev/null +++ b/board/freescale/imxrt1020-evk/imxrt1020-evk.c @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2020 + * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com> + */ + +#include <common.h> +#include <dm.h> +#include <ram.h> +#include <spl.h> +#include <asm/io.h> +#include <asm/armv7m.h> + +DECLARE_GLOBAL_DATA_PTR; + +int dram_init(void) +{ +#ifndef CONFIG_SUPPORT_SPL + int rv; + struct udevice *dev; + + rv = uclass_get_device(UCLASS_RAM, 0, &dev); + if (rv) { + debug("DRAM init failed: %d\n", rv); + return rv; + } + +#endif + return fdtdec_setup_mem_size_base(); +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +#ifdef CONFIG_SPL_BUILD +#ifdef CONFIG_SPL_OS_BOOT +int spl_start_uboot(void) +{ + debug("SPL: booting kernel\n"); + /* break into full u-boot on 'c' */ + return serial_tstc() && serial_getc() == 'c'; +} +#endif + +int spl_dram_init(void) +{ + struct udevice *dev; + int rv; + + rv = uclass_get_device(UCLASS_RAM, 0, &dev); + if (rv) + debug("DRAM init failed: %d\n", rv); + return rv; +} + +void spl_board_init(void) +{ + spl_dram_init(); + preloader_console_init(); + arch_cpu_init(); /* to configure mpu for sdram rw permissions */ +} + +u32 spl_boot_device(void) +{ + return BOOT_DEVICE_MMC1; +} +#endif + +u32 get_board_rev(void) +{ + return 0; +} + +int board_init(void) +{ + gd->bd->bi_boot_params = gd->bd->bi_dram[0].start + 0x100; + + return 0; +} |