xref: /openbmc/u-boot/include/configs/warp7.h (revision 748ad078eefea2ee5a3c8e53ca46e9e93c2fc7f1)
183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
247173483SFabio Estevam /*
347173483SFabio Estevam  * Copyright (C) 2016 NXP Semiconductors
447173483SFabio Estevam  *
547173483SFabio Estevam  * Configuration settings for the i.MX7S Warp board.
647173483SFabio Estevam  */
747173483SFabio Estevam 
847173483SFabio Estevam #ifndef __WARP7_CONFIG_H
947173483SFabio Estevam #define __WARP7_CONFIG_H
1047173483SFabio Estevam 
1147173483SFabio Estevam #include "mx7_common.h"
12d9cb9aecSBryan O'Donoghue #include <imximage.h>
1347173483SFabio Estevam 
1447173483SFabio Estevam #define PHYS_SDRAM_SIZE			SZ_512M
1547173483SFabio Estevam 
16*a612e25eSRui Miguel Silva /*
17*a612e25eSRui Miguel Silva  * If we have defined the OPTEE ram size and not OPTEE it means that we were
18*a612e25eSRui Miguel Silva  * launched by OPTEE, because of that we shall skip all the low level
19*a612e25eSRui Miguel Silva  * initialization since it was already done by ATF or OPTEE
20*a612e25eSRui Miguel Silva  */
21*a612e25eSRui Miguel Silva #ifdef CONFIG_OPTEE_TZDRAM_SIZE
22*a612e25eSRui Miguel Silva #ifndef CONFIG_OPTEE
23*a612e25eSRui Miguel Silva #define CONFIG_SKIP_LOWLEVEL_INIT
24*a612e25eSRui Miguel Silva #endif
25*a612e25eSRui Miguel Silva #endif
26*a612e25eSRui Miguel Silva 
2701f512bcSFabio Estevam #define CONFIG_MXC_UART_BASE		UART1_IPS_BASE_ADDR
2801f512bcSFabio Estevam 
296baa2616SFabio Estevam /* Size of malloc() pool */
3067ef2c13SFabio Estevam #define CONFIG_SYS_MALLOC_LEN		(35 * SZ_1M)
316baa2616SFabio Estevam 
3247173483SFabio Estevam /* MMC Config*/
3347173483SFabio Estevam #define CONFIG_SYS_FSL_ESDHC_ADDR       USDHC3_BASE_ADDR
3447173483SFabio Estevam #define CONFIG_SUPPORT_EMMC_BOOT
3547173483SFabio Estevam #define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE
3647173483SFabio Estevam #define CONFIG_SYS_MMC_IMG_LOAD_PART	1
3747173483SFabio Estevam 
38852cc548SBryan O'Donoghue /* Switch on SERIAL_TAG */
39852cc548SBryan O'Donoghue #define CONFIG_SERIAL_TAG
40852cc548SBryan O'Donoghue 
4147173483SFabio Estevam #define CONFIG_DFU_ENV_SETTINGS \
4267ef2c13SFabio Estevam 	"dfu_alt_info=boot raw 0x2 0x400 mmcpart 1\0" \
4347173483SFabio Estevam 
4447173483SFabio Estevam #define CONFIG_EXTRA_ENV_SETTINGS \
4547173483SFabio Estevam 	CONFIG_DFU_ENV_SETTINGS \
4647173483SFabio Estevam 	"script=boot.scr\0" \
47e4514051SBryan O'Donoghue 	"script_signed=boot.scr.imx-signed\0" \
4847173483SFabio Estevam 	"image=zImage\0" \
4947173483SFabio Estevam 	"console=ttymxc0\0" \
5025aaebdbSKevin Hilman 	"ethact=usb_ether\0" \
5147173483SFabio Estevam 	"fdt_high=0xffffffff\0" \
5247173483SFabio Estevam 	"initrd_high=0xffffffff\0" \
53ed395226SBreno Lima 	"fdt_file=imx7s-warp.dtb\0" \
5456eca404SBryan O'Donoghue 	"fdt_addr=" __stringify(CONFIG_SYS_FDT_ADDR)"\0" \
554bcbfcf4SBryan O'Donoghue 	"optee_addr=" __stringify(CONFIG_OPTEE_LOAD_ADDR)"\0" \
5647173483SFabio Estevam 	"boot_fdt=try\0" \
5747173483SFabio Estevam 	"ip_dyn=yes\0" \
5847173483SFabio Estevam 	"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
5947173483SFabio Estevam 	"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
6029480898SBryan O'Donoghue 	"rootpart=" __stringify(CONFIG_WARP7_ROOT_PART) "\0" \
6129480898SBryan O'Donoghue 	"finduuid=part uuid mmc 0:${rootpart} uuid\0" \
6247173483SFabio Estevam 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
63ca4f338eSFabio Estevam 		"root=PARTUUID=${uuid} rootwait rw\0" \
64d9cb9aecSBryan O'Donoghue 	"ivt_offset=" __stringify(BOOTROM_IVT_HDR_OFFSET)"\0"\
65c0df0caeSBryan O'Donoghue 	"warp7_auth_or_fail=hab_auth_img_or_fail ${hab_ivt_addr} ${filesize} 0;\0" \
66bb96a08dSBryan O'Donoghue 	"do_bootscript_hab=" \
67bb96a08dSBryan O'Donoghue 		"if test ${hab_enabled} -eq 1; then " \
68bb96a08dSBryan O'Donoghue 			"setexpr hab_ivt_addr ${loadaddr} - ${ivt_offset}; " \
69bb96a08dSBryan O'Donoghue 			"setenv script ${script_signed}; " \
70bb96a08dSBryan O'Donoghue 			"load mmc ${mmcdev}:${mmcpart} ${hab_ivt_addr} ${script}; " \
71bb96a08dSBryan O'Donoghue 			"run warp7_auth_or_fail; " \
72bb96a08dSBryan O'Donoghue 			"run bootscript; "\
73bb96a08dSBryan O'Donoghue 		"fi;\0" \
7447173483SFabio Estevam 	"loadbootscript=" \
75206426aaSPierre-Jean TEXIER 		"load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
7647173483SFabio Estevam 	"bootscript=echo Running bootscript from mmc ...; " \
7747173483SFabio Estevam 		"source\0" \
78206426aaSPierre-Jean TEXIER 	"loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
79206426aaSPierre-Jean TEXIER 	"loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
8047173483SFabio Estevam 	"mmcboot=echo Booting from mmc ...; " \
81ca4f338eSFabio Estevam 		"run finduuid; " \
8247173483SFabio Estevam 		"run mmcargs; " \
8347173483SFabio Estevam 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
8447173483SFabio Estevam 			"if run loadfdt; then " \
8547173483SFabio Estevam 				"bootz ${loadaddr} - ${fdt_addr}; " \
8647173483SFabio Estevam 			"else " \
8747173483SFabio Estevam 				"if test ${boot_fdt} = try; then " \
8847173483SFabio Estevam 					"bootz; " \
8947173483SFabio Estevam 				"else " \
9047173483SFabio Estevam 					"echo WARN: Cannot load the DT; " \
9147173483SFabio Estevam 				"fi; " \
9247173483SFabio Estevam 			"fi; " \
9347173483SFabio Estevam 		"else " \
9447173483SFabio Estevam 			"bootz; " \
9547173483SFabio Estevam 		"fi;\0" \
9647173483SFabio Estevam 
9747173483SFabio Estevam #define CONFIG_BOOTCOMMAND \
9847173483SFabio Estevam 	   "mmc dev ${mmcdev};" \
9947173483SFabio Estevam 	   "mmc dev ${mmcdev}; if mmc rescan; then " \
100bb96a08dSBryan O'Donoghue 		   "run do_bootscript_hab;" \
10147173483SFabio Estevam 		   "if run loadbootscript; then " \
10247173483SFabio Estevam 			   "run bootscript; " \
10347173483SFabio Estevam 		   "else " \
10447173483SFabio Estevam 			   "if run loadimage; then " \
10547173483SFabio Estevam 				   "run mmcboot; " \
10647173483SFabio Estevam 			   "fi; " \
10747173483SFabio Estevam 		   "fi; " \
10847173483SFabio Estevam 	   "fi"
10947173483SFabio Estevam 
11047173483SFabio Estevam #define CONFIG_SYS_MEMTEST_START	0x80000000
11147173483SFabio Estevam #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + 0x20000000)
11247173483SFabio Estevam 
11347173483SFabio Estevam #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
11447173483SFabio Estevam #define CONFIG_SYS_HZ			1000
11547173483SFabio Estevam 
11647173483SFabio Estevam /* Physical Memory Map */
11747173483SFabio Estevam #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
11847173483SFabio Estevam 
11947173483SFabio Estevam #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
12047173483SFabio Estevam #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
12147173483SFabio Estevam #define CONFIG_SYS_INIT_RAM_SIZE	IRAM_SIZE
12247173483SFabio Estevam 
12347173483SFabio Estevam #define CONFIG_SYS_INIT_SP_OFFSET \
12447173483SFabio Estevam 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
12547173483SFabio Estevam #define CONFIG_SYS_INIT_SP_ADDR \
12647173483SFabio Estevam 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
12747173483SFabio Estevam 
1287d301a59SVanessa Maegima /* I2C configs */
1297d301a59SVanessa Maegima #define CONFIG_SYS_I2C_MXC
1307d301a59SVanessa Maegima #define CONFIG_SYS_I2C_SPEED		100000
1317d301a59SVanessa Maegima 
132e856bdcfSMasahiro Yamada /* environment organization */
13347173483SFabio Estevam #define CONFIG_ENV_SIZE			SZ_8K
13447173483SFabio Estevam 
13547173483SFabio Estevam #define CONFIG_ENV_OFFSET		(8 * SZ_64K)
13647173483SFabio Estevam #define CONFIG_SYS_FSL_USDHC_NUM	1
13747173483SFabio Estevam 
13847173483SFabio Estevam #define CONFIG_SYS_MMC_ENV_DEV		0
13947173483SFabio Estevam #define CONFIG_SYS_MMC_ENV_PART		0
14047173483SFabio Estevam 
14147173483SFabio Estevam /* USB Configs */
14247173483SFabio Estevam #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
14347173483SFabio Estevam 
14447173483SFabio Estevam #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI | PORT_PTS_PTW)
14547173483SFabio Estevam #define CONFIG_MXC_USB_FLAGS		0
14647173483SFabio Estevam #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 /* Only OTG1 port enabled */
14747173483SFabio Estevam 
14847173483SFabio Estevam #define CONFIG_IMX_THERMAL
14947173483SFabio Estevam 
15047173483SFabio Estevam #define CONFIG_USBD_HS
15147173483SFabio Estevam 
15247173483SFabio Estevam /* USB Device Firmware Update support */
15347173483SFabio Estevam #define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
15447173483SFabio Estevam #define DFU_DEFAULT_POLL_TIMEOUT	300
15547173483SFabio Estevam 
15625aaebdbSKevin Hilman #define CONFIG_USBNET_DEV_ADDR		"de:ad:be:af:00:01"
15725aaebdbSKevin Hilman 
158a2accd84SBryan O'Donoghue /* Environment variable name to represent HAB enable state */
159a2accd84SBryan O'Donoghue #define HAB_ENABLED_ENVNAME		"hab_enabled"
160a2accd84SBryan O'Donoghue 
16147173483SFabio Estevam #endif
162