xref: /openbmc/u-boot/include/configs/omap3_evm.h (revision 56d1dded62246c48f772ddbd7211156a8a612974)
1ad9bc8e5SDirk Behme /*
2741de266SSanjeev Premi  * Configuration settings for the TI OMAP3 EVM board.
3741de266SSanjeev Premi  *
4741de266SSanjeev Premi  * Copyright (C) 2006-2011 Texas Instruments Incorporated - http://www.ti.com/
5741de266SSanjeev Premi  *
6ad9bc8e5SDirk Behme  * Author :
7ad9bc8e5SDirk Behme  *	Manikandan Pillai <mani.pillai@ti.com>
8ad9bc8e5SDirk Behme  * Derived from Beagle Board and 3430 SDP code by
9ad9bc8e5SDirk Behme  *	Richard Woodruff <r-woodruff2@ti.com>
10ad9bc8e5SDirk Behme  *	Syed Mohammed Khasim <khasim@ti.com>
11ad9bc8e5SDirk Behme  *
12ad9bc8e5SDirk Behme  * Manikandan Pillai <mani.pillai@ti.com>
13ad9bc8e5SDirk Behme  *
141a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
15ad9bc8e5SDirk Behme  */
16ad9bc8e5SDirk Behme 
170d43fdedSDerald D. Woods #ifndef __CONFIG_H
180d43fdedSDerald D. Woods #define __CONFIG_H
19741de266SSanjeev Premi 
200d43fdedSDerald D. Woods #define CONFIG_NR_DRAM_BANKS            2 /* CS1 may or may not be populated */
21741de266SSanjeev Premi 
220d43fdedSDerald D. Woods #include <configs/ti_omap3_common.h>
230d43fdedSDerald D. Woods 
240d43fdedSDerald D. Woods /*
250d43fdedSDerald D. Woods  * We are only ever GP parts and will utilize all of the "downloaded image"
260d43fdedSDerald D. Woods  * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB).
27741de266SSanjeev Premi  */
280d43fdedSDerald D. Woods #undef CONFIG_SPL_TEXT_BASE
290d43fdedSDerald D. Woods #define CONFIG_SPL_TEXT_BASE            0x40200000
30741de266SSanjeev Premi 
310d43fdedSDerald D. Woods #define CONFIG_SPL_FRAMEWORK
32741de266SSanjeev Premi 
330d43fdedSDerald D. Woods #define CONFIG_MISC_INIT_R
340d43fdedSDerald D. Woods #define CONFIG_CMDLINE_TAG
350d43fdedSDerald D. Woods #define CONFIG_SETUP_MEMORY_TAGS
360d43fdedSDerald D. Woods #define CONFIG_INITRD_TAG
370d43fdedSDerald D. Woods #define CONFIG_REVISION_TAG
38741de266SSanjeev Premi 
390d43fdedSDerald D. Woods /* Override OMAP3 serial console configuration */
400d43fdedSDerald D. Woods #undef CONFIG_CONS_INDEX
410d43fdedSDerald D. Woods #define CONFIG_CONS_INDEX               1
420d43fdedSDerald D. Woods #define CONFIG_SYS_NS16550_COM1         OMAP34XX_UART1
430d43fdedSDerald D. Woods #if defined(CONFIG_SPL_BUILD)
440d43fdedSDerald D. Woods #undef CONFIG_SYS_NS16550_REG_SIZE
450d43fdedSDerald D. Woods #endif /* CONFIG_SPL_BUILD */
46673283f3STom Rini 
470d43fdedSDerald D. Woods /* NAND */
480d43fdedSDerald D. Woods #if defined(CONFIG_NAND)
490d43fdedSDerald D. Woods #define CONFIG_SYS_FLASH_BASE		NAND_BASE
500d43fdedSDerald D. Woods #define CONFIG_SYS_MAX_NAND_DEVICE      1
51673283f3STom Rini #define CONFIG_SYS_NAND_5_ADDR_CYCLE
52673283f3STom Rini #define CONFIG_SYS_NAND_PAGE_COUNT      64
53673283f3STom Rini #define CONFIG_SYS_NAND_PAGE_SIZE       2048
54673283f3STom Rini #define CONFIG_SYS_NAND_OOBSIZE         64
55673283f3STom Rini #define CONFIG_SYS_NAND_BLOCK_SIZE      (128*1024)
560d43fdedSDerald D. Woods #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
57673283f3STom Rini #define CONFIG_SYS_NAND_ECCPOS          {2, 3, 4, 5, 6, 7, 8, 9,\
58673283f3STom Rini                                          10, 11, 12, 13}
59673283f3STom Rini #define CONFIG_SYS_NAND_ECCSIZE         512
60673283f3STom Rini #define CONFIG_SYS_NAND_ECCBYTES        3
610d43fdedSDerald D. Woods #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
62673283f3STom Rini #define CONFIG_SYS_NAND_U_BOOT_OFFS     0x80000
630d43fdedSDerald D. Woods #define CONFIG_ENV_IS_IN_NAND           1
640d43fdedSDerald D. Woods #define CONFIG_ENV_SIZE                 (128 << 10) /* 128 KiB */
65584550d7STom Rini #define CONFIG_SYS_ENV_SECT_SIZE        (128 << 10) /* 128 KiB */
667672d9d5SAdam Ford #define CONFIG_ENV_OFFSET               0x260000
677672d9d5SAdam Ford #define CONFIG_ENV_ADDR                 0x260000
680d43fdedSDerald D. Woods #define CONFIG_ENV_OVERWRITE
690d43fdedSDerald D. Woods #define CONFIG_MTD_PARTITIONS           /* required for UBI partition support */
70c257c96dSDerald D. Woods /* NAND: SPL falcon mode configs */
71c257c96dSDerald D. Woods #if defined(CONFIG_SPL_OS_BOOT)
72c257c96dSDerald D. Woods #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000
73c257c96dSDerald D. Woods #endif /* CONFIG_SPL_OS_BOOT */
740d43fdedSDerald D. Woods #endif /* CONFIG_NAND */
75584550d7STom Rini 
760d43fdedSDerald D. Woods /* MUSB */
77584550d7STom Rini 
780d43fdedSDerald D. Woods /* USB EHCI */
790d43fdedSDerald D. Woods #define CONFIG_SYS_USB_FAT_BOOT_PARTITION  1
800d43fdedSDerald D. Woods 
810d43fdedSDerald D. Woods /* Environment */
820d43fdedSDerald D. Woods #define CONFIG_PREBOOT                  "usb start"
83136cf92dSSanjeev Premi 
848a3556edSDerald D. Woods #include <config_distro_defaults.h>
858a3556edSDerald D. Woods 
868a3556edSDerald D. Woods #define MEM_LAYOUT_ENV_SETTINGS \
878a3556edSDerald D. Woods 	DEFAULT_LINUX_BOOT_ENV
888a3556edSDerald D. Woods 
898a3556edSDerald D. Woods #define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
908a3556edSDerald D. Woods 	"bootcmd_" #devtypel #instance "=" \
918a3556edSDerald D. Woods 	"run nandboot\0"
928a3556edSDerald D. Woods #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
938a3556edSDerald D. Woods 	#devtypel #instance " "
948a3556edSDerald D. Woods 
95*56d1ddedSDerald D. Woods #define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \
968a3556edSDerald D. Woods 	"bootcmd_" #devtypel #instance "=" \
978a3556edSDerald D. Woods 	"setenv mmcdev " #instance "; " \
98*56d1ddedSDerald D. Woods 	"setenv bootpart " #instance ":${mmcpart} ; " \
998a3556edSDerald D. Woods 	"run mmcboot\0"
100*56d1ddedSDerald D. Woods #define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \
1018a3556edSDerald D. Woods 	#devtypel #instance " "
1028a3556edSDerald D. Woods 
1038a3556edSDerald D. Woods #define BOOT_TARGET_DEVICES(func) \
1048a3556edSDerald D. Woods 	func(MMC, mmc, 0) \
105*56d1ddedSDerald D. Woods 	func(LEGACY_MMC, legacy_mmc, 0) \
106*56d1ddedSDerald D. Woods 	func(UBIFS, ubifs, 0) \
1078a3556edSDerald D. Woods 	func(NAND, nand, 0)
1088a3556edSDerald D. Woods 
1098a3556edSDerald D. Woods #include <config_distro_bootcmd.h>
1108a3556edSDerald D. Woods 
111ad9bc8e5SDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \
1128a3556edSDerald D. Woods 	MEM_LAYOUT_ENV_SETTINGS \
1138a3556edSDerald D. Woods 	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
1140d43fdedSDerald D. Woods 	"mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \
1150d43fdedSDerald D. Woods 	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
1162d28ba18SDerald D. Woods 	"fdt_high=0xffffffff\0" \
117a47ca2cfSDerald D. Woods 	"bootdir=/boot\0" \
118c257c96dSDerald D. Woods 	"bootenv=uEnv.txt\0" \
119*56d1ddedSDerald D. Woods 	"bootfile=zImage\0" \
120*56d1ddedSDerald D. Woods 	"bootubivol=rootfs\0" \
121*56d1ddedSDerald D. Woods 	"bootubipart=rootfs\0" \
122c257c96dSDerald D. Woods 	"optargs=\0" \
123dcc4f38bSVaibhav Hiremath 	"mmcdev=0\0" \
124a47ca2cfSDerald D. Woods 	"mmcpart=2\0" \
125*56d1ddedSDerald D. Woods 	"bootpart=${mmcdev}:${mmcpart}\0" \
126effeda55SSanjeev Premi 	"console=ttyO0,115200n8\0" \
127ad9bc8e5SDirk Behme 	"mmcargs=setenv bootargs console=${console} " \
128c257c96dSDerald D. Woods 		"${mtdparts} " \
1290d43fdedSDerald D. Woods 		"${optargs} " \
130ad9bc8e5SDirk Behme 		"root=/dev/mmcblk0p2 rw " \
1310d43fdedSDerald D. Woods 		"rootfstype=ext4 rootwait\0" \
132ad9bc8e5SDirk Behme 	"nandargs=setenv bootargs console=${console} " \
133c257c96dSDerald D. Woods 		"${mtdparts} " \
1340d43fdedSDerald D. Woods 		"${optargs} " \
1350d43fdedSDerald D. Woods 		"root=ubi0:rootfs rw ubi.mtd=rootfs noinitrd " \
1360d43fdedSDerald D. Woods 		"rootfstype=ubifs rootwait\0" \
137c257c96dSDerald D. Woods 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
138*56d1ddedSDerald D. Woods 	"ext4bootenv=ext4load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootenv}\0" \
139c257c96dSDerald D. Woods 	"importbootenv=echo Importing environment from mmc ...; " \
140c257c96dSDerald D. Woods 		"env import -t ${loadaddr} ${filesize}\0" \
141a47ca2cfSDerald D. Woods 	"mmcbootenv=mmc dev ${mmcdev}; " \
142a47ca2cfSDerald D. Woods 		"if mmc rescan; then " \
143a47ca2cfSDerald D. Woods 			"run loadbootenv && run importbootenv; " \
144a47ca2cfSDerald D. Woods 			"run ext4bootenv && run importbootenv; " \
145c257c96dSDerald D. Woods 			"if test -n $uenvcmd; then " \
146c257c96dSDerald D. Woods 				"echo Running uenvcmd ...; " \
147c257c96dSDerald D. Woods 				"run uenvcmd; " \
148c257c96dSDerald D. Woods 			"fi; " \
1498a3556edSDerald D. Woods 		"fi\0" \
150*56d1ddedSDerald D. Woods 	"loadimage=ext4load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
151*56d1ddedSDerald D. Woods 	"loaddtb=ext4load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
1528a3556edSDerald D. Woods 	"mmcboot=run mmcbootenv; " \
153*56d1ddedSDerald D. Woods 		"if run loadimage && run loaddtb; then " \
154*56d1ddedSDerald D. Woods 			"echo Booting ${bootdir}/${bootfile} from mmc ${bootpart} ...; " \
1558a3556edSDerald D. Woods 			"run mmcargs; " \
156*56d1ddedSDerald D. Woods 			"if test ${bootfile} = uImage; then " \
1578a3556edSDerald D. Woods 				"bootm ${loadaddr} - ${fdtaddr}; " \
158*56d1ddedSDerald D. Woods 			"fi; " \
159*56d1ddedSDerald D. Woods 			"if test ${bootfile} = zImage; then " \
1608a3556edSDerald D. Woods 				"bootz ${loadaddr} - ${fdtaddr}; " \
161*56d1ddedSDerald D. Woods 			"fi; " \
1628a3556edSDerald D. Woods 		"fi\0" \
163a47ca2cfSDerald D. Woods 	"nandboot=" \
164*56d1ddedSDerald D. Woods 		"if nand read ${loadaddr} kernel && nand read ${fdtaddr} dtb; then " \
165a47ca2cfSDerald D. Woods 			"echo Booting uImage from NAND MTD 'kernel' partition ...; " \
166a47ca2cfSDerald D. Woods 			"run nandargs; " \
167*56d1ddedSDerald D. Woods 			"bootm ${loadaddr} - ${fdtaddr}; " \
168a47ca2cfSDerald D. Woods 		"fi\0" \
1698a3556edSDerald D. Woods 	BOOTENV
1708a3556edSDerald D. Woods 
1710d43fdedSDerald D. Woods #endif /* __CONFIG_H */
172