1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * ti816x_evm.h 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2013, Adeneo Embedded <www.adeneo-embedded.com> 5*4882a593Smuzhiyun * Antoine Tenart, <atenart@adeneo-embedded.com> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef __CONFIG_TI816X_EVM_H 11*4882a593Smuzhiyun #define __CONFIG_TI816X_EVM_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <configs/ti_armv7_omap.h> 14*4882a593Smuzhiyun #include <asm/arch/omap.h> 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 17*4882a593Smuzhiyun #define CONFIG_MACH_TYPE MACH_TYPE_TI8168EVM 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 20*4882a593Smuzhiyun DEFAULT_LINUX_BOOT_ENV \ 21*4882a593Smuzhiyun "mtdids=" MTDIDS_DEFAULT "\0" \ 22*4882a593Smuzhiyun "mtdparts=" MTDPARTS_DEFAULT "\0" \ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND \ 25*4882a593Smuzhiyun "mmc rescan;" \ 26*4882a593Smuzhiyun "fatload mmc 0 ${loadaddr} uImage;" \ 27*4882a593Smuzhiyun "bootm ${loadaddr}" \ 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* Clock Defines */ 30*4882a593Smuzhiyun #define V_OSCK 24000000 /* Clock output from T2 */ 31*4882a593Smuzhiyun #define V_SCLK (V_OSCK >> 1) 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #define CONFIG_CMD_ASKENV 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun #define CONFIG_MAX_RAM_BANK_SIZE (2048 << 20) /* 2048MB */ 36*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE 0x80000000 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /** 39*4882a593Smuzhiyun * Platform/Board specific defs 40*4882a593Smuzhiyun */ 41*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 27000000 42*4882a593Smuzhiyun #define CONFIG_SYS_TIMERBASE 0x4802E000 43*4882a593Smuzhiyun #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* 46*4882a593Smuzhiyun * NS16550 Configuration 47*4882a593Smuzhiyun */ 48*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 49*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE (-4) 50*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK (48000000) 51*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 0x48024000 /* Base EVM has UART2 */ 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun /* allow overwriting serial config and ethaddr */ 54*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun #define CONFIG_SERIAL1 57*4882a593Smuzhiyun #define CONFIG_SERIAL2 58*4882a593Smuzhiyun #define CONFIG_SERIAL3 59*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* 62*4882a593Smuzhiyun * GPMC NAND block. We support 1 device and the physical address to 63*4882a593Smuzhiyun * access CS0 at is 0x8000000. 64*4882a593Smuzhiyun */ 65*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE 0x8000000 66*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun /* NAND: SPL related configs */ 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun /* NAND: device related configs */ 71*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE 72*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \ 73*4882a593Smuzhiyun CONFIG_SYS_NAND_PAGE_SIZE) 74*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_SIZE 2048 75*4882a593Smuzhiyun #define CONFIG_SYS_NAND_OOBSIZE 64 76*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 77*4882a593Smuzhiyun /* NAND: driver related configs */ 78*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 79*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \ 80*4882a593Smuzhiyun 10, 11, 12, 13, 14, 15, 16, 17, \ 81*4882a593Smuzhiyun 18, 19, 20, 21, 22, 23, 24, 25, \ 82*4882a593Smuzhiyun 26, 27, 28, 29, 30, 31, 32, 33, \ 83*4882a593Smuzhiyun 34, 35, 36, 37, 38, 39, 40, 41, \ 84*4882a593Smuzhiyun 42, 43, 44, 45, 46, 47, 48, 49, \ 85*4882a593Smuzhiyun 50, 51, 52, 53, 54, 55, 56, 57, } 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCSIZE 512 88*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCBYTES 14 89*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ONFI_DETECTION 90*4882a593Smuzhiyun #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW 91*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nand0=nand.0" 92*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=nand.0:" \ 93*4882a593Smuzhiyun "128k(NAND.SPL)," \ 94*4882a593Smuzhiyun "128k(NAND.SPL.backup1)," \ 95*4882a593Smuzhiyun "128k(NAND.SPL.backup2)," \ 96*4882a593Smuzhiyun "128k(NAND.SPL.backup3)," \ 97*4882a593Smuzhiyun "256k(NAND.u-boot-spl-os)," \ 98*4882a593Smuzhiyun "1m(NAND.u-boot)," \ 99*4882a593Smuzhiyun "128k(NAND.u-boot-env)," \ 100*4882a593Smuzhiyun "128k(NAND.u-boot-env.backup1)," \ 101*4882a593Smuzhiyun "8m(NAND.kernel)," \ 102*4882a593Smuzhiyun "-(NAND.file-system)" 103*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x000c0000 104*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x001c0000 105*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET_REDUND 0x001e0000 106*4882a593Smuzhiyun #define CONFIG_SYS_ENV_SECT_SIZE CONFIG_SYS_NAND_BLOCK_SIZE 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun /* SPL */ 109*4882a593Smuzhiyun /* Defines for SPL */ 110*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0x40400000 111*4882a593Smuzhiyun #define CONFIG_SPL_MAX_SIZE (SRAM_SCRATCH_SPACE_ADDR - \ 112*4882a593Smuzhiyun CONFIG_SPL_TEXT_BASE) 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x80800000 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun #define CONFIG_DRIVER_TI_EMAC 117*4882a593Smuzhiyun #define CONFIG_MII 118*4882a593Smuzhiyun #define CONFIG_BOOTP_DNS 119*4882a593Smuzhiyun #define CONFIG_BOOTP_DNS2 120*4882a593Smuzhiyun #define CONFIG_BOOTP_SEND_HOSTNAME 121*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 122*4882a593Smuzhiyun #define CONFIG_BOOTP_SUBNETMASK 123*4882a593Smuzhiyun #define CONFIG_NET_RETRY_COUNT 10 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun /* Since SPL did pll and ddr initialization for us, 126*4882a593Smuzhiyun * we don't need to do it twice. 127*4882a593Smuzhiyun */ 128*4882a593Smuzhiyun #ifndef CONFIG_SPL_BUILD 129*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT 130*4882a593Smuzhiyun #endif 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun /* 133*4882a593Smuzhiyun * Disable MMC DM for SPL build and can be re-enabled after adding 134*4882a593Smuzhiyun * DM support in SPL 135*4882a593Smuzhiyun */ 136*4882a593Smuzhiyun #ifdef CONFIG_SPL_BUILD 137*4882a593Smuzhiyun #undef CONFIG_DM_MMC 138*4882a593Smuzhiyun #undef CONFIG_TIMER 139*4882a593Smuzhiyun #endif 140*4882a593Smuzhiyun #endif 141