xref: /rk3399_rockchip-uboot/include/configs/exynos5-common.h (revision e6825e03627522ad73c6052b087233e0e74c0dd9)
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 
165ea01ab1SSimon Glass #define CONFIG_SYS_CACHELINE_SIZE	64
174c7bb1d2SSimon Glass #define CONFIG_EXYNOS_SPL
184c7bb1d2SSimon Glass 
194c7bb1d2SSimon Glass /* Allow tracing to be enabled */
204c7bb1d2SSimon Glass #define CONFIG_TRACE
214c7bb1d2SSimon Glass #define CONFIG_CMD_TRACE
224c7bb1d2SSimon Glass #define CONFIG_TRACE_BUFFER_SIZE	(16 << 20)
234c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY_SIZE		(8 << 20)
244c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY
254c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY_ADDR		0x50000000
264c7bb1d2SSimon Glass 
274c7bb1d2SSimon Glass 
284c7bb1d2SSimon Glass /* Enable ACE acceleration for SHA1 and SHA256 */
294c7bb1d2SSimon Glass #define CONFIG_EXYNOS_ACE_SHA
304c7bb1d2SSimon Glass #define CONFIG_SHA_HW_ACCEL
314c7bb1d2SSimon Glass 
324c7bb1d2SSimon Glass /* Power Down Modes */
334c7bb1d2SSimon Glass #define S5P_CHECK_SLEEP			0x00000BAD
344c7bb1d2SSimon Glass #define S5P_CHECK_DIDLE			0xBAD00000
354c7bb1d2SSimon Glass #define S5P_CHECK_LPA			0xABAD0000
364c7bb1d2SSimon Glass 
374c7bb1d2SSimon Glass /* Offset for inform registers */
384c7bb1d2SSimon Glass #define INFORM0_OFFSET			0x800
394c7bb1d2SSimon Glass #define INFORM1_OFFSET			0x804
404c7bb1d2SSimon Glass #define INFORM2_OFFSET			0x808
414c7bb1d2SSimon Glass #define INFORM3_OFFSET			0x80c
424c7bb1d2SSimon Glass 
434c7bb1d2SSimon Glass /* select serial console configuration */
444c7bb1d2SSimon Glass #define CONFIG_BAUDRATE			115200
454c7bb1d2SSimon Glass #define EXYNOS5_DEFAULT_UART_OFFSET	0x010000
464c7bb1d2SSimon Glass #define CONFIG_SILENT_CONSOLE
475ea01ab1SSimon Glass #define CONFIG_SYS_CONSOLE_IS_IN_ENV
485ea01ab1SSimon Glass #define CONFIG_CONSOLE_MUX
494c7bb1d2SSimon Glass 
504c7bb1d2SSimon Glass #define CONFIG_CMD_HASH
514c7bb1d2SSimon Glass 
524c7bb1d2SSimon Glass /* Thermal Management Unit */
534c7bb1d2SSimon Glass #define CONFIG_EXYNOS_TMU
544c7bb1d2SSimon Glass #define CONFIG_CMD_DTT
554c7bb1d2SSimon Glass #define CONFIG_TMU_CMD_DTT
564c7bb1d2SSimon Glass 
574c7bb1d2SSimon Glass /* TPM */
584c7bb1d2SSimon Glass #define CONFIG_TPM
594c7bb1d2SSimon Glass #define CONFIG_CMD_TPM
604c7bb1d2SSimon Glass #define CONFIG_TPM_TIS_I2C
614c7bb1d2SSimon Glass #define CONFIG_TPM_TIS_I2C_BUS_NUMBER	3
624c7bb1d2SSimon Glass #define CONFIG_TPM_TIS_I2C_SLAVE_ADDR	0x20
634c7bb1d2SSimon Glass 
644c7bb1d2SSimon Glass /* MMC SPL */
654c7bb1d2SSimon Glass #define COPY_BL2_FNPTR_ADDR	0x02020030
665ea01ab1SSimon Glass #define CONFIG_SUPPORT_EMMC_BOOT
674c7bb1d2SSimon Glass 
684c7bb1d2SSimon Glass #define CONFIG_SPL_LIBCOMMON_SUPPORT
694c7bb1d2SSimon Glass #define CONFIG_SPL_GPIO_SUPPORT
704c7bb1d2SSimon Glass 
714c7bb1d2SSimon Glass /* specific .lds file */
724c7bb1d2SSimon Glass #define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
734c7bb1d2SSimon Glass 
744c7bb1d2SSimon Glass /* Boot Argument Buffer Size */
754c7bb1d2SSimon Glass /* memtest works on */
764c7bb1d2SSimon Glass #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
774c7bb1d2SSimon Glass #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x5E00000)
784c7bb1d2SSimon Glass #define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x3E00000)
794c7bb1d2SSimon Glass 
804c7bb1d2SSimon Glass #define CONFIG_RD_LVL
814c7bb1d2SSimon Glass 
824c7bb1d2SSimon Glass #define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
834c7bb1d2SSimon Glass #define PHYS_SDRAM_1_SIZE	SDRAM_BANK_SIZE
844c7bb1d2SSimon Glass #define PHYS_SDRAM_2		(CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
854c7bb1d2SSimon Glass #define PHYS_SDRAM_2_SIZE	SDRAM_BANK_SIZE
864c7bb1d2SSimon Glass #define PHYS_SDRAM_3		(CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
874c7bb1d2SSimon Glass #define PHYS_SDRAM_3_SIZE	SDRAM_BANK_SIZE
884c7bb1d2SSimon Glass #define PHYS_SDRAM_4		(CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
894c7bb1d2SSimon Glass #define PHYS_SDRAM_4_SIZE	SDRAM_BANK_SIZE
904c7bb1d2SSimon Glass #define PHYS_SDRAM_5		(CONFIG_SYS_SDRAM_BASE + (4 * SDRAM_BANK_SIZE))
914c7bb1d2SSimon Glass #define PHYS_SDRAM_5_SIZE	SDRAM_BANK_SIZE
924c7bb1d2SSimon Glass #define PHYS_SDRAM_6		(CONFIG_SYS_SDRAM_BASE + (5 * SDRAM_BANK_SIZE))
934c7bb1d2SSimon Glass #define PHYS_SDRAM_6_SIZE	SDRAM_BANK_SIZE
944c7bb1d2SSimon Glass #define PHYS_SDRAM_7		(CONFIG_SYS_SDRAM_BASE + (6 * SDRAM_BANK_SIZE))
954c7bb1d2SSimon Glass #define PHYS_SDRAM_7_SIZE	SDRAM_BANK_SIZE
964c7bb1d2SSimon Glass #define PHYS_SDRAM_8		(CONFIG_SYS_SDRAM_BASE + (7 * SDRAM_BANK_SIZE))
974c7bb1d2SSimon Glass #define PHYS_SDRAM_8_SIZE	SDRAM_BANK_SIZE
984c7bb1d2SSimon Glass 
994c7bb1d2SSimon Glass #define CONFIG_SYS_MONITOR_BASE	0x00000000
1004c7bb1d2SSimon Glass 
1014c7bb1d2SSimon Glass #define CONFIG_SYS_MMC_ENV_DEV		0
1024c7bb1d2SSimon Glass 
1034c7bb1d2SSimon Glass #define CONFIG_SECURE_BL1_ONLY
1044c7bb1d2SSimon Glass 
1054c7bb1d2SSimon Glass /* Secure FW size configuration */
1064c7bb1d2SSimon Glass #ifdef CONFIG_SECURE_BL1_ONLY
1074c7bb1d2SSimon Glass #define CONFIG_SEC_FW_SIZE (8 << 10) /* 8KB */
1084c7bb1d2SSimon Glass #else
1094c7bb1d2SSimon Glass #define CONFIG_SEC_FW_SIZE 0
1104c7bb1d2SSimon Glass #endif
1114c7bb1d2SSimon Glass 
1124c7bb1d2SSimon Glass /* Configuration of BL1, BL2, ENV Blocks on mmc */
1134c7bb1d2SSimon Glass #define CONFIG_RES_BLOCK_SIZE	(512)
1144c7bb1d2SSimon Glass #define CONFIG_BL1_SIZE	(16 << 10) /*16 K reserved for BL1*/
1154c7bb1d2SSimon Glass #define CONFIG_BL2_SIZE	(512UL << 10UL) /* 512 KB */
1164c7bb1d2SSimon Glass #define CONFIG_ENV_SIZE	(16 << 10) /* 16 KB */
1174c7bb1d2SSimon Glass 
1184c7bb1d2SSimon Glass #define CONFIG_BL1_OFFSET	(CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
1194c7bb1d2SSimon Glass #define CONFIG_BL2_OFFSET	(CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
1204c7bb1d2SSimon Glass 
1214c7bb1d2SSimon Glass /* U-boot copy size from boot Media to DRAM.*/
1224c7bb1d2SSimon Glass #define BL2_START_OFFSET	(CONFIG_BL2_OFFSET/512)
1234c7bb1d2SSimon Glass #define BL2_SIZE_BLOC_COUNT	(CONFIG_BL2_SIZE/512)
1244c7bb1d2SSimon Glass 
1254c7bb1d2SSimon Glass #define EXYNOS_COPY_SPI_FNPTR_ADDR	0x02020058
1264c7bb1d2SSimon Glass #define SPI_FLASH_UBOOT_POS	(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
1274c7bb1d2SSimon Glass 
1284c7bb1d2SSimon Glass /* I2C */
1294c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_INIT_BOARD
1304c7bb1d2SSimon Glass #define CONFIG_SYS_I2C
1314c7bb1d2SSimon Glass #define CONFIG_CMD_I2C
1324c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0_SPEED	100000		/* 100 Kbps */
1334c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0
1344c7bb1d2SSimon Glass #define CONFIG_I2C_MULTI_BUS
1354c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0_SLAVE    0x0
1364c7bb1d2SSimon Glass #define CONFIG_I2C_EDID
1374c7bb1d2SSimon Glass 
1384c7bb1d2SSimon Glass /* SPI */
1394c7bb1d2SSimon Glass #ifdef CONFIG_SPI_FLASH
1404c7bb1d2SSimon Glass #define CONFIG_EXYNOS_SPI
1414c7bb1d2SSimon Glass #define CONFIG_CMD_SF
1424c7bb1d2SSimon Glass #define CONFIG_CMD_SPI
1434c7bb1d2SSimon Glass #define CONFIG_SPI_FLASH_WINBOND
1444c7bb1d2SSimon Glass #define CONFIG_SPI_FLASH_GIGADEVICE
1454c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
1464c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_SPEED		50000000
1474c7bb1d2SSimon Glass #define EXYNOS5_SPI_NUM_CONTROLLERS	5
1484c7bb1d2SSimon Glass #define CONFIG_OF_SPI
1494c7bb1d2SSimon Glass #endif
1504c7bb1d2SSimon Glass 
1514c7bb1d2SSimon Glass #ifdef CONFIG_ENV_IS_IN_SPI_FLASH
1524c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MODE	SPI_MODE_0
1534c7bb1d2SSimon Glass #define CONFIG_ENV_SECT_SIZE	CONFIG_ENV_SIZE
1544c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_BUS	1
1554c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MAX_HZ	50000000
1564c7bb1d2SSimon Glass #endif
1574c7bb1d2SSimon Glass 
1584c7bb1d2SSimon Glass /* Ethernet Controllor Driver */
1594c7bb1d2SSimon Glass #ifdef CONFIG_CMD_NET
1604c7bb1d2SSimon Glass #define CONFIG_SMC911X
1614c7bb1d2SSimon Glass #define CONFIG_SMC911X_BASE		0x5000000
1624c7bb1d2SSimon Glass #define CONFIG_SMC911X_16_BIT
1634c7bb1d2SSimon Glass #define CONFIG_ENV_SROM_BANK		1
1644c7bb1d2SSimon Glass #endif /*CONFIG_CMD_NET*/
1654c7bb1d2SSimon Glass 
1664c7bb1d2SSimon Glass /* SHA hashing */
1674c7bb1d2SSimon Glass #define CONFIG_CMD_HASH
1684c7bb1d2SSimon Glass #define CONFIG_HASH_VERIFY
1694c7bb1d2SSimon Glass #define CONFIG_SHA1
1704c7bb1d2SSimon Glass #define CONFIG_SHA256
1714c7bb1d2SSimon Glass 
1724c7bb1d2SSimon Glass /* Enable Time Command */
1734c7bb1d2SSimon Glass #define CONFIG_CMD_TIME
1744c7bb1d2SSimon Glass 
1754c7bb1d2SSimon Glass #define CONFIG_CMD_GPIO
1764c7bb1d2SSimon Glass 
1774c7bb1d2SSimon Glass /* USB boot mode */
1784c7bb1d2SSimon Glass #define CONFIG_USB_BOOTING
1794c7bb1d2SSimon Glass #define EXYNOS_COPY_USB_FNPTR_ADDR	0x02020070
1804c7bb1d2SSimon Glass #define EXYNOS_USB_SECONDARY_BOOT	0xfeed0002
1814c7bb1d2SSimon Glass #define EXYNOS_IRAM_SECONDARY_BASE	0x02020018
1824c7bb1d2SSimon Glass 
1835ea01ab1SSimon Glass /* Enable FIT support and comparison */
1845ea01ab1SSimon Glass #define CONFIG_FIT
1855ea01ab1SSimon Glass #define CONFIG_FIT_BEST_MATCH
1865ea01ab1SSimon Glass 
187*e6825e03SIan Campbell 
188*e6825e03SIan Campbell #define BOOT_TARGET_DEVICES(func) \
189*e6825e03SIan Campbell 	func(MMC, mmc, 1) \
190*e6825e03SIan Campbell 	func(MMC, mmc, 0) \
191*e6825e03SIan Campbell 	func(PXE, pxe, na) \
192*e6825e03SIan Campbell 	func(DHCP, dhcp, na)
193*e6825e03SIan Campbell 
194*e6825e03SIan Campbell #include <config_distro_bootcmd.h>
195*e6825e03SIan Campbell 
196*e6825e03SIan Campbell #ifndef MEM_LAYOUT_ENV_SETTINGS
197*e6825e03SIan Campbell /* 2GB RAM, bootm size of 256M, load scripts after that */
198*e6825e03SIan Campbell #define MEM_LAYOUT_ENV_SETTINGS \
199*e6825e03SIan Campbell 	"bootm_size=0x10000000\0" \
200*e6825e03SIan Campbell 	"kernel_addr_r=0x42000000\0" \
201*e6825e03SIan Campbell 	"fdt_addr_r=0x43000000\0" \
202*e6825e03SIan Campbell 	"ramdisk_addr_r=0x43300000\0" \
203*e6825e03SIan Campbell 	"scriptaddr=0x50000000\0" \
204*e6825e03SIan Campbell 	"pxefile_addr_r=0x51000000\0"
205*e6825e03SIan Campbell #endif
206*e6825e03SIan Campbell 
207*e6825e03SIan Campbell #ifndef EXYNOS_DEVICE_SETTINGS
208*e6825e03SIan Campbell #define EXYNOS_DEVICE_SETTINGS \
209*e6825e03SIan Campbell 	"stdin=serial\0" \
210*e6825e03SIan Campbell 	"stdout=serial\0" \
211*e6825e03SIan Campbell 	"stderr=serial\0"
212*e6825e03SIan Campbell #endif
213*e6825e03SIan Campbell 
214*e6825e03SIan Campbell #ifndef EXYNOS_FDTFILE_SETTING
215*e6825e03SIan Campbell #define EXYNOS_FDTFILE_SETTING
216*e6825e03SIan Campbell #endif
217*e6825e03SIan Campbell 
218*e6825e03SIan Campbell #define CONFIG_EXTRA_ENV_SETTINGS \
219*e6825e03SIan Campbell 	EXYNOS_DEVICE_SETTINGS \
220*e6825e03SIan Campbell 	EXYNOS_FDTFILE_SETTING \
221*e6825e03SIan Campbell 	MEM_LAYOUT_ENV_SETTINGS \
222*e6825e03SIan Campbell 	BOOTENV
223*e6825e03SIan Campbell 
2244c7bb1d2SSimon Glass #endif	/* __CONFIG_EXYNOS5_COMMON_H */
225