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