xref: /rk3399_rockchip-uboot/include/configs/mx51evk.h (revision e856bdcfb49291d30b19603fc101bea096c48196)
1c5fb70c9SStefano Babic /*
2c5fb70c9SStefano Babic  * Copyright (C) 2007, Guennadi Liakhovetski <lg@denx.de>
3c5fb70c9SStefano Babic  *
4c5fb70c9SStefano Babic  * (C) Copyright 2009 Freescale Semiconductor, Inc.
5c5fb70c9SStefano Babic  *
6c5fb70c9SStefano Babic  * Configuration settings for the MX51EVK Board
7c5fb70c9SStefano Babic  *
81a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
9c5fb70c9SStefano Babic  */
10c5fb70c9SStefano Babic 
11c5fb70c9SStefano Babic #ifndef __CONFIG_H
12c5fb70c9SStefano Babic #define __CONFIG_H
13c5fb70c9SStefano Babic 
14c5fb70c9SStefano Babic  /* High Level Configuration Options */
15c5fb70c9SStefano Babic 
16c5fb70c9SStefano Babic #define CONFIG_MX51	/* in a mx51 */
17c5fb70c9SStefano Babic 
1818fb0e3cSGong Qianyu #define CONFIG_SYS_FSL_CLK
19c7bdcb61SStefano Babic #define CONFIG_SYS_TEXT_BASE	0x97800000
20c7bdcb61SStefano Babic 
21595f3e56SLiu Hui-R64343 #include <asm/arch/imx-regs.h>
22c5fb70c9SStefano Babic 
234f521418SFabio Estevam #define CONFIG_CMDLINE_TAG			/* enable passing of ATAGs */
244f521418SFabio Estevam #define CONFIG_SETUP_MEMORY_TAGS
254f521418SFabio Estevam #define CONFIG_INITRD_TAG
26362635bdSBenoît Thébaudeau #define CONFIG_REVISION_TAG
27c5fb70c9SStefano Babic 
284cd300efSFabio Estevam #define CONFIG_MACH_TYPE	MACH_TYPE_MX51_BABBAGE
29c5fb70c9SStefano Babic /*
30c5fb70c9SStefano Babic  * Size of malloc() pool
31c5fb70c9SStefano Babic  */
32f1adefd2SFabio Estevam #define CONFIG_SYS_MALLOC_LEN		(10 * 1024 * 1024)
33c5fb70c9SStefano Babic 
34c5fb70c9SStefano Babic /*
35c5fb70c9SStefano Babic  * Hardware drivers
36c5fb70c9SStefano Babic  */
37f6bfd29bSBenoît Thébaudeau #define CONFIG_FSL_IIM
38f6bfd29bSBenoît Thébaudeau #define CONFIG_CMD_FUSE
39f6bfd29bSBenoît Thébaudeau 
40c5fb70c9SStefano Babic #define CONFIG_MXC_UART
4140f6fffeSStefano Babic #define CONFIG_MXC_UART_BASE	UART1_BASE
42753fc2ebSStefano Babic #define CONFIG_MXC_GPIO
43c5fb70c9SStefano Babic 
44c5fb70c9SStefano Babic /*
45b4377e12SStefano Babic  * SPI Configs
46b4377e12SStefano Babic  * */
47b4377e12SStefano Babic 
48b4377e12SStefano Babic #define CONFIG_MXC_SPI
49b4377e12SStefano Babic 
505357265aSStefano Babic /* PMIC Controller */
51be3b51aaSŁukasz Majewski #define CONFIG_POWER
52be3b51aaSŁukasz Majewski #define CONFIG_POWER_SPI
53be3b51aaSŁukasz Majewski #define CONFIG_POWER_FSL
54b4377e12SStefano Babic #define CONFIG_FSL_PMIC_BUS	0
55b4377e12SStefano Babic #define CONFIG_FSL_PMIC_CS	0
56b4377e12SStefano Babic #define CONFIG_FSL_PMIC_CLK	2500000
579f481e95SStefano Babic #define CONFIG_FSL_PMIC_MODE	(SPI_MODE_0 | SPI_CS_HIGH)
585357265aSStefano Babic #define CONFIG_FSL_PMIC_BITLEN	32
599b6ede92SFabio Estevam #define CONFIG_RTC_MC13XXX
60b4377e12SStefano Babic 
61b4377e12SStefano Babic /*
62c5fb70c9SStefano Babic  * MMC Configs
63c5fb70c9SStefano Babic  * */
64c5fb70c9SStefano Babic #define CONFIG_FSL_ESDHC
659992792bSFabio Estevam #define CONFIG_SYS_FSL_ESDHC_ADDR	MMC_SDHC1_BASE_ADDR
66c5fb70c9SStefano Babic #define CONFIG_SYS_FSL_ESDHC_NUM	2
67c5fb70c9SStefano Babic 
68c5fb70c9SStefano Babic /*
69c5fb70c9SStefano Babic  * Eth Configs
70c5fb70c9SStefano Babic  */
71c5fb70c9SStefano Babic #define CONFIG_MII
72c5fb70c9SStefano Babic 
73c5fb70c9SStefano Babic #define CONFIG_FEC_MXC
74c5fb70c9SStefano Babic #define IMX_FEC_BASE	FEC_BASE_ADDR
75c5fb70c9SStefano Babic #define CONFIG_FEC_MXC_PHYADDR	0x1F
76c5fb70c9SStefano Babic 
77055d9693SWolfgang Grandegger /* USB Configs */
78055d9693SWolfgang Grandegger #define CONFIG_USB_EHCI
79055d9693SWolfgang Grandegger #define CONFIG_USB_EHCI_MX5
80055d9693SWolfgang Grandegger #define CONFIG_USB_HOST_ETHER
81055d9693SWolfgang Grandegger #define CONFIG_USB_ETHER_ASIX
82055d9693SWolfgang Grandegger #define CONFIG_USB_ETHER_SMSC95XX
83055d9693SWolfgang Grandegger #define CONFIG_MXC_USB_PORT	1
84055d9693SWolfgang Grandegger #define CONFIG_MXC_USB_PORTSC	PORT_PTS_ULPI
85055d9693SWolfgang Grandegger #define CONFIG_MXC_USB_FLAGS	MXC_EHCI_POWER_PINS_ENABLED
86055d9693SWolfgang Grandegger 
87f1adefd2SFabio Estevam /* Framebuffer and LCD */
88f1adefd2SFabio Estevam #define CONFIG_PREBOOT
89695af9abSFabio Estevam #define CONFIG_VIDEO_IPUV3
90f1adefd2SFabio Estevam #define CONFIG_VIDEO_BMP_RLE8
91f1adefd2SFabio Estevam #define CONFIG_SPLASH_SCREEN
92f1adefd2SFabio Estevam #define CONFIG_BMP_16BPP
93f1adefd2SFabio Estevam #define CONFIG_VIDEO_LOGO
949fbdb1aaSFabio Estevam #define CONFIG_IPUV3_CLK	133000000
95f1adefd2SFabio Estevam 
96c5fb70c9SStefano Babic /* allow to overwrite serial and ethaddr */
97c5fb70c9SStefano Babic #define CONFIG_ENV_OVERWRITE
98c5fb70c9SStefano Babic #define CONFIG_CONS_INDEX		1
99c5fb70c9SStefano Babic #define CONFIG_BAUDRATE			115200
100c5fb70c9SStefano Babic 
101c5fb70c9SStefano Babic /***********************************************************
102c5fb70c9SStefano Babic  * Command definition
103c5fb70c9SStefano Babic  ***********************************************************/
104c5fb70c9SStefano Babic 
1059b6ede92SFabio Estevam #define CONFIG_CMD_DATE
1069b6ede92SFabio Estevam 
107c5fb70c9SStefano Babic 
10828b119e9SWolfgang Grandegger #define CONFIG_ETHPRIME		"FEC0"
109c5fb70c9SStefano Babic 
11094b5f3edSFabio Estevam #define CONFIG_LOADADDR		0x92000000	/* loadaddr env var */
111c5fb70c9SStefano Babic 
112c5fb70c9SStefano Babic #define CONFIG_EXTRA_ENV_SETTINGS \
11306982534SShawn Guo 	"script=boot.scr\0" \
11420f233bbSOtavio Salvador 	"image=zImage\0" \
11594b5f3edSFabio Estevam 	"fdt_file=imx51-babbage.dtb\0" \
11694b5f3edSFabio Estevam 	"fdt_addr=0x91000000\0" \
11794b5f3edSFabio Estevam 	"boot_fdt=try\0" \
11894b5f3edSFabio Estevam 	"ip_dyn=yes\0" \
11906982534SShawn Guo 	"mmcdev=0\0" \
120e97721c4SOtavio Salvador 	"mmcpart=1\0" \
121e97721c4SOtavio Salvador 	"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
12206982534SShawn Guo 	"mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
1230bc32d91SFabio Estevam 		"root=${mmcroot}\0" \
12406982534SShawn Guo 	"loadbootscript=" \
12506982534SShawn Guo 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
12606982534SShawn Guo 	"bootscript=echo Running bootscript from mmc ...; " \
12706982534SShawn Guo 		"source\0" \
12820f233bbSOtavio Salvador 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
12994b5f3edSFabio Estevam 	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
13006982534SShawn Guo 	"mmcboot=echo Booting from mmc ...; " \
13106982534SShawn Guo 		"run mmcargs; " \
13294b5f3edSFabio Estevam 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
13394b5f3edSFabio Estevam 			"if run loadfdt; then " \
13420f233bbSOtavio Salvador 				"bootz ${loadaddr} - ${fdt_addr}; " \
13594b5f3edSFabio Estevam 			"else " \
13694b5f3edSFabio Estevam 				"if test ${boot_fdt} = try; then " \
13720f233bbSOtavio Salvador 					"bootz; " \
13894b5f3edSFabio Estevam 				"else " \
13994b5f3edSFabio Estevam 					"echo WARN: Cannot load the DT; " \
14094b5f3edSFabio Estevam 				"fi; " \
14194b5f3edSFabio Estevam 			"fi; " \
14294b5f3edSFabio Estevam 		"else " \
14320f233bbSOtavio Salvador 			"bootz; " \
14494b5f3edSFabio Estevam 		"fi;\0" \
14506982534SShawn Guo 	"netargs=setenv bootargs console=ttymxc0,${baudrate} " \
14606982534SShawn Guo 		"root=/dev/nfs " \
147c5fb70c9SStefano Babic 		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
14806982534SShawn Guo 	"netboot=echo Booting from net ...; " \
14906982534SShawn Guo 		"run netargs; " \
15094b5f3edSFabio Estevam 		"if test ${ip_dyn} = yes; then " \
15194b5f3edSFabio Estevam 			"setenv get_cmd dhcp; " \
15294b5f3edSFabio Estevam 		"else " \
15394b5f3edSFabio Estevam 			"setenv get_cmd tftp; " \
15494b5f3edSFabio Estevam 		"fi; " \
15520f233bbSOtavio Salvador 		"${get_cmd} ${image}; " \
15694b5f3edSFabio Estevam 		"if test ${boot_fdt} = yes ||  test ${boot_fdt} = try; then " \
15794b5f3edSFabio Estevam 			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
15820f233bbSOtavio Salvador 				"bootz ${loadaddr} - ${fdt_addr}; " \
15994b5f3edSFabio Estevam 			"else " \
16094b5f3edSFabio Estevam 				"if test ${boot_fdt} = try; then " \
16120f233bbSOtavio Salvador 					"bootz; " \
16294b5f3edSFabio Estevam 				"else " \
16394b5f3edSFabio Estevam 					"echo ERROR: Cannot load the DT; " \
16494b5f3edSFabio Estevam 					"exit; " \
16594b5f3edSFabio Estevam 				"fi; " \
16694b5f3edSFabio Estevam 			"fi; " \
16794b5f3edSFabio Estevam 		"else " \
16820f233bbSOtavio Salvador 			"bootz; " \
16994b5f3edSFabio Estevam 		"fi;\0"
17006982534SShawn Guo 
17106982534SShawn Guo #define CONFIG_BOOTCOMMAND \
17266968110SAndrew Bradford 	"mmc dev ${mmcdev}; if mmc rescan; then " \
17306982534SShawn Guo 		"if run loadbootscript; then " \
17406982534SShawn Guo 			"run bootscript; " \
17506982534SShawn Guo 		"else " \
17620f233bbSOtavio Salvador 			"if run loadimage; then " \
17706982534SShawn Guo 				"run mmcboot; " \
17806982534SShawn Guo 			"else run netboot; " \
17906982534SShawn Guo 			"fi; " \
18006982534SShawn Guo 		"fi; " \
18106982534SShawn Guo 	"else run netboot; fi"
182c5fb70c9SStefano Babic 
183c5fb70c9SStefano Babic #define CONFIG_ARP_TIMEOUT	200UL
184c5fb70c9SStefano Babic 
185c5fb70c9SStefano Babic /*
186c5fb70c9SStefano Babic  * Miscellaneous configurable options
187c5fb70c9SStefano Babic  */
188c5fb70c9SStefano Babic #define CONFIG_SYS_LONGHELP		/* undef to save memory */
189c5fb70c9SStefano Babic #define CONFIG_AUTO_COMPLETE
190c5fb70c9SStefano Babic #define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
191c5fb70c9SStefano Babic #define CONFIG_SYS_MAXARGS	16	/* max number of command args */
192c5fb70c9SStefano Babic #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
193c5fb70c9SStefano Babic 
194c5fb70c9SStefano Babic #define CONFIG_SYS_MEMTEST_START       0x90000000
1950bd14deaSFabio Estevam #define CONFIG_SYS_MEMTEST_END         0x90010000
196c5fb70c9SStefano Babic 
197c5fb70c9SStefano Babic #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
198c5fb70c9SStefano Babic 
199c5fb70c9SStefano Babic #define CONFIG_CMDLINE_EDITING
200c5fb70c9SStefano Babic 
201c5fb70c9SStefano Babic /*-----------------------------------------------------------------------
202c5fb70c9SStefano Babic  * Physical Memory Map
203c5fb70c9SStefano Babic  */
204c5fb70c9SStefano Babic #define CONFIG_NR_DRAM_BANKS	1
205c5fb70c9SStefano Babic #define PHYS_SDRAM_1		CSD0_BASE_ADDR
206c5fb70c9SStefano Babic #define PHYS_SDRAM_1_SIZE	(512 * 1024 * 1024)
207c5fb70c9SStefano Babic 
2081ab027cbSShawn Guo #define CONFIG_SYS_SDRAM_BASE		(PHYS_SDRAM_1)
2091ab027cbSShawn Guo #define CONFIG_SYS_INIT_RAM_ADDR	(IRAM_BASE_ADDR)
2101ab027cbSShawn Guo #define CONFIG_SYS_INIT_RAM_SIZE	(IRAM_SIZE)
2111ab027cbSShawn Guo 
2121ab027cbSShawn Guo #define CONFIG_SYS_INIT_SP_OFFSET \
2131ab027cbSShawn Guo 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
2141ab027cbSShawn Guo #define CONFIG_SYS_INIT_SP_ADDR \
2151ab027cbSShawn Guo 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
2161ab027cbSShawn Guo 
2175e1fe88fSStefano Babic #define CONFIG_SYS_DDR_CLKSEL	0
2185e1fe88fSStefano Babic #define CONFIG_SYS_CLKTL_CBCDR	0x59E35100
21939e85761SBenoît Thébaudeau #define CONFIG_SYS_MAIN_PWR_ON
2205e1fe88fSStefano Babic 
221c5fb70c9SStefano Babic /*-----------------------------------------------------------------------
222*e856bdcfSMasahiro Yamada  * environment organization
223c5fb70c9SStefano Babic  */
224a676cca4SJason Liu #define CONFIG_ENV_OFFSET      (6 * 64 * 1024)
225a676cca4SJason Liu #define CONFIG_ENV_SIZE        (8 * 1024)
226a676cca4SJason Liu #define CONFIG_ENV_IS_IN_MMC
227a676cca4SJason Liu #define CONFIG_SYS_MMC_ENV_DEV 0
228c5fb70c9SStefano Babic 
229c5fb70c9SStefano Babic #endif
230