xref: /rk3399_rockchip-uboot/include/configs/exynos5-common.h (revision 5ea01ab10dcdab41d1bfb1972b4b2298d5a26fcf)
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 
12*5ea01ab1SSimon Glass #define CONFIG_EXYNOS5			/* Exynos5 Family */
134c7bb1d2SSimon Glass 
14*5ea01ab1SSimon Glass #include "exynos-common.h"
154c7bb1d2SSimon Glass 
16*5ea01ab1SSimon Glass #define CONFIG_SYS_CACHELINE_SIZE	64
174c7bb1d2SSimon Glass #define CONFIG_ARCH_EARLY_INIT_R
184c7bb1d2SSimon Glass #define CONFIG_EXYNOS_SPL
194c7bb1d2SSimon Glass 
204c7bb1d2SSimon Glass /* Allow tracing to be enabled */
214c7bb1d2SSimon Glass #define CONFIG_TRACE
224c7bb1d2SSimon Glass #define CONFIG_CMD_TRACE
234c7bb1d2SSimon Glass #define CONFIG_TRACE_BUFFER_SIZE	(16 << 20)
244c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY_SIZE		(8 << 20)
254c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY
264c7bb1d2SSimon Glass #define CONFIG_TRACE_EARLY_ADDR		0x50000000
274c7bb1d2SSimon Glass 
284c7bb1d2SSimon Glass 
294c7bb1d2SSimon Glass /* Enable ACE acceleration for SHA1 and SHA256 */
304c7bb1d2SSimon Glass #define CONFIG_EXYNOS_ACE_SHA
314c7bb1d2SSimon Glass #define CONFIG_SHA_HW_ACCEL
324c7bb1d2SSimon Glass 
334c7bb1d2SSimon Glass /* Power Down Modes */
344c7bb1d2SSimon Glass #define S5P_CHECK_SLEEP			0x00000BAD
354c7bb1d2SSimon Glass #define S5P_CHECK_DIDLE			0xBAD00000
364c7bb1d2SSimon Glass #define S5P_CHECK_LPA			0xABAD0000
374c7bb1d2SSimon Glass 
384c7bb1d2SSimon Glass /* Offset for inform registers */
394c7bb1d2SSimon Glass #define INFORM0_OFFSET			0x800
404c7bb1d2SSimon Glass #define INFORM1_OFFSET			0x804
414c7bb1d2SSimon Glass #define INFORM2_OFFSET			0x808
424c7bb1d2SSimon Glass #define INFORM3_OFFSET			0x80c
434c7bb1d2SSimon Glass 
444c7bb1d2SSimon Glass /* select serial console configuration */
454c7bb1d2SSimon Glass #define CONFIG_BAUDRATE			115200
464c7bb1d2SSimon Glass #define EXYNOS5_DEFAULT_UART_OFFSET	0x010000
474c7bb1d2SSimon Glass #define CONFIG_SILENT_CONSOLE
48*5ea01ab1SSimon Glass #define CONFIG_SYS_CONSOLE_IS_IN_ENV
49*5ea01ab1SSimon Glass #define CONFIG_CONSOLE_MUX
504c7bb1d2SSimon Glass 
514c7bb1d2SSimon Glass /* Enable keyboard */
524c7bb1d2SSimon Glass #define CONFIG_CROS_EC		/* CROS_EC protocol */
534c7bb1d2SSimon Glass #define CONFIG_CROS_EC_KEYB	/* CROS_EC keyboard input */
544c7bb1d2SSimon Glass #define CONFIG_CMD_CROS_EC
554c7bb1d2SSimon Glass #define CONFIG_KEYBOARD
564c7bb1d2SSimon Glass 
574c7bb1d2SSimon Glass /* Console configuration */
584c7bb1d2SSimon Glass #define EXYNOS_DEVICE_SETTINGS \
594c7bb1d2SSimon Glass 		"stdin=serial,cros-ec-keyb\0" \
604c7bb1d2SSimon Glass 		"stdout=serial,lcd\0" \
614c7bb1d2SSimon Glass 		"stderr=serial,lcd\0"
624c7bb1d2SSimon Glass 
634c7bb1d2SSimon Glass #define CONFIG_EXTRA_ENV_SETTINGS \
644c7bb1d2SSimon Glass 	EXYNOS_DEVICE_SETTINGS
654c7bb1d2SSimon Glass 
664c7bb1d2SSimon Glass #define CONFIG_CMD_PING
674c7bb1d2SSimon Glass #define CONFIG_CMD_ELF
684c7bb1d2SSimon Glass #define CONFIG_CMD_NET
694c7bb1d2SSimon Glass #define CONFIG_CMD_HASH
704c7bb1d2SSimon Glass 
714c7bb1d2SSimon Glass /* Thermal Management Unit */
724c7bb1d2SSimon Glass #define CONFIG_EXYNOS_TMU
734c7bb1d2SSimon Glass #define CONFIG_CMD_DTT
744c7bb1d2SSimon Glass #define CONFIG_TMU_CMD_DTT
754c7bb1d2SSimon Glass 
764c7bb1d2SSimon Glass /* TPM */
774c7bb1d2SSimon Glass #define CONFIG_TPM
784c7bb1d2SSimon Glass #define CONFIG_CMD_TPM
794c7bb1d2SSimon Glass #define CONFIG_TPM_TIS_I2C
804c7bb1d2SSimon Glass #define CONFIG_TPM_TIS_I2C_BUS_NUMBER	3
814c7bb1d2SSimon Glass #define CONFIG_TPM_TIS_I2C_SLAVE_ADDR	0x20
824c7bb1d2SSimon Glass 
834c7bb1d2SSimon Glass /* MMC SPL */
844c7bb1d2SSimon Glass #define COPY_BL2_FNPTR_ADDR	0x02020030
85*5ea01ab1SSimon Glass #define CONFIG_SUPPORT_EMMC_BOOT
864c7bb1d2SSimon Glass 
874c7bb1d2SSimon Glass #define CONFIG_SPL_LIBCOMMON_SUPPORT
884c7bb1d2SSimon Glass #define CONFIG_SPL_GPIO_SUPPORT
894c7bb1d2SSimon Glass 
904c7bb1d2SSimon Glass /* specific .lds file */
914c7bb1d2SSimon Glass #define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
924c7bb1d2SSimon Glass 
934c7bb1d2SSimon Glass /* Miscellaneous configurable options */
944c7bb1d2SSimon Glass #define CONFIG_DEFAULT_CONSOLE		"console=ttySAC1,115200n8\0"
954c7bb1d2SSimon Glass /* Boot Argument Buffer Size */
964c7bb1d2SSimon Glass /* memtest works on */
974c7bb1d2SSimon Glass #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
984c7bb1d2SSimon Glass #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x5E00000)
994c7bb1d2SSimon Glass #define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x3E00000)
1004c7bb1d2SSimon Glass 
1014c7bb1d2SSimon Glass #define CONFIG_RD_LVL
1024c7bb1d2SSimon Glass 
1034c7bb1d2SSimon Glass #define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
1044c7bb1d2SSimon Glass #define PHYS_SDRAM_1_SIZE	SDRAM_BANK_SIZE
1054c7bb1d2SSimon Glass #define PHYS_SDRAM_2		(CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
1064c7bb1d2SSimon Glass #define PHYS_SDRAM_2_SIZE	SDRAM_BANK_SIZE
1074c7bb1d2SSimon Glass #define PHYS_SDRAM_3		(CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
1084c7bb1d2SSimon Glass #define PHYS_SDRAM_3_SIZE	SDRAM_BANK_SIZE
1094c7bb1d2SSimon Glass #define PHYS_SDRAM_4		(CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
1104c7bb1d2SSimon Glass #define PHYS_SDRAM_4_SIZE	SDRAM_BANK_SIZE
1114c7bb1d2SSimon Glass #define PHYS_SDRAM_5		(CONFIG_SYS_SDRAM_BASE + (4 * SDRAM_BANK_SIZE))
1124c7bb1d2SSimon Glass #define PHYS_SDRAM_5_SIZE	SDRAM_BANK_SIZE
1134c7bb1d2SSimon Glass #define PHYS_SDRAM_6		(CONFIG_SYS_SDRAM_BASE + (5 * SDRAM_BANK_SIZE))
1144c7bb1d2SSimon Glass #define PHYS_SDRAM_6_SIZE	SDRAM_BANK_SIZE
1154c7bb1d2SSimon Glass #define PHYS_SDRAM_7		(CONFIG_SYS_SDRAM_BASE + (6 * SDRAM_BANK_SIZE))
1164c7bb1d2SSimon Glass #define PHYS_SDRAM_7_SIZE	SDRAM_BANK_SIZE
1174c7bb1d2SSimon Glass #define PHYS_SDRAM_8		(CONFIG_SYS_SDRAM_BASE + (7 * SDRAM_BANK_SIZE))
1184c7bb1d2SSimon Glass #define PHYS_SDRAM_8_SIZE	SDRAM_BANK_SIZE
1194c7bb1d2SSimon Glass 
1204c7bb1d2SSimon Glass #define CONFIG_SYS_MONITOR_BASE	0x00000000
1214c7bb1d2SSimon Glass 
1224c7bb1d2SSimon Glass #define CONFIG_SYS_MMC_ENV_DEV		0
1234c7bb1d2SSimon Glass 
1244c7bb1d2SSimon Glass #define CONFIG_SECURE_BL1_ONLY
1254c7bb1d2SSimon Glass 
1264c7bb1d2SSimon Glass /* Secure FW size configuration */
1274c7bb1d2SSimon Glass #ifdef CONFIG_SECURE_BL1_ONLY
1284c7bb1d2SSimon Glass #define CONFIG_SEC_FW_SIZE (8 << 10) /* 8KB */
1294c7bb1d2SSimon Glass #else
1304c7bb1d2SSimon Glass #define CONFIG_SEC_FW_SIZE 0
1314c7bb1d2SSimon Glass #endif
1324c7bb1d2SSimon Glass 
1334c7bb1d2SSimon Glass /* Configuration of BL1, BL2, ENV Blocks on mmc */
1344c7bb1d2SSimon Glass #define CONFIG_RES_BLOCK_SIZE	(512)
1354c7bb1d2SSimon Glass #define CONFIG_BL1_SIZE	(16 << 10) /*16 K reserved for BL1*/
1364c7bb1d2SSimon Glass #define CONFIG_BL2_SIZE	(512UL << 10UL) /* 512 KB */
1374c7bb1d2SSimon Glass #define CONFIG_ENV_SIZE	(16 << 10) /* 16 KB */
1384c7bb1d2SSimon Glass 
1394c7bb1d2SSimon Glass #define CONFIG_BL1_OFFSET	(CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
1404c7bb1d2SSimon Glass #define CONFIG_BL2_OFFSET	(CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
1414c7bb1d2SSimon Glass 
1424c7bb1d2SSimon Glass /* Store environment at the end of a 4 MB SPI flash */
1434c7bb1d2SSimon Glass #define FLASH_SIZE		(0x4 << 20)
1444c7bb1d2SSimon Glass #define CONFIG_ENV_OFFSET	(FLASH_SIZE - CONFIG_BL2_SIZE)
1454c7bb1d2SSimon Glass 
1464c7bb1d2SSimon Glass /* U-boot copy size from boot Media to DRAM.*/
1474c7bb1d2SSimon Glass #define BL2_START_OFFSET	(CONFIG_BL2_OFFSET/512)
1484c7bb1d2SSimon Glass #define BL2_SIZE_BLOC_COUNT	(CONFIG_BL2_SIZE/512)
1494c7bb1d2SSimon Glass 
1504c7bb1d2SSimon Glass #define CONFIG_SPI_BOOTING
1514c7bb1d2SSimon Glass #define EXYNOS_COPY_SPI_FNPTR_ADDR	0x02020058
1524c7bb1d2SSimon Glass #define SPI_FLASH_UBOOT_POS	(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
1534c7bb1d2SSimon Glass 
1544c7bb1d2SSimon Glass /* I2C */
1554c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_INIT_BOARD
1564c7bb1d2SSimon Glass #define CONFIG_SYS_I2C
1574c7bb1d2SSimon Glass #define CONFIG_CMD_I2C
1584c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0_SPEED	100000		/* 100 Kbps */
1594c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0
1604c7bb1d2SSimon Glass #define CONFIG_I2C_MULTI_BUS
1614c7bb1d2SSimon Glass #define CONFIG_SYS_I2C_S3C24X0_SLAVE    0x0
1624c7bb1d2SSimon Glass #define CONFIG_I2C_EDID
1634c7bb1d2SSimon Glass 
1644c7bb1d2SSimon Glass /* SPI */
1654c7bb1d2SSimon Glass #define CONFIG_ENV_IS_IN_SPI_FLASH
1664c7bb1d2SSimon Glass #define CONFIG_SPI_FLASH
1674c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_BASE	0x12D30000
1684c7bb1d2SSimon Glass 
1694c7bb1d2SSimon Glass #ifdef CONFIG_SPI_FLASH
1704c7bb1d2SSimon Glass #define CONFIG_EXYNOS_SPI
1714c7bb1d2SSimon Glass #define CONFIG_CMD_SF
1724c7bb1d2SSimon Glass #define CONFIG_CMD_SPI
1734c7bb1d2SSimon Glass #define CONFIG_SPI_FLASH_WINBOND
1744c7bb1d2SSimon Glass #define CONFIG_SPI_FLASH_GIGADEVICE
1754c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
1764c7bb1d2SSimon Glass #define CONFIG_SF_DEFAULT_SPEED		50000000
1774c7bb1d2SSimon Glass #define EXYNOS5_SPI_NUM_CONTROLLERS	5
1784c7bb1d2SSimon Glass #define CONFIG_OF_SPI
1794c7bb1d2SSimon Glass #endif
1804c7bb1d2SSimon Glass 
1814c7bb1d2SSimon Glass #ifdef CONFIG_ENV_IS_IN_SPI_FLASH
1824c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MODE	SPI_MODE_0
1834c7bb1d2SSimon Glass #define CONFIG_ENV_SECT_SIZE	CONFIG_ENV_SIZE
1844c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_BUS	1
1854c7bb1d2SSimon Glass #define CONFIG_ENV_SPI_MAX_HZ	50000000
1864c7bb1d2SSimon Glass #endif
1874c7bb1d2SSimon Glass 
1884c7bb1d2SSimon Glass /* PMIC */
1894c7bb1d2SSimon Glass #define CONFIG_POWER
1904c7bb1d2SSimon Glass #define CONFIG_POWER_I2C
1914c7bb1d2SSimon Glass #define CONFIG_POWER_TPS65090
1924c7bb1d2SSimon Glass 
1934c7bb1d2SSimon Glass /* Ethernet Controllor Driver */
1944c7bb1d2SSimon Glass #ifdef CONFIG_CMD_NET
1954c7bb1d2SSimon Glass #define CONFIG_SMC911X
1964c7bb1d2SSimon Glass #define CONFIG_SMC911X_BASE		0x5000000
1974c7bb1d2SSimon Glass #define CONFIG_SMC911X_16_BIT
1984c7bb1d2SSimon Glass #define CONFIG_ENV_SROM_BANK		1
1994c7bb1d2SSimon Glass #endif /*CONFIG_CMD_NET*/
2004c7bb1d2SSimon Glass 
2014c7bb1d2SSimon Glass /* Enable PXE Support */
2024c7bb1d2SSimon Glass #ifdef CONFIG_CMD_NET
2034c7bb1d2SSimon Glass #define CONFIG_CMD_PXE
2044c7bb1d2SSimon Glass #define CONFIG_MENU
2054c7bb1d2SSimon Glass #endif
2064c7bb1d2SSimon Glass 
2074c7bb1d2SSimon Glass /* SHA hashing */
2084c7bb1d2SSimon Glass #define CONFIG_CMD_HASH
2094c7bb1d2SSimon Glass #define CONFIG_HASH_VERIFY
2104c7bb1d2SSimon Glass #define CONFIG_SHA1
2114c7bb1d2SSimon Glass #define CONFIG_SHA256
2124c7bb1d2SSimon Glass 
2134c7bb1d2SSimon Glass /* Enable Time Command */
2144c7bb1d2SSimon Glass #define CONFIG_CMD_TIME
2154c7bb1d2SSimon Glass 
2164c7bb1d2SSimon Glass #define CONFIG_CMD_BOOTZ
2174c7bb1d2SSimon Glass 
2184c7bb1d2SSimon Glass #define CONFIG_CMD_GPIO
2194c7bb1d2SSimon Glass 
2204c7bb1d2SSimon Glass /* USB boot mode */
2214c7bb1d2SSimon Glass #define CONFIG_USB_BOOTING
2224c7bb1d2SSimon Glass #define EXYNOS_COPY_USB_FNPTR_ADDR	0x02020070
2234c7bb1d2SSimon Glass #define EXYNOS_USB_SECONDARY_BOOT	0xfeed0002
2244c7bb1d2SSimon Glass #define EXYNOS_IRAM_SECONDARY_BASE	0x02020018
2254c7bb1d2SSimon Glass 
226*5ea01ab1SSimon Glass /* Enable FIT support and comparison */
227*5ea01ab1SSimon Glass #define CONFIG_FIT
228*5ea01ab1SSimon Glass #define CONFIG_FIT_BEST_MATCH
229*5ea01ab1SSimon Glass 
2304c7bb1d2SSimon Glass #endif	/* __CONFIG_EXYNOS5_COMMON_H */
231