1 /*
2  * Copyright (C) 2011 Samsung Electronics
3  *
4  * Configuration settings for the SAMSUNG ORIGEN (EXYNOS4210) board.
5  *
6  * SPDX-License-Identifier:	GPL-2.0+
7  */
8 
9 #ifndef __CONFIG_ORIGEN_H
10 #define __CONFIG_ORIGEN_H
11 
12 #include <configs/exynos4-common.h>
13 
14 #define CONFIG_SYS_PROMPT		"ORIGEN # "
15 
16 
17 /* High Level Configuration Options */
18 #define CONFIG_EXYNOS4210		1	/* which is a EXYNOS4210 SoC */
19 #define CONFIG_ORIGEN			1	/* working with ORIGEN*/
20 
21 #define CONFIG_SYS_DCACHE_OFF		1
22 
23 /* ORIGEN has 4 bank of DRAM */
24 #define CONFIG_NR_DRAM_BANKS		4
25 #define CONFIG_SYS_SDRAM_BASE		0x40000000
26 #define PHYS_SDRAM_1			CONFIG_SYS_SDRAM_BASE
27 #define SDRAM_BANK_SIZE			(256 << 20)	/* 256 MB */
28 
29 /* memtest works on */
30 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
31 #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x6000000)
32 #define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x3E00000)
33 
34 #define CONFIG_SYS_TEXT_BASE		0x43E00000
35 
36 #define CONFIG_MACH_TYPE		MACH_TYPE_ORIGEN
37 
38 /* select serial console configuration */
39 #define CONFIG_SERIAL2
40 #define CONFIG_BAUDRATE			115200
41 
42 /* Console configuration */
43 #define CONFIG_SYS_CONSOLE_INFO_QUIET
44 #define CONFIG_SYS_CONSOLE_IS_IN_ENV
45 #define CONFIG_DEFAULT_CONSOLE		"console=ttySAC1,115200n8\0"
46 
47 #define CONFIG_SYS_MEM_TOP_HIDE	(1 << 20)	/* ram console */
48 
49 #define CONFIG_SYS_MONITOR_BASE	0x00000000
50 
51 /* Power Down Modes */
52 #define S5P_CHECK_SLEEP			0x00000BAD
53 #define S5P_CHECK_DIDLE			0xBAD00000
54 #define S5P_CHECK_LPA			0xABAD0000
55 
56 #undef CONFIG_CMD_PING
57 #define CONFIG_CMD_ELF
58 #define CONFIG_CMD_DHCP
59 #define CONFIG_CMD_EXT2
60 #define CONFIG_CMD_FS_GENERIC
61 #define CONFIG_CMD_BOOTZ
62 #define CONFIG_SUPPORT_RAW_INITRD
63 
64 /* MMC SPL */
65 #define COPY_BL2_FNPTR_ADDR	0x02020030
66 #define CONFIG_SPL_TEXT_BASE	0x02021410
67 
68 #define CONFIG_EXTRA_ENV_SETTINGS \
69 	"loadaddr=0x40007000\0" \
70 	"rdaddr=0x48000000\0" \
71 	"kerneladdr=0x40007000\0" \
72 	"ramdiskaddr=0x48000000\0" \
73 	"console=ttySAC2,115200n8\0" \
74 	"mmcdev=0\0" \
75 	"bootenv=uEnv.txt\0" \
76 	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
77 	"importbootenv=echo Importing environment from mmc ...; " \
78 		"env import -t $loadaddr $filesize\0" \
79         "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
80         "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
81                 "source ${loadaddr}\0"
82 #define CONFIG_BOOTCOMMAND \
83 	"if mmc rescan; then " \
84 		"echo SD/MMC found on device ${mmcdev};" \
85 		"if run loadbootenv; then " \
86 			"echo Loaded environment from ${bootenv};" \
87 			"run importbootenv;" \
88 		"fi;" \
89 		"if test -n $uenvcmd; then " \
90 			"echo Running uenvcmd ...;" \
91 			"run uenvcmd;" \
92 		"fi;" \
93 		"if run loadbootscript; then " \
94 			"run bootscript; " \
95 		"fi; " \
96 	"fi;" \
97 	"load mmc ${mmcdev} ${loadaddr} uImage; bootm ${loadaddr} "
98 
99 #define CONFIG_IDENT_STRING		" for ORIGEN"
100 
101 #define CONFIG_CLK_1000_400_200
102 
103 /* MIU (Memory Interleaving Unit) */
104 #define CONFIG_MIU_2BIT_21_7_INTERLEAVED
105 
106 #define CONFIG_ENV_IS_IN_MMC
107 #define CONFIG_SYS_MMC_ENV_DEV		0
108 #define CONFIG_ENV_SIZE			(16 << 10)	/* 16 KB */
109 #define RESERVE_BLOCK_SIZE		(512)
110 #define BL1_SIZE			(16 << 10) /*16 K reserved for BL1*/
111 #define CONFIG_ENV_OFFSET		(RESERVE_BLOCK_SIZE + BL1_SIZE)
112 
113 #define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
114 #define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
115 
116 #define CONFIG_SYS_INIT_SP_ADDR		0x02040000
117 
118 /* U-boot copy size from boot Media to DRAM.*/
119 #define COPY_BL2_SIZE		0x80000
120 #define BL2_START_OFFSET	((CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)/512)
121 #define BL2_SIZE_BLOC_COUNT	(COPY_BL2_SIZE/512)
122 
123 #endif	/* __CONFIG_H */
124