]>
Commit | Line | Data |
---|---|---|
ac880e77 JT |
1 | /* |
2 | * Copyright (C) 2016 Amarula Solutions B.V. | |
3 | * Copyright (C) 2016 Engicam S.r.l. | |
4 | * Author: Jagan Teki <jagan@amarulasolutions.com> | |
5 | * | |
6 | * SPDX-License-Identifier: GPL-2.0+ | |
7 | */ | |
8 | ||
9 | #include <common.h> | |
10 | #include <mmc.h> | |
11 | #include <asm/arch/sys_proto.h> | |
12 | ||
13 | #include "board.h" | |
14 | ||
15 | DECLARE_GLOBAL_DATA_PTR; | |
16 | ||
17 | #ifdef CONFIG_ENV_IS_IN_MMC | |
f9247569 | 18 | static void mmc_late_init(void) |
ac880e77 JT |
19 | { |
20 | char cmd[32]; | |
21 | char mmcblk[32]; | |
22 | u32 dev_no = mmc_get_env_dev(); | |
23 | ||
018f5303 | 24 | env_set_ulong("mmcdev", dev_no); |
ac880e77 JT |
25 | |
26 | /* Set mmcblk env */ | |
27 | sprintf(mmcblk, "/dev/mmcblk%dp2 rootwait rw", dev_no); | |
382bee57 | 28 | env_set("mmcroot", mmcblk); |
ac880e77 JT |
29 | |
30 | sprintf(cmd, "mmc dev %d", dev_no); | |
31 | run_command(cmd, 0); | |
32 | } | |
33 | #endif | |
34 | ||
f9247569 JT |
35 | int board_late_init(void) |
36 | { | |
37 | switch ((imx6_src_get_boot_mode() & IMX6_BMODE_MASK) >> | |
38 | IMX6_BMODE_SHIFT) { | |
39 | case IMX6_BMODE_SD: | |
40 | case IMX6_BMODE_ESD: | |
41 | case IMX6_BMODE_MMC: | |
42 | case IMX6_BMODE_EMMC: | |
43 | #ifdef CONFIG_ENV_IS_IN_MMC | |
44 | mmc_late_init(); | |
45 | #endif | |
382bee57 | 46 | env_set("modeboot", "mmcboot"); |
f9247569 JT |
47 | break; |
48 | case IMX6_BMODE_NAND: | |
382bee57 | 49 | env_set("modeboot", "nandboot"); |
f9247569 JT |
50 | break; |
51 | default: | |
382bee57 | 52 | env_set("modeboot", ""); |
f9247569 JT |
53 | break; |
54 | } | |
55 | ||
46f9c839 | 56 | if (is_mx6ul()) |
382bee57 | 57 | env_set("console", "ttymxc0"); |
46f9c839 | 58 | else |
382bee57 | 59 | env_set("console", "ttymxc3"); |
46f9c839 | 60 | |
f9247569 JT |
61 | setenv_fdt_file(); |
62 | ||
63 | return 0; | |
64 | } | |
65 | ||
ac880e77 JT |
66 | int board_init(void) |
67 | { | |
68 | /* Address of boot parameters */ | |
69 | gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; | |
70 | ||
71 | #ifdef CONFIG_NAND_MXS | |
72 | setup_gpmi_nand(); | |
73 | #endif | |
74 | ||
75 | #ifdef CONFIG_VIDEO_IPUV3 | |
76 | setup_display(); | |
77 | #endif | |
78 | ||
79 | return 0; | |
80 | } | |
81 | ||
82 | int dram_init(void) | |
83 | { | |
84 | gd->ram_size = imx_ddr_size(); | |
85 | ||
86 | return 0; | |
87 | } |