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