xref: /rk3399_rockchip-uboot/include/configs/exynos5-common.h (revision 189d80166b31db55b99190be3164c8d3348b57fc)
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 */
129*189d8016SPrzemyslaw Marczak #define CONFIG_DM_I2C
130*189d8016SPrzemyslaw Marczak #define CONFIG_DM_I2C_COMPAT
1314c7bb1d2SSimon Glass #define CONFIG_CMD_I2C
1324c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0
133*189d8016SPrzemyslaw Marczak #define CONFIG_SYS_I2C_S3C24X0_SPEED	100000		/* 100 Kbps */
1344c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0_SLAVE    0x0
1354c7bb1d2SSimon Glass #define CONFIG_I2C_EDID
1364c7bb1d2SSimon Glass 
1374c7bb1d2SSimon Glass /* SPI */
1384c7bb1d2SSimon Glass #ifdef CONFIG_SPI_FLASH
1394c7bb1d2SSimon Glass #define CONFIG_EXYNOS_SPI
1404c7bb1d2SSimon Glass #define CONFIG_CMD_SF
1414c7bb1d2SSimon Glass #define CONFIG_CMD_SPI
1424c7bb1d2SSimon Glass #define CONFIG_SPI_FLASH_WINBOND
1434c7bb1d2SSimon Glass #define CONFIG_SPI_FLASH_GIGADEVICE
1444c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
1454c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_SPEED		50000000
1464c7bb1d2SSimon Glass #define EXYNOS5_SPI_NUM_CONTROLLERS	5
1474c7bb1d2SSimon Glass #define CONFIG_OF_SPI
1484c7bb1d2SSimon Glass #endif
1494c7bb1d2SSimon Glass 
1504c7bb1d2SSimon Glass #ifdef CONFIG_ENV_IS_IN_SPI_FLASH
1514c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MODE	SPI_MODE_0
1524c7bb1d2SSimon Glass #define CONFIG_ENV_SECT_SIZE	CONFIG_ENV_SIZE
1534c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_BUS	1
1544c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MAX_HZ	50000000
1554c7bb1d2SSimon Glass #endif
1564c7bb1d2SSimon Glass 
1574c7bb1d2SSimon Glass /* Ethernet Controllor Driver */
1584c7bb1d2SSimon Glass #ifdef CONFIG_CMD_NET
1594c7bb1d2SSimon Glass #define CONFIG_SMC911X
1604c7bb1d2SSimon Glass #define CONFIG_SMC911X_BASE		0x5000000
1614c7bb1d2SSimon Glass #define CONFIG_SMC911X_16_BIT
1624c7bb1d2SSimon Glass #define CONFIG_ENV_SROM_BANK		1
1634c7bb1d2SSimon Glass #endif /*CONFIG_CMD_NET*/
1644c7bb1d2SSimon Glass 
1654c7bb1d2SSimon Glass /* SHA hashing */
1664c7bb1d2SSimon Glass #define CONFIG_CMD_HASH
1674c7bb1d2SSimon Glass #define CONFIG_HASH_VERIFY
1684c7bb1d2SSimon Glass #define CONFIG_SHA1
1694c7bb1d2SSimon Glass #define CONFIG_SHA256
1704c7bb1d2SSimon Glass 
1714c7bb1d2SSimon Glass /* Enable Time Command */
1724c7bb1d2SSimon Glass #define CONFIG_CMD_TIME
1734c7bb1d2SSimon Glass 
1744c7bb1d2SSimon Glass #define CONFIG_CMD_GPIO
1754c7bb1d2SSimon Glass 
17666223787SSjoerd Simons /* USB */
17766223787SSjoerd Simons #define CONFIG_CMD_USB
17866223787SSjoerd Simons #define CONFIG_USB_STORAGE
17966223787SSjoerd Simons #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS	3
18066223787SSjoerd Simons #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS	2
18166223787SSjoerd Simons 
18266223787SSjoerd Simons #define CONFIG_USB_HOST_ETHER
18366223787SSjoerd Simons #define CONFIG_USB_ETHER_ASIX
18466223787SSjoerd Simons #define CONFIG_USB_ETHER_SMSC95XX
18566223787SSjoerd Simons 
1864c7bb1d2SSimon Glass /* USB boot mode */
1874c7bb1d2SSimon Glass #define CONFIG_USB_BOOTING
1884c7bb1d2SSimon Glass #define EXYNOS_COPY_USB_FNPTR_ADDR	0x02020070
1894c7bb1d2SSimon Glass #define EXYNOS_USB_SECONDARY_BOOT	0xfeed0002
1904c7bb1d2SSimon Glass #define EXYNOS_IRAM_SECONDARY_BASE	0x02020018
1914c7bb1d2SSimon Glass 
1925ea01ab1SSimon Glass /* Enable FIT support and comparison */
1935ea01ab1SSimon Glass #define CONFIG_FIT
1945ea01ab1SSimon Glass #define CONFIG_FIT_BEST_MATCH
1955ea01ab1SSimon Glass 
196e6825e03SIan Campbell 
197e6825e03SIan Campbell #define BOOT_TARGET_DEVICES(func) \
198e6825e03SIan Campbell 	func(MMC, mmc, 1) \
199e6825e03SIan Campbell 	func(MMC, mmc, 0) \
200e6825e03SIan Campbell 	func(PXE, pxe, na) \
201e6825e03SIan Campbell 	func(DHCP, dhcp, na)
202e6825e03SIan Campbell 
203e6825e03SIan Campbell #include <config_distro_bootcmd.h>
204e6825e03SIan Campbell 
205e6825e03SIan Campbell #ifndef MEM_LAYOUT_ENV_SETTINGS
206e6825e03SIan Campbell /* 2GB RAM, bootm size of 256M, load scripts after that */
207e6825e03SIan Campbell #define MEM_LAYOUT_ENV_SETTINGS \
208e6825e03SIan Campbell 	"bootm_size=0x10000000\0" \
209e6825e03SIan Campbell 	"kernel_addr_r=0x42000000\0" \
210e6825e03SIan Campbell 	"fdt_addr_r=0x43000000\0" \
211e6825e03SIan Campbell 	"ramdisk_addr_r=0x43300000\0" \
212e6825e03SIan Campbell 	"scriptaddr=0x50000000\0" \
213e6825e03SIan Campbell 	"pxefile_addr_r=0x51000000\0"
214e6825e03SIan Campbell #endif
215e6825e03SIan Campbell 
216e6825e03SIan Campbell #ifndef EXYNOS_DEVICE_SETTINGS
217e6825e03SIan Campbell #define EXYNOS_DEVICE_SETTINGS \
218e6825e03SIan Campbell 	"stdin=serial\0" \
219e6825e03SIan Campbell 	"stdout=serial\0" \
220e6825e03SIan Campbell 	"stderr=serial\0"
221e6825e03SIan Campbell #endif
222e6825e03SIan Campbell 
223e6825e03SIan Campbell #ifndef EXYNOS_FDTFILE_SETTING
224e6825e03SIan Campbell #define EXYNOS_FDTFILE_SETTING
225e6825e03SIan Campbell #endif
226e6825e03SIan Campbell 
227e6825e03SIan Campbell #define CONFIG_EXTRA_ENV_SETTINGS \
228e6825e03SIan Campbell 	EXYNOS_DEVICE_SETTINGS \
229e6825e03SIan Campbell 	EXYNOS_FDTFILE_SETTING \
230e6825e03SIan Campbell 	MEM_LAYOUT_ENV_SETTINGS \
231e6825e03SIan Campbell 	BOOTENV
232e6825e03SIan Campbell 
2334c7bb1d2SSimon Glass #endif	/* __CONFIG_EXYNOS5_COMMON_H */
234