1e32028a7SNikita Kiryanov /* 2e32028a7SNikita Kiryanov * Config file for Compulab CM-FX6 board 3e32028a7SNikita Kiryanov * 4e32028a7SNikita Kiryanov * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/ 5e32028a7SNikita Kiryanov * 6e32028a7SNikita Kiryanov * Author: Nikita Kiryanov <nikita@compulab.co.il> 7e32028a7SNikita Kiryanov * 8e32028a7SNikita Kiryanov * SPDX-License-Identifier: GPL-2.0+ 9e32028a7SNikita Kiryanov */ 10e32028a7SNikita Kiryanov 11e32028a7SNikita Kiryanov #ifndef __CONFIG_CM_FX6_H 12e32028a7SNikita Kiryanov #define __CONFIG_CM_FX6_H 13e32028a7SNikita Kiryanov 14e32028a7SNikita Kiryanov #include <asm/arch/imx-regs.h> 15e32028a7SNikita Kiryanov #include <config_distro_defaults.h> 16e32028a7SNikita Kiryanov #include "mx6_common.h" 17e32028a7SNikita Kiryanov 18e32028a7SNikita Kiryanov /* Machine config */ 19e32028a7SNikita Kiryanov #define CONFIG_MX6 20e32028a7SNikita Kiryanov #define CONFIG_SYS_LITTLE_ENDIAN 21e32028a7SNikita Kiryanov #define CONFIG_MACH_TYPE 4273 22e32028a7SNikita Kiryanov #define CONFIG_SYS_HZ 1000 23e32028a7SNikita Kiryanov 24e32028a7SNikita Kiryanov /* Display information on boot */ 25e32028a7SNikita Kiryanov #define CONFIG_DISPLAY_CPUINFO 26e32028a7SNikita Kiryanov #define CONFIG_DISPLAY_BOARDINFO 27e32028a7SNikita Kiryanov #define CONFIG_TIMESTAMP 28e32028a7SNikita Kiryanov 29e32028a7SNikita Kiryanov /* CMD */ 30e32028a7SNikita Kiryanov #include <config_cmd_default.h> 31e32028a7SNikita Kiryanov #define CONFIG_CMD_GREPENV 32e32028a7SNikita Kiryanov #undef CONFIG_CMD_FLASH 33e32028a7SNikita Kiryanov #undef CONFIG_CMD_LOADB 34e32028a7SNikita Kiryanov #undef CONFIG_CMD_LOADS 35e32028a7SNikita Kiryanov #undef CONFIG_CMD_XIMG 36e32028a7SNikita Kiryanov #undef CONFIG_CMD_FPGA 37e32028a7SNikita Kiryanov #undef CONFIG_CMD_IMLS 38e32028a7SNikita Kiryanov #undef CONFIG_CMD_NET 39e32028a7SNikita Kiryanov #undef CONFIG_CMD_NFS 40e32028a7SNikita Kiryanov 41e32028a7SNikita Kiryanov /* MMC */ 42e32028a7SNikita Kiryanov #define CONFIG_MMC 43e32028a7SNikita Kiryanov #define CONFIG_CMD_MMC 44e32028a7SNikita Kiryanov #define CONFIG_GENERIC_MMC 45e32028a7SNikita Kiryanov #define CONFIG_FSL_ESDHC 46e32028a7SNikita Kiryanov #define CONFIG_FSL_USDHC 47e32028a7SNikita Kiryanov #define CONFIG_SYS_FSL_USDHC_NUM 3 48e32028a7SNikita Kiryanov #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR 49e32028a7SNikita Kiryanov 50e32028a7SNikita Kiryanov /* RAM */ 51e32028a7SNikita Kiryanov #define PHYS_SDRAM_1 MMDC0_ARB_BASE_ADDR 52e32028a7SNikita Kiryanov #define PHYS_SDRAM_2 MMDC1_ARB_BASE_ADDR 53e32028a7SNikita Kiryanov #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 54e32028a7SNikita Kiryanov #define CONFIG_NR_DRAM_BANKS 2 55e32028a7SNikita Kiryanov #define CONFIG_SYS_MEMTEST_START 0x10000000 56e32028a7SNikita Kiryanov #define CONFIG_SYS_MEMTEST_END 0x10010000 57e32028a7SNikita Kiryanov #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 58e32028a7SNikita Kiryanov #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 59e32028a7SNikita Kiryanov #define CONFIG_SYS_INIT_SP_OFFSET \ 60e32028a7SNikita Kiryanov (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 61e32028a7SNikita Kiryanov #define CONFIG_SYS_INIT_SP_ADDR \ 62e32028a7SNikita Kiryanov (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 63e32028a7SNikita Kiryanov 64e32028a7SNikita Kiryanov /* Serial console */ 65e32028a7SNikita Kiryanov #define CONFIG_MXC_UART 66e32028a7SNikita Kiryanov #define CONFIG_MXC_UART_BASE UART4_BASE 67e32028a7SNikita Kiryanov #define CONFIG_BAUDRATE 115200 68e32028a7SNikita Kiryanov #define CONFIG_SYS_BAUDRATE_TABLE {9600, 19200, 38400, 57600, 115200} 69e32028a7SNikita Kiryanov 70e32028a7SNikita Kiryanov /* Shell */ 71e32028a7SNikita Kiryanov #define CONFIG_SYS_PROMPT "CM-FX6 # " 72e32028a7SNikita Kiryanov #define CONFIG_SYS_CBSIZE 1024 73e32028a7SNikita Kiryanov #define CONFIG_SYS_MAXARGS 16 74e32028a7SNikita Kiryanov #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 75e32028a7SNikita Kiryanov #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 76e32028a7SNikita Kiryanov sizeof(CONFIG_SYS_PROMPT) + 16) 77e32028a7SNikita Kiryanov 78e32028a7SNikita Kiryanov /* SPI flash */ 79e32028a7SNikita Kiryanov #define CONFIG_SYS_NO_FLASH 80e32028a7SNikita Kiryanov #define CONFIG_CMD_SF 81e32028a7SNikita Kiryanov #define CONFIG_SF_DEFAULT_BUS 0 82e32028a7SNikita Kiryanov #define CONFIG_SF_DEFAULT_CS 0 83e32028a7SNikita Kiryanov #define CONFIG_SF_DEFAULT_SPEED 25000000 84e32028a7SNikita Kiryanov #define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0) 85e32028a7SNikita Kiryanov 86e32028a7SNikita Kiryanov /* Environment */ 87e32028a7SNikita Kiryanov #define CONFIG_ENV_OVERWRITE 88e32028a7SNikita Kiryanov #define CONFIG_ENV_IS_IN_SPI_FLASH 89e32028a7SNikita Kiryanov #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 90e32028a7SNikita Kiryanov #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE 91e32028a7SNikita Kiryanov #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 92e32028a7SNikita Kiryanov #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 93e32028a7SNikita Kiryanov #define CONFIG_ENV_SECT_SIZE (64 * 1024) 94e32028a7SNikita Kiryanov #define CONFIG_ENV_SIZE (8 * 1024) 95e32028a7SNikita Kiryanov #define CONFIG_ENV_OFFSET (768 * 1024) 96e32028a7SNikita Kiryanov 97e32028a7SNikita Kiryanov #define CONFIG_EXTRA_ENV_SETTINGS \ 98e32028a7SNikita Kiryanov "kernel=uImage-cm-fx6\0" \ 99e32028a7SNikita Kiryanov "autoload=no\0" \ 100e32028a7SNikita Kiryanov "loadaddr=0x10800000\0" \ 101e32028a7SNikita Kiryanov "fdtaddr=0x11000000\0" \ 102e32028a7SNikita Kiryanov "console=ttymxc3,115200\0" \ 103e32028a7SNikita Kiryanov "ethprime=FEC0\0" \ 104e32028a7SNikita Kiryanov "bootscr=boot.scr\0" \ 105e32028a7SNikita Kiryanov "bootm_low=18000000\0" \ 106e32028a7SNikita Kiryanov "video_hdmi=mxcfb0:dev=hdmi,1920x1080M-32@50,if=RGB32\0" \ 107e32028a7SNikita Kiryanov "video_dvi=mxcfb0:dev=dvi,1280x800M-32@50,if=RGB32\0" \ 108e32028a7SNikita Kiryanov "fdtfile=cm-fx6.dtb\0" \ 109e32028a7SNikita Kiryanov "doboot=bootm ${loadaddr}\0" \ 110e32028a7SNikita Kiryanov "loadfdt=false\0" \ 111e32028a7SNikita Kiryanov "setboottypez=setenv kernel zImage-cm-fx6;" \ 112e32028a7SNikita Kiryanov "setenv doboot bootz ${loadaddr} - ${fdtaddr};" \ 113e32028a7SNikita Kiryanov "setenv loadfdt true;\0" \ 114e32028a7SNikita Kiryanov "setboottypem=setenv kernel uImage-cm-fx6;" \ 115e32028a7SNikita Kiryanov "setenv doboot bootm ${loadaddr};" \ 116e32028a7SNikita Kiryanov "setenv loadfdt false;\0"\ 117e32028a7SNikita Kiryanov "run_eboot=echo Starting EBOOT ...; "\ 118e32028a7SNikita Kiryanov "mmc dev ${mmcdev} && " \ 119e32028a7SNikita Kiryanov "mmc rescan && mmc read 10042000 a 400 && go 10042000\0" \ 120e32028a7SNikita Kiryanov "mmcdev=2\0" \ 121e32028a7SNikita Kiryanov "mmcroot=/dev/mmcblk0p2 rw rootwait\0" \ 122e32028a7SNikita Kiryanov "loadmmcbootscript=load mmc ${mmcdev} ${loadaddr} ${bootscr}\0" \ 123e32028a7SNikita Kiryanov "mmcbootscript=echo Running bootscript from mmc ...; "\ 124e32028a7SNikita Kiryanov "source ${loadaddr}\0" \ 125e32028a7SNikita Kiryanov "mmcargs=setenv bootargs console=${console} " \ 126e32028a7SNikita Kiryanov "root=${mmcroot} " \ 127e32028a7SNikita Kiryanov "${video}\0" \ 128e32028a7SNikita Kiryanov "mmcloadkernel=load mmc ${mmcdev} ${loadaddr} ${kernel}\0" \ 129e32028a7SNikita Kiryanov "mmcloadfdt=load mmc ${mmcdev} ${fdtaddr} ${fdtfile}\0" \ 130e32028a7SNikita Kiryanov "mmcboot=echo Booting from mmc ...; " \ 131e32028a7SNikita Kiryanov "run mmcargs; " \ 132e32028a7SNikita Kiryanov "run doboot\0" \ 133*a6b0652bSNikita Kiryanov "nandroot=/dev/mtdblock4 rw\0" \ 134*a6b0652bSNikita Kiryanov "nandrootfstype=ubifs\0" \ 135*a6b0652bSNikita Kiryanov "nandargs=setenv bootargs console=${console} " \ 136*a6b0652bSNikita Kiryanov "root=${nandroot} " \ 137*a6b0652bSNikita Kiryanov "rootfstype=${nandrootfstype} " \ 138*a6b0652bSNikita Kiryanov "${video}\0" \ 139*a6b0652bSNikita Kiryanov "nandloadfdt=nand read ${fdtaddr} 780000 80000;\0" \ 140*a6b0652bSNikita Kiryanov "nandboot=echo Booting from nand ...; " \ 141*a6b0652bSNikita Kiryanov "run nandargs; " \ 142*a6b0652bSNikita Kiryanov "nand read ${loadaddr} 0 780000; " \ 143*a6b0652bSNikita Kiryanov "if ${loadfdt}; then " \ 144*a6b0652bSNikita Kiryanov "run nandloadfdt;" \ 145*a6b0652bSNikita Kiryanov "fi; " \ 146*a6b0652bSNikita Kiryanov "run doboot\0" \ 147e32028a7SNikita Kiryanov "boot=mmc dev ${mmcdev}; " \ 148e32028a7SNikita Kiryanov "if mmc rescan; then " \ 149e32028a7SNikita Kiryanov "if run loadmmcbootscript; then " \ 150e32028a7SNikita Kiryanov "run mmcbootscript;" \ 151e32028a7SNikita Kiryanov "else " \ 152e32028a7SNikita Kiryanov "if run mmcloadkernel; then " \ 153e32028a7SNikita Kiryanov "if ${loadfdt}; then " \ 154e32028a7SNikita Kiryanov "run mmcloadfdt;" \ 155e32028a7SNikita Kiryanov "fi;" \ 156e32028a7SNikita Kiryanov "run mmcboot;" \ 157e32028a7SNikita Kiryanov "fi;" \ 158e32028a7SNikita Kiryanov "fi;" \ 159*a6b0652bSNikita Kiryanov "fi;" \ 160*a6b0652bSNikita Kiryanov "run nandboot\0" 161e32028a7SNikita Kiryanov 162e32028a7SNikita Kiryanov #define CONFIG_BOOTCOMMAND \ 163e32028a7SNikita Kiryanov "run setboottypem; run boot" 164e32028a7SNikita Kiryanov 165e32028a7SNikita Kiryanov /* SPI */ 166e32028a7SNikita Kiryanov #define CONFIG_SPI 167e32028a7SNikita Kiryanov #define CONFIG_MXC_SPI 168e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH 169e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_ATMEL 170e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_EON 171e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_GIGADEVICE 172e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_MACRONIX 173e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_SPANSION 174e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_STMICRO 175e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_SST 176e32028a7SNikita Kiryanov #define CONFIG_SPI_FLASH_WINBOND 177e32028a7SNikita Kiryanov 178*a6b0652bSNikita Kiryanov /* NAND */ 179*a6b0652bSNikita Kiryanov #ifndef CONFIG_SPL_BUILD 180*a6b0652bSNikita Kiryanov #define CONFIG_CMD_NAND 181*a6b0652bSNikita Kiryanov #define CONFIG_SYS_NAND_BASE 0x40000000 182*a6b0652bSNikita Kiryanov #define CONFIG_SYS_NAND_MAX_CHIPS 1 183*a6b0652bSNikita Kiryanov #define CONFIG_SYS_MAX_NAND_DEVICE 1 184*a6b0652bSNikita Kiryanov #define CONFIG_NAND_MXS 185*a6b0652bSNikita Kiryanov #define CONFIG_SYS_NAND_ONFI_DETECTION 186*a6b0652bSNikita Kiryanov /* APBH DMA is required for NAND support */ 187*a6b0652bSNikita Kiryanov #define CONFIG_APBH_DMA 188*a6b0652bSNikita Kiryanov #define CONFIG_APBH_DMA_BURST 189*a6b0652bSNikita Kiryanov #define CONFIG_APBH_DMA_BURST8 190*a6b0652bSNikita Kiryanov #endif 191*a6b0652bSNikita Kiryanov 192e32028a7SNikita Kiryanov /* GPIO */ 193e32028a7SNikita Kiryanov #define CONFIG_MXC_GPIO 194e32028a7SNikita Kiryanov 195e32028a7SNikita Kiryanov /* Boot */ 196e32028a7SNikita Kiryanov #define CONFIG_ZERO_BOOTDELAY_CHECK 197e32028a7SNikita Kiryanov #define CONFIG_LOADADDR 0x10800000 198e32028a7SNikita Kiryanov #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 199e32028a7SNikita Kiryanov #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 200e32028a7SNikita Kiryanov #define CONFIG_SYS_BOOTMAPSZ (8 << 20) 201e32028a7SNikita Kiryanov #define CONFIG_SETUP_MEMORY_TAGS 202e32028a7SNikita Kiryanov #define CONFIG_INITRD_TAG 203e32028a7SNikita Kiryanov 204e32028a7SNikita Kiryanov /* misc */ 205e32028a7SNikita Kiryanov #define CONFIG_SYS_GENERIC_BOARD 206e32028a7SNikita Kiryanov #define CONFIG_STACKSIZE (128 * 1024) 207e32028a7SNikita Kiryanov #define CONFIG_SYS_MALLOC_LEN (2 * 1024 * 1024) 208e32028a7SNikita Kiryanov #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 800 /* 400 KB */ 209e32028a7SNikita Kiryanov 210e32028a7SNikita Kiryanov /* SPL */ 211e32028a7SNikita Kiryanov #include "imx6_spl.h" 212e32028a7SNikita Kiryanov #define CONFIG_SPL_BOARD_INIT 213e32028a7SNikita Kiryanov #define CONFIG_SPL_MMC_SUPPORT 214e32028a7SNikita Kiryanov #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x80 /* offset 64 kb */ 215e32028a7SNikita Kiryanov #define CONFIG_SYS_MONITOR_LEN (CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS / 2 * 1024) 216e32028a7SNikita Kiryanov #define CONFIG_SPL_SPI_SUPPORT 217e32028a7SNikita Kiryanov #define CONFIG_SPL_SPI_FLASH_SUPPORT 218e32028a7SNikita Kiryanov #define CONFIG_SYS_SPI_U_BOOT_OFFS (64 * 1024) 219e32028a7SNikita Kiryanov #define CONFIG_SPL_SPI_LOAD 220e32028a7SNikita Kiryanov 221e32028a7SNikita Kiryanov #endif /* __CONFIG_CM_FX6_H */ 222