1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 255a42b33SPeng Fan /* 355a42b33SPeng Fan * Copyright (C) 2016 Freescale Semiconductor, Inc. 455a42b33SPeng Fan * 555a42b33SPeng Fan * Configuration settings for the Freescale i.MX6UL 14x14 EVK board. 655a42b33SPeng Fan */ 755a42b33SPeng Fan #ifndef __MX6ULLEVK_CONFIG_H 855a42b33SPeng Fan #define __MX6ULLEVK_CONFIG_H 955a42b33SPeng Fan 1055a42b33SPeng Fan 1155a42b33SPeng Fan #include <asm/arch/imx-regs.h> 1255a42b33SPeng Fan #include <linux/sizes.h> 1355a42b33SPeng Fan #include "mx6_common.h" 14552a848eSStefano Babic #include <asm/mach-imx/gpio.h> 1555a42b33SPeng Fan 1655a42b33SPeng Fan #ifdef CONFIG_SECURE_BOOT 1755a42b33SPeng Fan #ifndef CONFIG_CSF_SIZE 1855a42b33SPeng Fan #define CONFIG_CSF_SIZE 0x4000 1955a42b33SPeng Fan #endif 2055a42b33SPeng Fan #endif 2155a42b33SPeng Fan 2255a42b33SPeng Fan #define PHYS_SDRAM_SIZE SZ_512M 2355a42b33SPeng Fan 2455a42b33SPeng Fan /* Size of malloc() pool */ 2555a42b33SPeng Fan #define CONFIG_SYS_MALLOC_LEN (16 * SZ_1M) 2655a42b33SPeng Fan 2755a42b33SPeng Fan #define CONFIG_MXC_UART 2855a42b33SPeng Fan #define CONFIG_MXC_UART_BASE UART1_BASE 2955a42b33SPeng Fan 3055a42b33SPeng Fan /* MMC Configs */ 3155a42b33SPeng Fan #ifdef CONFIG_FSL_USDHC 3255a42b33SPeng Fan #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR 3355a42b33SPeng Fan 3455a42b33SPeng Fan /* NAND pin conflicts with usdhc2 */ 3555a42b33SPeng Fan #ifdef CONFIG_SYS_USE_NAND 3655a42b33SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 1 3755a42b33SPeng Fan #else 3855a42b33SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 2 3955a42b33SPeng Fan #endif 4055a42b33SPeng Fan #endif 4155a42b33SPeng Fan 4255a42b33SPeng Fan /* I2C configs */ 4355a42b33SPeng Fan #ifdef CONFIG_CMD_I2C 4455a42b33SPeng Fan #define CONFIG_SYS_I2C_MXC 4555a42b33SPeng Fan #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 4655a42b33SPeng Fan #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 4755a42b33SPeng Fan #define CONFIG_SYS_I2C_SPEED 100000 4855a42b33SPeng Fan #endif 4955a42b33SPeng Fan 5055a42b33SPeng Fan #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 5155a42b33SPeng Fan 5255a42b33SPeng Fan #define CONFIG_EXTRA_ENV_SETTINGS \ 5355a42b33SPeng Fan "script=boot.scr\0" \ 5455a42b33SPeng Fan "image=zImage\0" \ 5555a42b33SPeng Fan "console=ttymxc0\0" \ 5655a42b33SPeng Fan "fdt_high=0xffffffff\0" \ 5755a42b33SPeng Fan "initrd_high=0xffffffff\0" \ 5855a42b33SPeng Fan "fdt_file=imx6ull-14x14-evk.dtb\0" \ 5955a42b33SPeng Fan "fdt_addr=0x83000000\0" \ 6055a42b33SPeng Fan "boot_fdt=try\0" \ 6155a42b33SPeng Fan "ip_dyn=yes\0" \ 6255a42b33SPeng Fan "videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0\0" \ 6355a42b33SPeng Fan "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ 6455a42b33SPeng Fan "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ 6555a42b33SPeng Fan "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ 6655a42b33SPeng Fan "mmcautodetect=yes\0" \ 6755a42b33SPeng Fan "mmcargs=setenv bootargs console=${console},${baudrate} " \ 6855a42b33SPeng Fan "root=${mmcroot}\0" \ 6955a42b33SPeng Fan "loadbootscript=" \ 7055a42b33SPeng Fan "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 7155a42b33SPeng Fan "bootscript=echo Running bootscript from mmc ...; " \ 7255a42b33SPeng Fan "source\0" \ 7355a42b33SPeng Fan "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 7455a42b33SPeng Fan "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ 7555a42b33SPeng Fan "mmcboot=echo Booting from mmc ...; " \ 7655a42b33SPeng Fan "run mmcargs; " \ 7755a42b33SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 7855a42b33SPeng Fan "if run loadfdt; then " \ 7955a42b33SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 8055a42b33SPeng Fan "else " \ 8155a42b33SPeng Fan "if test ${boot_fdt} = try; then " \ 8255a42b33SPeng Fan "bootz; " \ 8355a42b33SPeng Fan "else " \ 8455a42b33SPeng Fan "echo WARN: Cannot load the DT; " \ 8555a42b33SPeng Fan "fi; " \ 8655a42b33SPeng Fan "fi; " \ 8755a42b33SPeng Fan "else " \ 8855a42b33SPeng Fan "bootz; " \ 8955a42b33SPeng Fan "fi;\0" \ 9055a42b33SPeng Fan "netargs=setenv bootargs console=${console},${baudrate} " \ 9155a42b33SPeng Fan "root=/dev/nfs " \ 9255a42b33SPeng Fan "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 9355a42b33SPeng Fan "netboot=echo Booting from net ...; " \ 9455a42b33SPeng Fan "run netargs; " \ 9555a42b33SPeng Fan "if test ${ip_dyn} = yes; then " \ 9655a42b33SPeng Fan "setenv get_cmd dhcp; " \ 9755a42b33SPeng Fan "else " \ 9855a42b33SPeng Fan "setenv get_cmd tftp; " \ 9955a42b33SPeng Fan "fi; " \ 10055a42b33SPeng Fan "${get_cmd} ${image}; " \ 10155a42b33SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 10255a42b33SPeng Fan "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 10355a42b33SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 10455a42b33SPeng Fan "else " \ 10555a42b33SPeng Fan "if test ${boot_fdt} = try; then " \ 10655a42b33SPeng Fan "bootz; " \ 10755a42b33SPeng Fan "else " \ 10855a42b33SPeng Fan "echo WARN: Cannot load the DT; " \ 10955a42b33SPeng Fan "fi; " \ 11055a42b33SPeng Fan "fi; " \ 11155a42b33SPeng Fan "else " \ 11255a42b33SPeng Fan "bootz; " \ 11355a42b33SPeng Fan "fi;\0" \ 11455a42b33SPeng Fan 11555a42b33SPeng Fan #define CONFIG_BOOTCOMMAND \ 11655a42b33SPeng Fan "mmc dev ${mmcdev};" \ 11755a42b33SPeng Fan "mmc dev ${mmcdev}; if mmc rescan; then " \ 11855a42b33SPeng Fan "if run loadbootscript; then " \ 11955a42b33SPeng Fan "run bootscript; " \ 12055a42b33SPeng Fan "else " \ 12155a42b33SPeng Fan "if run loadimage; then " \ 12255a42b33SPeng Fan "run mmcboot; " \ 12355a42b33SPeng Fan "else run netboot; " \ 12455a42b33SPeng Fan "fi; " \ 12555a42b33SPeng Fan "fi; " \ 12655a42b33SPeng Fan "else run netboot; fi" 12755a42b33SPeng Fan 12855a42b33SPeng Fan /* Miscellaneous configurable options */ 12955a42b33SPeng Fan #define CONFIG_SYS_MEMTEST_START 0x80000000 13055a42b33SPeng Fan #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x8000000) 13155a42b33SPeng Fan 13255a42b33SPeng Fan #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 13355a42b33SPeng Fan #define CONFIG_SYS_HZ 1000 13455a42b33SPeng Fan 13555a42b33SPeng Fan /* Physical Memory Map */ 13655a42b33SPeng Fan #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 13755a42b33SPeng Fan 13855a42b33SPeng Fan #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 13955a42b33SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 14055a42b33SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 14155a42b33SPeng Fan 14255a42b33SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \ 14355a42b33SPeng Fan (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 14455a42b33SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \ 14555a42b33SPeng Fan (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 14655a42b33SPeng Fan 147e856bdcfSMasahiro Yamada /* environment organization */ 14855a42b33SPeng Fan #define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */ 14955a42b33SPeng Fan #define CONFIG_SYS_MMC_ENV_PART 0 /* user area */ 15055a42b33SPeng Fan #define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */ 15155a42b33SPeng Fan 15255a42b33SPeng Fan #define CONFIG_ENV_SIZE SZ_8K 15355a42b33SPeng Fan #define CONFIG_ENV_OFFSET (12 * SZ_64K) 15455a42b33SPeng Fan 15555a42b33SPeng Fan #define CONFIG_IMX_THERMAL 15655a42b33SPeng Fan 15755a42b33SPeng Fan #define CONFIG_IOMUX_LPSR 15855a42b33SPeng Fan 15955a42b33SPeng Fan #define CONFIG_SOFT_SPI 16055a42b33SPeng Fan 161a3cc4355SPeng Fan #ifdef CONFIG_FSL_QSPI 162a3cc4355SPeng Fan #define CONFIG_SYS_FSL_QSPI_AHB 163a3cc4355SPeng Fan #define FSL_QSPI_FLASH_NUM 1 164a3cc4355SPeng Fan #define FSL_QSPI_FLASH_SIZE SZ_32M 165a3cc4355SPeng Fan #endif 166a3cc4355SPeng Fan 16755a42b33SPeng Fan #endif 168