1*ea7b96b6SMatt Porter /* 2*ea7b96b6SMatt Porter * ti814x_evm.h 3*ea7b96b6SMatt Porter * 4*ea7b96b6SMatt Porter * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ 5*ea7b96b6SMatt Porter * 6*ea7b96b6SMatt Porter * This program is free software; you can redistribute it and/or 7*ea7b96b6SMatt Porter * modify it under the terms of the GNU General Public License as 8*ea7b96b6SMatt Porter * published by the Free Software Foundation version 2. 9*ea7b96b6SMatt Porter * 10*ea7b96b6SMatt Porter * This program is distributed "as is" WITHOUT ANY WARRANTY of any 11*ea7b96b6SMatt Porter * kind, whether express or implied; without even the implied warranty 12*ea7b96b6SMatt Porter * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13*ea7b96b6SMatt Porter * GNU General Public License for more details. 14*ea7b96b6SMatt Porter */ 15*ea7b96b6SMatt Porter 16*ea7b96b6SMatt Porter #ifndef __CONFIG_TI814X_EVM_H 17*ea7b96b6SMatt Porter #define __CONFIG_TI814X_EVM_H 18*ea7b96b6SMatt Porter 19*ea7b96b6SMatt Porter #define CONFIG_TI81XX 20*ea7b96b6SMatt Porter #define CONFIG_TI814X 21*ea7b96b6SMatt Porter #define CONFIG_SYS_NO_FLASH 22*ea7b96b6SMatt Porter 23*ea7b96b6SMatt Porter #include <asm/arch/omap.h> 24*ea7b96b6SMatt Porter 25*ea7b96b6SMatt Porter #define CONFIG_DMA_COHERENT 26*ea7b96b6SMatt Porter #define CONFIG_DMA_COHERENT_SIZE (1 << 20) 27*ea7b96b6SMatt Porter 28*ea7b96b6SMatt Porter #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 29*ea7b96b6SMatt Porter #define CONFIG_SYS_MALLOC_LEN (1024 << 10) 30*ea7b96b6SMatt Porter #define CONFIG_SYS_LONGHELP /* undef to save memory */ 31*ea7b96b6SMatt Porter #define CONFIG_SYS_HUSH_PARSER /* Use HUSH for command parsing */ 32*ea7b96b6SMatt Porter #define CONFIG_SYS_PROMPT "U-Boot# " 33*ea7b96b6SMatt Porter #define CONFIG_SYS_NO_FLASH 34*ea7b96b6SMatt Porter #define CONFIG_MACH_TYPE MACH_TYPE_TI8148EVM 35*ea7b96b6SMatt Porter 36*ea7b96b6SMatt Porter #define CONFIG_OF_LIBFDT 37*ea7b96b6SMatt Porter #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 38*ea7b96b6SMatt Porter #define CONFIG_SETUP_MEMORY_TAGS 39*ea7b96b6SMatt Porter #define CONFIG_INITRD_TAG /* for ramdisk support */ 40*ea7b96b6SMatt Porter 41*ea7b96b6SMatt Porter /* commands to include */ 42*ea7b96b6SMatt Porter # include <config_cmd_default.h> 43*ea7b96b6SMatt Porter 44*ea7b96b6SMatt Porter #define CONFIG_CMD_ASKENV 45*ea7b96b6SMatt Porter #define CONFIG_VERSION_VARIABLE 46*ea7b96b6SMatt Porter 47*ea7b96b6SMatt Porter #define CONFIG_BOOTDELAY 1 /* negative for no autoboot */ 48*ea7b96b6SMatt Porter #define CONFIG_ENV_VARS_UBOOT_CONFIG 49*ea7b96b6SMatt Porter #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 50*ea7b96b6SMatt Porter #define CONFIG_EXTRA_ENV_SETTINGS \ 51*ea7b96b6SMatt Porter "loadaddr=0x80200000\0" \ 52*ea7b96b6SMatt Porter "fdtaddr=0x80F80000\0" \ 53*ea7b96b6SMatt Porter "rdaddr=0x81000000\0" \ 54*ea7b96b6SMatt Porter "bootfile=/boot/uImage\0" \ 55*ea7b96b6SMatt Porter "fdtfile=\0" \ 56*ea7b96b6SMatt Porter "console=ttyO0,115200n8\0" \ 57*ea7b96b6SMatt Porter "optargs=\0" \ 58*ea7b96b6SMatt Porter "mmcdev=0\0" \ 59*ea7b96b6SMatt Porter "mmcroot=/dev/mmcblk0p2 ro\0" \ 60*ea7b96b6SMatt Porter "mmcrootfstype=ext4 rootwait\0" \ 61*ea7b96b6SMatt Porter "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M\0" \ 62*ea7b96b6SMatt Porter "ramrootfstype=ext2\0" \ 63*ea7b96b6SMatt Porter "mmcargs=setenv bootargs console=${console} " \ 64*ea7b96b6SMatt Porter "${optargs} " \ 65*ea7b96b6SMatt Porter "root=${mmcroot} " \ 66*ea7b96b6SMatt Porter "rootfstype=${mmcrootfstype}\0" \ 67*ea7b96b6SMatt Porter "bootenv=uEnv.txt\0" \ 68*ea7b96b6SMatt Porter "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ 69*ea7b96b6SMatt Porter "importbootenv=echo Importing environment from mmc ...; " \ 70*ea7b96b6SMatt Porter "env import -t $loadaddr $filesize\0" \ 71*ea7b96b6SMatt Porter "ramargs=setenv bootargs console=${console} " \ 72*ea7b96b6SMatt Porter "${optargs} " \ 73*ea7b96b6SMatt Porter "root=${ramroot} " \ 74*ea7b96b6SMatt Porter "rootfstype=${ramrootfstype}\0" \ 75*ea7b96b6SMatt Porter "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \ 76*ea7b96b6SMatt Porter "loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} ${bootfile}\0" \ 77*ea7b96b6SMatt Porter "loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} ${bootfile}\0" \ 78*ea7b96b6SMatt Porter "mmcboot=echo Booting from mmc ...; " \ 79*ea7b96b6SMatt Porter "run mmcargs; " \ 80*ea7b96b6SMatt Porter "bootm ${loadaddr}\0" \ 81*ea7b96b6SMatt Porter "ramboot=echo Booting from ramdisk ...; " \ 82*ea7b96b6SMatt Porter "run ramargs; " \ 83*ea7b96b6SMatt Porter "bootm ${loadaddr}\0" \ 84*ea7b96b6SMatt Porter "fdtfile=ti814x-evm.dtb\0" \ 85*ea7b96b6SMatt Porter 86*ea7b96b6SMatt Porter #define CONFIG_BOOTCOMMAND \ 87*ea7b96b6SMatt Porter "mmc dev ${mmcdev}; if mmc rescan; then " \ 88*ea7b96b6SMatt Porter "echo SD/MMC found on device ${mmcdev};" \ 89*ea7b96b6SMatt Porter "if run loadbootenv; then " \ 90*ea7b96b6SMatt Porter "echo Loaded environment from ${bootenv};" \ 91*ea7b96b6SMatt Porter "run importbootenv;" \ 92*ea7b96b6SMatt Porter "fi;" \ 93*ea7b96b6SMatt Porter "if test -n $uenvcmd; then " \ 94*ea7b96b6SMatt Porter "echo Running uenvcmd ...;" \ 95*ea7b96b6SMatt Porter "run uenvcmd;" \ 96*ea7b96b6SMatt Porter "fi;" \ 97*ea7b96b6SMatt Porter "if run loaduimage; then " \ 98*ea7b96b6SMatt Porter "run mmcboot;" \ 99*ea7b96b6SMatt Porter "fi;" \ 100*ea7b96b6SMatt Porter "fi;" \ 101*ea7b96b6SMatt Porter 102*ea7b96b6SMatt Porter /* Clock Defines */ 103*ea7b96b6SMatt Porter #define V_OSCK 24000000 /* Clock output from T2 */ 104*ea7b96b6SMatt Porter #define V_SCLK (V_OSCK >> 1) 105*ea7b96b6SMatt Porter 106*ea7b96b6SMatt Porter #define CONFIG_CMD_ECHO 107*ea7b96b6SMatt Porter 108*ea7b96b6SMatt Porter /* max number of command args */ 109*ea7b96b6SMatt Porter #define CONFIG_SYS_MAXARGS 16 110*ea7b96b6SMatt Porter 111*ea7b96b6SMatt Porter /* Console I/O Buffer Size */ 112*ea7b96b6SMatt Porter #define CONFIG_SYS_CBSIZE 512 113*ea7b96b6SMatt Porter 114*ea7b96b6SMatt Porter /* Print Buffer Size */ 115*ea7b96b6SMatt Porter #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \ 116*ea7b96b6SMatt Porter + sizeof(CONFIG_SYS_PROMPT) + 16) 117*ea7b96b6SMatt Porter 118*ea7b96b6SMatt Porter /* Boot Argument Buffer Size */ 119*ea7b96b6SMatt Porter #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 120*ea7b96b6SMatt Porter 121*ea7b96b6SMatt Porter #define CONFIG_SYS_MEMTEST_START PHYS_DRAM_1 122*ea7b96b6SMatt Porter #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ 123*ea7b96b6SMatt Porter + PHYS_DRAM_1_SIZE - (8 << 12)) 124*ea7b96b6SMatt Porter 125*ea7b96b6SMatt Porter #define CONFIG_SYS_LOAD_ADDR 0x81000000 /* Default */ 126*ea7b96b6SMatt Porter #define CONFIG_SYS_HZ 1000 /* 1ms clock */ 127*ea7b96b6SMatt Porter 128*ea7b96b6SMatt Porter #define CONFIG_OMAP_GPIO 129*ea7b96b6SMatt Porter #define CONFIG_MMC 130*ea7b96b6SMatt Porter #define CONFIG_GENERIC_MMC 131*ea7b96b6SMatt Porter #define CONFIG_OMAP_HSMMC 132*ea7b96b6SMatt Porter #define CONFIG_CMD_MMC 133*ea7b96b6SMatt Porter #define CONFIG_DOS_PARTITION 134*ea7b96b6SMatt Porter #define CONFIG_CMD_FAT 135*ea7b96b6SMatt Porter #define CONFIG_CMD_EXT2 136*ea7b96b6SMatt Porter 137*ea7b96b6SMatt Porter /** 138*ea7b96b6SMatt Porter * Physical Memory Map 139*ea7b96b6SMatt Porter */ 140*ea7b96b6SMatt Porter #define CONFIG_NR_DRAM_BANKS 1 /* 1 banks of DRAM */ 141*ea7b96b6SMatt Porter #define PHYS_DRAM_1 0x80000000 /* DRAM Bank #1 */ 142*ea7b96b6SMatt Porter #define PHYS_DRAM_1_SIZE 0x20000000 /* 512MB */ 143*ea7b96b6SMatt Porter #define CONFIG_MAX_RAM_BANK_SIZE (1024 << 20) /* 1024MB */ 144*ea7b96b6SMatt Porter 145*ea7b96b6SMatt Porter #define CONFIG_SYS_SDRAM_BASE PHYS_DRAM_1 146*ea7b96b6SMatt Porter #define CONFIG_SYS_INIT_SP_ADDR (NON_SECURE_SRAM_END - \ 147*ea7b96b6SMatt Porter GENERATED_GBL_DATA_SIZE) 148*ea7b96b6SMatt Porter 149*ea7b96b6SMatt Porter /** 150*ea7b96b6SMatt Porter * Platform/Board specific defs 151*ea7b96b6SMatt Porter */ 152*ea7b96b6SMatt Porter #define CONFIG_SYS_TIMERBASE 0x4802E000 153*ea7b96b6SMatt Porter #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 154*ea7b96b6SMatt Porter #define CONFIG_SYS_HZ 1000 155*ea7b96b6SMatt Porter 156*ea7b96b6SMatt Porter /* NS16550 Configuration */ 157*ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550 158*ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_SERIAL 159*ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_REG_SIZE (-4) 160*ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_CLK (48000000) 161*ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_COM1 0x48020000 /* Base EVM has UART0 */ 162*ea7b96b6SMatt Porter 163*ea7b96b6SMatt Porter #define CONFIG_BAUDRATE 115200 164*ea7b96b6SMatt Porter 165*ea7b96b6SMatt Porter #define CONFIG_ENV_OVERWRITE 166*ea7b96b6SMatt Porter #define CONFIG_CONS_INDEX 1 167*ea7b96b6SMatt Porter #define CONFIG_SYS_CONSOLE_INFO_QUIET 168*ea7b96b6SMatt Porter 169*ea7b96b6SMatt Porter #define CONFIG_ENV_IS_NOWHERE 170*ea7b96b6SMatt Porter 171*ea7b96b6SMatt Porter /* Defines for SPL */ 172*ea7b96b6SMatt Porter #define CONFIG_SPL 173*ea7b96b6SMatt Porter #define CONFIG_SPL_FRAMEWORK 174*ea7b96b6SMatt Porter #define CONFIG_SPL_TEXT_BASE 0x40300000 175*ea7b96b6SMatt Porter #define CONFIG_SPL_MAX_SIZE ((128 - 18) * 1024) 176*ea7b96b6SMatt Porter #define CONFIG_SPL_STACK CONFIG_SYS_INIT_SP_ADDR 177*ea7b96b6SMatt Porter 178*ea7b96b6SMatt Porter #define CONFIG_SPL_BSS_START_ADDR 0x80000000 179*ea7b96b6SMatt Porter #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */ 180*ea7b96b6SMatt Porter 181*ea7b96b6SMatt Porter #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */ 182*ea7b96b6SMatt Porter #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */ 183*ea7b96b6SMatt Porter #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1 184*ea7b96b6SMatt Porter #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img" 185*ea7b96b6SMatt Porter #define CONFIG_SPL_MMC_SUPPORT 186*ea7b96b6SMatt Porter #define CONFIG_SPL_FAT_SUPPORT 187*ea7b96b6SMatt Porter 188*ea7b96b6SMatt Porter #define CONFIG_SPL_LIBCOMMON_SUPPORT 189*ea7b96b6SMatt Porter #define CONFIG_SPL_LIBDISK_SUPPORT 190*ea7b96b6SMatt Porter #define CONFIG_SPL_LIBGENERIC_SUPPORT 191*ea7b96b6SMatt Porter #define CONFIG_SPL_SERIAL_SUPPORT 192*ea7b96b6SMatt Porter #define CONFIG_SPL_GPIO_SUPPORT 193*ea7b96b6SMatt Porter #define CONFIG_SPL_YMODEM_SUPPORT 194*ea7b96b6SMatt Porter #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 195*ea7b96b6SMatt Porter #define CONFIG_SYS_SPI_U_BOOT_SIZE 0x40000 196*ea7b96b6SMatt Porter #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds" 197*ea7b96b6SMatt Porter 198*ea7b96b6SMatt Porter #define CONFIG_SPL_BOARD_INIT 199*ea7b96b6SMatt Porter 200*ea7b96b6SMatt Porter /* 201*ea7b96b6SMatt Porter * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM 202*ea7b96b6SMatt Porter * 64 bytes before this address should be set aside for u-boot.img's 203*ea7b96b6SMatt Porter * header. That is 0x800FFFC0--0x80800000 should not be used for any 204*ea7b96b6SMatt Porter * other needs. 205*ea7b96b6SMatt Porter */ 206*ea7b96b6SMatt Porter #define CONFIG_SYS_TEXT_BASE 0x80800000 207*ea7b96b6SMatt Porter #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 208*ea7b96b6SMatt Porter #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 209*ea7b96b6SMatt Porter 210*ea7b96b6SMatt Porter /* 211*ea7b96b6SMatt Porter * Since SPL did pll and ddr initialization for us, 212*ea7b96b6SMatt Porter * we don't need to do it twice. 213*ea7b96b6SMatt Porter */ 214*ea7b96b6SMatt Porter #ifndef CONFIG_SPL_BUILD 215*ea7b96b6SMatt Porter #define CONFIG_SKIP_LOWLEVEL_INIT 216*ea7b96b6SMatt Porter #endif 217*ea7b96b6SMatt Porter 218*ea7b96b6SMatt Porter /* Unsupported features */ 219*ea7b96b6SMatt Porter #undef CONFIG_USE_IRQ 220*ea7b96b6SMatt Porter 221*ea7b96b6SMatt Porter #endif /* ! __CONFIG_TI814X_EVM_H */ 222