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