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 17d9cbb264SPeng Fan #define is_mx6ul_9x9_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) 18d9cbb264SPeng Fan 19f0ff57b0SPeng Fan /* SPL options */ 20f0ff57b0SPeng Fan #define CONFIG_SPL_LIBCOMMON_SUPPORT 21f0ff57b0SPeng Fan #define CONFIG_SPL_MMC_SUPPORT 22f0ff57b0SPeng Fan #include "imx6_spl.h" 23f0ff57b0SPeng Fan 24d9cbb264SPeng Fan #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 25d9cbb264SPeng Fan 26f0ff57b0SPeng Fan #define CONFIG_DISPLAY_CPUINFO 27f0ff57b0SPeng Fan #define CONFIG_DISPLAY_BOARDINFO 28f0ff57b0SPeng Fan 29f0ff57b0SPeng Fan /* Size of malloc() pool */ 30f0ff57b0SPeng Fan #define CONFIG_SYS_MALLOC_LEN (16 * SZ_1M) 31f0ff57b0SPeng Fan 32f0ff57b0SPeng Fan #define CONFIG_BOARD_EARLY_INIT_F 33f0ff57b0SPeng Fan #define CONFIG_BOARD_LATE_INIT 34f0ff57b0SPeng Fan 35f0ff57b0SPeng Fan #define CONFIG_MXC_UART 36f0ff57b0SPeng Fan #define CONFIG_MXC_UART_BASE UART1_BASE 37f0ff57b0SPeng Fan 38f0ff57b0SPeng Fan /* MMC Configs */ 39f0ff57b0SPeng Fan #ifdef CONFIG_FSL_USDHC 40f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR 41f0ff57b0SPeng Fan 42f0ff57b0SPeng Fan /* NAND pin conflicts with usdhc2 */ 43f0ff57b0SPeng Fan #ifdef CONFIG_NAND_MXS 44f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 1 45f0ff57b0SPeng Fan #else 46f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 2 47f0ff57b0SPeng Fan #endif 48f0ff57b0SPeng Fan 49f0ff57b0SPeng Fan #define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */ 50f0ff57b0SPeng Fan #endif 51f0ff57b0SPeng Fan 52f0ff57b0SPeng Fan /* I2C configs */ 53f0ff57b0SPeng Fan #define CONFIG_CMD_I2C 54f0ff57b0SPeng Fan #ifdef CONFIG_CMD_I2C 55f0ff57b0SPeng Fan #define CONFIG_SYS_I2C 56f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_MXC 5703544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 5803544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 59f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_SPEED 100000 60f0ff57b0SPeng Fan 61d9cbb264SPeng Fan /* PMIC only for 9X9 EVK */ 62d9cbb264SPeng Fan #define CONFIG_POWER 63d9cbb264SPeng Fan #define CONFIG_POWER_I2C 64d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000 65d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 66d9cbb264SPeng Fan #endif 67f0ff57b0SPeng Fan 68f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 69f0ff57b0SPeng Fan 70f0ff57b0SPeng Fan #define CONFIG_EXTRA_ENV_SETTINGS \ 71f0ff57b0SPeng Fan "script=boot.scr\0" \ 72f0ff57b0SPeng Fan "image=zImage\0" \ 73f0ff57b0SPeng Fan "console=ttymxc0\0" \ 74f0ff57b0SPeng Fan "fdt_high=0xffffffff\0" \ 75f0ff57b0SPeng Fan "initrd_high=0xffffffff\0" \ 76d9cbb264SPeng Fan "fdt_file=undefined\0" \ 77f0ff57b0SPeng Fan "fdt_addr=0x83000000\0" \ 78f0ff57b0SPeng Fan "boot_fdt=try\0" \ 79f0ff57b0SPeng Fan "ip_dyn=yes\0" \ 80*df674904SPeng 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" \ 81f0ff57b0SPeng Fan "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ 82f0ff57b0SPeng Fan "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ 83f0ff57b0SPeng Fan "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ 84f0ff57b0SPeng Fan "mmcautodetect=yes\0" \ 85f0ff57b0SPeng Fan "mmcargs=setenv bootargs console=${console},${baudrate} " \ 86f0ff57b0SPeng Fan "root=${mmcroot}\0" \ 87f0ff57b0SPeng Fan "loadbootscript=" \ 88f0ff57b0SPeng Fan "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 89f0ff57b0SPeng Fan "bootscript=echo Running bootscript from mmc ...; " \ 90f0ff57b0SPeng Fan "source\0" \ 91f0ff57b0SPeng Fan "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 92f0ff57b0SPeng Fan "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ 93f0ff57b0SPeng Fan "mmcboot=echo Booting from mmc ...; " \ 94f0ff57b0SPeng Fan "run mmcargs; " \ 95f0ff57b0SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 96f0ff57b0SPeng Fan "if run loadfdt; then " \ 97f0ff57b0SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 98f0ff57b0SPeng Fan "else " \ 99f0ff57b0SPeng Fan "if test ${boot_fdt} = try; then " \ 100f0ff57b0SPeng Fan "bootz; " \ 101f0ff57b0SPeng Fan "else " \ 102f0ff57b0SPeng Fan "echo WARN: Cannot load the DT; " \ 103f0ff57b0SPeng Fan "fi; " \ 104f0ff57b0SPeng Fan "fi; " \ 105f0ff57b0SPeng Fan "else " \ 106f0ff57b0SPeng Fan "bootz; " \ 107f0ff57b0SPeng Fan "fi;\0" \ 108f0ff57b0SPeng Fan "netargs=setenv bootargs console=${console},${baudrate} " \ 109f0ff57b0SPeng Fan "root=/dev/nfs " \ 110f0ff57b0SPeng Fan "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 111f0ff57b0SPeng Fan "netboot=echo Booting from net ...; " \ 112f0ff57b0SPeng Fan "run netargs; " \ 113f0ff57b0SPeng Fan "if test ${ip_dyn} = yes; then " \ 114f0ff57b0SPeng Fan "setenv get_cmd dhcp; " \ 115f0ff57b0SPeng Fan "else " \ 116f0ff57b0SPeng Fan "setenv get_cmd tftp; " \ 117f0ff57b0SPeng Fan "fi; " \ 118f0ff57b0SPeng Fan "${get_cmd} ${image}; " \ 119f0ff57b0SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 120f0ff57b0SPeng Fan "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 121f0ff57b0SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 122f0ff57b0SPeng Fan "else " \ 123f0ff57b0SPeng Fan "if test ${boot_fdt} = try; then " \ 124f0ff57b0SPeng Fan "bootz; " \ 125f0ff57b0SPeng Fan "else " \ 126f0ff57b0SPeng Fan "echo WARN: Cannot load the DT; " \ 127f0ff57b0SPeng Fan "fi; " \ 128f0ff57b0SPeng Fan "fi; " \ 129f0ff57b0SPeng Fan "else " \ 130f0ff57b0SPeng Fan "bootz; " \ 131d9cbb264SPeng Fan "fi;\0" \ 132d9cbb264SPeng Fan "findfdt="\ 133d9cbb264SPeng Fan "if test $fdt_file = undefined; then " \ 134d9cbb264SPeng Fan "if test $board_name = EVK && test $board_rev = 9X9; then " \ 135d9cbb264SPeng Fan "setenv fdt_file imx6ul-9x9-evk.dtb; fi; " \ 136d9cbb264SPeng Fan "if test $board_name = EVK && test $board_rev = 14X14; then " \ 137d9cbb264SPeng Fan "setenv fdt_file imx6ul-14x14-evk.dtb; fi; " \ 138d9cbb264SPeng Fan "if test $fdt_file = undefined; then " \ 139d9cbb264SPeng Fan "echo WARNING: Could not determine dtb to use; fi; " \ 140d9cbb264SPeng Fan "fi;\0" \ 141f0ff57b0SPeng Fan 142f0ff57b0SPeng Fan #define CONFIG_BOOTCOMMAND \ 143d9cbb264SPeng Fan "run findfdt;" \ 144f0ff57b0SPeng Fan "mmc dev ${mmcdev};" \ 145f0ff57b0SPeng Fan "mmc dev ${mmcdev}; if mmc rescan; then " \ 146f0ff57b0SPeng Fan "if run loadbootscript; then " \ 147f0ff57b0SPeng Fan "run bootscript; " \ 148f0ff57b0SPeng Fan "else " \ 149f0ff57b0SPeng Fan "if run loadimage; then " \ 150f0ff57b0SPeng Fan "run mmcboot; " \ 151f0ff57b0SPeng Fan "else run netboot; " \ 152f0ff57b0SPeng Fan "fi; " \ 153f0ff57b0SPeng Fan "fi; " \ 154f0ff57b0SPeng Fan "else run netboot; fi" 155f0ff57b0SPeng Fan 156f0ff57b0SPeng Fan /* Miscellaneous configurable options */ 157f0ff57b0SPeng Fan #define CONFIG_CMD_MEMTEST 158f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_START 0x80000000 159f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x10000000) 160f0ff57b0SPeng Fan 161f0ff57b0SPeng Fan #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 162f0ff57b0SPeng Fan #define CONFIG_SYS_HZ 1000 163f0ff57b0SPeng Fan 164f0ff57b0SPeng Fan #define CONFIG_CMDLINE_EDITING 165f0ff57b0SPeng Fan #define CONFIG_STACKSIZE SZ_128K 166f0ff57b0SPeng Fan 167f0ff57b0SPeng Fan /* Physical Memory Map */ 168f0ff57b0SPeng Fan #define CONFIG_NR_DRAM_BANKS 1 169f0ff57b0SPeng Fan #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 170f0ff57b0SPeng Fan 171f0ff57b0SPeng Fan #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 172f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 173f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 174f0ff57b0SPeng Fan 175f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \ 176f0ff57b0SPeng Fan (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 177f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \ 178f0ff57b0SPeng Fan (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 179f0ff57b0SPeng Fan 180f0ff57b0SPeng Fan /* FLASH and environment organization */ 181f0ff57b0SPeng Fan #define CONFIG_SYS_NO_FLASH 182f0ff57b0SPeng Fan 183f0ff57b0SPeng Fan #define CONFIG_ENV_SIZE SZ_8K 184f0ff57b0SPeng Fan #define CONFIG_ENV_IS_IN_MMC 185f0ff57b0SPeng Fan #define CONFIG_ENV_OFFSET (8 * SZ_64K) 186f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */ 187f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_PART 0 /* user area */ 188f0ff57b0SPeng Fan #define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */ 189f0ff57b0SPeng Fan 190f0ff57b0SPeng Fan #define CONFIG_OF_LIBFDT 191f0ff57b0SPeng Fan #define CONFIG_CMD_BOOTZ 192f0ff57b0SPeng Fan #define CONFIG_CMD_BMODE 193f0ff57b0SPeng Fan 194f0ff57b0SPeng Fan #ifndef CONFIG_SYS_DCACHE_OFF 195f0ff57b0SPeng Fan #define CONFIG_CMD_CACHE 196f0ff57b0SPeng Fan #endif 197f0ff57b0SPeng Fan 198f0ff57b0SPeng Fan #define CONFIG_FSL_QSPI 199f0ff57b0SPeng Fan #ifdef CONFIG_FSL_QSPI 200f0ff57b0SPeng Fan #define CONFIG_CMD_SF 201f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH 202f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_STMICRO 203f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_BAR 204f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_BUS 0 205f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_CS 0 206f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_SPEED 40000000 207f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 208f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_NUM 1 209f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_SIZE SZ_32M 210f0ff57b0SPeng Fan #endif 211f0ff57b0SPeng Fan 212f0ff57b0SPeng Fan /* USB Configs */ 213f0ff57b0SPeng Fan #define CONFIG_CMD_USB 214f0ff57b0SPeng Fan #ifdef CONFIG_CMD_USB 215f0ff57b0SPeng Fan #define CONFIG_USB_EHCI 216f0ff57b0SPeng Fan #define CONFIG_USB_EHCI_MX6 217f0ff57b0SPeng Fan #define CONFIG_USB_STORAGE 218f0ff57b0SPeng Fan #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 219f0ff57b0SPeng Fan #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 220f0ff57b0SPeng Fan #define CONFIG_MXC_USB_FLAGS 0 221f0ff57b0SPeng Fan #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 222f0ff57b0SPeng Fan #endif 223f0ff57b0SPeng Fan 2240d4cdb56SPeng Fan #ifdef CONFIG_CMD_NET 2250d4cdb56SPeng Fan #define CONFIG_FEC_MXC 2260d4cdb56SPeng Fan #define CONFIG_MII 2270d4cdb56SPeng Fan #define CONFIG_FEC_ENET_DEV 1 2280d4cdb56SPeng Fan 2290d4cdb56SPeng Fan #if (CONFIG_FEC_ENET_DEV == 0) 2300d4cdb56SPeng Fan #define IMX_FEC_BASE ENET_BASE_ADDR 2310d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR 0x2 2320d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE RMII 2330d4cdb56SPeng Fan #elif (CONFIG_FEC_ENET_DEV == 1) 2340d4cdb56SPeng Fan #define IMX_FEC_BASE ENET2_BASE_ADDR 2350d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR 0x1 2360d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE RMII 2370d4cdb56SPeng Fan #endif 2380d4cdb56SPeng Fan #define CONFIG_ETHPRIME "FEC" 2390d4cdb56SPeng Fan 2400d4cdb56SPeng Fan #define CONFIG_PHYLIB 2410d4cdb56SPeng Fan #define CONFIG_PHY_MICREL 2420d4cdb56SPeng Fan #endif 2430d4cdb56SPeng Fan 2441368f993SAdrian Alonso #define CONFIG_IMX_THERMAL 245f0ff57b0SPeng Fan 246*df674904SPeng Fan #define CONFIG_VIDEO 247*df674904SPeng Fan #ifdef CONFIG_VIDEO 248*df674904SPeng Fan #define CONFIG_CFB_CONSOLE 249*df674904SPeng Fan #define CONFIG_VIDEO_MXS 250*df674904SPeng Fan #define CONFIG_VIDEO_LOGO 251*df674904SPeng Fan #define CONFIG_VIDEO_SW_CURSOR 252*df674904SPeng Fan #define CONFIG_VGA_AS_SINGLE_DEVICE 253*df674904SPeng Fan #define CONFIG_SYS_CONSOLE_IS_IN_ENV 254*df674904SPeng Fan #define CONFIG_SPLASH_SCREEN 255*df674904SPeng Fan #define CONFIG_SPLASH_SCREEN_ALIGN 256*df674904SPeng Fan #define CONFIG_CMD_BMP 257*df674904SPeng Fan #define CONFIG_BMP_16BPP 258*df674904SPeng Fan #define CONFIG_VIDEO_BMP_RLE8 259*df674904SPeng Fan #define CONFIG_VIDEO_BMP_LOGO 260*df674904SPeng Fan #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR 261*df674904SPeng Fan #endif 262*df674904SPeng Fan 263f0ff57b0SPeng Fan #endif 264