18167af14SThomas Weber /* 28167af14SThomas Weber * (C) Copyright 2006-2008 38167af14SThomas Weber * Texas Instruments. 48167af14SThomas Weber * Richard Woodruff <r-woodruff2@ti.com> 58167af14SThomas Weber * Syed Mohammed Khasim <x0khasim@ti.com> 68167af14SThomas Weber * 78167af14SThomas Weber * (C) Copyright 2012 88167af14SThomas Weber * Corscience GmbH & Co. KG 98167af14SThomas Weber * Thomas Weber <weber@corscience.de> 108167af14SThomas Weber * 118167af14SThomas Weber * Configuration settings for the Tricorder board. 128167af14SThomas Weber * 131a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 148167af14SThomas Weber */ 158167af14SThomas Weber 168167af14SThomas Weber #ifndef __CONFIG_H 178167af14SThomas Weber #define __CONFIG_H 188167af14SThomas Weber 198167af14SThomas Weber /* High Level Configuration Options */ 208167af14SThomas Weber #define CONFIG_OMAP /* in a TI OMAP core */ 218167af14SThomas Weber #define CONFIG_OMAP34XX /* which is a 34XX */ 22806d2792SLokesh Vutla #define CONFIG_OMAP_COMMON 238167af14SThomas Weber 248167af14SThomas Weber #define CONFIG_MACH_TYPE MACH_TYPE_TRICORDER 258167af14SThomas Weber /* 268167af14SThomas Weber * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM 278167af14SThomas Weber * 64 bytes before this address should be set aside for u-boot.img's 288167af14SThomas Weber * header. That is 0x800FFFC0--0x80100000 should not be used for any 298167af14SThomas Weber * other needs. 308167af14SThomas Weber */ 318167af14SThomas Weber #define CONFIG_SYS_TEXT_BASE 0x80100000 328167af14SThomas Weber 338167af14SThomas Weber #define CONFIG_SDRC /* The chip has SDRC controller */ 348167af14SThomas Weber 358167af14SThomas Weber #include <asm/arch/cpu.h> /* get chip and board defs */ 368167af14SThomas Weber #include <asm/arch/omap3.h> 378167af14SThomas Weber 388167af14SThomas Weber /* Display CPU and Board information */ 398167af14SThomas Weber #define CONFIG_DISPLAY_CPUINFO 408167af14SThomas Weber #define CONFIG_DISPLAY_BOARDINFO 418167af14SThomas Weber 428167af14SThomas Weber /* Clock Defines */ 438167af14SThomas Weber #define V_OSCK 26000000 /* Clock output from T2 */ 448167af14SThomas Weber #define V_SCLK (V_OSCK >> 1) 458167af14SThomas Weber 468167af14SThomas Weber #define CONFIG_MISC_INIT_R 478167af14SThomas Weber 488167af14SThomas Weber #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 498167af14SThomas Weber #define CONFIG_SETUP_MEMORY_TAGS 508167af14SThomas Weber #define CONFIG_INITRD_TAG 518167af14SThomas Weber #define CONFIG_REVISION_TAG 528167af14SThomas Weber 538167af14SThomas Weber #define CONFIG_OF_LIBFDT 548167af14SThomas Weber 558167af14SThomas Weber /* Size of malloc() pool */ 5636f3aab2SBernhard Walle #define CONFIG_SYS_MALLOC_LEN (1024*1024) 578167af14SThomas Weber 588167af14SThomas Weber /* Hardware drivers */ 598167af14SThomas Weber 608167af14SThomas Weber /* NS16550 Configuration */ 618167af14SThomas Weber #define CONFIG_SYS_NS16550 628167af14SThomas Weber #define CONFIG_SYS_NS16550_SERIAL 638167af14SThomas Weber #define CONFIG_SYS_NS16550_REG_SIZE (-4) 648167af14SThomas Weber #define CONFIG_SYS_NS16550_CLK 48000000 /* 48MHz (APLL96/2) */ 658167af14SThomas Weber 668167af14SThomas Weber /* select serial console configuration */ 678167af14SThomas Weber #define CONFIG_CONS_INDEX 3 688167af14SThomas Weber #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 698167af14SThomas Weber #define CONFIG_SERIAL3 3 708167af14SThomas Weber #define CONFIG_BAUDRATE 115200 718167af14SThomas Weber #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ 728167af14SThomas Weber 115200} 738167af14SThomas Weber 748167af14SThomas Weber /* MMC */ 758167af14SThomas Weber #define CONFIG_GENERIC_MMC 768167af14SThomas Weber #define CONFIG_MMC 778167af14SThomas Weber #define CONFIG_OMAP_HSMMC 788167af14SThomas Weber #define CONFIG_DOS_PARTITION 798167af14SThomas Weber 808167af14SThomas Weber /* I2C */ 818167af14SThomas Weber #define CONFIG_HARD_I2C 828167af14SThomas Weber #define CONFIG_SYS_I2C_SPEED 100000 838167af14SThomas Weber #define CONFIG_SYS_I2C_SLAVE 1 848167af14SThomas Weber #define CONFIG_DRIVER_OMAP34XX_I2C 1 858167af14SThomas Weber 868167af14SThomas Weber /* TWL4030 */ 878167af14SThomas Weber #define CONFIG_TWL4030_POWER 888167af14SThomas Weber #define CONFIG_TWL4030_LED 898167af14SThomas Weber 908167af14SThomas Weber /* Board NAND Info */ 918167af14SThomas Weber #define CONFIG_SYS_NO_FLASH /* no NOR flash */ 928167af14SThomas Weber #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ 935c68f123SAndreas Bießmann #define MTDIDS_DEFAULT "nand0=omap2-nand.0" 945c68f123SAndreas Bießmann #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:" \ 955c68f123SAndreas Bießmann "128k(SPL)," \ 965c68f123SAndreas Bießmann "1m(u-boot)," \ 975c68f123SAndreas Bießmann "384k(u-boot-env1)," \ 985c68f123SAndreas Bießmann "1152k(mtdoops)," \ 995c68f123SAndreas Bießmann "384k(u-boot-env2)," \ 1005c68f123SAndreas Bießmann "5m(kernel)," \ 1015c68f123SAndreas Bießmann "2m(fdt)," \ 1025c68f123SAndreas Bießmann "-(ubi)" 1038167af14SThomas Weber 1048167af14SThomas Weber #define CONFIG_NAND_OMAP_GPMC 1058167af14SThomas Weber #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 1068167af14SThomas Weber /* to access nand */ 1078167af14SThomas Weber #define CONFIG_SYS_NAND_BASE NAND_BASE /* physical address */ 1088167af14SThomas Weber /* to access nand at */ 1098167af14SThomas Weber /* CS0 */ 1108167af14SThomas Weber #define GPMC_NAND_ECC_LP_x16_LAYOUT 1 1118167af14SThomas Weber 1128167af14SThomas Weber #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND */ 1138167af14SThomas Weber /* devices */ 114616cf60eSAndreas Bießmann #define CONFIG_NAND_OMAP_BCH8 115616cf60eSAndreas Bießmann #define CONFIG_BCH 1168167af14SThomas Weber 1178167af14SThomas Weber /* commands to include */ 1188167af14SThomas Weber #include <config_cmd_default.h> 1198167af14SThomas Weber 1208167af14SThomas Weber #define CONFIG_CMD_EXT2 /* EXT2 Support */ 1218167af14SThomas Weber #define CONFIG_CMD_FAT /* FAT support */ 1228167af14SThomas Weber #define CONFIG_CMD_I2C /* I2C serial bus support */ 1238167af14SThomas Weber #define CONFIG_CMD_MMC /* MMC support */ 1248167af14SThomas Weber #define CONFIG_CMD_MTDPARTS /* Enable MTD parts commands */ 1258167af14SThomas Weber #define CONFIG_CMD_NAND /* NAND support */ 1268167af14SThomas Weber #define CONFIG_CMD_NAND_LOCK_UNLOCK /* nand (un)lock commands */ 12736f3aab2SBernhard Walle #define CONFIG_CMD_UBI /* UBI commands */ 12836f3aab2SBernhard Walle #define CONFIG_CMD_UBIFS /* UBIFS commands */ 12936f3aab2SBernhard Walle #define CONFIG_LZO /* LZO is needed for UBIFS */ 1308167af14SThomas Weber 1318167af14SThomas Weber #undef CONFIG_CMD_NET 1328167af14SThomas Weber #undef CONFIG_CMD_NFS 1338167af14SThomas Weber #undef CONFIG_CMD_FPGA /* FPGA configuration Support */ 1348167af14SThomas Weber #undef CONFIG_CMD_IMI /* iminfo */ 1358167af14SThomas Weber #undef CONFIG_CMD_JFFS2 /* JFFS2 Support */ 1368167af14SThomas Weber 1378167af14SThomas Weber /* needed for ubi */ 1388167af14SThomas Weber #define CONFIG_RBTREE 1398167af14SThomas Weber #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ 1408167af14SThomas Weber #define CONFIG_MTD_PARTITIONS 1418167af14SThomas Weber 1428167af14SThomas Weber /* Environment information */ 1438167af14SThomas Weber #define CONFIG_ENV_OVERWRITE /* allow to overwrite serial and ethaddr */ 1448167af14SThomas Weber 1458167af14SThomas Weber #define CONFIG_BOOTDELAY 3 1468167af14SThomas Weber 147*0dff13a9SAndreas Bießmann /* the loadaddr is the same as CONFIG_SYS_LOAD_ADDR, unfortunately the defiend 148*0dff13a9SAndreas Bießmann * value can not be used here! */ 149*0dff13a9SAndreas Bießmann #define CONFIG_LOADADDR 0x82000000 150*0dff13a9SAndreas Bießmann 1518167af14SThomas Weber #define CONFIG_EXTRA_ENV_SETTINGS \ 1528167af14SThomas Weber "console=ttyO2,115200n8\0" \ 1535605979aSThomas Weber "mmcdev=0\0" \ 15483976f1dSThomas Weber "vram=3M\0" \ 1558167af14SThomas Weber "defaultdisplay=lcd\0" \ 1568167af14SThomas Weber "kernelopts=rw rootwait\0" \ 1578167af14SThomas Weber "commonargs=" \ 1588167af14SThomas Weber "setenv bootargs console=${console} " \ 1595c68f123SAndreas Bießmann "${mtdparts} " \ 1608167af14SThomas Weber "vram=${vram} " \ 1618167af14SThomas Weber "omapdss.def_disp=${defaultdisplay}\0" \ 1628167af14SThomas Weber "mmcargs=" \ 1638167af14SThomas Weber "run commonargs; " \ 1648167af14SThomas Weber "setenv bootargs ${bootargs} " \ 1658167af14SThomas Weber "root=/dev/mmcblk0p2 " \ 1668167af14SThomas Weber "${kernelopts}\0" \ 1678167af14SThomas Weber "nandargs=" \ 1688167af14SThomas Weber "run commonargs; " \ 1698167af14SThomas Weber "setenv bootargs ${bootargs} " \ 1708167af14SThomas Weber "omapdss.def_disp=${defaultdisplay} " \ 171008ec950SBernhard Walle "root=ubi0:root " \ 1725c68f123SAndreas Bießmann "ubi.mtd=7 " \ 1738167af14SThomas Weber "rootfstype=ubifs " \ 1748167af14SThomas Weber "${kernelopts}\0" \ 1755605979aSThomas Weber "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ 1768167af14SThomas Weber "bootscript=echo Running bootscript from mmc ...; " \ 1778167af14SThomas Weber "source ${loadaddr}\0" \ 1785605979aSThomas Weber "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ 1798167af14SThomas Weber "mmcboot=echo Booting from mmc ...; " \ 1808167af14SThomas Weber "run mmcargs; " \ 1818167af14SThomas Weber "bootm ${loadaddr}\0" \ 182008ec950SBernhard Walle "loaduimage_ubi=mtd default; " \ 1835c68f123SAndreas Bießmann "ubi part ubi; " \ 184949a7710SJoe Hershberger "ubifsmount ubi:root; " \ 185008ec950SBernhard Walle "ubifsload ${loadaddr} /boot/uImage\0" \ 1868167af14SThomas Weber "nandboot=echo Booting from nand ...; " \ 1878167af14SThomas Weber "run nandargs; " \ 188008ec950SBernhard Walle "run loaduimage_ubi; " \ 1898167af14SThomas Weber "bootm ${loadaddr}\0" \ 1905c68f123SAndreas Bießmann "autoboot=mtdparts default;" \ 1915c68f123SAndreas Bießmann "mmc dev ${mmcdev}; if mmc rescan; then " \ 1928167af14SThomas Weber "if run loadbootscript; then " \ 1938167af14SThomas Weber "run bootscript; " \ 1948167af14SThomas Weber "else " \ 1958167af14SThomas Weber "if run loaduimage; then " \ 1968167af14SThomas Weber "run mmcboot; " \ 1978167af14SThomas Weber "else run nandboot; " \ 1988167af14SThomas Weber "fi; " \ 1998167af14SThomas Weber "fi; " \ 2008167af14SThomas Weber "else run nandboot; fi\0" 2018167af14SThomas Weber 2028167af14SThomas Weber #define CONFIG_BOOTCOMMAND "run autoboot" 2038167af14SThomas Weber 2048167af14SThomas Weber /* Miscellaneous configurable options */ 2058167af14SThomas Weber #define CONFIG_SYS_LONGHELP /* undef to save memory */ 2068167af14SThomas Weber #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ 2078167af14SThomas Weber #define CONFIG_AUTO_COMPLETE 2088167af14SThomas Weber #define CONFIG_SYS_PROMPT "OMAP3 Tricorder # " 2098167af14SThomas Weber #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ 2108167af14SThomas Weber /* Print Buffer Size */ 2118167af14SThomas Weber #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 2128167af14SThomas Weber sizeof(CONFIG_SYS_PROMPT) + 16) 2138167af14SThomas Weber #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 2148167af14SThomas Weber 2158167af14SThomas Weber /* Boot Argument Buffer Size */ 2168167af14SThomas Weber #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) 2178167af14SThomas Weber 2188167af14SThomas Weber #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0 + 0x07000000) 2198167af14SThomas Weber #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + \ 2208167af14SThomas Weber 0x01000000) /* 16MB */ 2218167af14SThomas Weber 2228167af14SThomas Weber #define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0 + 0x02000000) 2238167af14SThomas Weber 2248167af14SThomas Weber /* 2258167af14SThomas Weber * OMAP3 has 12 GP timers, they can be driven by the system clock 2268167af14SThomas Weber * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). 2278167af14SThomas Weber * This rate is divided by a local divisor. 2288167af14SThomas Weber */ 2298167af14SThomas Weber #define CONFIG_SYS_TIMERBASE (OMAP34XX_GPT2) 2308167af14SThomas Weber #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 2318167af14SThomas Weber #define CONFIG_SYS_HZ 1000 2328167af14SThomas Weber 2338167af14SThomas Weber /* Physical Memory Map */ 2348167af14SThomas Weber #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 2358167af14SThomas Weber #define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0 2368167af14SThomas Weber #define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1 2378167af14SThomas Weber 2388167af14SThomas Weber /* NAND and environment organization */ 2398167af14SThomas Weber #define PISMO1_NAND_SIZE GPMC_SIZE_128M 2408167af14SThomas Weber 2418167af14SThomas Weber #define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 2 sectors */ 2428167af14SThomas Weber 2435c68f123SAndreas Bießmann #define CONFIG_ENV_IS_IN_NAND 2445c68f123SAndreas Bießmann #define CONFIG_ENV_OFFSET 0x120000 /* env start */ 2455c68f123SAndreas Bießmann #define CONFIG_ENV_OFFSET_REDUND 0x2A0000 /* redundant env start */ 2465c68f123SAndreas Bießmann #define CONFIG_ENV_SIZE (16 << 10) /* use 16KiB for env */ 2475c68f123SAndreas Bießmann #define CONFIG_ENV_RANGE (384 << 10) /* allow badblocks in env */ 2488167af14SThomas Weber 2498167af14SThomas Weber #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 2508167af14SThomas Weber #define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 2518167af14SThomas Weber #define CONFIG_SYS_INIT_RAM_SIZE 0x800 2528167af14SThomas Weber #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ 2538167af14SThomas Weber CONFIG_SYS_INIT_RAM_SIZE - \ 2548167af14SThomas Weber GENERATED_GBL_DATA_SIZE) 2558167af14SThomas Weber 2568167af14SThomas Weber /* SRAM config */ 2578167af14SThomas Weber #define CONFIG_SYS_SRAM_START 0x40200000 2588167af14SThomas Weber #define CONFIG_SYS_SRAM_SIZE 0x10000 2598167af14SThomas Weber 2608167af14SThomas Weber /* Defines for SPL */ 2618167af14SThomas Weber #define CONFIG_SPL 26247f7bcaeSTom Rini #define CONFIG_SPL_FRAMEWORK 2638167af14SThomas Weber #define CONFIG_SPL_NAND_SIMPLE 2648167af14SThomas Weber 26549175c49STom Rini #define CONFIG_SPL_BOARD_INIT 2668167af14SThomas Weber #define CONFIG_SPL_LIBCOMMON_SUPPORT 2678167af14SThomas Weber #define CONFIG_SPL_LIBDISK_SUPPORT 2688167af14SThomas Weber #define CONFIG_SPL_I2C_SUPPORT 2698167af14SThomas Weber #define CONFIG_SPL_LIBGENERIC_SUPPORT 2708167af14SThomas Weber #define CONFIG_SPL_SERIAL_SUPPORT 2718167af14SThomas Weber #define CONFIG_SPL_POWER_SUPPORT 2728167af14SThomas Weber #define CONFIG_SPL_NAND_SUPPORT 2736f2f01b9SScott Wood #define CONFIG_SPL_NAND_BASE 2746f2f01b9SScott Wood #define CONFIG_SPL_NAND_DRIVERS 2756f2f01b9SScott Wood #define CONFIG_SPL_NAND_ECC 2768167af14SThomas Weber #define CONFIG_SPL_MMC_SUPPORT 2778167af14SThomas Weber #define CONFIG_SPL_FAT_SUPPORT 2788167af14SThomas Weber #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds" 2798167af14SThomas Weber #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img" 2808167af14SThomas Weber #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1 2818167af14SThomas Weber #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */ 2828167af14SThomas Weber 2838167af14SThomas Weber #define CONFIG_SPL_TEXT_BASE 0x40200000 /*CONFIG_SYS_SRAM_START*/ 284616cf60eSAndreas Bießmann #define CONFIG_SPL_MAX_SIZE (55 * 1024) /* 7 KB for stack */ 2858167af14SThomas Weber #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK 2868167af14SThomas Weber 2878167af14SThomas Weber #define CONFIG_SPL_BSS_START_ADDR 0x80000000 /*CONFIG_SYS_SDRAM_BASE*/ 2888167af14SThomas Weber #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 2898167af14SThomas Weber 2908167af14SThomas Weber /* NAND boot config */ 2918167af14SThomas Weber #define CONFIG_SYS_NAND_5_ADDR_CYCLE 2928167af14SThomas Weber #define CONFIG_SYS_NAND_PAGE_COUNT 64 2938167af14SThomas Weber #define CONFIG_SYS_NAND_PAGE_SIZE 2048 2948167af14SThomas Weber #define CONFIG_SYS_NAND_OOBSIZE 64 2958167af14SThomas Weber #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 2968167af14SThomas Weber #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 297616cf60eSAndreas Bießmann #define CONFIG_SYS_NAND_ECCPOS {12, 13, 14, 15, 16, 17, 18, 19, 20,\ 298616cf60eSAndreas Bießmann 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,\ 299616cf60eSAndreas Bießmann 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,\ 300616cf60eSAndreas Bießmann 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\ 301616cf60eSAndreas Bießmann 60, 61, 62, 63} 3028167af14SThomas Weber 3038167af14SThomas Weber #define CONFIG_SYS_NAND_ECCSIZE 512 304616cf60eSAndreas Bießmann #define CONFIG_SYS_NAND_ECCBYTES 13 3058167af14SThomas Weber 3068167af14SThomas Weber #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE 3078167af14SThomas Weber 3085c68f123SAndreas Bießmann #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x20000 3095c68f123SAndreas Bießmann #define CONFIG_SYS_NAND_U_BOOT_SIZE 0x100000 3108167af14SThomas Weber 3118167af14SThomas Weber #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 3128167af14SThomas Weber #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */ 3138167af14SThomas Weber 3148167af14SThomas Weber #endif /* __CONFIG_H */ 315