1f904cdbbSDirk Behme /* 2f904cdbbSDirk Behme * (C) Copyright 2006-2008 3f904cdbbSDirk Behme * Texas Instruments. 4f904cdbbSDirk Behme * Richard Woodruff <r-woodruff2@ti.com> 5f904cdbbSDirk Behme * Syed Mohammed Khasim <x0khasim@ti.com> 6f904cdbbSDirk Behme * 7f904cdbbSDirk Behme * Configuration settings for the TI OMAP3530 Beagle board. 8f904cdbbSDirk Behme * 9f904cdbbSDirk Behme * See file CREDITS for list of people who contributed to this 10f904cdbbSDirk Behme * project. 11f904cdbbSDirk Behme * 12f904cdbbSDirk Behme * This program is free software; you can redistribute it and/or 13f904cdbbSDirk Behme * modify it under the terms of the GNU General Public License as 14f904cdbbSDirk Behme * published by the Free Software Foundation; either version 2 of 15f904cdbbSDirk Behme * the License, or (at your option) any later version. 16f904cdbbSDirk Behme * 17f904cdbbSDirk Behme * This program is distributed in the hope that it will be useful, 18f904cdbbSDirk Behme * but WITHOUT ANY WARRANTY; without even the implied warranty of 19f904cdbbSDirk Behme * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20f904cdbbSDirk Behme * GNU General Public License for more details. 21f904cdbbSDirk Behme * 22f904cdbbSDirk Behme * You should have received a copy of the GNU General Public License 23f904cdbbSDirk Behme * along with this program; if not, write to the Free Software 24f904cdbbSDirk Behme * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 25f904cdbbSDirk Behme * MA 02111-1307 USA 26f904cdbbSDirk Behme */ 27f904cdbbSDirk Behme 28f904cdbbSDirk Behme #ifndef __CONFIG_H 29f904cdbbSDirk Behme #define __CONFIG_H 30f904cdbbSDirk Behme #include <asm/sizes.h> 31f904cdbbSDirk Behme 32f904cdbbSDirk Behme /* 33f904cdbbSDirk Behme * High Level Configuration Options 34f904cdbbSDirk Behme */ 35f904cdbbSDirk Behme #define CONFIG_ARMCORTEXA8 1 /* This is an ARM V7 CPU core */ 36f904cdbbSDirk Behme #define CONFIG_OMAP 1 /* in a TI OMAP core */ 37f904cdbbSDirk Behme #define CONFIG_OMAP34XX 1 /* which is a 34XX */ 38f904cdbbSDirk Behme #define CONFIG_OMAP3430 1 /* which is in a 3430 */ 39f904cdbbSDirk Behme #define CONFIG_OMAP3_BEAGLE 1 /* working with BEAGLE */ 40f904cdbbSDirk Behme 41f904cdbbSDirk Behme #include <asm/arch/cpu.h> /* get chip and board defs */ 42f904cdbbSDirk Behme #include <asm/arch/omap3.h> 43f904cdbbSDirk Behme 446a6b62e3SSanjeev Premi /* 456a6b62e3SSanjeev Premi * Display CPU and Board information 466a6b62e3SSanjeev Premi */ 476a6b62e3SSanjeev Premi #define CONFIG_DISPLAY_CPUINFO 1 486a6b62e3SSanjeev Premi #define CONFIG_DISPLAY_BOARDINFO 1 496a6b62e3SSanjeev Premi 50f904cdbbSDirk Behme /* Clock Defines */ 51f904cdbbSDirk Behme #define V_OSCK 26000000 /* Clock output from T2 */ 52f904cdbbSDirk Behme #define V_SCLK (V_OSCK >> 1) 53f904cdbbSDirk Behme 54f904cdbbSDirk Behme #undef CONFIG_USE_IRQ /* no support for IRQs */ 55f904cdbbSDirk Behme #define CONFIG_MISC_INIT_R 56f904cdbbSDirk Behme 57f904cdbbSDirk Behme #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 58f904cdbbSDirk Behme #define CONFIG_SETUP_MEMORY_TAGS 1 59f904cdbbSDirk Behme #define CONFIG_INITRD_TAG 1 60f904cdbbSDirk Behme #define CONFIG_REVISION_TAG 1 61f904cdbbSDirk Behme 62f904cdbbSDirk Behme /* 63f904cdbbSDirk Behme * Size of malloc() pool 64f904cdbbSDirk Behme */ 65f904cdbbSDirk Behme #define CONFIG_ENV_SIZE SZ_128K /* Total Size Environment */ 66f904cdbbSDirk Behme /* Sector */ 67f904cdbbSDirk Behme #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_128K) 68f904cdbbSDirk Behme #define CONFIG_SYS_GBL_DATA_SIZE 128 /* bytes reserved for */ 69f904cdbbSDirk Behme /* initial data */ 70f904cdbbSDirk Behme 71f904cdbbSDirk Behme /* 72f904cdbbSDirk Behme * Hardware drivers 73f904cdbbSDirk Behme */ 74f904cdbbSDirk Behme 75f904cdbbSDirk Behme /* 76f904cdbbSDirk Behme * NS16550 Configuration 77f904cdbbSDirk Behme */ 78f904cdbbSDirk Behme #define V_NS16550_CLK 48000000 /* 48MHz (APLL96/2) */ 79f904cdbbSDirk Behme 80f904cdbbSDirk Behme #define CONFIG_SYS_NS16550 81f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_SERIAL 82f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_REG_SIZE (-4) 83f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_CLK V_NS16550_CLK 84f904cdbbSDirk Behme 85f904cdbbSDirk Behme /* 86f904cdbbSDirk Behme * select serial console configuration 87f904cdbbSDirk Behme */ 88f904cdbbSDirk Behme #define CONFIG_CONS_INDEX 3 89f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 90f904cdbbSDirk Behme #define CONFIG_SERIAL3 3 /* UART3 on Beagle Rev 2 */ 91f904cdbbSDirk Behme 92f904cdbbSDirk Behme /* allow to overwrite serial and ethaddr */ 93f904cdbbSDirk Behme #define CONFIG_ENV_OVERWRITE 94f904cdbbSDirk Behme #define CONFIG_BAUDRATE 115200 95f904cdbbSDirk Behme #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ 96f904cdbbSDirk Behme 115200} 97f904cdbbSDirk Behme #define CONFIG_MMC 1 98f904cdbbSDirk Behme #define CONFIG_OMAP3_MMC 1 99f904cdbbSDirk Behme #define CONFIG_DOS_PARTITION 1 100f904cdbbSDirk Behme 101f904cdbbSDirk Behme /* commands to include */ 102f904cdbbSDirk Behme #include <config_cmd_default.h> 103f904cdbbSDirk Behme 104f904cdbbSDirk Behme #define CONFIG_CMD_EXT2 /* EXT2 Support */ 105f904cdbbSDirk Behme #define CONFIG_CMD_FAT /* FAT support */ 106f904cdbbSDirk Behme #define CONFIG_CMD_JFFS2 /* JFFS2 Support */ 107917cfc70SNishanth Menon #define CONFIG_CMD_MTDPARTS /* Enable MTD parts commands */ 108917cfc70SNishanth Menon #define MTDIDS_DEFAULT "nand0=nand" 109917cfc70SNishanth Menon #define MTDPARTS_DEFAULT "mtdparts=nand:512k(x-loader),"\ 110917cfc70SNishanth Menon "1920k(u-boot),128k(u-boot-env),"\ 111917cfc70SNishanth Menon "4m(kernel),-(fs)" 112f904cdbbSDirk Behme 113f904cdbbSDirk Behme #define CONFIG_CMD_I2C /* I2C serial bus support */ 114f904cdbbSDirk Behme #define CONFIG_CMD_MMC /* MMC support */ 115f904cdbbSDirk Behme #define CONFIG_CMD_NAND /* NAND support */ 116f904cdbbSDirk Behme 117f904cdbbSDirk Behme #undef CONFIG_CMD_FLASH /* flinfo, erase, protect */ 118f904cdbbSDirk Behme #undef CONFIG_CMD_FPGA /* FPGA configuration Support */ 119f904cdbbSDirk Behme #undef CONFIG_CMD_IMI /* iminfo */ 120f904cdbbSDirk Behme #undef CONFIG_CMD_IMLS /* List all found images */ 121f904cdbbSDirk Behme #undef CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */ 122f904cdbbSDirk Behme #undef CONFIG_CMD_NFS /* NFS support */ 123f904cdbbSDirk Behme 124f904cdbbSDirk Behme #define CONFIG_SYS_NO_FLASH 125f904cdbbSDirk Behme #define CONFIG_SYS_I2C_SPEED 100000 126f904cdbbSDirk Behme #define CONFIG_SYS_I2C_SLAVE 1 127f904cdbbSDirk Behme #define CONFIG_SYS_I2C_BUS 0 128f904cdbbSDirk Behme #define CONFIG_SYS_I2C_BUS_SELECT 1 129f904cdbbSDirk Behme #define CONFIG_DRIVER_OMAP34XX_I2C 1 130f904cdbbSDirk Behme 131f904cdbbSDirk Behme /* 132f904cdbbSDirk Behme * Board NAND Info. 133f904cdbbSDirk Behme */ 134f904cdbbSDirk Behme #define CONFIG_NAND_OMAP_GPMC 135f904cdbbSDirk Behme #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 136f904cdbbSDirk Behme /* to access nand */ 137f904cdbbSDirk Behme #define CONFIG_SYS_NAND_BASE NAND_BASE /* physical address */ 138f904cdbbSDirk Behme /* to access nand at */ 139f904cdbbSDirk Behme /* CS0 */ 140f904cdbbSDirk Behme #define GPMC_NAND_ECC_LP_x16_LAYOUT 1 141f904cdbbSDirk Behme 142f904cdbbSDirk Behme #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND */ 143f904cdbbSDirk Behme /* devices */ 144f904cdbbSDirk Behme 145f904cdbbSDirk Behme #define CONFIG_JFFS2_NAND 146f904cdbbSDirk Behme /* nand device jffs2 lives on */ 147f904cdbbSDirk Behme #define CONFIG_JFFS2_DEV "nand0" 148f904cdbbSDirk Behme /* start of jffs2 partition */ 149f904cdbbSDirk Behme #define CONFIG_JFFS2_PART_OFFSET 0x680000 150f904cdbbSDirk Behme #define CONFIG_JFFS2_PART_SIZE 0xf980000 /* size of jffs2 */ 151f904cdbbSDirk Behme /* partition */ 152f904cdbbSDirk Behme 153f904cdbbSDirk Behme /* Environment information */ 154f904cdbbSDirk Behme #define CONFIG_BOOTDELAY 10 155f904cdbbSDirk Behme 156f904cdbbSDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \ 157f904cdbbSDirk Behme "loadaddr=0x82000000\0" \ 158f904cdbbSDirk Behme "console=ttyS2,115200n8\0" \ 159f904cdbbSDirk Behme "videomode=1024x768@60,vxres=1024,vyres=768\0" \ 160f904cdbbSDirk Behme "videospec=omapfb:vram:2M,vram:4M\0" \ 161f904cdbbSDirk Behme "mmcargs=setenv bootargs console=${console} " \ 162f904cdbbSDirk Behme "video=${videospec},mode:${videomode} " \ 163f904cdbbSDirk Behme "root=/dev/mmcblk0p2 rw " \ 164f904cdbbSDirk Behme "rootfstype=ext3 rootwait\0" \ 165f904cdbbSDirk Behme "nandargs=setenv bootargs console=${console} " \ 166f904cdbbSDirk Behme "video=${videospec},mode:${videomode} " \ 167f904cdbbSDirk Behme "root=/dev/mtdblock4 rw " \ 168f904cdbbSDirk Behme "rootfstype=jffs2\0" \ 169f904cdbbSDirk Behme "loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \ 170f904cdbbSDirk Behme "bootscript=echo Running bootscript from mmc ...; " \ 17174de7aefSWolfgang Denk "source ${loadaddr}\0" \ 172f904cdbbSDirk Behme "loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \ 173f904cdbbSDirk Behme "mmcboot=echo Booting from mmc ...; " \ 174f904cdbbSDirk Behme "run mmcargs; " \ 175f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 176f904cdbbSDirk Behme "nandboot=echo Booting from nand ...; " \ 177f904cdbbSDirk Behme "run nandargs; " \ 178f904cdbbSDirk Behme "nand read ${loadaddr} 280000 400000; " \ 179f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 180f904cdbbSDirk Behme 181f904cdbbSDirk Behme #define CONFIG_BOOTCOMMAND \ 182f904cdbbSDirk Behme "if mmc init; then " \ 183f904cdbbSDirk Behme "if run loadbootscript; then " \ 184f904cdbbSDirk Behme "run bootscript; " \ 185f904cdbbSDirk Behme "else " \ 186f904cdbbSDirk Behme "if run loaduimage; then " \ 187f904cdbbSDirk Behme "run mmcboot; " \ 188f904cdbbSDirk Behme "else run nandboot; " \ 189f904cdbbSDirk Behme "fi; " \ 190f904cdbbSDirk Behme "fi; " \ 191f904cdbbSDirk Behme "else run nandboot; fi" 192f904cdbbSDirk Behme 193f904cdbbSDirk Behme #define CONFIG_AUTO_COMPLETE 1 194f904cdbbSDirk Behme /* 195f904cdbbSDirk Behme * Miscellaneous configurable options 196f904cdbbSDirk Behme */ 197f904cdbbSDirk Behme #define V_PROMPT "OMAP3 beagleboard.org # " 198f904cdbbSDirk Behme 199f904cdbbSDirk Behme #define CONFIG_SYS_LONGHELP /* undef to save memory */ 200f904cdbbSDirk Behme #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ 201f904cdbbSDirk Behme #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " 202f904cdbbSDirk Behme #define CONFIG_SYS_PROMPT V_PROMPT 203f904cdbbSDirk Behme #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 204f904cdbbSDirk Behme /* Print Buffer Size */ 205f904cdbbSDirk Behme #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 206f904cdbbSDirk Behme sizeof(CONFIG_SYS_PROMPT) + 16) 207f904cdbbSDirk Behme #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 208f904cdbbSDirk Behme /* Boot Argument Buffer Size */ 209f904cdbbSDirk Behme #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) 210f904cdbbSDirk Behme 211f904cdbbSDirk Behme #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) /* memtest */ 212f904cdbbSDirk Behme /* works on */ 213f904cdbbSDirk Behme #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ 214f904cdbbSDirk Behme 0x01F00000) /* 31MB */ 215f904cdbbSDirk Behme 216f904cdbbSDirk Behme #define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */ 217f904cdbbSDirk Behme /* load address */ 218f904cdbbSDirk Behme 219f904cdbbSDirk Behme /* 220*d3a513c2SManikandan Pillai * OMAP3 has 12 GP timers, they can be driven by the system clock 221*d3a513c2SManikandan Pillai * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). 222*d3a513c2SManikandan Pillai * This rate is divided by a local divisor. 223f904cdbbSDirk Behme */ 224f904cdbbSDirk Behme #define CONFIG_SYS_TIMERBASE (OMAP34XX_GPT2) 225*d3a513c2SManikandan Pillai #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 226*d3a513c2SManikandan Pillai #define CONFIG_SYS_HZ 1000 227f904cdbbSDirk Behme 228f904cdbbSDirk Behme /*----------------------------------------------------------------------- 229f904cdbbSDirk Behme * Stack sizes 230f904cdbbSDirk Behme * 231f904cdbbSDirk Behme * The stack sizes are set up in start.S using the settings below 232f904cdbbSDirk Behme */ 233f904cdbbSDirk Behme #define CONFIG_STACKSIZE SZ_128K /* regular stack */ 234f904cdbbSDirk Behme #ifdef CONFIG_USE_IRQ 235f904cdbbSDirk Behme #define CONFIG_STACKSIZE_IRQ SZ_4K /* IRQ stack */ 236f904cdbbSDirk Behme #define CONFIG_STACKSIZE_FIQ SZ_4K /* FIQ stack */ 237f904cdbbSDirk Behme #endif 238f904cdbbSDirk Behme 239f904cdbbSDirk Behme /*----------------------------------------------------------------------- 240f904cdbbSDirk Behme * Physical Memory Map 241f904cdbbSDirk Behme */ 242f904cdbbSDirk Behme #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 243f904cdbbSDirk Behme #define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0 244f904cdbbSDirk Behme #define PHYS_SDRAM_1_SIZE SZ_32M /* at least 32 meg */ 245f904cdbbSDirk Behme #define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1 246f904cdbbSDirk Behme 247f904cdbbSDirk Behme /* SDRAM Bank Allocation method */ 248f904cdbbSDirk Behme #define SDRC_R_B_C 1 249f904cdbbSDirk Behme 250f904cdbbSDirk Behme /*----------------------------------------------------------------------- 251f904cdbbSDirk Behme * FLASH and environment organization 252f904cdbbSDirk Behme */ 253f904cdbbSDirk Behme 254f904cdbbSDirk Behme /* **** PISMO SUPPORT *** */ 255f904cdbbSDirk Behme 256f904cdbbSDirk Behme /* Configure the PISMO */ 257f904cdbbSDirk Behme #define PISMO1_NAND_SIZE GPMC_SIZE_128M 258f904cdbbSDirk Behme #define PISMO1_ONEN_SIZE GPMC_SIZE_128M 259f904cdbbSDirk Behme 260f904cdbbSDirk Behme #define CONFIG_SYS_MAX_FLASH_SECT 520 /* max number of sectors on */ 261f904cdbbSDirk Behme /* one chip */ 262f904cdbbSDirk Behme #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of flash banks */ 263f904cdbbSDirk Behme #define CONFIG_SYS_MONITOR_LEN SZ_256K /* Reserve 2 sectors */ 264f904cdbbSDirk Behme 265f904cdbbSDirk Behme #define CONFIG_SYS_FLASH_BASE boot_flash_base 266f904cdbbSDirk Behme 267f904cdbbSDirk Behme /* Monitor at start of flash */ 268f904cdbbSDirk Behme #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 269f904cdbbSDirk Behme #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP 270f904cdbbSDirk Behme 271f904cdbbSDirk Behme #define CONFIG_ENV_IS_IN_NAND 1 272f904cdbbSDirk Behme #define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */ 273f904cdbbSDirk Behme #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 274f904cdbbSDirk Behme 275f904cdbbSDirk Behme #define CONFIG_SYS_ENV_SECT_SIZE boot_flash_sec 276f904cdbbSDirk Behme #define CONFIG_ENV_OFFSET boot_flash_off 277f904cdbbSDirk Behme #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 278f904cdbbSDirk Behme 279f904cdbbSDirk Behme /*----------------------------------------------------------------------- 280f904cdbbSDirk Behme * CFI FLASH driver setup 281f904cdbbSDirk Behme */ 282f904cdbbSDirk Behme /* timeout values are in ticks */ 283f904cdbbSDirk Behme #define CONFIG_SYS_FLASH_ERASE_TOUT (100 * CONFIG_SYS_HZ) 284f904cdbbSDirk Behme #define CONFIG_SYS_FLASH_WRITE_TOUT (100 * CONFIG_SYS_HZ) 285f904cdbbSDirk Behme 286f904cdbbSDirk Behme /* Flash banks JFFS2 should use */ 287f904cdbbSDirk Behme #define CONFIG_SYS_MAX_MTD_BANKS (CONFIG_SYS_MAX_FLASH_BANKS + \ 288f904cdbbSDirk Behme CONFIG_SYS_MAX_NAND_DEVICE) 289f904cdbbSDirk Behme #define CONFIG_SYS_JFFS2_MEM_NAND 290f904cdbbSDirk Behme /* use flash_info[2] */ 291f904cdbbSDirk Behme #define CONFIG_SYS_JFFS2_FIRST_BANK CONFIG_SYS_MAX_FLASH_BANKS 292f904cdbbSDirk Behme #define CONFIG_SYS_JFFS2_NUM_BANKS 1 293f904cdbbSDirk Behme 294f904cdbbSDirk Behme #ifndef __ASSEMBLY__ 295f904cdbbSDirk Behme extern gpmc_csx_t *nand_cs_base; 296f904cdbbSDirk Behme extern gpmc_t *gpmc_cfg_base; 297f904cdbbSDirk Behme extern unsigned int boot_flash_base; 298f904cdbbSDirk Behme extern volatile unsigned int boot_flash_env_addr; 299f904cdbbSDirk Behme extern unsigned int boot_flash_off; 300f904cdbbSDirk Behme extern unsigned int boot_flash_sec; 301f904cdbbSDirk Behme extern unsigned int boot_flash_type; 302f904cdbbSDirk Behme #endif 303f904cdbbSDirk Behme 304f904cdbbSDirk Behme #endif /* __CONFIG_H */ 305