xref: /rk3399_rockchip-uboot/include/configs/exynos5-common.h (revision f58ad98a621ce5059d9608a9b41cfabac277094a)
14c7bb1d2SSimon Glass /*
24c7bb1d2SSimon Glass  * Copyright (C) 2013 Samsung Electronics
34c7bb1d2SSimon Glass  *
44c7bb1d2SSimon Glass  * Configuration settings for the SAMSUNG EXYNOS5 board.
54c7bb1d2SSimon Glass  *
64c7bb1d2SSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
74c7bb1d2SSimon Glass  */
84c7bb1d2SSimon Glass 
94c7bb1d2SSimon Glass #ifndef __CONFIG_EXYNOS5_COMMON_H
104c7bb1d2SSimon Glass #define __CONFIG_EXYNOS5_COMMON_H
114c7bb1d2SSimon Glass 
125ea01ab1SSimon Glass #define CONFIG_EXYNOS5			/* Exynos5 Family */
134c7bb1d2SSimon Glass 
145ea01ab1SSimon Glass #include "exynos-common.h"
154c7bb1d2SSimon Glass 
164c7bb1d2SSimon Glass #define CONFIG_EXYNOS_SPL
174c7bb1d2SSimon Glass 
18f44ef7d6SInha Song #ifdef FTRACE
194c7bb1d2SSimon Glass #define CONFIG_TRACE
204c7bb1d2SSimon Glass #define CONFIG_TRACE_BUFFER_SIZE	(16 << 20)
214c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY_SIZE		(8 << 20)
224c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY
234c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY_ADDR		0x50000000
24f44ef7d6SInha Song #endif
254c7bb1d2SSimon Glass 
264c7bb1d2SSimon Glass /* Enable ACE acceleration for SHA1 and SHA256 */
274c7bb1d2SSimon Glass #define CONFIG_EXYNOS_ACE_SHA
284c7bb1d2SSimon Glass 
294c7bb1d2SSimon Glass /* Power Down Modes */
304c7bb1d2SSimon Glass #define S5P_CHECK_SLEEP			0x00000BAD
314c7bb1d2SSimon Glass #define S5P_CHECK_DIDLE			0xBAD00000
324c7bb1d2SSimon Glass #define S5P_CHECK_LPA			0xABAD0000
334c7bb1d2SSimon Glass 
344c7bb1d2SSimon Glass /* Offset for inform registers */
354c7bb1d2SSimon Glass #define INFORM0_OFFSET			0x800
364c7bb1d2SSimon Glass #define INFORM1_OFFSET			0x804
374c7bb1d2SSimon Glass #define INFORM2_OFFSET			0x808
384c7bb1d2SSimon Glass #define INFORM3_OFFSET			0x80c
394c7bb1d2SSimon Glass 
404c7bb1d2SSimon Glass /* select serial console configuration */
414c7bb1d2SSimon Glass #define EXYNOS5_DEFAULT_UART_OFFSET	0x010000
424c7bb1d2SSimon Glass 
434c7bb1d2SSimon Glass /* Thermal Management Unit */
444c7bb1d2SSimon Glass #define CONFIG_EXYNOS_TMU
454c7bb1d2SSimon Glass 
464c7bb1d2SSimon Glass /* MMC SPL */
474c7bb1d2SSimon Glass #define COPY_BL2_FNPTR_ADDR	0x02020030
485ea01ab1SSimon Glass #define CONFIG_SUPPORT_EMMC_BOOT
494c7bb1d2SSimon Glass 
504c7bb1d2SSimon Glass /* specific .lds file */
514c7bb1d2SSimon Glass 
524c7bb1d2SSimon Glass /* Boot Argument Buffer Size */
534c7bb1d2SSimon Glass /* memtest works on */
544c7bb1d2SSimon Glass #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
554c7bb1d2SSimon Glass #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x5E00000)
564c7bb1d2SSimon Glass #define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x3E00000)
574c7bb1d2SSimon Glass 
584c7bb1d2SSimon Glass #define CONFIG_RD_LVL
594c7bb1d2SSimon Glass 
604c7bb1d2SSimon Glass #define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
614c7bb1d2SSimon Glass #define PHYS_SDRAM_1_SIZE	SDRAM_BANK_SIZE
624c7bb1d2SSimon Glass #define PHYS_SDRAM_2		(CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
634c7bb1d2SSimon Glass #define PHYS_SDRAM_2_SIZE	SDRAM_BANK_SIZE
644c7bb1d2SSimon Glass #define PHYS_SDRAM_3		(CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
654c7bb1d2SSimon Glass #define PHYS_SDRAM_3_SIZE	SDRAM_BANK_SIZE
664c7bb1d2SSimon Glass #define PHYS_SDRAM_4		(CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
674c7bb1d2SSimon Glass #define PHYS_SDRAM_4_SIZE	SDRAM_BANK_SIZE
684c7bb1d2SSimon Glass #define PHYS_SDRAM_5		(CONFIG_SYS_SDRAM_BASE + (4 * SDRAM_BANK_SIZE))
694c7bb1d2SSimon Glass #define PHYS_SDRAM_5_SIZE	SDRAM_BANK_SIZE
704c7bb1d2SSimon Glass #define PHYS_SDRAM_6		(CONFIG_SYS_SDRAM_BASE + (5 * SDRAM_BANK_SIZE))
714c7bb1d2SSimon Glass #define PHYS_SDRAM_6_SIZE	SDRAM_BANK_SIZE
724c7bb1d2SSimon Glass #define PHYS_SDRAM_7		(CONFIG_SYS_SDRAM_BASE + (6 * SDRAM_BANK_SIZE))
734c7bb1d2SSimon Glass #define PHYS_SDRAM_7_SIZE	SDRAM_BANK_SIZE
744c7bb1d2SSimon Glass #define PHYS_SDRAM_8		(CONFIG_SYS_SDRAM_BASE + (7 * SDRAM_BANK_SIZE))
754c7bb1d2SSimon Glass #define PHYS_SDRAM_8_SIZE	SDRAM_BANK_SIZE
764c7bb1d2SSimon Glass 
774c7bb1d2SSimon Glass #define CONFIG_SYS_MONITOR_BASE	0x00000000
784c7bb1d2SSimon Glass 
794c7bb1d2SSimon Glass #define CONFIG_SYS_MMC_ENV_DEV		0
804c7bb1d2SSimon Glass 
814c7bb1d2SSimon Glass #define CONFIG_SECURE_BL1_ONLY
824c7bb1d2SSimon Glass 
834c7bb1d2SSimon Glass /* Secure FW size configuration */
844c7bb1d2SSimon Glass #ifdef CONFIG_SECURE_BL1_ONLY
854c7bb1d2SSimon Glass #define CONFIG_SEC_FW_SIZE (8 << 10) /* 8KB */
864c7bb1d2SSimon Glass #else
874c7bb1d2SSimon Glass #define CONFIG_SEC_FW_SIZE 0
884c7bb1d2SSimon Glass #endif
894c7bb1d2SSimon Glass 
904c7bb1d2SSimon Glass /* Configuration of BL1, BL2, ENV Blocks on mmc */
914c7bb1d2SSimon Glass #define CONFIG_RES_BLOCK_SIZE	(512)
924c7bb1d2SSimon Glass #define CONFIG_BL1_SIZE	(16 << 10) /*16 K reserved for BL1*/
934c7bb1d2SSimon Glass #define CONFIG_BL2_SIZE	(512UL << 10UL) /* 512 KB */
944c7bb1d2SSimon Glass #define CONFIG_ENV_SIZE	(16 << 10) /* 16 KB */
954c7bb1d2SSimon Glass 
964c7bb1d2SSimon Glass #define CONFIG_BL1_OFFSET	(CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
974c7bb1d2SSimon Glass #define CONFIG_BL2_OFFSET	(CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
984c7bb1d2SSimon Glass 
99*a187559eSBin Meng /* U-Boot copy size from boot Media to DRAM.*/
1004c7bb1d2SSimon Glass #define BL2_START_OFFSET	(CONFIG_BL2_OFFSET/512)
1014c7bb1d2SSimon Glass #define BL2_SIZE_BLOC_COUNT	(CONFIG_BL2_SIZE/512)
1024c7bb1d2SSimon Glass 
1034c7bb1d2SSimon Glass #define EXYNOS_COPY_SPI_FNPTR_ADDR	0x02020058
1044c7bb1d2SSimon Glass #define SPI_FLASH_UBOOT_POS	(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
1054c7bb1d2SSimon Glass 
1064c7bb1d2SSimon Glass /* I2C */
1074c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0
108189d8016SPrzemyslaw Marczak #define CONFIG_SYS_I2C_S3C24X0_SPEED	100000		/* 100 Kbps */
1094c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0_SLAVE    0x0
1104c7bb1d2SSimon Glass 
1114c7bb1d2SSimon Glass /* SPI */
1124c7bb1d2SSimon Glass #ifdef CONFIG_SPI_FLASH
1134c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
1144c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_SPEED		50000000
1154c7bb1d2SSimon Glass #endif
1164c7bb1d2SSimon Glass 
1174c7bb1d2SSimon Glass #ifdef CONFIG_ENV_IS_IN_SPI_FLASH
1184c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MODE	SPI_MODE_0
1194c7bb1d2SSimon Glass #define CONFIG_ENV_SECT_SIZE	CONFIG_ENV_SIZE
1204c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_BUS	1
1214c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MAX_HZ	50000000
1224c7bb1d2SSimon Glass #endif
1234c7bb1d2SSimon Glass 
1244c7bb1d2SSimon Glass /* Ethernet Controllor Driver */
1254c7bb1d2SSimon Glass #ifdef CONFIG_CMD_NET
1264c7bb1d2SSimon Glass #define CONFIG_SMC911X
1274c7bb1d2SSimon Glass #define CONFIG_SMC911X_BASE		0x5000000
1284c7bb1d2SSimon Glass #define CONFIG_SMC911X_16_BIT
1294c7bb1d2SSimon Glass #define CONFIG_ENV_SROM_BANK		1
1304c7bb1d2SSimon Glass #endif /*CONFIG_CMD_NET*/
1314c7bb1d2SSimon Glass 
1324c7bb1d2SSimon Glass /* Enable Time Command */
1334c7bb1d2SSimon Glass 
13466223787SSjoerd Simons /* USB */
13566223787SSjoerd Simons 
1364c7bb1d2SSimon Glass /* USB boot mode */
1374c7bb1d2SSimon Glass #define CONFIG_USB_BOOTING
1384c7bb1d2SSimon Glass #define EXYNOS_COPY_USB_FNPTR_ADDR	0x02020070
1394c7bb1d2SSimon Glass #define EXYNOS_USB_SECONDARY_BOOT	0xfeed0002
1404c7bb1d2SSimon Glass #define EXYNOS_IRAM_SECONDARY_BASE	0x02020018
1414c7bb1d2SSimon Glass 
142e6825e03SIan Campbell #define BOOT_TARGET_DEVICES(func) \
143e6825e03SIan Campbell 	func(MMC, mmc, 1) \
144e6825e03SIan Campbell 	func(MMC, mmc, 0) \
145e6825e03SIan Campbell 	func(PXE, pxe, na) \
146e6825e03SIan Campbell 	func(DHCP, dhcp, na)
147e6825e03SIan Campbell 
148e6825e03SIan Campbell #include <config_distro_bootcmd.h>
149e6825e03SIan Campbell 
150e6825e03SIan Campbell #ifndef MEM_LAYOUT_ENV_SETTINGS
151e6825e03SIan Campbell /* 2GB RAM, bootm size of 256M, load scripts after that */
152e6825e03SIan Campbell #define MEM_LAYOUT_ENV_SETTINGS \
153e6825e03SIan Campbell 	"bootm_size=0x10000000\0" \
154e6825e03SIan Campbell 	"kernel_addr_r=0x42000000\0" \
155e6825e03SIan Campbell 	"fdt_addr_r=0x43000000\0" \
156e6825e03SIan Campbell 	"ramdisk_addr_r=0x43300000\0" \
157e6825e03SIan Campbell 	"scriptaddr=0x50000000\0" \
158e6825e03SIan Campbell 	"pxefile_addr_r=0x51000000\0"
159e6825e03SIan Campbell #endif
160e6825e03SIan Campbell 
161e6825e03SIan Campbell #ifndef EXYNOS_DEVICE_SETTINGS
162e6825e03SIan Campbell #define EXYNOS_DEVICE_SETTINGS \
163e6825e03SIan Campbell 	"stdin=serial\0" \
164e6825e03SIan Campbell 	"stdout=serial\0" \
165e6825e03SIan Campbell 	"stderr=serial\0"
166e6825e03SIan Campbell #endif
167e6825e03SIan Campbell 
168e6825e03SIan Campbell #ifndef EXYNOS_FDTFILE_SETTING
169e6825e03SIan Campbell #define EXYNOS_FDTFILE_SETTING
170e6825e03SIan Campbell #endif
171e6825e03SIan Campbell 
172e6825e03SIan Campbell #define CONFIG_EXTRA_ENV_SETTINGS \
173e6825e03SIan Campbell 	EXYNOS_DEVICE_SETTINGS \
174e6825e03SIan Campbell 	EXYNOS_FDTFILE_SETTING \
175e6825e03SIan Campbell 	MEM_LAYOUT_ENV_SETTINGS \
176e6825e03SIan Campbell 	BOOTENV
177e6825e03SIan Campbell 
1784c7bb1d2SSimon Glass #endif	/* __CONFIG_EXYNOS5_COMMON_H */
179