1f0ff57b0SPeng Fan /* 2f0ff57b0SPeng Fan * Copyright (C) 2015 Freescale Semiconductor, Inc. 3f0ff57b0SPeng Fan * 4f0ff57b0SPeng Fan * Configuration settings for the Freescale i.MX6UL 14x14 EVK board. 5f0ff57b0SPeng Fan * 6f0ff57b0SPeng Fan * SPDX-License-Identifier: GPL-2.0+ 7f0ff57b0SPeng Fan */ 8f0ff57b0SPeng Fan #ifndef __MX6UL_14X14_EVK_CONFIG_H 9f0ff57b0SPeng Fan #define __MX6UL_14X14_EVK_CONFIG_H 10f0ff57b0SPeng Fan 11f0ff57b0SPeng Fan 12f0ff57b0SPeng Fan #include <asm/arch/imx-regs.h> 13f0ff57b0SPeng Fan #include <linux/sizes.h> 14f0ff57b0SPeng Fan #include "mx6_common.h" 15f0ff57b0SPeng Fan #include <asm/imx-common/gpio.h> 16f0ff57b0SPeng Fan 17f0ff57b0SPeng Fan /* SPL options */ 18f0ff57b0SPeng Fan #define CONFIG_SPL_LIBCOMMON_SUPPORT 19f0ff57b0SPeng Fan #define CONFIG_SPL_MMC_SUPPORT 20f0ff57b0SPeng Fan #define CONFIG_SPL_FAT_SUPPORT 21f0ff57b0SPeng Fan #include "imx6_spl.h" 22f0ff57b0SPeng Fan 23f0ff57b0SPeng Fan #define CONFIG_ROM_UNIFIED_SECTIONS 24f0ff57b0SPeng Fan #define CONFIG_SYS_GENERIC_BOARD 25f0ff57b0SPeng Fan #define CONFIG_DISPLAY_CPUINFO 26f0ff57b0SPeng Fan #define CONFIG_DISPLAY_BOARDINFO 27f0ff57b0SPeng Fan 28f0ff57b0SPeng Fan /* Size of malloc() pool */ 29f0ff57b0SPeng Fan #define CONFIG_SYS_MALLOC_LEN (16 * SZ_1M) 30f0ff57b0SPeng Fan 31f0ff57b0SPeng Fan #define CONFIG_BOARD_EARLY_INIT_F 32f0ff57b0SPeng Fan #define CONFIG_BOARD_LATE_INIT 33f0ff57b0SPeng Fan 34f0ff57b0SPeng Fan #define CONFIG_MXC_UART 35f0ff57b0SPeng Fan #define CONFIG_MXC_UART_BASE UART1_BASE 36f0ff57b0SPeng Fan 37f0ff57b0SPeng Fan #define CONFIG_CMD_FUSE 38f0ff57b0SPeng Fan #ifdef CONFIG_CMD_FUSE 39f0ff57b0SPeng Fan #define CONFIG_MXC_OCOTP 40f0ff57b0SPeng Fan #endif 41f0ff57b0SPeng Fan 42f0ff57b0SPeng Fan /* MMC Configs */ 43f0ff57b0SPeng Fan #ifdef CONFIG_FSL_USDHC 44f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR 45f0ff57b0SPeng Fan 46f0ff57b0SPeng Fan /* NAND pin conflicts with usdhc2 */ 47f0ff57b0SPeng Fan #ifdef CONFIG_NAND_MXS 48f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 1 49f0ff57b0SPeng Fan #else 50f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 2 51f0ff57b0SPeng Fan #endif 52f0ff57b0SPeng Fan 53f0ff57b0SPeng Fan #define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */ 54f0ff57b0SPeng Fan #endif 55f0ff57b0SPeng Fan 56f0ff57b0SPeng Fan #undef CONFIG_BOOTM_NETBSD 57f0ff57b0SPeng Fan #undef CONFIG_BOOTM_PLAN9 58f0ff57b0SPeng Fan #undef CONFIG_BOOTM_RTEMS 59f0ff57b0SPeng Fan 60f0ff57b0SPeng Fan #undef CONFIG_CMD_EXPORTENV 61f0ff57b0SPeng Fan #undef CONFIG_CMD_IMPORTENV 62f0ff57b0SPeng Fan 63f0ff57b0SPeng Fan /* I2C configs */ 64f0ff57b0SPeng Fan #define CONFIG_CMD_I2C 65f0ff57b0SPeng Fan #ifdef CONFIG_CMD_I2C 66f0ff57b0SPeng Fan #define CONFIG_SYS_I2C 67f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_MXC 68f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_SPEED 100000 69f0ff57b0SPeng Fan #endif 70f0ff57b0SPeng Fan 71f0ff57b0SPeng Fan #define PHYS_SDRAM_SIZE SZ_512M 72f0ff57b0SPeng Fan 73f0ff57b0SPeng Fan #undef CONFIG_CMD_IMLS 74f0ff57b0SPeng Fan 75f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 76f0ff57b0SPeng Fan 77f0ff57b0SPeng Fan #define CONFIG_EXTRA_ENV_SETTINGS \ 78f0ff57b0SPeng Fan "script=boot.scr\0" \ 79f0ff57b0SPeng Fan "image=zImage\0" \ 80f0ff57b0SPeng Fan "console=ttymxc0\0" \ 81f0ff57b0SPeng Fan "fdt_high=0xffffffff\0" \ 82f0ff57b0SPeng Fan "initrd_high=0xffffffff\0" \ 83f0ff57b0SPeng Fan "fdt_file=imx6ul-14x14-evk.dtb\0" \ 84f0ff57b0SPeng Fan "fdt_addr=0x83000000\0" \ 85f0ff57b0SPeng Fan "boot_fdt=try\0" \ 86f0ff57b0SPeng Fan "ip_dyn=yes\0" \ 87f0ff57b0SPeng Fan "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ 88f0ff57b0SPeng Fan "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ 89f0ff57b0SPeng Fan "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ 90f0ff57b0SPeng Fan "mmcautodetect=yes\0" \ 91f0ff57b0SPeng Fan "mmcargs=setenv bootargs console=${console},${baudrate} " \ 92f0ff57b0SPeng Fan "root=${mmcroot}\0" \ 93f0ff57b0SPeng Fan "loadbootscript=" \ 94f0ff57b0SPeng Fan "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 95f0ff57b0SPeng Fan "bootscript=echo Running bootscript from mmc ...; " \ 96f0ff57b0SPeng Fan "source\0" \ 97f0ff57b0SPeng Fan "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 98f0ff57b0SPeng Fan "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ 99f0ff57b0SPeng Fan "mmcboot=echo Booting from mmc ...; " \ 100f0ff57b0SPeng Fan "run mmcargs; " \ 101f0ff57b0SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 102f0ff57b0SPeng Fan "if run loadfdt; then " \ 103f0ff57b0SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 104f0ff57b0SPeng Fan "else " \ 105f0ff57b0SPeng Fan "if test ${boot_fdt} = try; then " \ 106f0ff57b0SPeng Fan "bootz; " \ 107f0ff57b0SPeng Fan "else " \ 108f0ff57b0SPeng Fan "echo WARN: Cannot load the DT; " \ 109f0ff57b0SPeng Fan "fi; " \ 110f0ff57b0SPeng Fan "fi; " \ 111f0ff57b0SPeng Fan "else " \ 112f0ff57b0SPeng Fan "bootz; " \ 113f0ff57b0SPeng Fan "fi;\0" \ 114f0ff57b0SPeng Fan "netargs=setenv bootargs console=${console},${baudrate} " \ 115f0ff57b0SPeng Fan "root=/dev/nfs " \ 116f0ff57b0SPeng Fan "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 117f0ff57b0SPeng Fan "netboot=echo Booting from net ...; " \ 118f0ff57b0SPeng Fan "run netargs; " \ 119f0ff57b0SPeng Fan "if test ${ip_dyn} = yes; then " \ 120f0ff57b0SPeng Fan "setenv get_cmd dhcp; " \ 121f0ff57b0SPeng Fan "else " \ 122f0ff57b0SPeng Fan "setenv get_cmd tftp; " \ 123f0ff57b0SPeng Fan "fi; " \ 124f0ff57b0SPeng Fan "${get_cmd} ${image}; " \ 125f0ff57b0SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 126f0ff57b0SPeng Fan "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 127f0ff57b0SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 128f0ff57b0SPeng Fan "else " \ 129f0ff57b0SPeng Fan "if test ${boot_fdt} = try; then " \ 130f0ff57b0SPeng Fan "bootz; " \ 131f0ff57b0SPeng Fan "else " \ 132f0ff57b0SPeng Fan "echo WARN: Cannot load the DT; " \ 133f0ff57b0SPeng Fan "fi; " \ 134f0ff57b0SPeng Fan "fi; " \ 135f0ff57b0SPeng Fan "else " \ 136f0ff57b0SPeng Fan "bootz; " \ 137f0ff57b0SPeng Fan "fi;\0" 138f0ff57b0SPeng Fan 139f0ff57b0SPeng Fan #define CONFIG_BOOTCOMMAND \ 140f0ff57b0SPeng Fan "mmc dev ${mmcdev};" \ 141f0ff57b0SPeng Fan "mmc dev ${mmcdev}; if mmc rescan; then " \ 142f0ff57b0SPeng Fan "if run loadbootscript; then " \ 143f0ff57b0SPeng Fan "run bootscript; " \ 144f0ff57b0SPeng Fan "else " \ 145f0ff57b0SPeng Fan "if run loadimage; then " \ 146f0ff57b0SPeng Fan "run mmcboot; " \ 147f0ff57b0SPeng Fan "else run netboot; " \ 148f0ff57b0SPeng Fan "fi; " \ 149f0ff57b0SPeng Fan "fi; " \ 150f0ff57b0SPeng Fan "else run netboot; fi" 151f0ff57b0SPeng Fan 152f0ff57b0SPeng Fan /* Miscellaneous configurable options */ 153f0ff57b0SPeng Fan /* Print Buffer Size */ 154f0ff57b0SPeng Fan #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 155f0ff57b0SPeng Fan 156f0ff57b0SPeng Fan #define CONFIG_CMD_MEMTEST 157f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_START 0x80000000 158f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x10000000) 159f0ff57b0SPeng Fan 160f0ff57b0SPeng Fan #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 161f0ff57b0SPeng Fan #define CONFIG_SYS_HZ 1000 162f0ff57b0SPeng Fan 163f0ff57b0SPeng Fan #define CONFIG_CMDLINE_EDITING 164f0ff57b0SPeng Fan #define CONFIG_STACKSIZE SZ_128K 165f0ff57b0SPeng Fan 166f0ff57b0SPeng Fan /* Physical Memory Map */ 167f0ff57b0SPeng Fan #define CONFIG_NR_DRAM_BANKS 1 168f0ff57b0SPeng Fan #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 169f0ff57b0SPeng Fan 170f0ff57b0SPeng Fan #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 171f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 172f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 173f0ff57b0SPeng Fan 174f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \ 175f0ff57b0SPeng Fan (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 176f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \ 177f0ff57b0SPeng Fan (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 178f0ff57b0SPeng Fan 179f0ff57b0SPeng Fan /* FLASH and environment organization */ 180f0ff57b0SPeng Fan #define CONFIG_SYS_NO_FLASH 181f0ff57b0SPeng Fan 182f0ff57b0SPeng Fan #define CONFIG_ENV_SIZE SZ_8K 183f0ff57b0SPeng Fan #define CONFIG_ENV_IS_IN_MMC 184f0ff57b0SPeng Fan #define CONFIG_ENV_OFFSET (8 * SZ_64K) 185f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */ 186f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_PART 0 /* user area */ 187f0ff57b0SPeng Fan #define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */ 188f0ff57b0SPeng Fan 189f0ff57b0SPeng Fan #define CONFIG_OF_LIBFDT 190f0ff57b0SPeng Fan #define CONFIG_CMD_BOOTZ 191f0ff57b0SPeng Fan #define CONFIG_CMD_BMODE 192f0ff57b0SPeng Fan 193f0ff57b0SPeng Fan #ifndef CONFIG_SYS_DCACHE_OFF 194f0ff57b0SPeng Fan #define CONFIG_CMD_CACHE 195f0ff57b0SPeng Fan #endif 196f0ff57b0SPeng Fan 197f0ff57b0SPeng Fan #define CONFIG_FSL_QSPI 198f0ff57b0SPeng Fan #ifdef CONFIG_FSL_QSPI 199f0ff57b0SPeng Fan #define CONFIG_CMD_SF 200f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH 201f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_STMICRO 202f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_BAR 203f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_BUS 0 204f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_CS 0 205f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_SPEED 40000000 206f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 207f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_NUM 1 208f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_SIZE SZ_32M 209f0ff57b0SPeng Fan #endif 210f0ff57b0SPeng Fan 211f0ff57b0SPeng Fan /* USB Configs */ 212f0ff57b0SPeng Fan #define CONFIG_CMD_USB 213f0ff57b0SPeng Fan #ifdef CONFIG_CMD_USB 214f0ff57b0SPeng Fan #define CONFIG_USB_EHCI 215f0ff57b0SPeng Fan #define CONFIG_USB_EHCI_MX6 216f0ff57b0SPeng Fan #define CONFIG_USB_STORAGE 217f0ff57b0SPeng Fan #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 218f0ff57b0SPeng Fan #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 219f0ff57b0SPeng Fan #define CONFIG_MXC_USB_FLAGS 0 220f0ff57b0SPeng Fan #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 221f0ff57b0SPeng Fan #endif 222f0ff57b0SPeng Fan 223*0d4cdb56SPeng Fan #ifdef CONFIG_CMD_NET 224*0d4cdb56SPeng Fan #define CONFIG_FEC_MXC 225*0d4cdb56SPeng Fan #define CONFIG_MII 226*0d4cdb56SPeng Fan #define CONFIG_FEC_ENET_DEV 1 227*0d4cdb56SPeng Fan 228*0d4cdb56SPeng Fan #if (CONFIG_FEC_ENET_DEV == 0) 229*0d4cdb56SPeng Fan #define IMX_FEC_BASE ENET_BASE_ADDR 230*0d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR 0x2 231*0d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE RMII 232*0d4cdb56SPeng Fan #elif (CONFIG_FEC_ENET_DEV == 1) 233*0d4cdb56SPeng Fan #define IMX_FEC_BASE ENET2_BASE_ADDR 234*0d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR 0x1 235*0d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE RMII 236*0d4cdb56SPeng Fan #endif 237*0d4cdb56SPeng Fan #define CONFIG_ETHPRIME "FEC" 238*0d4cdb56SPeng Fan 239*0d4cdb56SPeng Fan #define CONFIG_PHYLIB 240*0d4cdb56SPeng Fan #define CONFIG_PHY_MICREL 241*0d4cdb56SPeng Fan #define CONFIG_FEC_DMA_MINALIGN 64 242*0d4cdb56SPeng Fan #endif 243*0d4cdb56SPeng Fan 244f0ff57b0SPeng Fan #define CONFIG_IMX6_THERMAL 245f0ff57b0SPeng Fan 246f0ff57b0SPeng Fan #endif 247