xref: /rk3399_rockchip-uboot/include/configs/mx6ul_14x14_evk.h (revision df6749048846cd15131ba1b4d9ae000eddddae4e)
1f0ff57b0SPeng Fan /*
2f0ff57b0SPeng Fan  * Copyright (C) 2015 Freescale Semiconductor, Inc.
3f0ff57b0SPeng Fan  *
4f0ff57b0SPeng Fan  * Configuration settings for the Freescale i.MX6UL 14x14 EVK board.
5f0ff57b0SPeng Fan  *
6f0ff57b0SPeng Fan  * SPDX-License-Identifier:	GPL-2.0+
7f0ff57b0SPeng Fan  */
8f0ff57b0SPeng Fan #ifndef __MX6UL_14X14_EVK_CONFIG_H
9f0ff57b0SPeng Fan #define __MX6UL_14X14_EVK_CONFIG_H
10f0ff57b0SPeng Fan 
11f0ff57b0SPeng Fan 
12f0ff57b0SPeng Fan #include <asm/arch/imx-regs.h>
13f0ff57b0SPeng Fan #include <linux/sizes.h>
14f0ff57b0SPeng Fan #include "mx6_common.h"
15f0ff57b0SPeng Fan #include <asm/imx-common/gpio.h>
16f0ff57b0SPeng Fan 
17d9cbb264SPeng Fan #define is_mx6ul_9x9_evk()	CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK)
18d9cbb264SPeng Fan 
19f0ff57b0SPeng Fan /* SPL options */
20f0ff57b0SPeng Fan #define CONFIG_SPL_LIBCOMMON_SUPPORT
21f0ff57b0SPeng Fan #define CONFIG_SPL_MMC_SUPPORT
22f0ff57b0SPeng Fan #include "imx6_spl.h"
23f0ff57b0SPeng Fan 
24d9cbb264SPeng Fan #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
25d9cbb264SPeng Fan 
26f0ff57b0SPeng Fan #define CONFIG_DISPLAY_CPUINFO
27f0ff57b0SPeng Fan #define CONFIG_DISPLAY_BOARDINFO
28f0ff57b0SPeng Fan 
29f0ff57b0SPeng Fan /* Size of malloc() pool */
30f0ff57b0SPeng Fan #define CONFIG_SYS_MALLOC_LEN		(16 * SZ_1M)
31f0ff57b0SPeng Fan 
32f0ff57b0SPeng Fan #define CONFIG_BOARD_EARLY_INIT_F
33f0ff57b0SPeng Fan #define CONFIG_BOARD_LATE_INIT
34f0ff57b0SPeng Fan 
35f0ff57b0SPeng Fan #define CONFIG_MXC_UART
36f0ff57b0SPeng Fan #define CONFIG_MXC_UART_BASE		UART1_BASE
37f0ff57b0SPeng Fan 
38f0ff57b0SPeng Fan /* MMC Configs */
39f0ff57b0SPeng Fan #ifdef CONFIG_FSL_USDHC
40f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_ESDHC_ADDR	USDHC2_BASE_ADDR
41f0ff57b0SPeng Fan 
42f0ff57b0SPeng Fan /* NAND pin conflicts with usdhc2 */
43f0ff57b0SPeng Fan #ifdef CONFIG_NAND_MXS
44f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM	1
45f0ff57b0SPeng Fan #else
46f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM	2
47f0ff57b0SPeng Fan #endif
48f0ff57b0SPeng Fan 
49f0ff57b0SPeng Fan #define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */
50f0ff57b0SPeng Fan #endif
51f0ff57b0SPeng Fan 
52f0ff57b0SPeng Fan /* I2C configs */
53f0ff57b0SPeng Fan #define CONFIG_CMD_I2C
54f0ff57b0SPeng Fan #ifdef CONFIG_CMD_I2C
55f0ff57b0SPeng Fan #define CONFIG_SYS_I2C
56f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_MXC
5703544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
5803544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
59f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_SPEED		100000
60f0ff57b0SPeng Fan 
61d9cbb264SPeng Fan /* PMIC only for 9X9 EVK */
62d9cbb264SPeng Fan #define CONFIG_POWER
63d9cbb264SPeng Fan #define CONFIG_POWER_I2C
64d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000
65d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000_I2C_ADDR  0x08
66d9cbb264SPeng Fan #endif
67f0ff57b0SPeng Fan 
68f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_IMG_LOAD_PART	1
69f0ff57b0SPeng Fan 
70f0ff57b0SPeng Fan #define CONFIG_EXTRA_ENV_SETTINGS \
71f0ff57b0SPeng Fan 	"script=boot.scr\0" \
72f0ff57b0SPeng Fan 	"image=zImage\0" \
73f0ff57b0SPeng Fan 	"console=ttymxc0\0" \
74f0ff57b0SPeng Fan 	"fdt_high=0xffffffff\0" \
75f0ff57b0SPeng Fan 	"initrd_high=0xffffffff\0" \
76d9cbb264SPeng Fan 	"fdt_file=undefined\0" \
77f0ff57b0SPeng Fan 	"fdt_addr=0x83000000\0" \
78f0ff57b0SPeng Fan 	"boot_fdt=try\0" \
79f0ff57b0SPeng Fan 	"ip_dyn=yes\0" \
80*df674904SPeng Fan 	"videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0\0" \
81f0ff57b0SPeng Fan 	"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
82f0ff57b0SPeng Fan 	"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
83f0ff57b0SPeng Fan 	"mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
84f0ff57b0SPeng Fan 	"mmcautodetect=yes\0" \
85f0ff57b0SPeng Fan 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
86f0ff57b0SPeng Fan 		"root=${mmcroot}\0" \
87f0ff57b0SPeng Fan 	"loadbootscript=" \
88f0ff57b0SPeng Fan 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
89f0ff57b0SPeng Fan 	"bootscript=echo Running bootscript from mmc ...; " \
90f0ff57b0SPeng Fan 		"source\0" \
91f0ff57b0SPeng Fan 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
92f0ff57b0SPeng Fan 	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
93f0ff57b0SPeng Fan 	"mmcboot=echo Booting from mmc ...; " \
94f0ff57b0SPeng Fan 		"run mmcargs; " \
95f0ff57b0SPeng Fan 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
96f0ff57b0SPeng Fan 			"if run loadfdt; then " \
97f0ff57b0SPeng Fan 				"bootz ${loadaddr} - ${fdt_addr}; " \
98f0ff57b0SPeng Fan 			"else " \
99f0ff57b0SPeng Fan 				"if test ${boot_fdt} = try; then " \
100f0ff57b0SPeng Fan 					"bootz; " \
101f0ff57b0SPeng Fan 				"else " \
102f0ff57b0SPeng Fan 					"echo WARN: Cannot load the DT; " \
103f0ff57b0SPeng Fan 				"fi; " \
104f0ff57b0SPeng Fan 			"fi; " \
105f0ff57b0SPeng Fan 		"else " \
106f0ff57b0SPeng Fan 			"bootz; " \
107f0ff57b0SPeng Fan 		"fi;\0" \
108f0ff57b0SPeng Fan 	"netargs=setenv bootargs console=${console},${baudrate} " \
109f0ff57b0SPeng Fan 		"root=/dev/nfs " \
110f0ff57b0SPeng Fan 	"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
111f0ff57b0SPeng Fan 		"netboot=echo Booting from net ...; " \
112f0ff57b0SPeng Fan 		"run netargs; " \
113f0ff57b0SPeng Fan 		"if test ${ip_dyn} = yes; then " \
114f0ff57b0SPeng Fan 			"setenv get_cmd dhcp; " \
115f0ff57b0SPeng Fan 		"else " \
116f0ff57b0SPeng Fan 			"setenv get_cmd tftp; " \
117f0ff57b0SPeng Fan 		"fi; " \
118f0ff57b0SPeng Fan 		"${get_cmd} ${image}; " \
119f0ff57b0SPeng Fan 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
120f0ff57b0SPeng Fan 			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
121f0ff57b0SPeng Fan 				"bootz ${loadaddr} - ${fdt_addr}; " \
122f0ff57b0SPeng Fan 			"else " \
123f0ff57b0SPeng Fan 				"if test ${boot_fdt} = try; then " \
124f0ff57b0SPeng Fan 					"bootz; " \
125f0ff57b0SPeng Fan 				"else " \
126f0ff57b0SPeng Fan 					"echo WARN: Cannot load the DT; " \
127f0ff57b0SPeng Fan 				"fi; " \
128f0ff57b0SPeng Fan 			"fi; " \
129f0ff57b0SPeng Fan 		"else " \
130f0ff57b0SPeng Fan 			"bootz; " \
131d9cbb264SPeng Fan 		"fi;\0" \
132d9cbb264SPeng Fan 		"findfdt="\
133d9cbb264SPeng Fan 			"if test $fdt_file = undefined; then " \
134d9cbb264SPeng Fan 				"if test $board_name = EVK && test $board_rev = 9X9; then " \
135d9cbb264SPeng Fan 					"setenv fdt_file imx6ul-9x9-evk.dtb; fi; " \
136d9cbb264SPeng Fan 				"if test $board_name = EVK && test $board_rev = 14X14; then " \
137d9cbb264SPeng Fan 					"setenv fdt_file imx6ul-14x14-evk.dtb; fi; " \
138d9cbb264SPeng Fan 				"if test $fdt_file = undefined; then " \
139d9cbb264SPeng Fan 					"echo WARNING: Could not determine dtb to use; fi; " \
140d9cbb264SPeng Fan 			"fi;\0" \
141f0ff57b0SPeng Fan 
142f0ff57b0SPeng Fan #define CONFIG_BOOTCOMMAND \
143d9cbb264SPeng Fan 	   "run findfdt;" \
144f0ff57b0SPeng Fan 	   "mmc dev ${mmcdev};" \
145f0ff57b0SPeng Fan 	   "mmc dev ${mmcdev}; if mmc rescan; then " \
146f0ff57b0SPeng Fan 		   "if run loadbootscript; then " \
147f0ff57b0SPeng Fan 			   "run bootscript; " \
148f0ff57b0SPeng Fan 		   "else " \
149f0ff57b0SPeng Fan 			   "if run loadimage; then " \
150f0ff57b0SPeng Fan 				   "run mmcboot; " \
151f0ff57b0SPeng Fan 			   "else run netboot; " \
152f0ff57b0SPeng Fan 			   "fi; " \
153f0ff57b0SPeng Fan 		   "fi; " \
154f0ff57b0SPeng Fan 	   "else run netboot; fi"
155f0ff57b0SPeng Fan 
156f0ff57b0SPeng Fan /* Miscellaneous configurable options */
157f0ff57b0SPeng Fan #define CONFIG_CMD_MEMTEST
158f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_START	0x80000000
159f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + 0x10000000)
160f0ff57b0SPeng Fan 
161f0ff57b0SPeng Fan #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
162f0ff57b0SPeng Fan #define CONFIG_SYS_HZ			1000
163f0ff57b0SPeng Fan 
164f0ff57b0SPeng Fan #define CONFIG_CMDLINE_EDITING
165f0ff57b0SPeng Fan #define CONFIG_STACKSIZE		SZ_128K
166f0ff57b0SPeng Fan 
167f0ff57b0SPeng Fan /* Physical Memory Map */
168f0ff57b0SPeng Fan #define CONFIG_NR_DRAM_BANKS		1
169f0ff57b0SPeng Fan #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
170f0ff57b0SPeng Fan 
171f0ff57b0SPeng Fan #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
172f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
173f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE	IRAM_SIZE
174f0ff57b0SPeng Fan 
175f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \
176f0ff57b0SPeng Fan 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
177f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \
178f0ff57b0SPeng Fan 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
179f0ff57b0SPeng Fan 
180f0ff57b0SPeng Fan /* FLASH and environment organization */
181f0ff57b0SPeng Fan #define CONFIG_SYS_NO_FLASH
182f0ff57b0SPeng Fan 
183f0ff57b0SPeng Fan #define CONFIG_ENV_SIZE			SZ_8K
184f0ff57b0SPeng Fan #define CONFIG_ENV_IS_IN_MMC
185f0ff57b0SPeng Fan #define CONFIG_ENV_OFFSET		(8 * SZ_64K)
186f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_DEV		1   /* USDHC2 */
187f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_PART		0	/* user area */
188f0ff57b0SPeng Fan #define CONFIG_MMCROOT			"/dev/mmcblk1p2"  /* USDHC2 */
189f0ff57b0SPeng Fan 
190f0ff57b0SPeng Fan #define CONFIG_OF_LIBFDT
191f0ff57b0SPeng Fan #define CONFIG_CMD_BOOTZ
192f0ff57b0SPeng Fan #define CONFIG_CMD_BMODE
193f0ff57b0SPeng Fan 
194f0ff57b0SPeng Fan #ifndef CONFIG_SYS_DCACHE_OFF
195f0ff57b0SPeng Fan #define CONFIG_CMD_CACHE
196f0ff57b0SPeng Fan #endif
197f0ff57b0SPeng Fan 
198f0ff57b0SPeng Fan #define CONFIG_FSL_QSPI
199f0ff57b0SPeng Fan #ifdef CONFIG_FSL_QSPI
200f0ff57b0SPeng Fan #define CONFIG_CMD_SF
201f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH
202f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_STMICRO
203f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_BAR
204f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_BUS		0
205f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_CS		0
206f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_SPEED	40000000
207f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
208f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_NUM		1
209f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_SIZE		SZ_32M
210f0ff57b0SPeng Fan #endif
211f0ff57b0SPeng Fan 
212f0ff57b0SPeng Fan /* USB Configs */
213f0ff57b0SPeng Fan #define CONFIG_CMD_USB
214f0ff57b0SPeng Fan #ifdef CONFIG_CMD_USB
215f0ff57b0SPeng Fan #define CONFIG_USB_EHCI
216f0ff57b0SPeng Fan #define CONFIG_USB_EHCI_MX6
217f0ff57b0SPeng Fan #define CONFIG_USB_STORAGE
218f0ff57b0SPeng Fan #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
219f0ff57b0SPeng Fan #define CONFIG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
220f0ff57b0SPeng Fan #define CONFIG_MXC_USB_FLAGS   0
221f0ff57b0SPeng Fan #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
222f0ff57b0SPeng Fan #endif
223f0ff57b0SPeng Fan 
2240d4cdb56SPeng Fan #ifdef CONFIG_CMD_NET
2250d4cdb56SPeng Fan #define CONFIG_FEC_MXC
2260d4cdb56SPeng Fan #define CONFIG_MII
2270d4cdb56SPeng Fan #define CONFIG_FEC_ENET_DEV		1
2280d4cdb56SPeng Fan 
2290d4cdb56SPeng Fan #if (CONFIG_FEC_ENET_DEV == 0)
2300d4cdb56SPeng Fan #define IMX_FEC_BASE			ENET_BASE_ADDR
2310d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR          0x2
2320d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE             RMII
2330d4cdb56SPeng Fan #elif (CONFIG_FEC_ENET_DEV == 1)
2340d4cdb56SPeng Fan #define IMX_FEC_BASE			ENET2_BASE_ADDR
2350d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR		0x1
2360d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE		RMII
2370d4cdb56SPeng Fan #endif
2380d4cdb56SPeng Fan #define CONFIG_ETHPRIME			"FEC"
2390d4cdb56SPeng Fan 
2400d4cdb56SPeng Fan #define CONFIG_PHYLIB
2410d4cdb56SPeng Fan #define CONFIG_PHY_MICREL
2420d4cdb56SPeng Fan #endif
2430d4cdb56SPeng Fan 
2441368f993SAdrian Alonso #define CONFIG_IMX_THERMAL
245f0ff57b0SPeng Fan 
246*df674904SPeng Fan #define CONFIG_VIDEO
247*df674904SPeng Fan #ifdef CONFIG_VIDEO
248*df674904SPeng Fan #define CONFIG_CFB_CONSOLE
249*df674904SPeng Fan #define CONFIG_VIDEO_MXS
250*df674904SPeng Fan #define CONFIG_VIDEO_LOGO
251*df674904SPeng Fan #define CONFIG_VIDEO_SW_CURSOR
252*df674904SPeng Fan #define CONFIG_VGA_AS_SINGLE_DEVICE
253*df674904SPeng Fan #define CONFIG_SYS_CONSOLE_IS_IN_ENV
254*df674904SPeng Fan #define CONFIG_SPLASH_SCREEN
255*df674904SPeng Fan #define CONFIG_SPLASH_SCREEN_ALIGN
256*df674904SPeng Fan #define CONFIG_CMD_BMP
257*df674904SPeng Fan #define CONFIG_BMP_16BPP
258*df674904SPeng Fan #define CONFIG_VIDEO_BMP_RLE8
259*df674904SPeng Fan #define CONFIG_VIDEO_BMP_LOGO
260*df674904SPeng Fan #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR
261*df674904SPeng Fan #endif
262*df674904SPeng Fan 
263f0ff57b0SPeng Fan #endif
264