]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
73eca211 PM |
2 | /* |
3 | * Copyright (C) 2014 Samsung Electronics | |
4 | * Sanghee Kim <[email protected]> | |
5 | * Piotr Wilczek <[email protected]> | |
6 | * Przemyslaw Marczak <[email protected]> | |
7 | * | |
8 | * Configuation settings for the Odroid-U3 (EXYNOS4412) board. | |
73eca211 PM |
9 | */ |
10 | ||
11 | #ifndef __CONFIG_ODROID_U3_H | |
12 | #define __CONFIG_ODROID_U3_H | |
13 | ||
4c7bb1d2 | 14 | #include <configs/exynos4-common.h> |
73eca211 | 15 | |
73eca211 | 16 | #ifndef CONFIG_SYS_L2CACHE_OFF |
73eca211 PM |
17 | #define CONFIG_SYS_PL310_BASE 0x10502000 |
18 | #endif | |
19 | ||
73eca211 PM |
20 | #define CONFIG_SYS_SDRAM_BASE 0x40000000 |
21 | #define SDRAM_BANK_SIZE (256 << 20) /* 256 MB */ | |
22 | #define PHYS_SDRAM_1 CONFIG_SYS_SDRAM_BASE | |
23 | ||
73eca211 | 24 | #include <linux/sizes.h> |
73eca211 | 25 | |
73eca211 PM |
26 | /* Partitions name */ |
27 | #define PARTS_BOOT "boot" | |
28 | #define PARTS_ROOT "platform" | |
29 | ||
30 | #define CONFIG_DFU_ALT \ | |
31 | "uImage fat 0 1;" \ | |
32 | "zImage fat 0 1;" \ | |
33 | "Image.itb fat 0 1;" \ | |
34 | "uInitrd fat 0 1;" \ | |
35 | "exynos4412-odroidu3.dtb fat 0 1;" \ | |
36 | "exynos4412-odroidx2.dtb fat 0 1;" \ | |
37 | ""PARTS_BOOT" part 0 1;" \ | |
38 | ""PARTS_ROOT" part 0 2\0" \ | |
39 | ||
73eca211 PM |
40 | #define CONFIG_SET_DFU_ALT_BUF_LEN (SZ_1K) |
41 | ||
42 | #define CONFIG_DFU_ALT_BOOT_EMMC \ | |
43 | "u-boot raw 0x3e 0x800 mmcpart 1;" \ | |
44 | "bl1 raw 0x0 0x1e mmcpart 1;" \ | |
45 | "bl2 raw 0x1e 0x1d mmcpart 1;" \ | |
46 | "tzsw raw 0x83e 0x138 mmcpart 1\0" | |
47 | ||
48 | #define CONFIG_DFU_ALT_BOOT_SD \ | |
49 | "u-boot raw 0x3f 0x800;" \ | |
50 | "bl1 raw 0x1 0x1e;" \ | |
51 | "bl2 raw 0x1f 0x1d;" \ | |
52 | "tzsw raw 0x83f 0x138\0" | |
53 | ||
ef41aea9 | 54 | #define BOOT_TARGET_DEVICES(func) \ |
da63b5da | 55 | func(MMC, mmc, 2) \ |
ef41aea9 VC |
56 | func(MMC, mmc, 0) |
57 | ||
58 | #include <config_distro_bootcmd.h> | |
59 | ||
73eca211 PM |
60 | /* |
61 | * Bootable media layout: | |
62 | * dev: SD eMMC(part boot) | |
63 | * BL1 1 0 | |
64 | * BL2 31 30 | |
65 | * UBOOT 63 62 | |
66 | * TZSW 2111 2110 | |
67 | * ENV 2560 2560(part user) | |
68 | * | |
69 | * MBR Primary partiions: | |
70 | * Num Name Size Offset | |
71 | * 1. BOOT: 100MiB 2MiB | |
72 | * 2. ROOT: - | |
73 | */ | |
74 | #define CONFIG_EXTRA_ENV_SETTINGS \ | |
8e34a74d GG |
75 | "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} " \ |
76 | "boot.scr\0" \ | |
93716afb | 77 | "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kernel_addr_r} " \ |
73eca211 | 78 | "${kernelname}\0" \ |
93716afb | 79 | "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${ramdisk_addr_r} " \ |
73eca211 | 80 | "${initrdname}\0" \ |
93716afb | 81 | "loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdt_addr_r} " \ |
73eca211 PM |
82 | "${fdtfile}\0" \ |
83 | "check_ramdisk=" \ | |
84 | "if run loadinitrd; then " \ | |
93716afb | 85 | "setenv initrd_addr ${ramdisk_addr_r};" \ |
73eca211 PM |
86 | "else " \ |
87 | "setenv initrd_addr -;" \ | |
88 | "fi;\0" \ | |
89 | "check_dtb=" \ | |
90 | "if run loaddtb; then " \ | |
93716afb | 91 | "setenv fdt_addr ${fdt_addr_r};" \ |
73eca211 PM |
92 | "else " \ |
93 | "setenv fdt_addr;" \ | |
94 | "fi;\0" \ | |
95 | "kernel_args=" \ | |
96 | "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ | |
97 | " rootwait ${console} ${opts}\0" \ | |
8e34a74d GG |
98 | "boot_script=" \ |
99 | "run loadbootscript;" \ | |
100 | "source ${scriptaddr}\0" \ | |
73eca211 | 101 | "boot_fit=" \ |
73eca211 PM |
102 | "setenv kernelname Image.itb;" \ |
103 | "run loadkernel;" \ | |
104 | "run kernel_args;" \ | |
e6b14670 | 105 | "bootm ${kernel_addr_r}#${board_name}\0" \ |
73eca211 | 106 | "boot_uimg=" \ |
73eca211 PM |
107 | "setenv kernelname uImage;" \ |
108 | "run check_dtb;" \ | |
109 | "run check_ramdisk;" \ | |
110 | "run loadkernel;" \ | |
111 | "run kernel_args;" \ | |
93716afb | 112 | "bootm ${kernel_addr_r} ${initrd_addr} ${fdt_addr};\0" \ |
73eca211 | 113 | "boot_zimg=" \ |
73eca211 PM |
114 | "setenv kernelname zImage;" \ |
115 | "run check_dtb;" \ | |
116 | "run check_ramdisk;" \ | |
117 | "run loadkernel;" \ | |
118 | "run kernel_args;" \ | |
93716afb | 119 | "bootz ${kernel_addr_r} ${initrd_addr} ${fdt_addr};\0" \ |
73eca211 | 120 | "autoboot=" \ |
51521e43 | 121 | "if test -e mmc ${mmcbootdev} boot.scr; then; " \ |
8e34a74d | 122 | "run boot_script; " \ |
51521e43 | 123 | "elif test -e mmc ${mmcbootdev} Image.itb; then; " \ |
73eca211 | 124 | "run boot_fit;" \ |
51521e43 | 125 | "elif test -e mmc ${mmcbootdev} zImage; then; " \ |
73eca211 | 126 | "run boot_zimg;" \ |
51521e43 | 127 | "elif test -e mmc ${mmcbootdev} uImage; then; " \ |
73eca211 PM |
128 | "run boot_uimg;" \ |
129 | "fi;\0" \ | |
9c04265f | 130 | "console=console=ttySAC1,115200n8\0" \ |
73eca211 PM |
131 | "mmcbootdev=0\0" \ |
132 | "mmcbootpart=1\0" \ | |
133 | "mmcrootdev=0\0" \ | |
134 | "mmcrootpart=2\0" \ | |
73eca211 PM |
135 | "dfu_alt_system="CONFIG_DFU_ALT \ |
136 | "dfu_alt_info=Please reset the board\0" \ | |
137 | "consoleon=set console console=ttySAC1,115200n8; save; reset\0" \ | |
138 | "consoleoff=set console console=ram; save; reset\0" \ | |
139 | "initrdname=uInitrd\0" \ | |
93716afb | 140 | "ramdisk_addr_r=0x42000000\0" \ |
8e34a74d | 141 | "scriptaddr=0x42000000\0" \ |
93716afb | 142 | "fdt_addr_r=0x40800000\0" \ |
ef41aea9 VC |
143 | "kernel_addr_r=0x41000000\0" \ |
144 | BOOTENV | |
73eca211 | 145 | |
73eca211 PM |
146 | /* |
147 | * Supported Odroid boards: X3, U3 | |
148 | * TODO: Add Odroid X support | |
149 | */ | |
150 | #define CONFIG_MISC_COMMON | |
73eca211 | 151 | |
73eca211 | 152 | #endif /* __CONFIG_H */ |