]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Copyright (C) 2011 | |
3 | * Heiko Schocher, DENX Software Engineering, hs@denx.de. | |
4 | * | |
5 | * SPDX-License-Identifier: GPL-2.0+ | |
6 | */ | |
7 | #include <common.h> | |
8 | #include <config.h> | |
9 | #include <spl.h> | |
10 | #include <asm/u-boot.h> | |
11 | #include <asm/utils.h> | |
12 | #include <nand.h> | |
13 | #include <asm/arch/dm365_lowlevel.h> | |
14 | #include <ns16550.h> | |
15 | #include <malloc.h> | |
16 | #include <spi_flash.h> | |
17 | #include <mmc.h> | |
18 | ||
19 | DECLARE_GLOBAL_DATA_PTR; | |
20 | ||
21 | #ifndef CONFIG_SPL_LIBCOMMON_SUPPORT | |
22 | void puts(const char *str) | |
23 | { | |
24 | while (*str) | |
25 | putc(*str++); | |
26 | } | |
27 | ||
28 | void putc(char c) | |
29 | { | |
30 | if (c == '\n') | |
31 | NS16550_putc((NS16550_t)(CONFIG_SYS_NS16550_COM1), '\r'); | |
32 | ||
33 | NS16550_putc((NS16550_t)(CONFIG_SYS_NS16550_COM1), c); | |
34 | } | |
35 | #endif /* CONFIG_SPL_LIBCOMMON_SUPPORT */ | |
36 | ||
37 | void spl_board_init(void) | |
38 | { | |
39 | #ifdef CONFIG_SOC_DM365 | |
40 | dm36x_lowlevel_init(0); | |
41 | #endif | |
42 | #ifdef CONFIG_SOC_DA8XX | |
43 | arch_cpu_init(); | |
44 | #endif | |
45 | preloader_console_init(); | |
46 | } | |
47 | ||
48 | u32 spl_boot_device(void) | |
49 | { | |
50 | switch (davinci_syscfg_regs->bootcfg) { | |
51 | #ifdef CONFIG_SPL_NAND_SUPPORT | |
52 | case DAVINCI_NAND8_BOOT: | |
53 | case DAVINCI_NAND16_BOOT: | |
54 | return BOOT_DEVICE_NAND; | |
55 | #endif | |
56 | ||
57 | #ifdef CONFIG_SPL_MMC_SUPPORT | |
58 | case DAVINCI_SD_OR_MMC_BOOT: | |
59 | case DAVINCI_MMC_ONLY_BOOT: | |
60 | return BOOT_DEVICE_MMC1; | |
61 | #endif | |
62 | ||
63 | #ifdef CONFIG_SPL_SPI_FLASH_SUPPORT | |
64 | case DAVINCI_SPI0_FLASH_BOOT: | |
65 | case DAVINCI_SPI1_FLASH_BOOT: | |
66 | return BOOT_DEVICE_SPI; | |
67 | #endif | |
68 | ||
69 | default: | |
70 | puts("Unknown boot device\n"); | |
71 | hang(); | |
72 | } | |
73 | } |