1*c57cca25SSteve Sakoman /* 2*c57cca25SSteve Sakoman * (C) Copyright 2010 3*c57cca25SSteve Sakoman * Texas Instruments Incorporated. 4*c57cca25SSteve Sakoman * Steve Sakoman <steve@sakoman.com> 5*c57cca25SSteve Sakoman * 6*c57cca25SSteve Sakoman * Configuration settings for the TI OMAP4 Panda board. 7*c57cca25SSteve Sakoman * 8*c57cca25SSteve Sakoman * See file CREDITS for list of people who contributed to this 9*c57cca25SSteve Sakoman * project. 10*c57cca25SSteve Sakoman * 11*c57cca25SSteve Sakoman * This program is free software; you can redistribute it and/or 12*c57cca25SSteve Sakoman * modify it under the terms of the GNU General Public License as 13*c57cca25SSteve Sakoman * published by the Free Software Foundation; either version 2 of 14*c57cca25SSteve Sakoman * the License, or (at your option) any later version. 15*c57cca25SSteve Sakoman * 16*c57cca25SSteve Sakoman * This program is distributed in the hope that it will be useful, 17*c57cca25SSteve Sakoman * but WITHOUT ANY WARRANTY; without even the implied warranty of 18*c57cca25SSteve Sakoman * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19*c57cca25SSteve Sakoman * GNU General Public License for more details. 20*c57cca25SSteve Sakoman * 21*c57cca25SSteve Sakoman * You should have received a copy of the GNU General Public License 22*c57cca25SSteve Sakoman * along with this program; if not, write to the Free Software 23*c57cca25SSteve Sakoman * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 24*c57cca25SSteve Sakoman * MA 02111-1307 USA 25*c57cca25SSteve Sakoman */ 26*c57cca25SSteve Sakoman 27*c57cca25SSteve Sakoman #ifndef __CONFIG_H 28*c57cca25SSteve Sakoman #define __CONFIG_H 29*c57cca25SSteve Sakoman 30*c57cca25SSteve Sakoman /* 31*c57cca25SSteve Sakoman * High Level Configuration Options 32*c57cca25SSteve Sakoman */ 33*c57cca25SSteve Sakoman #define CONFIG_ARMV7 1 /* This is an ARM V7 CPU core */ 34*c57cca25SSteve Sakoman #define CONFIG_OMAP 1 /* in a TI OMAP core */ 35*c57cca25SSteve Sakoman #define CONFIG_OMAP44XX 1 /* which is a 44XX */ 36*c57cca25SSteve Sakoman #define CONFIG_OMAP4430 1 /* which is in a 4430 */ 37*c57cca25SSteve Sakoman #define CONFIG_PANDA 1 /* working with Panda */ 38*c57cca25SSteve Sakoman 39*c57cca25SSteve Sakoman /* Get CPU defs */ 40*c57cca25SSteve Sakoman #include <asm/arch/cpu.h> 41*c57cca25SSteve Sakoman #include <asm/arch/omap4.h> 42*c57cca25SSteve Sakoman 43*c57cca25SSteve Sakoman /* Display CPU and Board Info */ 44*c57cca25SSteve Sakoman #define CONFIG_DISPLAY_CPUINFO 1 45*c57cca25SSteve Sakoman #define CONFIG_DISPLAY_BOARDINFO 1 46*c57cca25SSteve Sakoman 47*c57cca25SSteve Sakoman /* Keep L2 Cache Disabled */ 48*c57cca25SSteve Sakoman #define CONFIG_L2_OFF 1 49*c57cca25SSteve Sakoman 50*c57cca25SSteve Sakoman /* Clock Defines */ 51*c57cca25SSteve Sakoman #define V_OSCK 38400000 /* Clock output from T2 */ 52*c57cca25SSteve Sakoman #define V_SCLK V_OSCK 53*c57cca25SSteve Sakoman 54*c57cca25SSteve Sakoman #undef CONFIG_USE_IRQ /* no support for IRQs */ 55*c57cca25SSteve Sakoman #define CONFIG_MISC_INIT_R 56*c57cca25SSteve Sakoman 57*c57cca25SSteve Sakoman #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 58*c57cca25SSteve Sakoman #define CONFIG_SETUP_MEMORY_TAGS 1 59*c57cca25SSteve Sakoman #define CONFIG_INITRD_TAG 1 60*c57cca25SSteve Sakoman #define CONFIG_REVISION_TAG 1 61*c57cca25SSteve Sakoman 62*c57cca25SSteve Sakoman /* 63*c57cca25SSteve Sakoman * Size of malloc() pool 64*c57cca25SSteve Sakoman * Total Size Environment - 256k 65*c57cca25SSteve Sakoman * Malloc - add 256k 66*c57cca25SSteve Sakoman */ 67*c57cca25SSteve Sakoman #define CONFIG_ENV_SIZE (256 << 10) 68*c57cca25SSteve Sakoman #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (256 << 10)) 69*c57cca25SSteve Sakoman #define CONFIG_SYS_GBL_DATA_SIZE 128 /* bytes reserved for */ 70*c57cca25SSteve Sakoman /* initial data */ 71*c57cca25SSteve Sakoman /* Vector Base */ 72*c57cca25SSteve Sakoman #define CONFIG_SYS_CA9_VECTOR_BASE SRAM_ROM_VECT_BASE 73*c57cca25SSteve Sakoman 74*c57cca25SSteve Sakoman /* 75*c57cca25SSteve Sakoman * Hardware drivers 76*c57cca25SSteve Sakoman */ 77*c57cca25SSteve Sakoman 78*c57cca25SSteve Sakoman /* 79*c57cca25SSteve Sakoman * serial port - NS16550 compatible 80*c57cca25SSteve Sakoman */ 81*c57cca25SSteve Sakoman #define V_NS16550_CLK 48000000 82*c57cca25SSteve Sakoman 83*c57cca25SSteve Sakoman #define CONFIG_SYS_NS16550 84*c57cca25SSteve Sakoman #define CONFIG_SYS_NS16550_SERIAL 85*c57cca25SSteve Sakoman #define CONFIG_SYS_NS16550_REG_SIZE (-4) 86*c57cca25SSteve Sakoman #define CONFIG_SYS_NS16550_CLK V_NS16550_CLK 87*c57cca25SSteve Sakoman #define CONFIG_CONS_INDEX 3 88*c57cca25SSteve Sakoman #define CONFIG_SYS_NS16550_COM3 UART3_BASE 89*c57cca25SSteve Sakoman 90*c57cca25SSteve Sakoman #define CONFIG_ENV_IS_NOWHERE 91*c57cca25SSteve Sakoman #define CONFIG_ENV_OVERWRITE 92*c57cca25SSteve Sakoman #define CONFIG_BAUDRATE 115200 93*c57cca25SSteve Sakoman #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ 94*c57cca25SSteve Sakoman 115200} 95*c57cca25SSteve Sakoman 96*c57cca25SSteve Sakoman /* I2C */ 97*c57cca25SSteve Sakoman #define CONFIG_HARD_I2C 1 98*c57cca25SSteve Sakoman #define CONFIG_SYS_I2C_SPEED 100000 99*c57cca25SSteve Sakoman #define CONFIG_SYS_I2C_SLAVE 1 100*c57cca25SSteve Sakoman #define CONFIG_SYS_I2C_BUS 0 101*c57cca25SSteve Sakoman #define CONFIG_SYS_I2C_BUS_SELECT 1 102*c57cca25SSteve Sakoman #define CONFIG_DRIVER_OMAP34XX_I2C 1 103*c57cca25SSteve Sakoman #define CONFIG_I2C_MULTI_BUS 1 104*c57cca25SSteve Sakoman 105*c57cca25SSteve Sakoman /* MMC */ 106*c57cca25SSteve Sakoman #define CONFIG_MMC 1 107*c57cca25SSteve Sakoman #define CONFIG_OMAP3_MMC 1 108*c57cca25SSteve Sakoman #define CONFIG_SYS_MMC_SET_DEV 1 109*c57cca25SSteve Sakoman #define CONFIG_DOS_PARTITION 1 110*c57cca25SSteve Sakoman 111*c57cca25SSteve Sakoman /* Flash */ 112*c57cca25SSteve Sakoman #define CONFIG_SYS_NO_FLASH 1 113*c57cca25SSteve Sakoman 114*c57cca25SSteve Sakoman /* commands to include */ 115*c57cca25SSteve Sakoman #include <config_cmd_default.h> 116*c57cca25SSteve Sakoman 117*c57cca25SSteve Sakoman /* Enabled commands */ 118*c57cca25SSteve Sakoman #define CONFIG_CMD_EXT2 /* EXT2 Support */ 119*c57cca25SSteve Sakoman #define CONFIG_CMD_FAT /* FAT support */ 120*c57cca25SSteve Sakoman #define CONFIG_CMD_I2C /* I2C serial bus support */ 121*c57cca25SSteve Sakoman #define CONFIG_CMD_MMC /* MMC support */ 122*c57cca25SSteve Sakoman 123*c57cca25SSteve Sakoman /* Disabled commands */ 124*c57cca25SSteve Sakoman #undef CONFIG_CMD_NET 125*c57cca25SSteve Sakoman #undef CONFIG_CMD_FPGA /* FPGA configuration Support */ 126*c57cca25SSteve Sakoman #undef CONFIG_CMD_IMLS /* List all found images */ 127*c57cca25SSteve Sakoman 128*c57cca25SSteve Sakoman /* 129*c57cca25SSteve Sakoman * Enabling relocation of u-boot by default 130*c57cca25SSteve Sakoman * Relocation can be skipped if u-boot is copied to the TEXT_BASE 131*c57cca25SSteve Sakoman */ 132*c57cca25SSteve Sakoman #undef CONFIG_SKIP_RELOCATE_UBOOT 133*c57cca25SSteve Sakoman 134*c57cca25SSteve Sakoman /* 135*c57cca25SSteve Sakoman * Environment setup 136*c57cca25SSteve Sakoman */ 137*c57cca25SSteve Sakoman 138*c57cca25SSteve Sakoman /* allow overwriting serial config and ethaddr */ 139*c57cca25SSteve Sakoman #define CONFIG_ENV_OVERWRITE 140*c57cca25SSteve Sakoman 141*c57cca25SSteve Sakoman #define CONFIG_EXTRA_ENV_SETTINGS \ 142*c57cca25SSteve Sakoman "loadaddr=0x82000000\0" \ 143*c57cca25SSteve Sakoman "console=ttyS2,115200n8\0" \ 144*c57cca25SSteve Sakoman "mmcdev=1\0" \ 145*c57cca25SSteve Sakoman "mmcroot=/dev/mmcblk0p2 rw\0" \ 146*c57cca25SSteve Sakoman "mmcrootfstype=ext3 rootwait\0" \ 147*c57cca25SSteve Sakoman "mmcargs=setenv bootargs console=${console} " \ 148*c57cca25SSteve Sakoman "root=${mmcroot} " \ 149*c57cca25SSteve Sakoman "rootfstype=${mmcrootfstype}\0" \ 150*c57cca25SSteve Sakoman "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 151*c57cca25SSteve Sakoman "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ 152*c57cca25SSteve Sakoman "source ${loadaddr}\0" \ 153*c57cca25SSteve Sakoman "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ 154*c57cca25SSteve Sakoman "mmcboot=echo Booting from mmc${mmcdev} ...; " \ 155*c57cca25SSteve Sakoman "run mmcargs; " \ 156*c57cca25SSteve Sakoman "bootm ${loadaddr}\0" \ 157*c57cca25SSteve Sakoman 158*c57cca25SSteve Sakoman #define CONFIG_BOOTCOMMAND \ 159*c57cca25SSteve Sakoman "if mmc init ${mmcdev}; then " \ 160*c57cca25SSteve Sakoman "if run loadbootscript; then " \ 161*c57cca25SSteve Sakoman "run bootscript; " \ 162*c57cca25SSteve Sakoman "else " \ 163*c57cca25SSteve Sakoman "if run loaduimage; then " \ 164*c57cca25SSteve Sakoman "run mmcboot; " \ 165*c57cca25SSteve Sakoman "else run nandboot; " \ 166*c57cca25SSteve Sakoman "fi; " \ 167*c57cca25SSteve Sakoman "fi; " \ 168*c57cca25SSteve Sakoman "fi" 169*c57cca25SSteve Sakoman 170*c57cca25SSteve Sakoman #define CONFIG_AUTO_COMPLETE 1 171*c57cca25SSteve Sakoman 172*c57cca25SSteve Sakoman /* 173*c57cca25SSteve Sakoman * Miscellaneous configurable options 174*c57cca25SSteve Sakoman */ 175*c57cca25SSteve Sakoman 176*c57cca25SSteve Sakoman #define CONFIG_SYS_LONGHELP /* undef to save memory */ 177*c57cca25SSteve Sakoman #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ 178*c57cca25SSteve Sakoman #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " 179*c57cca25SSteve Sakoman #define CONFIG_SYS_PROMPT "Panda # " 180*c57cca25SSteve Sakoman #define CONFIG_SYS_CBSIZE 256 181*c57cca25SSteve Sakoman /* Print Buffer Size */ 182*c57cca25SSteve Sakoman #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 183*c57cca25SSteve Sakoman sizeof(CONFIG_SYS_PROMPT) + 16) 184*c57cca25SSteve Sakoman #define CONFIG_SYS_MAXARGS 16 185*c57cca25SSteve Sakoman /* Boot Argument Buffer Size */ 186*c57cca25SSteve Sakoman #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) 187*c57cca25SSteve Sakoman 188*c57cca25SSteve Sakoman /* 189*c57cca25SSteve Sakoman * memtest setup 190*c57cca25SSteve Sakoman */ 191*c57cca25SSteve Sakoman #define CONFIG_SYS_MEMTEST_START 0x80000000 192*c57cca25SSteve Sakoman #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + (32 << 20)) 193*c57cca25SSteve Sakoman 194*c57cca25SSteve Sakoman /* Default load address */ 195*c57cca25SSteve Sakoman #define CONFIG_SYS_LOAD_ADDR 0x80000000 196*c57cca25SSteve Sakoman 197*c57cca25SSteve Sakoman /* Use General purpose timer 1 */ 198*c57cca25SSteve Sakoman #define CONFIG_SYS_TIMERBASE GPT1_BASE 199*c57cca25SSteve Sakoman #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 200*c57cca25SSteve Sakoman #define CONFIG_SYS_HZ 1000 201*c57cca25SSteve Sakoman 202*c57cca25SSteve Sakoman /* 203*c57cca25SSteve Sakoman * Stack sizes 204*c57cca25SSteve Sakoman * 205*c57cca25SSteve Sakoman * The stack sizes are set up in start.S using the settings below 206*c57cca25SSteve Sakoman */ 207*c57cca25SSteve Sakoman #define CONFIG_STACKSIZE (128 << 10) /* Regular stack */ 208*c57cca25SSteve Sakoman #ifdef CONFIG_USE_IRQ 209*c57cca25SSteve Sakoman #define CONFIG_STACKSIZE_IRQ (4 << 10) /* IRQ stack */ 210*c57cca25SSteve Sakoman #define CONFIG_STACKSIZE_FIQ (4 << 10) /* FIQ stack */ 211*c57cca25SSteve Sakoman #endif 212*c57cca25SSteve Sakoman 213*c57cca25SSteve Sakoman /* 214*c57cca25SSteve Sakoman * SDRAM Memory Map 215*c57cca25SSteve Sakoman * Even though we use two CS all the memory 216*c57cca25SSteve Sakoman * is mapped to one contiguous block 217*c57cca25SSteve Sakoman */ 218*c57cca25SSteve Sakoman #define CONFIG_NR_DRAM_BANKS 1 219*c57cca25SSteve Sakoman 220*c57cca25SSteve Sakoman #endif /* __CONFIG_H */ 221