1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 277fa0457SPeng Fan /* 377fa0457SPeng Fan * Copyright (C) 2016 Freescale Semiconductor, Inc. 477fa0457SPeng Fan * 577fa0457SPeng Fan * Configuration settings for the Freescale i.MX7ULP EVK board. 677fa0457SPeng Fan */ 777fa0457SPeng Fan 877fa0457SPeng Fan #ifndef __MX7ULP_EVK_CONFIG_H 977fa0457SPeng Fan #define __MX7ULP_EVK_CONFIG_H 1077fa0457SPeng Fan 1177fa0457SPeng Fan #include <linux/sizes.h> 1277fa0457SPeng Fan #include <asm/arch/imx-regs.h> 1377fa0457SPeng Fan 1477fa0457SPeng Fan /*Uncomment it to use secure boot*/ 1577fa0457SPeng Fan /*#define CONFIG_SECURE_BOOT*/ 1677fa0457SPeng Fan 1777fa0457SPeng Fan #ifdef CONFIG_SECURE_BOOT 1877fa0457SPeng Fan #ifndef CONFIG_CSF_SIZE 1977fa0457SPeng Fan #define CONFIG_CSF_SIZE 0x4000 2077fa0457SPeng Fan #endif 2177fa0457SPeng Fan #endif 2277fa0457SPeng Fan 2377fa0457SPeng Fan #define CONFIG_BOARD_POSTCLK_INIT 2477fa0457SPeng Fan #define CONFIG_SYS_BOOTM_LEN 0x1000000 2577fa0457SPeng Fan 2677fa0457SPeng Fan #define SRC_BASE_ADDR CMC1_RBASE 2777fa0457SPeng Fan #define IRAM_BASE_ADDR OCRAM_0_BASE 2877fa0457SPeng Fan #define IOMUXC_BASE_ADDR IOMUXC1_RBASE 2977fa0457SPeng Fan 3004cb0d3eSPeng Fan #define CONFIG_FSL_USDHC 3104cb0d3eSPeng Fan #define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */ 3204cb0d3eSPeng Fan 3304cb0d3eSPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 1 3404cb0d3eSPeng Fan 3504cb0d3eSPeng Fan #define CONFIG_SYS_FSL_ESDHC_ADDR 0 3604cb0d3eSPeng Fan #define CONFIG_SYS_MMC_ENV_DEV 0 /* USDHC1 */ 3704cb0d3eSPeng Fan #define CONFIG_SYS_MMC_ENV_PART 0 /* user area */ 3804cb0d3eSPeng Fan #define CONFIG_MMCROOT "/dev/mmcblk0p2" /* USDHC1 */ 3904cb0d3eSPeng Fan #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 4004cb0d3eSPeng Fan 4104cb0d3eSPeng Fan #define CONFIG_ENV_OFFSET (12 * SZ_64K) 4277fa0457SPeng Fan #define CONFIG_ENV_SIZE SZ_8K 4377fa0457SPeng Fan 4477fa0457SPeng Fan /* Using ULP WDOG for reset */ 4577fa0457SPeng Fan #define WDOG_BASE_ADDR WDG1_RBASE 4677fa0457SPeng Fan 4777fa0457SPeng Fan #define CONFIG_SYS_HZ_CLOCK 1000000 /* Fixed at 1Mhz from TSTMR */ 4877fa0457SPeng Fan 4977fa0457SPeng Fan #define CONFIG_INITRD_TAG 5077fa0457SPeng Fan #define CONFIG_CMDLINE_TAG 5177fa0457SPeng Fan #define CONFIG_SETUP_MEMORY_TAGS 5277fa0457SPeng Fan /*#define CONFIG_REVISION_TAG*/ 5377fa0457SPeng Fan 5477fa0457SPeng Fan /* Size of malloc() pool */ 5577fa0457SPeng Fan #define CONFIG_SYS_MALLOC_LEN (8 * SZ_1M) 5677fa0457SPeng Fan 5777fa0457SPeng Fan #define CONFIG_BOARD_EARLY_INIT_F 5877fa0457SPeng Fan 5977fa0457SPeng Fan /* UART */ 6077fa0457SPeng Fan #define LPUART_BASE LPUART4_RBASE 6177fa0457SPeng Fan 6277fa0457SPeng Fan /* allow to overwrite serial and ethaddr */ 6377fa0457SPeng Fan #define CONFIG_ENV_OVERWRITE 6477fa0457SPeng Fan #define CONFIG_BAUDRATE 115200 6577fa0457SPeng Fan 6677fa0457SPeng Fan #define CONFIG_SYS_CACHELINE_SIZE 64 6777fa0457SPeng Fan 6877fa0457SPeng Fan /* Miscellaneous configurable options */ 6977fa0457SPeng Fan #define CONFIG_SYS_PROMPT "=> " 7077fa0457SPeng Fan #define CONFIG_SYS_CBSIZE 512 7177fa0457SPeng Fan 7277fa0457SPeng Fan #define CONFIG_SYS_MAXARGS 256 7377fa0457SPeng Fan 7477fa0457SPeng Fan /* Physical Memory Map */ 7577fa0457SPeng Fan 7677fa0457SPeng Fan #define PHYS_SDRAM 0x60000000 7777fa0457SPeng Fan #define PHYS_SDRAM_SIZE SZ_1G 7877fa0457SPeng Fan #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM 7977fa0457SPeng Fan #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 8077fa0457SPeng Fan 8177fa0457SPeng Fan #define CONFIG_LOADADDR 0x60800000 8277fa0457SPeng Fan 8377fa0457SPeng Fan #define CONFIG_SYS_MEMTEST_END 0x9E000000 8477fa0457SPeng Fan 8504cb0d3eSPeng Fan #define CONFIG_EXTRA_ENV_SETTINGS \ 8604cb0d3eSPeng Fan "script=boot.scr\0" \ 8704cb0d3eSPeng Fan "image=zImage\0" \ 8804cb0d3eSPeng Fan "console=ttyLP0\0" \ 8904cb0d3eSPeng Fan "fdt_high=0xffffffff\0" \ 9004cb0d3eSPeng Fan "initrd_high=0xffffffff\0" \ 9104cb0d3eSPeng Fan "fdt_file=imx7ulp-evk.dtb\0" \ 9204cb0d3eSPeng Fan "fdt_addr=0x63000000\0" \ 9304cb0d3eSPeng Fan "boot_fdt=try\0" \ 9404cb0d3eSPeng Fan "earlycon=lpuart32,0x402D0010\0" \ 9504cb0d3eSPeng Fan "ip_dyn=yes\0" \ 9604cb0d3eSPeng Fan "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ 9704cb0d3eSPeng Fan "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ 9804cb0d3eSPeng Fan "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ 9904cb0d3eSPeng Fan "mmcautodetect=yes\0" \ 10004cb0d3eSPeng Fan "mmcargs=setenv bootargs console=${console},${baudrate} " \ 10104cb0d3eSPeng Fan "root=${mmcroot}\0" \ 10204cb0d3eSPeng Fan "loadbootscript=" \ 10304cb0d3eSPeng Fan "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 10404cb0d3eSPeng Fan "bootscript=echo Running bootscript from mmc ...; " \ 10504cb0d3eSPeng Fan "source\0" \ 10604cb0d3eSPeng Fan "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 10704cb0d3eSPeng Fan "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ 10804cb0d3eSPeng Fan "mmcboot=echo Booting from mmc ...; " \ 10904cb0d3eSPeng Fan "run mmcargs; " \ 11004cb0d3eSPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 11104cb0d3eSPeng Fan "if run loadfdt; then " \ 11204cb0d3eSPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 11304cb0d3eSPeng Fan "else " \ 11404cb0d3eSPeng Fan "if test ${boot_fdt} = try; then " \ 11504cb0d3eSPeng Fan "bootz; " \ 11604cb0d3eSPeng Fan "else " \ 11704cb0d3eSPeng Fan "echo WARN: Cannot load the DT; " \ 11804cb0d3eSPeng Fan "fi; " \ 11904cb0d3eSPeng Fan "fi; " \ 12004cb0d3eSPeng Fan "else " \ 12104cb0d3eSPeng Fan "bootz; " \ 12204cb0d3eSPeng Fan "fi;\0" \ 12304cb0d3eSPeng Fan "netargs=setenv bootargs console=${console},${baudrate} " \ 12404cb0d3eSPeng Fan "root=/dev/nfs " \ 12504cb0d3eSPeng Fan "ip=:::::eth0:dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 12604cb0d3eSPeng Fan "netboot=echo Booting from net ...; " \ 12704cb0d3eSPeng Fan "run netargs; " \ 12804cb0d3eSPeng Fan "if test ${ip_dyn} = yes; then " \ 12904cb0d3eSPeng Fan "setenv get_cmd dhcp; " \ 13004cb0d3eSPeng Fan "else " \ 13104cb0d3eSPeng Fan "setenv get_cmd tftp; " \ 13204cb0d3eSPeng Fan "fi; " \ 13304cb0d3eSPeng Fan "usb start; "\ 13404cb0d3eSPeng Fan "${get_cmd} ${image}; " \ 13504cb0d3eSPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 13604cb0d3eSPeng Fan "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 13704cb0d3eSPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 13804cb0d3eSPeng Fan "else " \ 13904cb0d3eSPeng Fan "if test ${boot_fdt} = try; then " \ 14004cb0d3eSPeng Fan "bootz; " \ 14104cb0d3eSPeng Fan "else " \ 14204cb0d3eSPeng Fan "echo WARN: Cannot load the DT; " \ 14304cb0d3eSPeng Fan "fi; " \ 14404cb0d3eSPeng Fan "fi; " \ 14504cb0d3eSPeng Fan "else " \ 14604cb0d3eSPeng Fan "bootz; " \ 14704cb0d3eSPeng Fan "fi;\0" \ 14804cb0d3eSPeng Fan 14904cb0d3eSPeng Fan #define CONFIG_BOOTCOMMAND \ 15004cb0d3eSPeng Fan "mmc dev ${mmcdev}; if mmc rescan; then " \ 15104cb0d3eSPeng Fan "if run loadbootscript; then " \ 15204cb0d3eSPeng Fan "run bootscript; " \ 15304cb0d3eSPeng Fan "else " \ 15404cb0d3eSPeng Fan "if run loadimage; then " \ 15504cb0d3eSPeng Fan "run mmcboot; " \ 15604cb0d3eSPeng Fan "fi; " \ 15704cb0d3eSPeng Fan "fi; " \ 15804cb0d3eSPeng Fan "fi" 15904cb0d3eSPeng Fan 16077fa0457SPeng Fan #define CONFIG_SYS_HZ 1000 16177fa0457SPeng Fan #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 16277fa0457SPeng Fan 16377fa0457SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 16477fa0457SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE SZ_256K 16577fa0457SPeng Fan 16677fa0457SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \ 16777fa0457SPeng Fan (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 16877fa0457SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \ 16977fa0457SPeng Fan (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 17077fa0457SPeng Fan 17177fa0457SPeng Fan #ifndef CONFIG_SYS_DCACHE_OFF 17277fa0457SPeng Fan #define CONFIG_CMD_CACHE 17377fa0457SPeng Fan #endif 17477fa0457SPeng Fan 17577fa0457SPeng Fan #endif /* __CONFIG_H */ 176