xref: /openbmc/u-boot/include/configs/omap3_beagle.h (revision cc3fedb2046962c6a11e16b1d73d98b4e108a651)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2f904cdbbSDirk Behme /*
3f904cdbbSDirk Behme  * (C) Copyright 2006-2008
4f904cdbbSDirk Behme  * Texas Instruments.
5f904cdbbSDirk Behme  * Richard Woodruff <r-woodruff2@ti.com>
6f904cdbbSDirk Behme  * Syed Mohammed Khasim <x0khasim@ti.com>
7f904cdbbSDirk Behme  *
8f904cdbbSDirk Behme  * Configuration settings for the TI OMAP3530 Beagle board.
9f904cdbbSDirk Behme  */
10f904cdbbSDirk Behme 
11f904cdbbSDirk Behme #ifndef __CONFIG_H
12f904cdbbSDirk Behme #define __CONFIG_H
13f904cdbbSDirk Behme 
14df4dbb5dSTom Rini #include <configs/ti_omap3_common.h>
15f904cdbbSDirk Behme 
164b37928dSDerald D. Woods /*
174b37928dSDerald D. Woods  * We are only ever GP parts and will utilize all of the "downloaded image"
184b37928dSDerald D. Woods  * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB).
194b37928dSDerald D. Woods  */
204b37928dSDerald D. Woods #undef CONFIG_SPL_TEXT_BASE
214b37928dSDerald D. Woods #define CONFIG_SPL_TEXT_BASE            0x40200000
224b37928dSDerald D. Woods 
234b37928dSDerald D. Woods #define CONFIG_CMDLINE_TAG
244b37928dSDerald D. Woods #define CONFIG_SETUP_MEMORY_TAGS
254b37928dSDerald D. Woods #define CONFIG_INITRD_TAG
264b37928dSDerald D. Woods #define CONFIG_REVISION_TAG
27f904cdbbSDirk Behme 
284b37928dSDerald D. Woods /* NAND */
294b37928dSDerald D. Woods #if defined(CONFIG_NAND)
304b37928dSDerald D. Woods #define CONFIG_SYS_FLASH_BASE		NAND_BASE
314b37928dSDerald D. Woods #define CONFIG_SYS_MAX_NAND_DEVICE      1
324b37928dSDerald D. Woods #define CONFIG_SYS_NAND_5_ADDR_CYCLE
334b37928dSDerald D. Woods #define CONFIG_SYS_NAND_PAGE_COUNT      64
344b37928dSDerald D. Woods #define CONFIG_SYS_NAND_PAGE_SIZE       2048
354b37928dSDerald D. Woods #define CONFIG_SYS_NAND_OOBSIZE         64
364b37928dSDerald D. Woods #define CONFIG_SYS_NAND_BLOCK_SIZE      (128*1024)
374b37928dSDerald D. Woods #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
384b37928dSDerald D. Woods #define CONFIG_SYS_NAND_ECCPOS          {2, 3, 4, 5, 6, 7, 8, 9,\
394b37928dSDerald D. Woods                                          10, 11, 12, 13}
404b37928dSDerald D. Woods #define CONFIG_SYS_NAND_ECCSIZE         512
414b37928dSDerald D. Woods #define CONFIG_SYS_NAND_ECCBYTES        3
424b37928dSDerald D. Woods #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
434b37928dSDerald D. Woods #define CONFIG_SYS_NAND_U_BOOT_OFFS     0x80000
44d233ccb1SDerald D. Woods #define CONFIG_SYS_ENV_SECT_SIZE        SZ_128K
454b37928dSDerald D. Woods #define CONFIG_ENV_OFFSET               0x260000
464b37928dSDerald D. Woods #define CONFIG_ENV_ADDR                 0x260000
47f904cdbbSDirk Behme #define CONFIG_ENV_OVERWRITE
484b37928dSDerald D. Woods /* NAND: SPL falcon mode configs */
494b37928dSDerald D. Woods #if defined(CONFIG_SPL_OS_BOOT)
50d233ccb1SDerald D. Woods #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x2a0000
514b37928dSDerald D. Woods #endif /* CONFIG_SPL_OS_BOOT */
524b37928dSDerald D. Woods #endif /* CONFIG_NAND */
53f904cdbbSDirk Behme 
54d90859a6SAlexander Holler /* USB EHCI */
5529321c05SIlya Yanok #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO	147
5629321c05SIlya Yanok 
574b37928dSDerald D. Woods /* Enable Multi Bus support for I2C */
584b37928dSDerald D. Woods #define CONFIG_I2C_MULTI_BUS
59df4dbb5dSTom Rini 
604b37928dSDerald D. Woods /* DSS Support */
61f904cdbbSDirk Behme 
624b37928dSDerald D. Woods /* TWL4030 LED Support */
63f904cdbbSDirk Behme 
64d233ccb1SDerald D. Woods /* Environment */
65d233ccb1SDerald D. Woods #define CONFIG_ENV_SIZE                 SZ_128K
66c721fd6eSGuillaume GARDET 
67d233ccb1SDerald D. Woods #define CONFIG_PREBOOT                  "usb start"
68d233ccb1SDerald D. Woods 
69d233ccb1SDerald D. Woods #define MEM_LAYOUT_ENV_SETTINGS \
70d233ccb1SDerald D. Woods 	DEFAULT_LINUX_BOOT_ENV
71d233ccb1SDerald D. Woods 
72d233ccb1SDerald D. Woods #define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \
73d233ccb1SDerald D. Woods 	"bootcmd_" #devtypel #instance "=" \
74d233ccb1SDerald D. Woods 	"setenv mmcdev " #instance "; " \
75d233ccb1SDerald D. Woods 	"run mmcboot\0"
76d233ccb1SDerald D. Woods #define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \
77d233ccb1SDerald D. Woods 	#devtypel #instance " "
78d233ccb1SDerald D. Woods 
79d233ccb1SDerald D. Woods #if defined(CONFIG_NAND)
80d233ccb1SDerald D. Woods 
81d233ccb1SDerald D. Woods #define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
82d233ccb1SDerald D. Woods 	"bootcmd_" #devtypel #instance "=" \
83d233ccb1SDerald D. Woods 	"if test ${mtdids} = '' || test ${mtdparts} = '' ; then " \
84d233ccb1SDerald D. Woods 		"echo NAND boot disabled: No mtdids and/or mtdparts; " \
85c721fd6eSGuillaume GARDET 	"else " \
86c721fd6eSGuillaume GARDET 		"run nandboot; " \
87d233ccb1SDerald D. Woods 	"fi\0"
88d233ccb1SDerald D. Woods #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
89d233ccb1SDerald D. Woods 	#devtypel #instance " "
90d233ccb1SDerald D. Woods 
91d233ccb1SDerald D. Woods #define BOOT_TARGET_DEVICES(func) \
92d233ccb1SDerald D. Woods 	func(MMC, mmc, 0) \
93d233ccb1SDerald D. Woods 	func(LEGACY_MMC, legacy_mmc, 0) \
94d233ccb1SDerald D. Woods 	func(UBIFS, ubifs, 0) \
95d233ccb1SDerald D. Woods 	func(NAND, nand, 0)
96d233ccb1SDerald D. Woods 
97d233ccb1SDerald D. Woods #else /* !CONFIG_NAND */
98d233ccb1SDerald D. Woods 
99d233ccb1SDerald D. Woods #define BOOT_TARGET_DEVICES(func) \
100d233ccb1SDerald D. Woods 	func(MMC, mmc, 0) \
101d233ccb1SDerald D. Woods 	func(LEGACY_MMC, legacy_mmc, 0)
102d233ccb1SDerald D. Woods 
103d233ccb1SDerald D. Woods #endif /* CONFIG_NAND */
104c721fd6eSGuillaume GARDET 
105c721fd6eSGuillaume GARDET #include <config_distro_bootcmd.h>
106c721fd6eSGuillaume GARDET 
107f904cdbbSDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \
108d233ccb1SDerald D. Woods 	MEM_LAYOUT_ENV_SETTINGS \
109d233ccb1SDerald D. Woods 	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
1102ade496fSNishanth Menon 	"fdt_high=0xffffffff\0" \
11127b8c8f2SKoen Kooi 	"console=ttyO2,115200n8\0" \
112d233ccb1SDerald D. Woods 	"bootdir=/boot\0" \
113d233ccb1SDerald D. Woods 	"bootenv=uEnv.txt\0" \
114d233ccb1SDerald D. Woods 	"bootfile=zImage\0" \
115d233ccb1SDerald D. Woods 	"bootpart=0:2\0" \
116d233ccb1SDerald D. Woods 	"bootubivol=rootfs\0" \
117d233ccb1SDerald D. Woods 	"bootubipart=rootfs\0" \
118d233ccb1SDerald D. Woods 	"usbtty=cdc_acm\0" \
119f6e593bbSKoen Kooi 	"mpurate=auto\0" \
120847b83d0SPeter Meerwald 	"buddy=none\0" \
121c522eac4SJason Kridner 	"camera=none\0" \
12213d2cb98SSteve Sakoman 	"vram=12M\0" \
123f4b36ea9SJason Kridner 	"dvimode=640x480MR-16@60\0" \
12413d2cb98SSteve Sakoman 	"defaultdisplay=dvi\0" \
125d233ccb1SDerald D. Woods 	"defaultargs=setenv defargs " \
1265af32460SSteve Sakoman 		"mpurate=${mpurate} " \
127b1660314SKoen Kooi 		"buddy=${buddy} "\
128c522eac4SJason Kridner 		"camera=${camera} "\
12913d2cb98SSteve Sakoman 		"vram=${vram} " \
13013d2cb98SSteve Sakoman 		"omapfb.mode=dvi:${dvimode} " \
131d233ccb1SDerald D. Woods 		"omapdss.def_disp=${defaultdisplay}\0" \
132d233ccb1SDerald D. Woods 	"optargs=\0" \
1332ade496fSNishanth Menon 	"findfdt=" \
1342ade496fSNishanth Menon 		"if test $beaglerev = AxBx; then " \
1352ade496fSNishanth Menon 			"setenv fdtfile omap3-beagle.dtb; fi; " \
1362ade496fSNishanth Menon 		"if test $beaglerev = Cx; then " \
1372ade496fSNishanth Menon 			"setenv fdtfile omap3-beagle.dtb; fi; " \
1385c9038b6SRobert Nelson 		"if test $beaglerev = C4; then " \
1395c9038b6SRobert Nelson 			"setenv fdtfile omap3-beagle.dtb; fi; " \
1402ade496fSNishanth Menon 		"if test $beaglerev = xMAB; then " \
1413d47ffb9SRobert Nelson 			"setenv fdtfile omap3-beagle-xm-ab.dtb; fi; " \
1422ade496fSNishanth Menon 		"if test $beaglerev = xMC; then " \
1432ade496fSNishanth Menon 			"setenv fdtfile omap3-beagle-xm.dtb; fi; " \
1442ade496fSNishanth Menon 		"if test $fdtfile = undefined; then " \
145d233ccb1SDerald D. Woods 			"echo WARNING: Could not determine device tree to use; fi\0" \
146d233ccb1SDerald D. Woods 	"mmcdev=0\0" \
147d233ccb1SDerald D. Woods 	"mmcpart=2\0" \
148d233ccb1SDerald D. Woods 	"mmcroot=/dev/mmcblk0p2 rw\0" \
149d233ccb1SDerald D. Woods 	"mmcrootfstype=ext4 rootwait\0" \
150d233ccb1SDerald D. Woods 	"mmcargs=run defaultargs; setenv bootargs console=${console} " \
151d233ccb1SDerald D. Woods 		"${mtdparts} " \
152d233ccb1SDerald D. Woods 		"${defargs} " \
153d233ccb1SDerald D. Woods 		"${optargs} " \
154d233ccb1SDerald D. Woods 		"root=${mmcroot} " \
155d233ccb1SDerald D. Woods 		"rootfstype=${mmcrootfstype}\0" \
156d233ccb1SDerald D. Woods 	"userbutton_xm=gpio input 4;\0" \
157d233ccb1SDerald D. Woods 	"userbutton_nonxm=gpio input 7;\0" \
158d233ccb1SDerald D. Woods 	"userbutton=if gpio input 173; then " \
159d233ccb1SDerald D. Woods 			"run userbutton_xm; " \
160d233ccb1SDerald D. Woods 		"else " \
161d233ccb1SDerald D. Woods 			"run userbutton_nonxm; " \
162d233ccb1SDerald D. Woods 		"fi;\0" \
163d233ccb1SDerald D. Woods 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
164d233ccb1SDerald D. Woods 	"ext4bootenv=ext4load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootenv}\0" \
165d233ccb1SDerald D. Woods 	"importbootenv=echo Importing environment from mmc${mmcdev} ...; " \
166d233ccb1SDerald D. Woods 		"env import -t ${loadaddr} ${filesize}\0" \
167d233ccb1SDerald D. Woods 	"mmcbootenv=setenv bootpart ${mmcdev}:${mmcpart}; " \
168d233ccb1SDerald D. Woods 		"mmc dev ${mmcdev}; " \
169d233ccb1SDerald D. Woods 		"if mmc rescan; then " \
170d233ccb1SDerald D. Woods 			"if run userbutton; then " \
171d233ccb1SDerald D. Woods 				"setenv bootenv uEnv.txt;" \
172d233ccb1SDerald D. Woods 			"else " \
173d233ccb1SDerald D. Woods 				"setenv bootenv user.txt;" \
174d233ccb1SDerald D. Woods 			"fi;" \
175d233ccb1SDerald D. Woods 			"run loadbootenv && run importbootenv; " \
176d233ccb1SDerald D. Woods 			"run ext4bootenv && run importbootenv; " \
177d233ccb1SDerald D. Woods 			"if test -n $uenvcmd; then " \
178d233ccb1SDerald D. Woods 				"echo Running uenvcmd ...; " \
179d233ccb1SDerald D. Woods 				"run uenvcmd; " \
180d233ccb1SDerald D. Woods 			"fi; " \
181d233ccb1SDerald D. Woods 		"fi\0" \
1824fa2427cSRobert Nelson 	"validatefdt=" \
1834fa2427cSRobert Nelson 		"if test $beaglerev = xMAB; then " \
1844fa2427cSRobert Nelson 			"if test ! -e mmc ${bootpart} ${bootdir}/${fdtfile}; then " \
1854fa2427cSRobert Nelson 				"setenv fdtfile omap3-beagle-xm.dtb; " \
1864fa2427cSRobert Nelson 			"fi; " \
1874fa2427cSRobert Nelson 		"fi; \0" \
188d233ccb1SDerald D. Woods 	"loadimage=ext4load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
189d233ccb1SDerald D. Woods 	"loaddtb=run validatefdt; ext4load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
190d233ccb1SDerald D. Woods 	"mmcboot=run mmcbootenv; " \
191d233ccb1SDerald D. Woods 		"if run loadimage && run loaddtb; then " \
192d233ccb1SDerald D. Woods 			"echo Booting ${bootdir}/${bootfile} from mmc ${bootpart} ...; " \
193d233ccb1SDerald D. Woods 			"run mmcargs; " \
194d233ccb1SDerald D. Woods 			"if test ${bootfile} = uImage; then " \
195d233ccb1SDerald D. Woods 				"bootm ${loadaddr} - ${fdtaddr}; " \
196d233ccb1SDerald D. Woods 			"fi; " \
197d233ccb1SDerald D. Woods 			"if test ${bootfile} = zImage; then " \
198d233ccb1SDerald D. Woods 				"bootz ${loadaddr} - ${fdtaddr}; " \
199d233ccb1SDerald D. Woods 			"fi; " \
200d233ccb1SDerald D. Woods 		"fi\0" \
201d233ccb1SDerald D. Woods 	"nandroot=ubi0:rootfs ubi.mtd=rootfs rw\0" \
202d233ccb1SDerald D. Woods 	"nandrootfstype=ubifs rootwait\0" \
203d233ccb1SDerald D. Woods 	"nandargs=run defaultargs; setenv bootargs console=${console} " \
204d233ccb1SDerald D. Woods 		"${mtdparts} " \
205d233ccb1SDerald D. Woods 		"${defargs} " \
206f4b36ea9SJason Kridner 		"${optargs} " \
207d233ccb1SDerald D. Woods 		"root=${nandroot} " \
208d233ccb1SDerald D. Woods 		"rootfstype=${nandrootfstype}\0" \
209d233ccb1SDerald D. Woods 	"nandboot=if nand read ${loadaddr} kernel && nand read ${fdtaddr} dtb; then " \
210d233ccb1SDerald D. Woods 			"echo Booting uImage from NAND MTD 'kernel' partition ...; " \
211f904cdbbSDirk Behme 			"run nandargs; " \
212d233ccb1SDerald D. Woods 			"bootm ${loadaddr} - ${fdtaddr}; " \
213d233ccb1SDerald D. Woods 		"fi\0" \
214d233ccb1SDerald D. Woods 	"loadramdisk=ext4load mmc ${bootpart} ${rdaddr} ${bootdir}/${ramdisk}\0" \
215d233ccb1SDerald D. Woods 	"ramdisk=rootfs.ext2.gz.uboot\0" \
216d233ccb1SDerald D. Woods 	"ramdisk_size=16384\0" \
217d233ccb1SDerald D. Woods 	"ramroot=/dev/ram rw\0" \
218d233ccb1SDerald D. Woods 	"ramrootfstype=ext2\0" \
219d233ccb1SDerald D. Woods 	"ramargs=run defaultargs; setenv bootargs console=${console} " \
220d233ccb1SDerald D. Woods 		"${mtdparts} " \
221d233ccb1SDerald D. Woods 		"${defargs} " \
222d233ccb1SDerald D. Woods 		"${optargs} " \
223d233ccb1SDerald D. Woods 		"root=${ramroot} ramdisk_size=${ramdisk_size} " \
224d233ccb1SDerald D. Woods 	 	"rootfstype=${ramrootfstype}\0" \
225d233ccb1SDerald D. Woods 	"ramboot=run mmcbootenv; " \
226d233ccb1SDerald D. Woods 		"if run loadimage && run loaddtb && run loadramdisk; then " \
227d233ccb1SDerald D. Woods 			"echo Booting ${bootdir}/${bootfile} from mmc ${bootpart} w/ramdisk ...; " \
228f4b36ea9SJason Kridner 			"run ramargs; " \
229d233ccb1SDerald D. Woods 			"bootz ${loadaddr} ${rdaddr} ${fdtaddr}; " \
230d233ccb1SDerald D. Woods 		"fi\0" \
231c721fd6eSGuillaume GARDET 	BOOTENV
232f904cdbbSDirk Behme 
233f904cdbbSDirk Behme #endif /* __CONFIG_H */
234