diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/u-boot/arch/arm/mach-davinci/spl.c | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/u-boot/arch/arm/mach-davinci/spl.c')
-rw-r--r-- | roms/u-boot/arch/arm/mach-davinci/spl.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/roms/u-boot/arch/arm/mach-davinci/spl.c b/roms/u-boot/arch/arm/mach-davinci/spl.c new file mode 100644 index 000000000..d0d7a8147 --- /dev/null +++ b/roms/u-boot/arch/arm/mach-davinci/spl.c @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2011 + * Heiko Schocher, DENX Software Engineering, hs@denx.de. + */ +#include <common.h> +#include <config.h> +#include <hang.h> +#include <init.h> +#include <spl.h> +#include <asm/u-boot.h> +#include <asm/utils.h> +#include <nand.h> +#include <asm/arch/dm365_lowlevel.h> +#include <ns16550.h> +#include <malloc.h> +#include <spi_flash.h> +#include <mmc.h> + +#ifndef CONFIG_SPL_LIBCOMMON_SUPPORT +void puts(const char *str) +{ + while (*str) + putc(*str++); +} + +void putc(char c) +{ + if (c == '\n') + ns16550_putc((struct ns16550 *)(CONFIG_SYS_NS16550_COM1), '\r'); + + ns16550_putc((struct ns16550 *)(CONFIG_SYS_NS16550_COM1), c); +} +#endif /* CONFIG_SPL_LIBCOMMON_SUPPORT */ + +void board_init_f(ulong dummy) +{ + arch_cpu_init(); + + spl_early_init(); + + preloader_console_init(); +} + +u32 spl_boot_device(void) +{ + switch (davinci_syscfg_regs->bootcfg) { +#ifdef CONFIG_SPL_NAND_SUPPORT + case DAVINCI_NAND8_BOOT: + case DAVINCI_NAND16_BOOT: + return BOOT_DEVICE_NAND; +#endif + +#ifdef CONFIG_SPL_MMC_SUPPORT + case DAVINCI_SD_OR_MMC_BOOT: + case DAVINCI_MMC_ONLY_BOOT: + return BOOT_DEVICE_MMC1; +#endif + +#ifdef CONFIG_SPL_SPI_FLASH_SUPPORT + case DAVINCI_SPI0_FLASH_BOOT: + case DAVINCI_SPI1_FLASH_BOOT: + return BOOT_DEVICE_SPI; +#endif + + default: + puts("Unknown boot device\n"); + hang(); + } +} |