1 /* 2 * (C) Copyright 2010 3 * Texas Instruments Incorporated. 4 * Steve Sakoman <steve@sakoman.com> 5 * 6 * Configuration settings for the TI OMAP4 Panda board. 7 * 8 * See file CREDITS for list of people who contributed to this 9 * project. 10 * 11 * This program is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU General Public License as 13 * published by the Free Software Foundation; either version 2 of 14 * the License, or (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with this program; if not, write to the Free Software 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 24 * MA 02111-1307 USA 25 */ 26 27 #ifndef __CONFIG_H 28 #define __CONFIG_H 29 30 /* 31 * High Level Configuration Options 32 */ 33 #define CONFIG_OMAP 1 /* in a TI OMAP core */ 34 #define CONFIG_OMAP44XX 1 /* which is a 44XX */ 35 #define CONFIG_OMAP4430 1 /* which is in a 4430 */ 36 #define CONFIG_PANDA 1 /* working with Panda */ 37 #define CONFIG_ARCH_CPU_INIT 38 39 /* Get CPU defs */ 40 #include <asm/arch/cpu.h> 41 #include <asm/arch/omap4.h> 42 43 /* Display CPU and Board Info */ 44 #define CONFIG_DISPLAY_CPUINFO 1 45 #define CONFIG_DISPLAY_BOARDINFO 1 46 47 /* Clock Defines */ 48 #define V_OSCK 38400000 /* Clock output from T2 */ 49 #define V_SCLK V_OSCK 50 51 #undef CONFIG_USE_IRQ /* no support for IRQs */ 52 #define CONFIG_MISC_INIT_R 53 54 #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 55 #define CONFIG_SETUP_MEMORY_TAGS 1 56 #define CONFIG_INITRD_TAG 1 57 #define CONFIG_REVISION_TAG 1 58 59 #define CONFIG_OF_LIBFDT 1 60 61 /* 62 * Size of malloc() pool 63 * Total Size Environment - 256k 64 * Malloc - add 256k 65 */ 66 #define CONFIG_ENV_SIZE (256 << 10) 67 #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (256 << 10)) 68 /* Vector Base */ 69 #define CONFIG_SYS_CA9_VECTOR_BASE SRAM_ROM_VECT_BASE 70 71 /* 72 * Hardware drivers 73 */ 74 75 /* 76 * serial port - NS16550 compatible 77 */ 78 #define V_NS16550_CLK 48000000 79 80 #define CONFIG_SYS_NS16550 81 #define CONFIG_SYS_NS16550_SERIAL 82 #define CONFIG_SYS_NS16550_REG_SIZE (-4) 83 #define CONFIG_SYS_NS16550_CLK V_NS16550_CLK 84 #define CONFIG_CONS_INDEX 3 85 #define CONFIG_SYS_NS16550_COM3 UART3_BASE 86 87 #define CONFIG_ENV_IS_NOWHERE 88 #define CONFIG_BAUDRATE 115200 89 #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ 90 115200} 91 92 /* I2C */ 93 #define CONFIG_HARD_I2C 1 94 #define CONFIG_SYS_I2C_SPEED 100000 95 #define CONFIG_SYS_I2C_SLAVE 1 96 #define CONFIG_SYS_I2C_BUS 0 97 #define CONFIG_SYS_I2C_BUS_SELECT 1 98 #define CONFIG_DRIVER_OMAP34XX_I2C 1 99 #define CONFIG_I2C_MULTI_BUS 1 100 101 /* TWL6030 */ 102 #define CONFIG_TWL6030_POWER 1 103 104 /* MMC */ 105 #define CONFIG_GENERIC_MMC 1 106 #define CONFIG_MMC 1 107 #define CONFIG_OMAP_HSMMC 1 108 #define CONFIG_SYS_MMC_SET_DEV 1 109 #define CONFIG_DOS_PARTITION 1 110 111 /* USB */ 112 #define CONFIG_MUSB_UDC 1 113 #define CONFIG_USB_OMAP3 1 114 115 /* USB device configuration */ 116 #define CONFIG_USB_DEVICE 1 117 #define CONFIG_USB_TTY 1 118 #define CONFIG_SYS_CONSOLE_IS_IN_ENV 1 119 120 /* Flash */ 121 #define CONFIG_SYS_NO_FLASH 1 122 123 /* commands to include */ 124 #include <config_cmd_default.h> 125 126 /* Enabled commands */ 127 #define CONFIG_CMD_EXT2 /* EXT2 Support */ 128 #define CONFIG_CMD_FAT /* FAT support */ 129 #define CONFIG_CMD_I2C /* I2C serial bus support */ 130 #define CONFIG_CMD_MMC /* MMC support */ 131 132 /* Disabled commands */ 133 #undef CONFIG_CMD_NET 134 #undef CONFIG_CMD_NFS 135 #undef CONFIG_CMD_FPGA /* FPGA configuration Support */ 136 #undef CONFIG_CMD_IMLS /* List all found images */ 137 138 /* 139 * Environment setup 140 */ 141 142 #define CONFIG_BOOTDELAY 3 143 144 #define CONFIG_ENV_OVERWRITE 145 146 #define CONFIG_EXTRA_ENV_SETTINGS \ 147 "loadaddr=0x82000000\0" \ 148 "console=ttyS2,115200n8\0" \ 149 "usbtty=cdc_acm\0" \ 150 "vram=16M\0" \ 151 "mmcdev=0\0" \ 152 "mmcroot=/dev/mmcblk0p2 rw\0" \ 153 "mmcrootfstype=ext3 rootwait\0" \ 154 "mmcargs=setenv bootargs console=${console} " \ 155 "vram=${vram} " \ 156 "root=${mmcroot} " \ 157 "rootfstype=${mmcrootfstype}\0" \ 158 "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 159 "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ 160 "source ${loadaddr}\0" \ 161 "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ 162 "mmcboot=echo Booting from mmc${mmcdev} ...; " \ 163 "run mmcargs; " \ 164 "bootm ${loadaddr}\0" \ 165 166 #define CONFIG_BOOTCOMMAND \ 167 "if mmc rescan ${mmcdev}; then " \ 168 "if run loadbootscript; then " \ 169 "run bootscript; " \ 170 "else " \ 171 "if run loaduimage; then " \ 172 "run mmcboot; " \ 173 "fi; " \ 174 "fi; " \ 175 "fi" 176 177 #define CONFIG_AUTO_COMPLETE 1 178 179 /* 180 * Miscellaneous configurable options 181 */ 182 183 #define CONFIG_SYS_LONGHELP /* undef to save memory */ 184 #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ 185 #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " 186 #define CONFIG_SYS_PROMPT "Panda # " 187 #define CONFIG_SYS_CBSIZE 256 188 /* Print Buffer Size */ 189 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 190 sizeof(CONFIG_SYS_PROMPT) + 16) 191 #define CONFIG_SYS_MAXARGS 16 192 /* Boot Argument Buffer Size */ 193 #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) 194 195 /* 196 * memtest setup 197 */ 198 #define CONFIG_SYS_MEMTEST_START 0x80000000 199 #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + (32 << 20)) 200 201 /* Default load address */ 202 #define CONFIG_SYS_LOAD_ADDR 0x80000000 203 204 /* Use General purpose timer 1 */ 205 #define CONFIG_SYS_TIMERBASE GPT2_BASE 206 #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 207 #define CONFIG_SYS_HZ 1000 208 209 /* 210 * Stack sizes 211 * 212 * The stack sizes are set up in start.S using the settings below 213 */ 214 #define CONFIG_STACKSIZE (128 << 10) /* Regular stack */ 215 #ifdef CONFIG_USE_IRQ 216 #define CONFIG_STACKSIZE_IRQ (4 << 10) /* IRQ stack */ 217 #define CONFIG_STACKSIZE_FIQ (4 << 10) /* FIQ stack */ 218 #endif 219 220 /* 221 * SDRAM Memory Map 222 * Even though we use two CS all the memory 223 * is mapped to one contiguous block 224 */ 225 #define CONFIG_NR_DRAM_BANKS 1 226 227 #define CONFIG_SYS_SDRAM_BASE 0x80000000 228 #define CONFIG_SYS_INIT_RAM_ADDR 0x4030D800 229 #define CONFIG_SYS_INIT_RAM_SIZE 0x800 230 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ 231 CONFIG_SYS_INIT_RAM_SIZE - \ 232 GENERATED_GBL_DATA_SIZE) 233 234 #ifndef CONFIG_SYS_L2CACHE_OFF 235 #define CONFIG_SYS_L2_PL310 1 236 #define CONFIG_SYS_PL310_BASE 0x48242000 237 #endif 238 239 /* Defines for SDRAM init */ 240 #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS 241 #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION 242 #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS 243 #endif 244 245 /* Defines for SPL */ 246 #define CONFIG_SPL 247 #define CONFIG_SPL_TEXT_BASE 0x40304350 248 #define CONFIG_SPL_MAX_SIZE (38 * 1024) 249 #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK 250 251 #define CONFIG_SPL_BSS_START_ADDR 0x80000000 252 #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */ 253 254 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */ 255 #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */ 256 #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1 257 #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img" 258 259 #define CONFIG_SPL_LIBCOMMON_SUPPORT 260 #define CONFIG_SPL_LIBDISK_SUPPORT 261 #define CONFIG_SPL_I2C_SUPPORT 262 #define CONFIG_SPL_MMC_SUPPORT 263 #define CONFIG_SPL_FAT_SUPPORT 264 #define CONFIG_SPL_LIBGENERIC_SUPPORT 265 #define CONFIG_SPL_SERIAL_SUPPORT 266 #define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv7/omap-common/u-boot-spl.lds" 267 268 /* 269 * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM 270 * 64 bytes before this address should be set aside for u-boot.img's 271 * header. That is 0x800FFFC0--0x80100000 should not be used for any 272 * other needs. 273 */ 274 #define CONFIG_SYS_TEXT_BASE 0x80100000 275 276 #endif /* __CONFIG_H */ 277