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 #include <asm/arch/imx-regs.h> 12f0ff57b0SPeng Fan #include <linux/sizes.h> 13f0ff57b0SPeng Fan #include "mx6_common.h" 14*552a848eSStefano Babic #include <asm/mach-imx/gpio.h> 15f0ff57b0SPeng Fan 16d9cbb264SPeng Fan #define is_mx6ul_9x9_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) 17d9cbb264SPeng Fan 18f0ff57b0SPeng Fan /* SPL options */ 19f0ff57b0SPeng Fan #include "imx6_spl.h" 20f0ff57b0SPeng Fan 21d9cbb264SPeng Fan #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 22d9cbb264SPeng Fan 23f0ff57b0SPeng Fan /* Size of malloc() pool */ 24f0ff57b0SPeng Fan #define CONFIG_SYS_MALLOC_LEN (16 * SZ_1M) 25f0ff57b0SPeng Fan 26f0ff57b0SPeng Fan #define CONFIG_MXC_UART 27f0ff57b0SPeng Fan #define CONFIG_MXC_UART_BASE UART1_BASE 28f0ff57b0SPeng Fan 29f0ff57b0SPeng Fan /* MMC Configs */ 30f0ff57b0SPeng Fan #ifdef CONFIG_FSL_USDHC 31f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR 32f0ff57b0SPeng Fan 33f0ff57b0SPeng Fan /* NAND pin conflicts with usdhc2 */ 34f0ff57b0SPeng Fan #ifdef CONFIG_NAND_MXS 35f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 1 36f0ff57b0SPeng Fan #else 37f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM 2 38f0ff57b0SPeng Fan #endif 39f0ff57b0SPeng Fan 40f0ff57b0SPeng Fan #endif 41f0ff57b0SPeng Fan 42f0ff57b0SPeng Fan /* I2C configs */ 43f0ff57b0SPeng Fan #ifdef CONFIG_CMD_I2C 44f0ff57b0SPeng Fan #define CONFIG_SYS_I2C 45f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_MXC 4603544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 4703544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 48f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_SPEED 100000 49f0ff57b0SPeng Fan 50d9cbb264SPeng Fan /* PMIC only for 9X9 EVK */ 51d9cbb264SPeng Fan #define CONFIG_POWER 52d9cbb264SPeng Fan #define CONFIG_POWER_I2C 53d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000 54d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 55d9cbb264SPeng Fan #endif 56f0ff57b0SPeng Fan 57f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 58f0ff57b0SPeng Fan 59f0ff57b0SPeng Fan #define CONFIG_EXTRA_ENV_SETTINGS \ 60f0ff57b0SPeng Fan "script=boot.scr\0" \ 61f0ff57b0SPeng Fan "image=zImage\0" \ 62f0ff57b0SPeng Fan "console=ttymxc0\0" \ 63f0ff57b0SPeng Fan "fdt_high=0xffffffff\0" \ 64f0ff57b0SPeng Fan "initrd_high=0xffffffff\0" \ 65d9cbb264SPeng Fan "fdt_file=undefined\0" \ 66f0ff57b0SPeng Fan "fdt_addr=0x83000000\0" \ 67f0ff57b0SPeng Fan "boot_fdt=try\0" \ 68f0ff57b0SPeng Fan "ip_dyn=yes\0" \ 69df674904SPeng 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" \ 70f0ff57b0SPeng Fan "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ 71f0ff57b0SPeng Fan "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ 72f0ff57b0SPeng Fan "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ 73f0ff57b0SPeng Fan "mmcautodetect=yes\0" \ 74f0ff57b0SPeng Fan "mmcargs=setenv bootargs console=${console},${baudrate} " \ 75f0ff57b0SPeng Fan "root=${mmcroot}\0" \ 76f0ff57b0SPeng Fan "loadbootscript=" \ 77f0ff57b0SPeng Fan "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 78f0ff57b0SPeng Fan "bootscript=echo Running bootscript from mmc ...; " \ 79f0ff57b0SPeng Fan "source\0" \ 80f0ff57b0SPeng Fan "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 81f0ff57b0SPeng Fan "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ 82f0ff57b0SPeng Fan "mmcboot=echo Booting from mmc ...; " \ 83f0ff57b0SPeng Fan "run mmcargs; " \ 84f0ff57b0SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 85f0ff57b0SPeng Fan "if run loadfdt; then " \ 86f0ff57b0SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 87f0ff57b0SPeng Fan "else " \ 88f0ff57b0SPeng Fan "if test ${boot_fdt} = try; then " \ 89f0ff57b0SPeng Fan "bootz; " \ 90f0ff57b0SPeng Fan "else " \ 91f0ff57b0SPeng Fan "echo WARN: Cannot load the DT; " \ 92f0ff57b0SPeng Fan "fi; " \ 93f0ff57b0SPeng Fan "fi; " \ 94f0ff57b0SPeng Fan "else " \ 95f0ff57b0SPeng Fan "bootz; " \ 96f0ff57b0SPeng Fan "fi;\0" \ 97f0ff57b0SPeng Fan "netargs=setenv bootargs console=${console},${baudrate} " \ 98f0ff57b0SPeng Fan "root=/dev/nfs " \ 99f0ff57b0SPeng Fan "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 100f0ff57b0SPeng Fan "netboot=echo Booting from net ...; " \ 101f0ff57b0SPeng Fan "run netargs; " \ 102f0ff57b0SPeng Fan "if test ${ip_dyn} = yes; then " \ 103f0ff57b0SPeng Fan "setenv get_cmd dhcp; " \ 104f0ff57b0SPeng Fan "else " \ 105f0ff57b0SPeng Fan "setenv get_cmd tftp; " \ 106f0ff57b0SPeng Fan "fi; " \ 107f0ff57b0SPeng Fan "${get_cmd} ${image}; " \ 108f0ff57b0SPeng Fan "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 109f0ff57b0SPeng Fan "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 110f0ff57b0SPeng Fan "bootz ${loadaddr} - ${fdt_addr}; " \ 111f0ff57b0SPeng Fan "else " \ 112f0ff57b0SPeng Fan "if test ${boot_fdt} = try; then " \ 113f0ff57b0SPeng Fan "bootz; " \ 114f0ff57b0SPeng Fan "else " \ 115f0ff57b0SPeng Fan "echo WARN: Cannot load the DT; " \ 116f0ff57b0SPeng Fan "fi; " \ 117f0ff57b0SPeng Fan "fi; " \ 118f0ff57b0SPeng Fan "else " \ 119f0ff57b0SPeng Fan "bootz; " \ 120d9cbb264SPeng Fan "fi;\0" \ 121d9cbb264SPeng Fan "findfdt="\ 122d9cbb264SPeng Fan "if test $fdt_file = undefined; then " \ 123d9cbb264SPeng Fan "if test $board_name = EVK && test $board_rev = 9X9; then " \ 124d9cbb264SPeng Fan "setenv fdt_file imx6ul-9x9-evk.dtb; fi; " \ 125d9cbb264SPeng Fan "if test $board_name = EVK && test $board_rev = 14X14; then " \ 126d9cbb264SPeng Fan "setenv fdt_file imx6ul-14x14-evk.dtb; fi; " \ 127d9cbb264SPeng Fan "if test $fdt_file = undefined; then " \ 128d9cbb264SPeng Fan "echo WARNING: Could not determine dtb to use; fi; " \ 129d9cbb264SPeng Fan "fi;\0" \ 130f0ff57b0SPeng Fan 131f0ff57b0SPeng Fan #define CONFIG_BOOTCOMMAND \ 132d9cbb264SPeng Fan "run findfdt;" \ 133f0ff57b0SPeng Fan "mmc dev ${mmcdev};" \ 134f0ff57b0SPeng Fan "mmc dev ${mmcdev}; if mmc rescan; then " \ 135f0ff57b0SPeng Fan "if run loadbootscript; then " \ 136f0ff57b0SPeng Fan "run bootscript; " \ 137f0ff57b0SPeng Fan "else " \ 138f0ff57b0SPeng Fan "if run loadimage; then " \ 139f0ff57b0SPeng Fan "run mmcboot; " \ 140f0ff57b0SPeng Fan "else run netboot; " \ 141f0ff57b0SPeng Fan "fi; " \ 142f0ff57b0SPeng Fan "fi; " \ 143f0ff57b0SPeng Fan "else run netboot; fi" 144f0ff57b0SPeng Fan 145f0ff57b0SPeng Fan /* Miscellaneous configurable options */ 146f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_START 0x80000000 14765806cc7SPeng Fan #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x8000000) 148f0ff57b0SPeng Fan 149f0ff57b0SPeng Fan #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 150f0ff57b0SPeng Fan #define CONFIG_SYS_HZ 1000 151f0ff57b0SPeng Fan 152f0ff57b0SPeng Fan #define CONFIG_CMDLINE_EDITING 153f0ff57b0SPeng Fan 154f0ff57b0SPeng Fan /* Physical Memory Map */ 155f0ff57b0SPeng Fan #define CONFIG_NR_DRAM_BANKS 1 156f0ff57b0SPeng Fan #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 157f0ff57b0SPeng Fan 158f0ff57b0SPeng Fan #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 159f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 160f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 161f0ff57b0SPeng Fan 162f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \ 163f0ff57b0SPeng Fan (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 164f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \ 165f0ff57b0SPeng Fan (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 166f0ff57b0SPeng Fan 167e856bdcfSMasahiro Yamada /* environment organization */ 168f0ff57b0SPeng Fan #define CONFIG_ENV_SIZE SZ_8K 169f0ff57b0SPeng Fan #define CONFIG_ENV_OFFSET (8 * SZ_64K) 170f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */ 171f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_PART 0 /* user area */ 172f0ff57b0SPeng Fan #define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */ 173f0ff57b0SPeng Fan 174f0ff57b0SPeng Fan #ifndef CONFIG_SYS_DCACHE_OFF 175f0ff57b0SPeng Fan #endif 176f0ff57b0SPeng Fan 177f0ff57b0SPeng Fan #ifdef CONFIG_FSL_QSPI 178f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_BUS 0 179f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_CS 0 180f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_SPEED 40000000 181f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 182f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_NUM 1 183f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_SIZE SZ_32M 184f0ff57b0SPeng Fan #endif 185f0ff57b0SPeng Fan 186f0ff57b0SPeng Fan /* USB Configs */ 187f0ff57b0SPeng Fan #ifdef CONFIG_CMD_USB 188f0ff57b0SPeng Fan #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 189f0ff57b0SPeng Fan #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 190f0ff57b0SPeng Fan #define CONFIG_MXC_USB_FLAGS 0 191f0ff57b0SPeng Fan #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 192f0ff57b0SPeng Fan #endif 193f0ff57b0SPeng Fan 1940d4cdb56SPeng Fan #ifdef CONFIG_CMD_NET 1950d4cdb56SPeng Fan #define CONFIG_FEC_MXC 1960d4cdb56SPeng Fan #define CONFIG_MII 1970d4cdb56SPeng Fan #define CONFIG_FEC_ENET_DEV 1 1980d4cdb56SPeng Fan 1990d4cdb56SPeng Fan #if (CONFIG_FEC_ENET_DEV == 0) 2000d4cdb56SPeng Fan #define IMX_FEC_BASE ENET_BASE_ADDR 2010d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR 0x2 2020d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE RMII 2030d4cdb56SPeng Fan #elif (CONFIG_FEC_ENET_DEV == 1) 2040d4cdb56SPeng Fan #define IMX_FEC_BASE ENET2_BASE_ADDR 2050d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR 0x1 2060d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE RMII 2070d4cdb56SPeng Fan #endif 2080d4cdb56SPeng Fan #define CONFIG_ETHPRIME "FEC" 2090d4cdb56SPeng Fan #endif 2100d4cdb56SPeng Fan 2111368f993SAdrian Alonso #define CONFIG_IMX_THERMAL 212f0ff57b0SPeng Fan 213ce2190f5SPeng Fan #ifndef CONFIG_SPL_BUILD 214df674904SPeng Fan #ifdef CONFIG_VIDEO 215df674904SPeng Fan #define CONFIG_VIDEO_MXS 216df674904SPeng Fan #define CONFIG_VIDEO_LOGO 217df674904SPeng Fan #define CONFIG_SPLASH_SCREEN 218df674904SPeng Fan #define CONFIG_SPLASH_SCREEN_ALIGN 219df674904SPeng Fan #define CONFIG_BMP_16BPP 220df674904SPeng Fan #define CONFIG_VIDEO_BMP_RLE8 221df674904SPeng Fan #define CONFIG_VIDEO_BMP_LOGO 222df674904SPeng Fan #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR 223df674904SPeng Fan #endif 224ce2190f5SPeng Fan #endif 225df674904SPeng Fan 226f0ff57b0SPeng Fan #endif 227