xref: /openbmc/u-boot/include/configs/omap3_evm.h (revision 8a3556edbad4979f29ae9dcf319c29ea25da0e46)
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 #else /* !CONFIG_SPL_BUILD  */
460d43fdedSDerald D. Woods #define CONFIG_SYS_NS16550_REG_SIZE     (-1)
470d43fdedSDerald D. Woods #endif /* CONFIG_SPL_BUILD */
48673283f3STom Rini 
490d43fdedSDerald D. Woods /* NAND */
500d43fdedSDerald D. Woods #if defined(CONFIG_NAND)
510d43fdedSDerald D. Woods #define CONFIG_SYS_FLASH_BASE		NAND_BASE
520d43fdedSDerald D. Woods #define CONFIG_SYS_MAX_NAND_DEVICE      1
53673283f3STom Rini #define CONFIG_SYS_NAND_5_ADDR_CYCLE
54673283f3STom Rini #define CONFIG_SYS_NAND_PAGE_COUNT      64
55673283f3STom Rini #define CONFIG_SYS_NAND_PAGE_SIZE       2048
56673283f3STom Rini #define CONFIG_SYS_NAND_OOBSIZE         64
57673283f3STom Rini #define CONFIG_SYS_NAND_BLOCK_SIZE      (128*1024)
580d43fdedSDerald D. Woods #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
59673283f3STom Rini #define CONFIG_SYS_NAND_ECCPOS          {2, 3, 4, 5, 6, 7, 8, 9,\
60673283f3STom Rini                                          10, 11, 12, 13}
61673283f3STom Rini #define CONFIG_SYS_NAND_ECCSIZE         512
62673283f3STom Rini #define CONFIG_SYS_NAND_ECCBYTES        3
630d43fdedSDerald D. Woods #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
64673283f3STom Rini #define CONFIG_SYS_NAND_U_BOOT_OFFS     0x80000
650d43fdedSDerald D. Woods #define CONFIG_ENV_IS_IN_NAND           1
660d43fdedSDerald D. Woods #define CONFIG_ENV_SIZE                 (128 << 10) /* 128 KiB */
67584550d7STom Rini #define CONFIG_SYS_ENV_SECT_SIZE        (128 << 10) /* 128 KiB */
687672d9d5SAdam Ford #define CONFIG_ENV_OFFSET               0x260000
697672d9d5SAdam Ford #define CONFIG_ENV_ADDR                 0x260000
700d43fdedSDerald D. Woods #define CONFIG_ENV_OVERWRITE
710d43fdedSDerald D. Woods #define CONFIG_MTD_PARTITIONS           /* required for UBI partition support */
72c257c96dSDerald D. Woods /* NAND: SPL falcon mode configs */
73c257c96dSDerald D. Woods #if defined(CONFIG_SPL_OS_BOOT)
74c257c96dSDerald D. Woods #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000
75c257c96dSDerald D. Woods #endif /* CONFIG_SPL_OS_BOOT */
760d43fdedSDerald D. Woods #endif /* CONFIG_NAND */
77584550d7STom Rini 
780d43fdedSDerald D. Woods /* MUSB */
79c257c96dSDerald D. Woods #define CONFIG_USB_OMAP3
800d43fdedSDerald D. Woods #define CONFIG_USB_MUSB_OMAP2PLUS
810d43fdedSDerald D. Woods #define CONFIG_USB_MUSB_PIO_ONLY
82584550d7STom Rini 
830d43fdedSDerald D. Woods /* USB EHCI */
840d43fdedSDerald D. Woods #define CONFIG_SYS_USB_FAT_BOOT_PARTITION  1
850d43fdedSDerald D. Woods 
860d43fdedSDerald D. Woods /* Environment */
870d43fdedSDerald D. Woods #define CONFIG_PREBOOT                  "usb start"
88136cf92dSSanjeev Premi 
89*8a3556edSDerald D. Woods #if !defined(CONFIG_SPL_BUILD)
90*8a3556edSDerald D. Woods 
91*8a3556edSDerald D. Woods #include <config_distro_defaults.h>
92*8a3556edSDerald D. Woods 
93*8a3556edSDerald D. Woods #define MEM_LAYOUT_ENV_SETTINGS \
94*8a3556edSDerald D. Woods 	DEFAULT_LINUX_BOOT_ENV
95*8a3556edSDerald D. Woods 
96*8a3556edSDerald D. Woods #if defined(CONFIG_NAND)
97*8a3556edSDerald D. Woods #define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
98*8a3556edSDerald D. Woods 	"bootcmd_" #devtypel #instance "=" \
99*8a3556edSDerald D. Woods 	"run nandboot\0"
100*8a3556edSDerald D. Woods 
101*8a3556edSDerald D. Woods #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
102*8a3556edSDerald D. Woods 	#devtypel #instance " "
103*8a3556edSDerald D. Woods #endif /* CONFIG_NAND */
104*8a3556edSDerald D. Woods 
105*8a3556edSDerald D. Woods #define BOOTENV_DEV_UIMAGE_MMC(devtypeu, devtypel, instance) \
106*8a3556edSDerald D. Woods 	"bootcmd_" #devtypel #instance "=" \
107*8a3556edSDerald D. Woods 		"setenv mmcdev " #instance"; " \
108*8a3556edSDerald D. Woods 		"run mmcboot\0"
109*8a3556edSDerald D. Woods 
110*8a3556edSDerald D. Woods #define BOOTENV_DEV_NAME_UIMAGE_MMC(devtypeu, devtypel, instance) \
111*8a3556edSDerald D. Woods 	#devtypel #instance " "
112*8a3556edSDerald D. Woods 
113*8a3556edSDerald D. Woods #define BOOTENV_DEV_ZIMAGE_MMC(devtypeu, devtypel, instance) \
114*8a3556edSDerald D. Woods 	"bootcmd_" #devtypel #instance "=" \
115*8a3556edSDerald D. Woods 		"setenv mmcdev " #instance"; " \
116*8a3556edSDerald D. Woods 		"run mmcbootz\0"
117*8a3556edSDerald D. Woods 
118*8a3556edSDerald D. Woods #define BOOTENV_DEV_NAME_ZIMAGE_MMC(devtypeu, devtypel, instance) \
119*8a3556edSDerald D. Woods 	#devtypel #instance " "
120*8a3556edSDerald D. Woods 
121*8a3556edSDerald D. Woods #define BOOT_TARGET_DEVICES(func) \
122*8a3556edSDerald D. Woods 	func(MMC, mmc, 0) \
123*8a3556edSDerald D. Woods 	func(ZIMAGE_MMC, zimage_mmc, 0) \
124*8a3556edSDerald D. Woods 	func(UIMAGE_MMC, uimage_mmc, 0) \
125*8a3556edSDerald D. Woods 	func(NAND, nand, 0)
126*8a3556edSDerald D. Woods 
127*8a3556edSDerald D. Woods #include <config_distro_bootcmd.h>
128*8a3556edSDerald D. Woods 
129ad9bc8e5SDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \
130*8a3556edSDerald D. Woods 	MEM_LAYOUT_ENV_SETTINGS \
131*8a3556edSDerald D. Woods 	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
1320d43fdedSDerald D. Woods 	"mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \
1330d43fdedSDerald D. Woods 	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
134c257c96dSDerald D. Woods 	"bootenv=uEnv.txt\0" \
135c257c96dSDerald D. Woods 	"optargs=\0" \
136dcc4f38bSVaibhav Hiremath 	"mmcdev=0\0" \
137effeda55SSanjeev Premi 	"console=ttyO0,115200n8\0" \
138ad9bc8e5SDirk Behme 	"mmcargs=setenv bootargs console=${console} " \
139c257c96dSDerald D. Woods 		"${mtdparts} " \
1400d43fdedSDerald D. Woods 		"${optargs} " \
141ad9bc8e5SDirk Behme 		"root=/dev/mmcblk0p2 rw " \
1420d43fdedSDerald D. Woods 		"rootfstype=ext4 rootwait\0" \
143ad9bc8e5SDirk Behme 	"nandargs=setenv bootargs console=${console} " \
144c257c96dSDerald D. Woods 		"${mtdparts} " \
1450d43fdedSDerald D. Woods 		"${optargs} " \
1460d43fdedSDerald D. Woods 		"root=ubi0:rootfs rw ubi.mtd=rootfs noinitrd " \
1470d43fdedSDerald D. Woods 		"rootfstype=ubifs rootwait\0" \
148c257c96dSDerald D. Woods 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
149c257c96dSDerald D. Woods 	"importbootenv=echo Importing environment from mmc ...; " \
150c257c96dSDerald D. Woods 		"env import -t ${loadaddr} ${filesize}\0" \
151*8a3556edSDerald D. Woods 	"mmcbootenv=" \
152*8a3556edSDerald D. Woods 		"mmc dev ${mmcdev}; " \
153*8a3556edSDerald D. Woods 		"if mmc rescan && run loadbootenv; then " \
154c257c96dSDerald D. Woods 			"run importbootenv; " \
155c257c96dSDerald D. Woods 			"if test -n $uenvcmd; then " \
156c257c96dSDerald D. Woods 				"echo Running uenvcmd ...; " \
157c257c96dSDerald D. Woods 				"run uenvcmd; " \
158c257c96dSDerald D. Woods 			"fi; " \
159*8a3556edSDerald D. Woods 		"fi\0" \
160*8a3556edSDerald D. Woods 	"loaduimage=setenv bootfile uImage; " \
161*8a3556edSDerald D. Woods 		"fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
162*8a3556edSDerald D. Woods 	"loadzimage=setenv bootfile zImage; " \
163*8a3556edSDerald D. Woods 		"fatload mmc ${mmcdev} ${loadaddr} zImage\0" \
164*8a3556edSDerald D. Woods 	"loaddtb=fatload mmc ${mmcdev} ${fdtaddr} ${fdtfile}\0" \
165*8a3556edSDerald D. Woods 	"mmcboot=run mmcbootenv; " \
1660d43fdedSDerald D. Woods 		"if run loaduimage && run loaddtb; then " \
167*8a3556edSDerald D. Woods 			"echo Booting ${bootfile} from mmc ...; " \
168*8a3556edSDerald D. Woods 			"run mmcargs; " \
169*8a3556edSDerald D. Woods 			"bootm ${loadaddr} - ${fdtaddr}; " \
170*8a3556edSDerald D. Woods 		"fi\0" \
171*8a3556edSDerald D. Woods 	"mmcbootz=run mmcbootenv; " \
172*8a3556edSDerald D. Woods 		"if run loadzimage && run loaddtb; then " \
173*8a3556edSDerald D. Woods 			"echo Booting ${bootfile} from mmc ...; " \
174*8a3556edSDerald D. Woods 			"run mmcargs; " \
175*8a3556edSDerald D. Woods 			"bootz ${loadaddr} - ${fdtaddr};" \
176*8a3556edSDerald D. Woods 		"fi\0" \
177*8a3556edSDerald D. Woods 	"nandboot=echo Booting uImage from nand ...; " \
178*8a3556edSDerald D. Woods 		"run nandargs; " \
179*8a3556edSDerald D. Woods 		"nand read ${loadaddr} kernel; " \
180*8a3556edSDerald D. Woods 		"nand read ${fdtaddr} dtb; " \
181*8a3556edSDerald D. Woods 		"bootm ${loadaddr} - ${fdtaddr}\0" \
182*8a3556edSDerald D. Woods 	BOOTENV
183*8a3556edSDerald D. Woods 
184*8a3556edSDerald D. Woods #endif /* !CONFIG_SPL_BUILD */
185ad9bc8e5SDirk Behme 
1860d43fdedSDerald D. Woods #endif /* __CONFIG_H */
187