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