xref: /openbmc/u-boot/include/configs/mx51evk.h (revision b71d9e8b)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2c5fb70c9SStefano Babic /*
3c5fb70c9SStefano Babic  * Copyright (C) 2007, Guennadi Liakhovetski <lg@denx.de>
4c5fb70c9SStefano Babic  *
5c5fb70c9SStefano Babic  * (C) Copyright 2009 Freescale Semiconductor, Inc.
6c5fb70c9SStefano Babic  *
7c5fb70c9SStefano Babic  * Configuration settings for the MX51EVK Board
8c5fb70c9SStefano Babic  */
9c5fb70c9SStefano Babic 
10c5fb70c9SStefano Babic #ifndef __CONFIG_H
11c5fb70c9SStefano Babic #define __CONFIG_H
12c5fb70c9SStefano Babic 
13c5fb70c9SStefano Babic  /* High Level Configuration Options */
14c5fb70c9SStefano Babic 
1518fb0e3cSGong Qianyu #define CONFIG_SYS_FSL_CLK
16c7bdcb61SStefano Babic 
17595f3e56SLiu Hui-R64343 #include <asm/arch/imx-regs.h>
18c5fb70c9SStefano Babic 
194f521418SFabio Estevam #define CONFIG_CMDLINE_TAG			/* enable passing of ATAGs */
204f521418SFabio Estevam #define CONFIG_SETUP_MEMORY_TAGS
214f521418SFabio Estevam #define CONFIG_INITRD_TAG
22362635bdSBenoît Thébaudeau #define CONFIG_REVISION_TAG
23c5fb70c9SStefano Babic 
244cd300efSFabio Estevam #define CONFIG_MACH_TYPE	MACH_TYPE_MX51_BABBAGE
25c5fb70c9SStefano Babic /*
26c5fb70c9SStefano Babic  * Size of malloc() pool
27c5fb70c9SStefano Babic  */
28f1adefd2SFabio Estevam #define CONFIG_SYS_MALLOC_LEN		(10 * 1024 * 1024)
29c5fb70c9SStefano Babic 
30c5fb70c9SStefano Babic /*
31c5fb70c9SStefano Babic  * Hardware drivers
32c5fb70c9SStefano Babic  */
33f6bfd29bSBenoît Thébaudeau #define CONFIG_FSL_IIM
34f6bfd29bSBenoît Thébaudeau 
35c5fb70c9SStefano Babic #define CONFIG_MXC_UART
3640f6fffeSStefano Babic #define CONFIG_MXC_UART_BASE	UART1_BASE
37c5fb70c9SStefano Babic 
385357265aSStefano Babic /* PMIC Controller */
39be3b51aaSŁukasz Majewski #define CONFIG_POWER
40be3b51aaSŁukasz Majewski #define CONFIG_POWER_SPI
41be3b51aaSŁukasz Majewski #define CONFIG_POWER_FSL
42b4377e12SStefano Babic #define CONFIG_FSL_PMIC_BUS	0
43b4377e12SStefano Babic #define CONFIG_FSL_PMIC_CS	0
44b4377e12SStefano Babic #define CONFIG_FSL_PMIC_CLK	2500000
459f481e95SStefano Babic #define CONFIG_FSL_PMIC_MODE	(SPI_MODE_0 | SPI_CS_HIGH)
465357265aSStefano Babic #define CONFIG_FSL_PMIC_BITLEN	32
479b6ede92SFabio Estevam #define CONFIG_RTC_MC13XXX
48b4377e12SStefano Babic 
49b4377e12SStefano Babic /*
50c5fb70c9SStefano Babic  * MMC Configs
51c5fb70c9SStefano Babic  * */
529992792bSFabio Estevam #define CONFIG_SYS_FSL_ESDHC_ADDR	MMC_SDHC1_BASE_ADDR
53c5fb70c9SStefano Babic #define CONFIG_SYS_FSL_ESDHC_NUM	2
54c5fb70c9SStefano Babic 
55c5fb70c9SStefano Babic /*
56c5fb70c9SStefano Babic  * Eth Configs
57c5fb70c9SStefano Babic  */
58c5fb70c9SStefano Babic 
59c5fb70c9SStefano Babic #define CONFIG_FEC_MXC
60c5fb70c9SStefano Babic #define IMX_FEC_BASE	FEC_BASE_ADDR
61c5fb70c9SStefano Babic #define CONFIG_FEC_MXC_PHYADDR	0x1F
62c5fb70c9SStefano Babic 
63055d9693SWolfgang Grandegger /* USB Configs */
64055d9693SWolfgang Grandegger #define CONFIG_USB_EHCI_MX5
65055d9693SWolfgang Grandegger #define CONFIG_MXC_USB_PORT	1
66055d9693SWolfgang Grandegger #define CONFIG_MXC_USB_PORTSC	PORT_PTS_ULPI
67055d9693SWolfgang Grandegger #define CONFIG_MXC_USB_FLAGS	MXC_EHCI_POWER_PINS_ENABLED
68055d9693SWolfgang Grandegger 
69f1adefd2SFabio Estevam /* Framebuffer and LCD */
70f1adefd2SFabio Estevam #define CONFIG_PREBOOT
71695af9abSFabio Estevam #define CONFIG_VIDEO_IPUV3
72f1adefd2SFabio Estevam #define CONFIG_VIDEO_BMP_RLE8
73f1adefd2SFabio Estevam #define CONFIG_SPLASH_SCREEN
74f1adefd2SFabio Estevam #define CONFIG_BMP_16BPP
75f1adefd2SFabio Estevam #define CONFIG_VIDEO_LOGO
76f1adefd2SFabio Estevam 
77c5fb70c9SStefano Babic /* allow to overwrite serial and ethaddr */
78c5fb70c9SStefano Babic #define CONFIG_ENV_OVERWRITE
79c5fb70c9SStefano Babic 
8028b119e9SWolfgang Grandegger #define CONFIG_ETHPRIME		"FEC0"
81c5fb70c9SStefano Babic 
8294b5f3edSFabio Estevam #define CONFIG_LOADADDR		0x92000000	/* loadaddr env var */
83c5fb70c9SStefano Babic 
84c5fb70c9SStefano Babic #define CONFIG_EXTRA_ENV_SETTINGS \
8506982534SShawn Guo 	"script=boot.scr\0" \
8620f233bbSOtavio Salvador 	"image=zImage\0" \
8794b5f3edSFabio Estevam 	"fdt_file=imx51-babbage.dtb\0" \
8894b5f3edSFabio Estevam 	"fdt_addr=0x91000000\0" \
8994b5f3edSFabio Estevam 	"boot_fdt=try\0" \
9094b5f3edSFabio Estevam 	"ip_dyn=yes\0" \
9106982534SShawn Guo 	"mmcdev=0\0" \
92e97721c4SOtavio Salvador 	"mmcpart=1\0" \
93e97721c4SOtavio Salvador 	"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
9406982534SShawn Guo 	"mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
950bc32d91SFabio Estevam 		"root=${mmcroot}\0" \
9606982534SShawn Guo 	"loadbootscript=" \
9706982534SShawn Guo 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
9806982534SShawn Guo 	"bootscript=echo Running bootscript from mmc ...; " \
9906982534SShawn Guo 		"source\0" \
10020f233bbSOtavio Salvador 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
10194b5f3edSFabio Estevam 	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
10206982534SShawn Guo 	"mmcboot=echo Booting from mmc ...; " \
10306982534SShawn Guo 		"run mmcargs; " \
10494b5f3edSFabio Estevam 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
10594b5f3edSFabio Estevam 			"if run loadfdt; then " \
10620f233bbSOtavio Salvador 				"bootz ${loadaddr} - ${fdt_addr}; " \
10794b5f3edSFabio Estevam 			"else " \
10894b5f3edSFabio Estevam 				"if test ${boot_fdt} = try; then " \
10920f233bbSOtavio Salvador 					"bootz; " \
11094b5f3edSFabio Estevam 				"else " \
11194b5f3edSFabio Estevam 					"echo WARN: Cannot load the DT; " \
11294b5f3edSFabio Estevam 				"fi; " \
11394b5f3edSFabio Estevam 			"fi; " \
11494b5f3edSFabio Estevam 		"else " \
11520f233bbSOtavio Salvador 			"bootz; " \
11694b5f3edSFabio Estevam 		"fi;\0" \
11706982534SShawn Guo 	"netargs=setenv bootargs console=ttymxc0,${baudrate} " \
11806982534SShawn Guo 		"root=/dev/nfs " \
119c5fb70c9SStefano Babic 		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
12006982534SShawn Guo 	"netboot=echo Booting from net ...; " \
12106982534SShawn Guo 		"run netargs; " \
12294b5f3edSFabio Estevam 		"if test ${ip_dyn} = yes; then " \
12394b5f3edSFabio Estevam 			"setenv get_cmd dhcp; " \
12494b5f3edSFabio Estevam 		"else " \
12594b5f3edSFabio Estevam 			"setenv get_cmd tftp; " \
12694b5f3edSFabio Estevam 		"fi; " \
12720f233bbSOtavio Salvador 		"${get_cmd} ${image}; " \
12894b5f3edSFabio Estevam 		"if test ${boot_fdt} = yes ||  test ${boot_fdt} = try; then " \
12994b5f3edSFabio Estevam 			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
13020f233bbSOtavio Salvador 				"bootz ${loadaddr} - ${fdt_addr}; " \
13194b5f3edSFabio Estevam 			"else " \
13294b5f3edSFabio Estevam 				"if test ${boot_fdt} = try; then " \
13320f233bbSOtavio Salvador 					"bootz; " \
13494b5f3edSFabio Estevam 				"else " \
13594b5f3edSFabio Estevam 					"echo ERROR: Cannot load the DT; " \
13694b5f3edSFabio Estevam 					"exit; " \
13794b5f3edSFabio Estevam 				"fi; " \
13894b5f3edSFabio Estevam 			"fi; " \
13994b5f3edSFabio Estevam 		"else " \
14020f233bbSOtavio Salvador 			"bootz; " \
14194b5f3edSFabio Estevam 		"fi;\0"
14206982534SShawn Guo 
14306982534SShawn Guo #define CONFIG_BOOTCOMMAND \
14466968110SAndrew Bradford 	"mmc dev ${mmcdev}; if mmc rescan; then " \
14506982534SShawn Guo 		"if run loadbootscript; then " \
14606982534SShawn Guo 			"run bootscript; " \
14706982534SShawn Guo 		"else " \
14820f233bbSOtavio Salvador 			"if run loadimage; then " \
14906982534SShawn Guo 				"run mmcboot; " \
15006982534SShawn Guo 			"else run netboot; " \
15106982534SShawn Guo 			"fi; " \
15206982534SShawn Guo 		"fi; " \
15306982534SShawn Guo 	"else run netboot; fi"
154c5fb70c9SStefano Babic 
155c5fb70c9SStefano Babic #define CONFIG_ARP_TIMEOUT	200UL
156c5fb70c9SStefano Babic 
157c5fb70c9SStefano Babic /*
158c5fb70c9SStefano Babic  * Miscellaneous configurable options
159c5fb70c9SStefano Babic  */
160c5fb70c9SStefano Babic 
161c5fb70c9SStefano Babic #define CONFIG_SYS_MEMTEST_START       0x90000000
1620bd14deaSFabio Estevam #define CONFIG_SYS_MEMTEST_END         0x90010000
163c5fb70c9SStefano Babic 
164c5fb70c9SStefano Babic #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
165c5fb70c9SStefano Babic 
166c5fb70c9SStefano Babic /*-----------------------------------------------------------------------
167c5fb70c9SStefano Babic  * Physical Memory Map
168c5fb70c9SStefano Babic  */
169c5fb70c9SStefano Babic #define PHYS_SDRAM_1		CSD0_BASE_ADDR
170c5fb70c9SStefano Babic #define PHYS_SDRAM_1_SIZE	(512 * 1024 * 1024)
171c5fb70c9SStefano Babic 
1721ab027cbSShawn Guo #define CONFIG_SYS_SDRAM_BASE		(PHYS_SDRAM_1)
1731ab027cbSShawn Guo #define CONFIG_SYS_INIT_RAM_ADDR	(IRAM_BASE_ADDR)
1741ab027cbSShawn Guo #define CONFIG_SYS_INIT_RAM_SIZE	(IRAM_SIZE)
1751ab027cbSShawn Guo 
1761ab027cbSShawn Guo #define CONFIG_SYS_INIT_SP_OFFSET \
1771ab027cbSShawn Guo 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
1781ab027cbSShawn Guo #define CONFIG_SYS_INIT_SP_ADDR \
1791ab027cbSShawn Guo 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
1801ab027cbSShawn Guo 
1815e1fe88fSStefano Babic #define CONFIG_SYS_DDR_CLKSEL	0
1825e1fe88fSStefano Babic #define CONFIG_SYS_CLKTL_CBCDR	0x59E35100
18339e85761SBenoît Thébaudeau #define CONFIG_SYS_MAIN_PWR_ON
1845e1fe88fSStefano Babic 
185c5fb70c9SStefano Babic /*-----------------------------------------------------------------------
186e856bdcfSMasahiro Yamada  * environment organization
187c5fb70c9SStefano Babic  */
188a676cca4SJason Liu #define CONFIG_ENV_OFFSET      (6 * 64 * 1024)
189a676cca4SJason Liu #define CONFIG_ENV_SIZE        (8 * 1024)
190a676cca4SJason Liu #define CONFIG_SYS_MMC_ENV_DEV 0
191c5fb70c9SStefano Babic 
192c5fb70c9SStefano Babic #endif
193