xref: /rk3399_rockchip-uboot/include/configs/arndale.h (revision 2d8f1e27695a8a9a3ed863a510be58284b6b411c)
1a2ac68fbSChander Kashyap /*
2a2ac68fbSChander Kashyap  * Copyright (C) 2013 Samsung Electronics
3a2ac68fbSChander Kashyap  *
4a2ac68fbSChander Kashyap  * SPDX-License-Identifier:	GPL-2.0+
5a2ac68fbSChander Kashyap  *
6a2ac68fbSChander Kashyap  * Configuration settings for the SAMSUNG Arndale board.
7a2ac68fbSChander Kashyap  */
8a2ac68fbSChander Kashyap 
9a2ac68fbSChander Kashyap #ifndef __CONFIG_ARNDALE_H
10a2ac68fbSChander Kashyap #define __CONFIG_ARNDALE_H
11a2ac68fbSChander Kashyap 
12a2ac68fbSChander Kashyap /* High Level Configuration Options */
13a2ac68fbSChander Kashyap #define CONFIG_SAMSUNG			/* in a SAMSUNG core */
14a2ac68fbSChander Kashyap #define CONFIG_S5P			/* S5P Family */
15a2ac68fbSChander Kashyap #define CONFIG_EXYNOS5			/* which is in a Exynos5 Family */
16a2ac68fbSChander Kashyap #define CONFIG_EXYNOS5250
17a2ac68fbSChander Kashyap 
18a2ac68fbSChander Kashyap #include <asm/arch/cpu.h>		/* get chip and board defs */
19a2ac68fbSChander Kashyap 
20a2ac68fbSChander Kashyap #define CONFIG_SYS_GENERIC_BOARD
21a2ac68fbSChander Kashyap #define CONFIG_ARCH_CPU_INIT
22a2ac68fbSChander Kashyap #define CONFIG_DISPLAY_CPUINFO
23a2ac68fbSChander Kashyap #define CONFIG_DISPLAY_BOARDINFO
24a2ac68fbSChander Kashyap 
25a2ac68fbSChander Kashyap /* Enable fdt support for Exynos5250 */
26a2ac68fbSChander Kashyap #define CONFIG_ARCH_DEVICE_TREE		exynos5250
27a2ac68fbSChander Kashyap #define CONFIG_OF_CONTROL
28a2ac68fbSChander Kashyap #define CONFIG_OF_SEPARATE
29a2ac68fbSChander Kashyap 
30a2ac68fbSChander Kashyap /* Allow tracing to be enabled */
31a2ac68fbSChander Kashyap #define CONFIG_TRACE
32a2ac68fbSChander Kashyap #define CONFIG_CMD_TRACE
33a2ac68fbSChander Kashyap #define CONFIG_TRACE_BUFFER_SIZE	(16 << 20)
34a2ac68fbSChander Kashyap #define CONFIG_TRACE_EARLY_SIZE		(8 << 20)
35a2ac68fbSChander Kashyap #define CONFIG_TRACE_EARLY
36a2ac68fbSChander Kashyap #define CONFIG_TRACE_EARLY_ADDR		0x50000000
37a2ac68fbSChander Kashyap 
38a2ac68fbSChander Kashyap /* Keep L2 Cache Disabled */
39a2ac68fbSChander Kashyap #define CONFIG_SYS_DCACHE_OFF
40a2ac68fbSChander Kashyap 
41a2ac68fbSChander Kashyap #define CONFIG_SYS_SDRAM_BASE		0x40000000
42a2ac68fbSChander Kashyap #define CONFIG_SYS_TEXT_BASE		0x43E00000
43a2ac68fbSChander Kashyap 
44a2ac68fbSChander Kashyap /* input clock of PLL: SMDK5250 has 24MHz input clock */
45a2ac68fbSChander Kashyap #define CONFIG_SYS_CLK_FREQ		24000000
46a2ac68fbSChander Kashyap 
47a2ac68fbSChander Kashyap #define CONFIG_SETUP_MEMORY_TAGS
48a2ac68fbSChander Kashyap #define CONFIG_CMDLINE_TAG
49a2ac68fbSChander Kashyap #define CONFIG_INITRD_TAG
50a2ac68fbSChander Kashyap #define CONFIG_CMDLINE_EDITING
51a2ac68fbSChander Kashyap 
52a2ac68fbSChander Kashyap /* Power Down Modes */
53a2ac68fbSChander Kashyap #define S5P_CHECK_SLEEP			0x00000BAD
54a2ac68fbSChander Kashyap #define S5P_CHECK_DIDLE			0xBAD00000
55a2ac68fbSChander Kashyap #define S5P_CHECK_LPA			0xABAD0000
56a2ac68fbSChander Kashyap 
57a2ac68fbSChander Kashyap /* Offset for inform registers */
58a2ac68fbSChander Kashyap #define INFORM0_OFFSET			0x800
59a2ac68fbSChander Kashyap #define INFORM1_OFFSET			0x804
60a2ac68fbSChander Kashyap 
61a2ac68fbSChander Kashyap /* Size of malloc() pool */
62a2ac68fbSChander Kashyap #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + (4 << 20))
63a2ac68fbSChander Kashyap 
64a2ac68fbSChander Kashyap /* select serial console configuration */
65a2ac68fbSChander Kashyap #define CONFIG_BAUDRATE			115200
66a2ac68fbSChander Kashyap #define EXYNOS5_DEFAULT_UART_OFFSET	0x010000
67a2ac68fbSChander Kashyap #define CONFIG_SILENT_CONSOLE
68a2ac68fbSChander Kashyap 
69a2ac68fbSChander Kashyap /* Console configuration */
70a2ac68fbSChander Kashyap #define CONFIG_CONSOLE_MUX
71a2ac68fbSChander Kashyap #define CONFIG_SYS_CONSOLE_IS_IN_ENV
72a2ac68fbSChander Kashyap #define EXYNOS_DEVICE_SETTINGS \
73a2ac68fbSChander Kashyap 		"stdin=serial\0" \
74a2ac68fbSChander Kashyap 		"stdout=serial\0" \
75a2ac68fbSChander Kashyap 		"stderr=serial\0"
76a2ac68fbSChander Kashyap 
77a2ac68fbSChander Kashyap #define CONFIG_EXTRA_ENV_SETTINGS \
78a2ac68fbSChander Kashyap 	EXYNOS_DEVICE_SETTINGS
79a2ac68fbSChander Kashyap 
80a2ac68fbSChander Kashyap /* SD/MMC configuration */
81a2ac68fbSChander Kashyap #define CONFIG_GENERIC_MMC
82a2ac68fbSChander Kashyap #define CONFIG_MMC
83a2ac68fbSChander Kashyap #define CONFIG_SDHCI
84a2ac68fbSChander Kashyap #define CONFIG_S5P_SDHCI
85a2ac68fbSChander Kashyap #define CONFIG_DWMMC
86a2ac68fbSChander Kashyap #define CONFIG_EXYNOS_DWMMC
87a2ac68fbSChander Kashyap #define CONFIG_SUPPORT_EMMC_BOOT
88a2ac68fbSChander Kashyap 
89a2ac68fbSChander Kashyap 
90a2ac68fbSChander Kashyap #define CONFIG_BOARD_EARLY_INIT_F
91a2ac68fbSChander Kashyap #define CONFIG_SKIP_LOWLEVEL_INIT
92a2ac68fbSChander Kashyap 
93a2ac68fbSChander Kashyap /* PWM */
94a2ac68fbSChander Kashyap #define CONFIG_PWM
95a2ac68fbSChander Kashyap 
96a2ac68fbSChander Kashyap /* allow to overwrite serial and ethaddr */
97a2ac68fbSChander Kashyap #define CONFIG_ENV_OVERWRITE
98a2ac68fbSChander Kashyap 
99a2ac68fbSChander Kashyap /* Command definition*/
100a2ac68fbSChander Kashyap #include <config_cmd_default.h>
101a2ac68fbSChander Kashyap 
102a2ac68fbSChander Kashyap #define CONFIG_CMD_PING
103a2ac68fbSChander Kashyap #define CONFIG_CMD_ELF
104a2ac68fbSChander Kashyap #define CONFIG_CMD_MMC
105a2ac68fbSChander Kashyap #define CONFIG_CMD_EXT2
106a2ac68fbSChander Kashyap #define CONFIG_CMD_FAT
107a2ac68fbSChander Kashyap #define CONFIG_CMD_NET
108a2ac68fbSChander Kashyap #define CONFIG_CMD_HASH
109a2ac68fbSChander Kashyap 
110a2ac68fbSChander Kashyap #define CONFIG_BOOTDELAY		3
111a2ac68fbSChander Kashyap #define CONFIG_ZERO_BOOTDELAY_CHECK
112a2ac68fbSChander Kashyap 
113a2ac68fbSChander Kashyap /* USB */
114a2ac68fbSChander Kashyap #define CONFIG_CMD_USB
115a2ac68fbSChander Kashyap #define CONFIG_USB_EHCI
116a2ac68fbSChander Kashyap #define CONFIG_USB_EHCI_EXYNOS
117a2ac68fbSChander Kashyap #define CONFIG_USB_STORAGE
118a2ac68fbSChander Kashyap 
119a2ac68fbSChander Kashyap /* MMC SPL */
120a2ac68fbSChander Kashyap #define CONFIG_SPL
121a2ac68fbSChander Kashyap #define COPY_BL2_FNPTR_ADDR	0x02020030
122a2ac68fbSChander Kashyap 
123a2ac68fbSChander Kashyap #define CONFIG_SPL_LIBCOMMON_SUPPORT
124a2ac68fbSChander Kashyap 
125a2ac68fbSChander Kashyap /* specific .lds file */
126a2ac68fbSChander Kashyap #define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
127a2ac68fbSChander Kashyap #define CONFIG_SPL_TEXT_BASE	0x02023400
128a2ac68fbSChander Kashyap #define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
129a2ac68fbSChander Kashyap 
130a2ac68fbSChander Kashyap #define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
131a2ac68fbSChander Kashyap 
132a2ac68fbSChander Kashyap /* Miscellaneous configurable options */
133a2ac68fbSChander Kashyap #define CONFIG_SYS_LONGHELP		/* undef to save memory */
134a2ac68fbSChander Kashyap #define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser	*/
135a2ac68fbSChander Kashyap #define CONFIG_SYS_PROMPT		"ARNDALE # "
136a2ac68fbSChander Kashyap #define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
137a2ac68fbSChander Kashyap #define CONFIG_SYS_PBSIZE		384	/* Print Buffer Size */
138a2ac68fbSChander Kashyap #define CONFIG_SYS_MAXARGS		16	/* max number of command args */
139a2ac68fbSChander Kashyap #define CONFIG_DEFAULT_CONSOLE		"console=ttySAC2,115200n8\0"
140a2ac68fbSChander Kashyap /* Boot Argument Buffer Size */
141a2ac68fbSChander Kashyap #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
142a2ac68fbSChander Kashyap /* memtest works on */
143a2ac68fbSChander Kashyap #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
144a2ac68fbSChander Kashyap #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x5E00000)
145a2ac68fbSChander Kashyap #define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x3E00000)
146a2ac68fbSChander Kashyap 
147a2ac68fbSChander Kashyap #define CONFIG_RD_LVL
148a2ac68fbSChander Kashyap 
149a2ac68fbSChander Kashyap #define CONFIG_NR_DRAM_BANKS	8
150a2ac68fbSChander Kashyap #define SDRAM_BANK_SIZE		(256UL << 20UL)	/* 256 MB */
151a2ac68fbSChander Kashyap #define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
152a2ac68fbSChander Kashyap #define PHYS_SDRAM_1_SIZE	SDRAM_BANK_SIZE
153a2ac68fbSChander Kashyap #define PHYS_SDRAM_2		(CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
154a2ac68fbSChander Kashyap #define PHYS_SDRAM_2_SIZE	SDRAM_BANK_SIZE
155a2ac68fbSChander Kashyap #define PHYS_SDRAM_3		(CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
156a2ac68fbSChander Kashyap #define PHYS_SDRAM_3_SIZE	SDRAM_BANK_SIZE
157a2ac68fbSChander Kashyap #define PHYS_SDRAM_4		(CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
158a2ac68fbSChander Kashyap #define PHYS_SDRAM_4_SIZE	SDRAM_BANK_SIZE
159a2ac68fbSChander Kashyap #define PHYS_SDRAM_5		(CONFIG_SYS_SDRAM_BASE + (4 * SDRAM_BANK_SIZE))
160a2ac68fbSChander Kashyap #define PHYS_SDRAM_5_SIZE	SDRAM_BANK_SIZE
161a2ac68fbSChander Kashyap #define PHYS_SDRAM_6		(CONFIG_SYS_SDRAM_BASE + (5 * SDRAM_BANK_SIZE))
162a2ac68fbSChander Kashyap #define PHYS_SDRAM_6_SIZE	SDRAM_BANK_SIZE
163a2ac68fbSChander Kashyap #define PHYS_SDRAM_7		(CONFIG_SYS_SDRAM_BASE + (6 * SDRAM_BANK_SIZE))
164a2ac68fbSChander Kashyap #define PHYS_SDRAM_7_SIZE	SDRAM_BANK_SIZE
165a2ac68fbSChander Kashyap #define PHYS_SDRAM_8		(CONFIG_SYS_SDRAM_BASE + (7 * SDRAM_BANK_SIZE))
166a2ac68fbSChander Kashyap #define PHYS_SDRAM_8_SIZE	SDRAM_BANK_SIZE
167a2ac68fbSChander Kashyap 
168a2ac68fbSChander Kashyap #define CONFIG_SYS_MONITOR_BASE	0x00000000
169a2ac68fbSChander Kashyap 
170a2ac68fbSChander Kashyap /* FLASH and environment organization */
171a2ac68fbSChander Kashyap #define CONFIG_SYS_NO_FLASH
172a2ac68fbSChander Kashyap #undef CONFIG_CMD_IMLS
173a2ac68fbSChander Kashyap #define CONFIG_IDENT_STRING		" for ARNDALE"
174a2ac68fbSChander Kashyap 
175a2ac68fbSChander Kashyap #define CONFIG_SYS_MMC_ENV_DEV		0
176a2ac68fbSChander Kashyap 
177a2ac68fbSChander Kashyap #define CONFIG_ENV_IS_IN_MMC
178a2ac68fbSChander Kashyap #define CONFIG_SECURE_BL1_ONLY
179a2ac68fbSChander Kashyap 
180a2ac68fbSChander Kashyap /* Secure FW size configuration */
181a2ac68fbSChander Kashyap #ifdef	CONFIG_SECURE_BL1_ONLY
182a2ac68fbSChander Kashyap #define	CONFIG_SEC_FW_SIZE		(8 << 10)	/* 8KB */
183a2ac68fbSChander Kashyap #else
184a2ac68fbSChander Kashyap #define	CONFIG_SEC_FW_SIZE		0
185a2ac68fbSChander Kashyap #endif
186a2ac68fbSChander Kashyap 
187a2ac68fbSChander Kashyap /* Configuration of BL1, BL2, ENV Blocks on mmc */
188a2ac68fbSChander Kashyap #define CONFIG_RES_BLOCK_SIZE	(512)
189a2ac68fbSChander Kashyap #define CONFIG_BL1_SIZE		(16 << 10) /*16 K reserved for BL1*/
190a2ac68fbSChander Kashyap #define	CONFIG_BL2_SIZE		(512UL << 10UL)	/* 512 KB */
191a2ac68fbSChander Kashyap #define CONFIG_ENV_SIZE		(16 << 10)	/* 16 KB */
192a2ac68fbSChander Kashyap 
193a2ac68fbSChander Kashyap #define CONFIG_BL1_OFFSET	(CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
194a2ac68fbSChander Kashyap #define CONFIG_BL2_OFFSET	(CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
195a2ac68fbSChander Kashyap #define CONFIG_ENV_OFFSET	(CONFIG_BL2_OFFSET + CONFIG_BL2_SIZE)
196a2ac68fbSChander Kashyap 
197a2ac68fbSChander Kashyap /* U-boot copy size from boot Media to DRAM.*/
198a2ac68fbSChander Kashyap #define BL2_START_OFFSET	(CONFIG_BL2_OFFSET/512)
199a2ac68fbSChander Kashyap #define BL2_SIZE_BLOC_COUNT	(CONFIG_BL2_SIZE/512)
200a2ac68fbSChander Kashyap 
201a2ac68fbSChander Kashyap #define CONFIG_SPI_BOOTING
202a2ac68fbSChander Kashyap #define EXYNOS_COPY_SPI_FNPTR_ADDR	0x02020058
203a2ac68fbSChander Kashyap #define SPI_FLASH_UBOOT_POS		(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
204a2ac68fbSChander Kashyap 
205a2ac68fbSChander Kashyap #define CONFIG_DOS_PARTITION
206a2ac68fbSChander Kashyap #define CONFIG_EFI_PARTITION
207a2ac68fbSChander Kashyap #define CONFIG_CMD_PART
208a2ac68fbSChander Kashyap #define CONFIG_PARTITION_UUIDS
209a2ac68fbSChander Kashyap 
210a2ac68fbSChander Kashyap 
211a2ac68fbSChander Kashyap #define CONFIG_IRAM_STACK	0x02050000
212a2ac68fbSChander Kashyap 
213a2ac68fbSChander Kashyap #define CONFIG_SYS_INIT_SP_ADDR	CONFIG_IRAM_STACK
214a2ac68fbSChander Kashyap 
215a2ac68fbSChander Kashyap /* I2C */
216a2ac68fbSChander Kashyap #define CONFIG_SYS_I2C_INIT_BOARD
217*2d8f1e27SPiotr Wilczek #define CONFIG_SYS_I2C
218a2ac68fbSChander Kashyap #define CONFIG_CMD_I2C
219*2d8f1e27SPiotr Wilczek #define CONFIG_SYS_I2C_S3C24X0_SPEED	100000		/* 100 Kbps */
220*2d8f1e27SPiotr Wilczek #define CONFIG_SYS_I2C_S3C24X0
221a2ac68fbSChander Kashyap #define CONFIG_MAX_I2C_NUM	8
222*2d8f1e27SPiotr Wilczek #define CONFIG_SYS_I2C_S3C24X0_SLAVE    0x0
223a2ac68fbSChander Kashyap #define CONFIG_I2C_EDID
224a2ac68fbSChander Kashyap 
225a2ac68fbSChander Kashyap /* PMIC */
226a2ac68fbSChander Kashyap #define CONFIG_PMIC
227a2ac68fbSChander Kashyap #define CONFIG_PMIC_I2C
228a2ac68fbSChander Kashyap #define CONFIG_PMIC_MAX77686
229a2ac68fbSChander Kashyap 
230a2ac68fbSChander Kashyap #define CONFIG_DEFAULT_DEVICE_TREE	exynos5250-arndale
231a2ac68fbSChander Kashyap 
232a2ac68fbSChander Kashyap /* Ethernet Controllor Driver */
233a2ac68fbSChander Kashyap #ifdef CONFIG_CMD_NET
234a2ac68fbSChander Kashyap #define CONFIG_SMC911X
235a2ac68fbSChander Kashyap #define CONFIG_SMC911X_BASE		0x5000000
236a2ac68fbSChander Kashyap #define CONFIG_SMC911X_16_BIT
237a2ac68fbSChander Kashyap #define CONFIG_ENV_SROM_BANK		1
238a2ac68fbSChander Kashyap #endif /*CONFIG_CMD_NET*/
239a2ac68fbSChander Kashyap 
240a2ac68fbSChander Kashyap /* Enable PXE Support */
241a2ac68fbSChander Kashyap #ifdef CONFIG_CMD_NET
242a2ac68fbSChander Kashyap #define CONFIG_CMD_PXE
243a2ac68fbSChander Kashyap #define CONFIG_MENU
244a2ac68fbSChander Kashyap #endif
245a2ac68fbSChander Kashyap 
246a2ac68fbSChander Kashyap /* Enable devicetree support */
247a2ac68fbSChander Kashyap #define CONFIG_OF_LIBFDT
248a2ac68fbSChander Kashyap 
249a2ac68fbSChander Kashyap /* Enable Time Command */
250a2ac68fbSChander Kashyap #define CONFIG_CMD_TIME
251a2ac68fbSChander Kashyap 
252a2ac68fbSChander Kashyap #endif	/* __CONFIG_H */
253