1ea7b96b6SMatt Porter /* 2ea7b96b6SMatt Porter * ti814x_evm.h 3ea7b96b6SMatt Porter * 4ea7b96b6SMatt Porter * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ 5ea7b96b6SMatt Porter * 6ea7b96b6SMatt Porter * This program is free software; you can redistribute it and/or 7ea7b96b6SMatt Porter * modify it under the terms of the GNU General Public License as 8ea7b96b6SMatt Porter * published by the Free Software Foundation version 2. 9ea7b96b6SMatt Porter * 10ea7b96b6SMatt Porter * This program is distributed "as is" WITHOUT ANY WARRANTY of any 11ea7b96b6SMatt Porter * kind, whether express or implied; without even the implied warranty 12ea7b96b6SMatt Porter * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13ea7b96b6SMatt Porter * GNU General Public License for more details. 14ea7b96b6SMatt Porter */ 15ea7b96b6SMatt Porter 16ea7b96b6SMatt Porter #ifndef __CONFIG_TI814X_EVM_H 17ea7b96b6SMatt Porter #define __CONFIG_TI814X_EVM_H 18ea7b96b6SMatt Porter 19ea7b96b6SMatt Porter #include <asm/arch/omap.h> 20ea7b96b6SMatt Porter 21ea7b96b6SMatt Porter #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 22ea7b96b6SMatt Porter #define CONFIG_SYS_MALLOC_LEN (1024 << 10) 23ea7b96b6SMatt Porter #define CONFIG_SYS_LONGHELP /* undef to save memory */ 24ea7b96b6SMatt Porter #define CONFIG_MACH_TYPE MACH_TYPE_TI8148EVM 25ea7b96b6SMatt Porter 26ea7b96b6SMatt Porter #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 27ea7b96b6SMatt Porter #define CONFIG_SETUP_MEMORY_TAGS 28ea7b96b6SMatt Porter #define CONFIG_INITRD_TAG /* for ramdisk support */ 29ea7b96b6SMatt Porter 30ea7b96b6SMatt Porter /* commands to include */ 31ea7b96b6SMatt Porter 32ea7b96b6SMatt Porter #define CONFIG_ENV_VARS_UBOOT_CONFIG 33ea7b96b6SMatt Porter #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 34ea7b96b6SMatt Porter #define CONFIG_EXTRA_ENV_SETTINGS \ 35ea7b96b6SMatt Porter "loadaddr=0x80200000\0" \ 36ea7b96b6SMatt Porter "fdtaddr=0x80F80000\0" \ 37ea7b96b6SMatt Porter "rdaddr=0x81000000\0" \ 38ea7b96b6SMatt Porter "bootfile=/boot/uImage\0" \ 39ea7b96b6SMatt Porter "fdtfile=\0" \ 40ea7b96b6SMatt Porter "console=ttyO0,115200n8\0" \ 41ea7b96b6SMatt Porter "optargs=\0" \ 42ea7b96b6SMatt Porter "mmcdev=0\0" \ 43ea7b96b6SMatt Porter "mmcroot=/dev/mmcblk0p2 ro\0" \ 44ea7b96b6SMatt Porter "mmcrootfstype=ext4 rootwait\0" \ 45ea7b96b6SMatt Porter "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M\0" \ 46ea7b96b6SMatt Porter "ramrootfstype=ext2\0" \ 47ea7b96b6SMatt Porter "mmcargs=setenv bootargs console=${console} " \ 48ea7b96b6SMatt Porter "${optargs} " \ 49ea7b96b6SMatt Porter "root=${mmcroot} " \ 50ea7b96b6SMatt Porter "rootfstype=${mmcrootfstype}\0" \ 51ea7b96b6SMatt Porter "bootenv=uEnv.txt\0" \ 52ea7b96b6SMatt Porter "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ 53ea7b96b6SMatt Porter "importbootenv=echo Importing environment from mmc ...; " \ 54ea7b96b6SMatt Porter "env import -t $loadaddr $filesize\0" \ 55ea7b96b6SMatt Porter "ramargs=setenv bootargs console=${console} " \ 56ea7b96b6SMatt Porter "${optargs} " \ 57ea7b96b6SMatt Porter "root=${ramroot} " \ 58ea7b96b6SMatt Porter "rootfstype=${ramrootfstype}\0" \ 59ea7b96b6SMatt Porter "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \ 60ea7b96b6SMatt Porter "loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} ${bootfile}\0" \ 61ea7b96b6SMatt Porter "loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} ${bootfile}\0" \ 62ea7b96b6SMatt Porter "mmcboot=echo Booting from mmc ...; " \ 63ea7b96b6SMatt Porter "run mmcargs; " \ 64ea7b96b6SMatt Porter "bootm ${loadaddr}\0" \ 65ea7b96b6SMatt Porter "ramboot=echo Booting from ramdisk ...; " \ 66ea7b96b6SMatt Porter "run ramargs; " \ 67ea7b96b6SMatt Porter "bootm ${loadaddr}\0" \ 68ea7b96b6SMatt Porter "fdtfile=ti814x-evm.dtb\0" \ 69ea7b96b6SMatt Porter 70ea7b96b6SMatt Porter #define CONFIG_BOOTCOMMAND \ 71ea7b96b6SMatt Porter "mmc dev ${mmcdev}; if mmc rescan; then " \ 72ea7b96b6SMatt Porter "echo SD/MMC found on device ${mmcdev};" \ 73ea7b96b6SMatt Porter "if run loadbootenv; then " \ 74ea7b96b6SMatt Porter "echo Loaded environment from ${bootenv};" \ 75ea7b96b6SMatt Porter "run importbootenv;" \ 76ea7b96b6SMatt Porter "fi;" \ 77ea7b96b6SMatt Porter "if test -n $uenvcmd; then " \ 78ea7b96b6SMatt Porter "echo Running uenvcmd ...;" \ 79ea7b96b6SMatt Porter "run uenvcmd;" \ 80ea7b96b6SMatt Porter "fi;" \ 81ea7b96b6SMatt Porter "if run loaduimage; then " \ 82ea7b96b6SMatt Porter "run mmcboot;" \ 83ea7b96b6SMatt Porter "fi;" \ 84ea7b96b6SMatt Porter "fi;" \ 85ea7b96b6SMatt Porter 86ea7b96b6SMatt Porter /* Clock Defines */ 87ea7b96b6SMatt Porter #define V_OSCK 24000000 /* Clock output from T2 */ 88ea7b96b6SMatt Porter #define V_SCLK (V_OSCK >> 1) 89ea7b96b6SMatt Porter 90ea7b96b6SMatt Porter 91ea7b96b6SMatt Porter /* Console I/O Buffer Size */ 92ea7b96b6SMatt Porter #define CONFIG_SYS_CBSIZE 512 93ea7b96b6SMatt Porter 9473feefdcSTom Rini #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE 95ea7b96b6SMatt Porter #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ 96ea7b96b6SMatt Porter + PHYS_DRAM_1_SIZE - (8 << 12)) 97ea7b96b6SMatt Porter 98ea7b96b6SMatt Porter #define CONFIG_SYS_LOAD_ADDR 0x81000000 /* Default */ 99ea7b96b6SMatt Porter 100ea7b96b6SMatt Porter /** 101ea7b96b6SMatt Porter * Physical Memory Map 102ea7b96b6SMatt Porter */ 103ea7b96b6SMatt Porter #define CONFIG_NR_DRAM_BANKS 1 /* 1 banks of DRAM */ 104ea7b96b6SMatt Porter #define PHYS_DRAM_1_SIZE 0x20000000 /* 512MB */ 105ea7b96b6SMatt Porter #define CONFIG_MAX_RAM_BANK_SIZE (1024 << 20) /* 1024MB */ 106ea7b96b6SMatt Porter 10773feefdcSTom Rini #define CONFIG_SYS_SDRAM_BASE 0x80000000 108ea7b96b6SMatt Porter #define CONFIG_SYS_INIT_SP_ADDR (NON_SECURE_SRAM_END - \ 109ea7b96b6SMatt Porter GENERATED_GBL_DATA_SIZE) 110ea7b96b6SMatt Porter 111ea7b96b6SMatt Porter /** 112ea7b96b6SMatt Porter * Platform/Board specific defs 113ea7b96b6SMatt Porter */ 114ea7b96b6SMatt Porter #define CONFIG_SYS_TIMERBASE 0x4802E000 115ea7b96b6SMatt Porter #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 116ea7b96b6SMatt Porter 117ea7b96b6SMatt Porter /* NS16550 Configuration */ 118ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_SERIAL 119ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_REG_SIZE (-4) 120ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_CLK (48000000) 121ea7b96b6SMatt Porter #define CONFIG_SYS_NS16550_COM1 0x48020000 /* Base EVM has UART0 */ 122ea7b96b6SMatt Porter 12347c6ea07SSRICHARAN R /* CPU */ 12447c6ea07SSRICHARAN R #define CONFIG_ARCH_CPU_INIT 12547c6ea07SSRICHARAN R 126ea7b96b6SMatt Porter #define CONFIG_ENV_OVERWRITE 127ea7b96b6SMatt Porter #define CONFIG_CONS_INDEX 1 128ea7b96b6SMatt Porter 129ea7b96b6SMatt Porter /* Defines for SPL */ 130ea7b96b6SMatt Porter #define CONFIG_SPL_FRAMEWORK 131ea7b96b6SMatt Porter #define CONFIG_SPL_TEXT_BASE 0x40300000 132*fa2f81b0STom Rini #define CONFIG_SPL_MAX_SIZE (SRAM_SCRATCH_SPACE_ADDR - \ 133*fa2f81b0STom Rini CONFIG_SPL_TEXT_BASE) 134ea7b96b6SMatt Porter 135ea7b96b6SMatt Porter #define CONFIG_SPL_BSS_START_ADDR 0x80000000 136ea7b96b6SMatt Porter #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */ 137ea7b96b6SMatt Porter 138e2ccdf89SPaul Kocialkowski #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 139205b4f33SGuillaume GARDET #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img" 140ea7b96b6SMatt Porter 141ea7b96b6SMatt Porter #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 142ea7b96b6SMatt Porter #define CONFIG_SYS_SPI_U_BOOT_SIZE 0x40000 143ea7b96b6SMatt Porter 144ea7b96b6SMatt Porter /* 145ea7b96b6SMatt Porter * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM 146ea7b96b6SMatt Porter * 64 bytes before this address should be set aside for u-boot.img's 147ea7b96b6SMatt Porter * header. That is 0x800FFFC0--0x80800000 should not be used for any 148ea7b96b6SMatt Porter * other needs. 149ea7b96b6SMatt Porter */ 150ea7b96b6SMatt Porter #define CONFIG_SYS_TEXT_BASE 0x80800000 151ea7b96b6SMatt Porter #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 152ea7b96b6SMatt Porter #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 153ea7b96b6SMatt Porter 154ea7b96b6SMatt Porter /* 155ea7b96b6SMatt Porter * Since SPL did pll and ddr initialization for us, 156ea7b96b6SMatt Porter * we don't need to do it twice. 157ea7b96b6SMatt Porter */ 158ea7b96b6SMatt Porter #ifndef CONFIG_SPL_BUILD 159ea7b96b6SMatt Porter #define CONFIG_SKIP_LOWLEVEL_INIT 160ea7b96b6SMatt Porter #endif 161ea7b96b6SMatt Porter 162cd87464dSMatt Porter /* Ethernet */ 163cd87464dSMatt Porter #define CONFIG_DRIVER_TI_CPSW 164cd87464dSMatt Porter #define CONFIG_MII 165cd87464dSMatt Porter #define CONFIG_BOOTP_DNS 166cd87464dSMatt Porter #define CONFIG_BOOTP_DNS2 167cd87464dSMatt Porter #define CONFIG_BOOTP_SEND_HOSTNAME 168cd87464dSMatt Porter #define CONFIG_BOOTP_GATEWAY 169cd87464dSMatt Porter #define CONFIG_BOOTP_SUBNETMASK 170cd87464dSMatt Porter #define CONFIG_NET_RETRY_COUNT 10 171cd87464dSMatt Porter #define CONFIG_PHY_ET1011C 172cd87464dSMatt Porter #define CONFIG_PHY_ET1011C_TX_CLK_FIX 173cd87464dSMatt Porter 174ea7b96b6SMatt Porter #endif /* ! __CONFIG_TI814X_EVM_H */ 175