1*bbe31092SHeiko Schocher /* 2*bbe31092SHeiko Schocher * Copyright (C) 2010 Heiko Schocher <hs@denx.de> 3*bbe31092SHeiko Schocher * 4*bbe31092SHeiko Schocher * based on: 5*bbe31092SHeiko Schocher * Copyright (C) 2009 Ilya Yanok <yanok@emcraft.com> 6*bbe31092SHeiko Schocher * 7*bbe31092SHeiko Schocher * This program is free software; you can redistribute it and/or 8*bbe31092SHeiko Schocher * modify it under the terms of the GNU General Public License as 9*bbe31092SHeiko Schocher * published by the Free Software Foundation; either version 2 of 10*bbe31092SHeiko Schocher * the License, or (at your option) any later version. 11*bbe31092SHeiko Schocher * 12*bbe31092SHeiko Schocher * This program is distributed in the hope that it will be useful, 13*bbe31092SHeiko Schocher * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*bbe31092SHeiko Schocher * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*bbe31092SHeiko Schocher * GNU General Public License for more details. 16*bbe31092SHeiko Schocher * 17*bbe31092SHeiko Schocher * You should have received a copy of the GNU General Public License 18*bbe31092SHeiko Schocher * along with this program; if not, write to the Free Software 19*bbe31092SHeiko Schocher * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20*bbe31092SHeiko Schocher * MA 02111-1307 USA 21*bbe31092SHeiko Schocher */ 22*bbe31092SHeiko Schocher 23*bbe31092SHeiko Schocher #ifndef __IMX27LITE_COMMON_CONFIG_H 24*bbe31092SHeiko Schocher #define __IMX27LITE_COMMON_CONFIG_H 25*bbe31092SHeiko Schocher 26*bbe31092SHeiko Schocher /* 27*bbe31092SHeiko Schocher * SoC Configuration 28*bbe31092SHeiko Schocher */ 29*bbe31092SHeiko Schocher #define CONFIG_ARM926EJS /* arm926ejs CPU core */ 30*bbe31092SHeiko Schocher #define CONFIG_MX27 31*bbe31092SHeiko Schocher #define CONFIG_MX27_CLK32 32768 /* OSC32K frequency */ 32*bbe31092SHeiko Schocher #define CONFIG_SYS_HZ 1000 33*bbe31092SHeiko Schocher 34*bbe31092SHeiko Schocher #define CONFIG_DISPLAY_BOARDINFO 35*bbe31092SHeiko Schocher #define CONFIG_DISPLAY_CPUINFO 36*bbe31092SHeiko Schocher 37*bbe31092SHeiko Schocher #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 38*bbe31092SHeiko Schocher #define CONFIG_SETUP_MEMORY_TAGS 1 39*bbe31092SHeiko Schocher #define CONFIG_INITRD_TAG 1 40*bbe31092SHeiko Schocher 41*bbe31092SHeiko Schocher /* 42*bbe31092SHeiko Schocher * Lowlevel configuration 43*bbe31092SHeiko Schocher */ 44*bbe31092SHeiko Schocher #define SDRAM_ESDCFG_REGISTER_VAL(cas) \ 45*bbe31092SHeiko Schocher (ESDCFG_TRC(10) | \ 46*bbe31092SHeiko Schocher ESDCFG_TRCD(3) | \ 47*bbe31092SHeiko Schocher ESDCFG_TCAS(cas) | \ 48*bbe31092SHeiko Schocher ESDCFG_TRRD(1) | \ 49*bbe31092SHeiko Schocher ESDCFG_TRAS(5) | \ 50*bbe31092SHeiko Schocher ESDCFG_TWR | \ 51*bbe31092SHeiko Schocher ESDCFG_TMRD(2) | \ 52*bbe31092SHeiko Schocher ESDCFG_TRP(2) | \ 53*bbe31092SHeiko Schocher ESDCFG_TXP(3)) 54*bbe31092SHeiko Schocher 55*bbe31092SHeiko Schocher #define SDRAM_ESDCTL_REGISTER_VAL \ 56*bbe31092SHeiko Schocher (ESDCTL_PRCT(0) | \ 57*bbe31092SHeiko Schocher ESDCTL_BL | \ 58*bbe31092SHeiko Schocher ESDCTL_PWDT(0) | \ 59*bbe31092SHeiko Schocher ESDCTL_SREFR(3) | \ 60*bbe31092SHeiko Schocher ESDCTL_DSIZ_32 | \ 61*bbe31092SHeiko Schocher ESDCTL_COL10 | \ 62*bbe31092SHeiko Schocher ESDCTL_ROW13 | \ 63*bbe31092SHeiko Schocher ESDCTL_SDE) 64*bbe31092SHeiko Schocher 65*bbe31092SHeiko Schocher #define SDRAM_ALL_VAL 0xf00 66*bbe31092SHeiko Schocher 67*bbe31092SHeiko Schocher #define SDRAM_MODE_REGISTER_VAL 0x33 /* BL: 8, CAS: 3 */ 68*bbe31092SHeiko Schocher #define SDRAM_EXT_MODE_REGISTER_VAL 0x1000000 69*bbe31092SHeiko Schocher 70*bbe31092SHeiko Schocher #define MPCTL0_VAL 0x1ef15d5 71*bbe31092SHeiko Schocher 72*bbe31092SHeiko Schocher #define SPCTL0_VAL 0x043a1c09 73*bbe31092SHeiko Schocher 74*bbe31092SHeiko Schocher #define CSCR_VAL 0x33f08107 75*bbe31092SHeiko Schocher 76*bbe31092SHeiko Schocher #define PCDR0_VAL 0x120470c3 77*bbe31092SHeiko Schocher #define PCDR1_VAL 0x03030303 78*bbe31092SHeiko Schocher #define PCCR0_VAL 0xffffffff 79*bbe31092SHeiko Schocher #define PCCR1_VAL 0xfffffffc 80*bbe31092SHeiko Schocher 81*bbe31092SHeiko Schocher #define AIPI1_PSR0_VAL 0x20040304 82*bbe31092SHeiko Schocher #define AIPI1_PSR1_VAL 0xdffbfcfb 83*bbe31092SHeiko Schocher #define AIPI2_PSR0_VAL 0x07ffc200 84*bbe31092SHeiko Schocher #define AIPI2_PSR1_VAL 0xffffffff 85*bbe31092SHeiko Schocher 86*bbe31092SHeiko Schocher /* 87*bbe31092SHeiko Schocher * Memory Info 88*bbe31092SHeiko Schocher */ 89*bbe31092SHeiko Schocher /* malloc() len */ 90*bbe31092SHeiko Schocher #define CONFIG_SYS_MALLOC_LEN (0x10000 + 512 * 1024) 91*bbe31092SHeiko Schocher /* reserved for initial data */ 92*bbe31092SHeiko Schocher #define CONFIG_SYS_GBL_DATA_SIZE 128 93*bbe31092SHeiko Schocher /* memtest start address */ 94*bbe31092SHeiko Schocher #define CONFIG_SYS_MEMTEST_START 0xA0000000 95*bbe31092SHeiko Schocher #define CONFIG_SYS_MEMTEST_END 0xA1000000 /* 16MB RAM test */ 96*bbe31092SHeiko Schocher #define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ 97*bbe31092SHeiko Schocher #define CONFIG_STACKSIZE (256 * 1024) /* regular stack */ 98*bbe31092SHeiko Schocher #define PHYS_SDRAM_1 0xA0000000 /* DDR Start */ 99*bbe31092SHeiko Schocher #define PHYS_SDRAM_1_SIZE 0x08000000 /* DDR size 128MB */ 100*bbe31092SHeiko Schocher 101*bbe31092SHeiko Schocher /* 102*bbe31092SHeiko Schocher * Serial Driver info 103*bbe31092SHeiko Schocher */ 104*bbe31092SHeiko Schocher #define CONFIG_MXC_UART 105*bbe31092SHeiko Schocher #define CONFIG_SYS_MX27_UART1 106*bbe31092SHeiko Schocher #define CONFIG_CONS_INDEX 1 /* use UART0 for console */ 107*bbe31092SHeiko Schocher #define CONFIG_BAUDRATE 115200 /* Default baud rate */ 108*bbe31092SHeiko Schocher #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } 109*bbe31092SHeiko Schocher 110*bbe31092SHeiko Schocher /* 111*bbe31092SHeiko Schocher * Flash & Environment 112*bbe31092SHeiko Schocher */ 113*bbe31092SHeiko Schocher #define CONFIG_ENV_IS_IN_FLASH 114*bbe31092SHeiko Schocher #define CONFIG_FLASH_CFI_DRIVER 115*bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_CFI 116*bbe31092SHeiko Schocher /* Use buffered writes (~10x faster) */ 117*bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 118*bbe31092SHeiko Schocher /* Use hardware sector protection */ 119*bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_PROTECTION 1 120*bbe31092SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of flash banks */ 121*bbe31092SHeiko Schocher /* CS2 Base address */ 122*bbe31092SHeiko Schocher #define PHYS_FLASH_1 0xc0000000 123*bbe31092SHeiko Schocher /* Flash Base for U-Boot */ 124*bbe31092SHeiko Schocher #define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1 125*bbe31092SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_SECT (PHYS_FLASH_SIZE / \ 126*bbe31092SHeiko Schocher CONFIG_SYS_FLASH_SECT_SZ) 127*bbe31092SHeiko Schocher #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 128*bbe31092SHeiko Schocher #define CONFIG_SYS_MONITOR_LEN 0x40000 /* Reserve 256KiB */ 129*bbe31092SHeiko Schocher #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE 130*bbe31092SHeiko Schocher /* Address and size of Redundant Environment Sector */ 131*bbe31092SHeiko Schocher #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) 132*bbe31092SHeiko Schocher #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 133*bbe31092SHeiko Schocher 134*bbe31092SHeiko Schocher /* 135*bbe31092SHeiko Schocher * Ethernet 136*bbe31092SHeiko Schocher */ 137*bbe31092SHeiko Schocher #define CONFIG_FEC_MXC 138*bbe31092SHeiko Schocher #define CONFIG_FEC_MXC_PHYADDR 0x1f 139*bbe31092SHeiko Schocher #define CONFIG_MII 140*bbe31092SHeiko Schocher #define CONFIG_NET_MULTI 141*bbe31092SHeiko Schocher 142*bbe31092SHeiko Schocher /* 143*bbe31092SHeiko Schocher * MTD 144*bbe31092SHeiko Schocher */ 145*bbe31092SHeiko Schocher #define CONFIG_FLASH_CFI_MTD 146*bbe31092SHeiko Schocher #define CONFIG_MTD_DEVICE 147*bbe31092SHeiko Schocher 148*bbe31092SHeiko Schocher /* 149*bbe31092SHeiko Schocher * NAND 150*bbe31092SHeiko Schocher */ 151*bbe31092SHeiko Schocher #define CONFIG_NAND_MXC 152*bbe31092SHeiko Schocher #define CONFIG_MXC_NAND_REGS_BASE 0xd8000000 153*bbe31092SHeiko Schocher #define CONFIG_SYS_MAX_NAND_DEVICE 1 154*bbe31092SHeiko Schocher #define CONFIG_SYS_NAND_BASE 0xd8000000 155*bbe31092SHeiko Schocher #define CONFIG_JFFS2_NAND 156*bbe31092SHeiko Schocher #define CONFIG_MXC_NAND_HWECC 157*bbe31092SHeiko Schocher #define CONFIG_SYS_64BIT_VSPRINTF /* needed for nand_util.c */ 158*bbe31092SHeiko Schocher 159*bbe31092SHeiko Schocher /* 160*bbe31092SHeiko Schocher * SD/MMC 161*bbe31092SHeiko Schocher */ 162*bbe31092SHeiko Schocher #define CONFIG_MMC 163*bbe31092SHeiko Schocher #define CONFIG_GENERIC_MMC 164*bbe31092SHeiko Schocher #define CONFIG_MXC_MMC 165*bbe31092SHeiko Schocher #define CONFIG_DOS_PARTITION 166*bbe31092SHeiko Schocher 167*bbe31092SHeiko Schocher /* 168*bbe31092SHeiko Schocher * MTD partitions 169*bbe31092SHeiko Schocher */ 170*bbe31092SHeiko Schocher #define CONFIG_CMD_MTDPARTS 171*bbe31092SHeiko Schocher 172*bbe31092SHeiko Schocher /* 173*bbe31092SHeiko Schocher * U-Boot general configuration 174*bbe31092SHeiko Schocher */ 175*bbe31092SHeiko Schocher #define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */ 176*bbe31092SHeiko Schocher #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 177*bbe31092SHeiko Schocher /* Print buffer sz */ 178*bbe31092SHeiko Schocher #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 179*bbe31092SHeiko Schocher sizeof(CONFIG_SYS_PROMPT) + 16) 180*bbe31092SHeiko Schocher #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 181*bbe31092SHeiko Schocher /* Boot Argument Buffer Size */ 182*bbe31092SHeiko Schocher #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 183*bbe31092SHeiko Schocher #define CONFIG_CMDLINE_EDITING 184*bbe31092SHeiko Schocher #define CONFIG_SYS_LONGHELP 185*bbe31092SHeiko Schocher 186*bbe31092SHeiko Schocher /* 187*bbe31092SHeiko Schocher * U-Boot commands 188*bbe31092SHeiko Schocher */ 189*bbe31092SHeiko Schocher #include <config_cmd_default.h> 190*bbe31092SHeiko Schocher #define CONFIG_CMD_ASKENV 191*bbe31092SHeiko Schocher #define CONFIG_CMD_DHCP 192*bbe31092SHeiko Schocher #define CONFIG_CMD_DIAG 193*bbe31092SHeiko Schocher #define CONFIG_CMD_FAT 194*bbe31092SHeiko Schocher #define CONFIG_CMD_JFFS2 195*bbe31092SHeiko Schocher #define CONFIG_CMD_MII 196*bbe31092SHeiko Schocher #define CONFIG_CMD_MMC 197*bbe31092SHeiko Schocher #define CONFIG_CMD_NAND 198*bbe31092SHeiko Schocher #define CONFIG_CMD_PING 199*bbe31092SHeiko Schocher 200*bbe31092SHeiko Schocher #define CONFIG_BOOTDELAY 5 201*bbe31092SHeiko Schocher 202*bbe31092SHeiko Schocher #define CONFIG_LOADADDR 0xa0800000 /* loadaddr env var */ 203*bbe31092SHeiko Schocher #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 204*bbe31092SHeiko Schocher 205*bbe31092SHeiko Schocher #define xstr(s) str(s) 206*bbe31092SHeiko Schocher #define str(s) #s 207*bbe31092SHeiko Schocher 208*bbe31092SHeiko Schocher #define CONFIG_EXTRA_ENV_SETTINGS \ 209*bbe31092SHeiko Schocher "netdev=eth0\0" \ 210*bbe31092SHeiko Schocher "nfsargs=setenv bootargs root=/dev/nfs rw " \ 211*bbe31092SHeiko Schocher "nfsroot=${serverip}:${rootpath}\0" \ 212*bbe31092SHeiko Schocher "ramargs=setenv bootargs root=/dev/ram rw\0" \ 213*bbe31092SHeiko Schocher "addip=setenv bootargs ${bootargs} " \ 214*bbe31092SHeiko Schocher "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ 215*bbe31092SHeiko Schocher ":${hostname}:${netdev}:off panic=1\0" \ 216*bbe31092SHeiko Schocher "addtty=setenv bootargs ${bootargs}" \ 217*bbe31092SHeiko Schocher " console=ttymxc0,${baudrate}\0" \ 218*bbe31092SHeiko Schocher "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \ 219*bbe31092SHeiko Schocher "addmisc=setenv bootargs ${bootargs}\0" \ 220*bbe31092SHeiko Schocher "u-boot=" xstr(CONFIG_HOSTNAME) "/u-boot.bin\0" \ 221*bbe31092SHeiko Schocher "kernel_addr_r=a0800000\0" \ 222*bbe31092SHeiko Schocher "bootfile=" xstr(CONFIG_HOSTNAME) "/uImage\0" \ 223*bbe31092SHeiko Schocher "rootpath=/opt/eldk-4.2-arm/arm\0" \ 224*bbe31092SHeiko Schocher "net_nfs=tftp ${kernel_addr_r} ${bootfile};" \ 225*bbe31092SHeiko Schocher "run nfsargs addip addtty addmtd addmisc;" \ 226*bbe31092SHeiko Schocher "bootm\0" \ 227*bbe31092SHeiko Schocher "bootcmd=run net_nfs\0" \ 228*bbe31092SHeiko Schocher "load=tftp ${loadaddr} ${u-boot}\0" \ 229*bbe31092SHeiko Schocher "update=protect off " xstr(CONFIG_SYS_MONITOR_BASE) \ 230*bbe31092SHeiko Schocher " +${filesize};era " xstr(CONFIG_SYS_MONITOR_BASE) \ 231*bbe31092SHeiko Schocher " +${filesize};cp.b ${fileaddr} " \ 232*bbe31092SHeiko Schocher xstr(CONFIG_SYS_MONITOR_BASE) " ${filesize}\0" \ 233*bbe31092SHeiko Schocher "upd=run load update\0" \ 234*bbe31092SHeiko Schocher "mtdids=" MTDIDS_DEFAULT "\0" \ 235*bbe31092SHeiko Schocher "mtdparts=" MTDPARTS_DEFAULT "\0" \ 236*bbe31092SHeiko Schocher 237*bbe31092SHeiko Schocher #endif /* __IMX27LITE_COMMON_CONFIG_H */ 238