1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Configuration settings for the TI OMAP3 EVM board. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2006-2011 Texas Instruments Incorporated - http://www.ti.com/ 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Author : 7*4882a593Smuzhiyun * Manikandan Pillai <mani.pillai@ti.com> 8*4882a593Smuzhiyun * Derived from Beagle Board and 3430 SDP code by 9*4882a593Smuzhiyun * Richard Woodruff <r-woodruff2@ti.com> 10*4882a593Smuzhiyun * Syed Mohammed Khasim <khasim@ti.com> 11*4882a593Smuzhiyun * 12*4882a593Smuzhiyun * Manikandan Pillai <mani.pillai@ti.com> 13*4882a593Smuzhiyun * 14*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 15*4882a593Smuzhiyun */ 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #ifndef __CONFIG_H 18*4882a593Smuzhiyun #define __CONFIG_H 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #include <configs/ti_omap3_common.h> 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /* 25*4882a593Smuzhiyun * We are only ever GP parts and will utilize all of the "downloaded image" 26*4882a593Smuzhiyun * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB). 27*4882a593Smuzhiyun */ 28*4882a593Smuzhiyun #undef CONFIG_SPL_TEXT_BASE 29*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0x40200000 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #define CONFIG_SPL_FRAMEWORK 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R 34*4882a593Smuzhiyun #define CONFIG_CMDLINE_TAG 35*4882a593Smuzhiyun #define CONFIG_SETUP_MEMORY_TAGS 36*4882a593Smuzhiyun #define CONFIG_INITRD_TAG 37*4882a593Smuzhiyun #define CONFIG_REVISION_TAG 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun /* Override OMAP3 serial console configuration */ 40*4882a593Smuzhiyun #undef CONFIG_CONS_INDEX 41*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 42*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 OMAP34XX_UART1 43*4882a593Smuzhiyun #if defined(CONFIG_SPL_BUILD) 44*4882a593Smuzhiyun #undef CONFIG_SYS_NS16550_REG_SIZE 45*4882a593Smuzhiyun #else /* !CONFIG_SPL_BUILD */ 46*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE (-1) 47*4882a593Smuzhiyun #endif /* CONFIG_SPL_BUILD */ 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun /* NAND */ 50*4882a593Smuzhiyun #if defined(CONFIG_NAND) 51*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE NAND_BASE 52*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 53*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE 54*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_COUNT 64 55*4882a593Smuzhiyun #define CONFIG_SYS_NAND_PAGE_SIZE 2048 56*4882a593Smuzhiyun #define CONFIG_SYS_NAND_OOBSIZE 64 57*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 58*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 59*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\ 60*4882a593Smuzhiyun 10, 11, 12, 13} 61*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCSIZE 512 62*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ECCBYTES 3 63*4882a593Smuzhiyun #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW 64*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 65*4882a593Smuzhiyun #define CONFIG_ENV_IS_IN_NAND 1 66*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ 67*4882a593Smuzhiyun #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 68*4882a593Smuzhiyun #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 69*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET 70*4882a593Smuzhiyun #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 71*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 72*4882a593Smuzhiyun /* NAND: SPL falcon mode configs */ 73*4882a593Smuzhiyun #if defined(CONFIG_SPL_OS_BOOT) 74*4882a593Smuzhiyun #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 75*4882a593Smuzhiyun #endif /* CONFIG_SPL_OS_BOOT */ 76*4882a593Smuzhiyun #endif /* CONFIG_NAND */ 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun /* MUSB */ 79*4882a593Smuzhiyun #define CONFIG_USB_OMAP3 80*4882a593Smuzhiyun #define CONFIG_USB_MUSB_OMAP2PLUS 81*4882a593Smuzhiyun #define CONFIG_USB_MUSB_PIO_ONLY 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun /* USB EHCI */ 84*4882a593Smuzhiyun #define CONFIG_SYS_USB_FAT_BOOT_PARTITION 1 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun /* SMSC911x Ethernet */ 87*4882a593Smuzhiyun #if defined(CONFIG_CMD_NET) 88*4882a593Smuzhiyun #define CONFIG_SMC911X 89*4882a593Smuzhiyun #define CONFIG_SMC911X_32_BIT 90*4882a593Smuzhiyun #define CONFIG_SMC911X_BASE 0x2C000000 91*4882a593Smuzhiyun #endif /* CONFIG_CMD_NET */ 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun /* Environment */ 94*4882a593Smuzhiyun #define CONFIG_PREBOOT "usb start" 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 97*4882a593Smuzhiyun DEFAULT_LINUX_BOOT_ENV \ 98*4882a593Smuzhiyun "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \ 99*4882a593Smuzhiyun "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \ 100*4882a593Smuzhiyun "bootenv=uEnv.txt\0" \ 101*4882a593Smuzhiyun "optargs=\0" \ 102*4882a593Smuzhiyun "mmcdev=0\0" \ 103*4882a593Smuzhiyun "console=ttyO0,115200n8\0" \ 104*4882a593Smuzhiyun "mmcargs=setenv bootargs console=${console} " \ 105*4882a593Smuzhiyun "${mtdparts} " \ 106*4882a593Smuzhiyun "${optargs} " \ 107*4882a593Smuzhiyun "root=/dev/mmcblk0p2 rw " \ 108*4882a593Smuzhiyun "rootfstype=ext4 rootwait\0" \ 109*4882a593Smuzhiyun "nandargs=setenv bootargs console=${console} " \ 110*4882a593Smuzhiyun "${mtdparts} " \ 111*4882a593Smuzhiyun "${optargs} " \ 112*4882a593Smuzhiyun "root=ubi0:rootfs rw ubi.mtd=rootfs noinitrd " \ 113*4882a593Smuzhiyun "rootfstype=ubifs rootwait\0" \ 114*4882a593Smuzhiyun "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ 115*4882a593Smuzhiyun "importbootenv=echo Importing environment from mmc ...; " \ 116*4882a593Smuzhiyun "env import -t ${loadaddr} ${filesize}\0" \ 117*4882a593Smuzhiyun "bootscript=echo Running bootscript from mmc ...; " \ 118*4882a593Smuzhiyun "source ${loadaddr}\0" \ 119*4882a593Smuzhiyun "loaduimage=setenv bootfile uImage; " \ 120*4882a593Smuzhiyun "fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ 121*4882a593Smuzhiyun "loadzimage=setenv bootfile zImage; " \ 122*4882a593Smuzhiyun "fatload mmc ${mmcdev} ${loadaddr} zImage\0" \ 123*4882a593Smuzhiyun "loaddtb=fatload mmc ${mmcdev} ${fdtaddr} " CONFIG_DEFAULT_FDT_FILE "\0" \ 124*4882a593Smuzhiyun "mmcboot=echo Booting ${bootfile} from mmc ...; " \ 125*4882a593Smuzhiyun "run mmcargs; " \ 126*4882a593Smuzhiyun "bootm ${loadaddr} - ${fdtaddr}\0" \ 127*4882a593Smuzhiyun "mmcbootz=echo Booting ${bootfile} from mmc ...; " \ 128*4882a593Smuzhiyun "run mmcargs; " \ 129*4882a593Smuzhiyun "bootz ${loadaddr} - ${fdtaddr}\0" \ 130*4882a593Smuzhiyun "nandboot=echo Booting uImage from nand ...; " \ 131*4882a593Smuzhiyun "run nandargs; " \ 132*4882a593Smuzhiyun "nand read ${loadaddr} kernel; " \ 133*4882a593Smuzhiyun "nand read ${fdtaddr} dtb; " \ 134*4882a593Smuzhiyun "bootm ${loadaddr} - ${fdtaddr}\0" 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND \ 137*4882a593Smuzhiyun "mmc dev ${mmcdev}; if mmc rescan; then " \ 138*4882a593Smuzhiyun "if run loadbootenv; then " \ 139*4882a593Smuzhiyun "run importbootenv; " \ 140*4882a593Smuzhiyun "if test -n $uenvcmd; then " \ 141*4882a593Smuzhiyun "echo Running uenvcmd ...; " \ 142*4882a593Smuzhiyun "run uenvcmd; " \ 143*4882a593Smuzhiyun "fi; " \ 144*4882a593Smuzhiyun "else " \ 145*4882a593Smuzhiyun "if run loadzimage && run loaddtb; then " \ 146*4882a593Smuzhiyun "run mmcbootz; fi; " \ 147*4882a593Smuzhiyun "if run loaduimage && run loaddtb; then " \ 148*4882a593Smuzhiyun "run mmcboot; fi; " \ 149*4882a593Smuzhiyun "run nandboot; " \ 150*4882a593Smuzhiyun "fi; " \ 151*4882a593Smuzhiyun "else run nandboot; fi" 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun #endif /* __CONFIG_H */ 154