]>
Commit | Line | Data |
---|---|---|
9f3183d2 MH |
1 | /* |
2 | * Copyright 2014-2015 Freescale Semiconductor, Inc. | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0+ | |
5 | */ | |
6 | ||
7 | #include <common.h> | |
8 | #include <spl.h> | |
9 | #include <asm/io.h> | |
10 | #include <fsl_ifc.h> | |
11 | #include <fsl_csu.h> | |
12 | #include <i2c.h> | |
13 | ||
14 | DECLARE_GLOBAL_DATA_PTR; | |
15 | ||
16 | u32 spl_boot_device(void) | |
17 | { | |
18 | #ifdef CONFIG_SPL_MMC_SUPPORT | |
19 | return BOOT_DEVICE_MMC1; | |
20 | #endif | |
21 | #ifdef CONFIG_SPL_NAND_SUPPORT | |
22 | return BOOT_DEVICE_NAND; | |
23 | #endif | |
24 | return 0; | |
25 | } | |
26 | ||
27 | u32 spl_boot_mode(void) | |
28 | { | |
29 | switch (spl_boot_device()) { | |
30 | case BOOT_DEVICE_MMC1: | |
31 | #ifdef CONFIG_SPL_FAT_SUPPORT | |
32 | return MMCSD_MODE_FAT; | |
33 | #else | |
34 | return MMCSD_MODE_RAW; | |
35 | #endif | |
36 | case BOOT_DEVICE_NAND: | |
37 | return 0; | |
38 | default: | |
39 | puts("spl: error: unsupported device\n"); | |
40 | hang(); | |
41 | } | |
42 | } | |
43 | ||
44 | #ifdef CONFIG_SPL_BUILD | |
45 | void board_init_f(ulong dummy) | |
46 | { | |
47 | /* Set global data pointer */ | |
48 | gd = &gdata; | |
49 | /* Clear global data */ | |
50 | memset((void *)gd, 0, sizeof(gd_t)); | |
06b53010 | 51 | #if defined(CONFIG_LS2080A) || defined(CONFIG_LS2085A) |
9f3183d2 MH |
52 | arch_cpu_init(); |
53 | #endif | |
54 | #ifdef CONFIG_FSL_IFC | |
55 | init_early_memctl_regs(); | |
56 | #endif | |
57 | board_early_init_f(); | |
58 | timer_init(); | |
06b53010 | 59 | #if defined(CONFIG_LS2080A) || defined(CONFIG_LS2085A) |
9f3183d2 MH |
60 | env_init(); |
61 | #endif | |
62 | get_clocks(); | |
63 | ||
64 | preloader_console_init(); | |
65 | ||
66 | #ifdef CONFIG_SPL_I2C_SUPPORT | |
67 | i2c_init_all(); | |
68 | #endif | |
69 | dram_init(); | |
70 | ||
71 | /* Clear the BSS */ | |
72 | memset(__bss_start, 0, __bss_end - __bss_start); | |
73 | ||
3ad44729 GQ |
74 | #ifdef CONFIG_LAYERSCAPE_NS_ACCESS |
75 | enable_layerscape_ns_access(); | |
76 | #endif | |
9f3183d2 MH |
77 | board_init_r(NULL, 0); |
78 | } | |
79 | #endif |