xref: /rk3399_rockchip-uboot/include/configs/mx6ul_14x14_evk.h (revision 6e7adf7037c76f081b149685fa5e978e2ddf2a22)
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 #include <asm/arch/imx-regs.h>
12f0ff57b0SPeng Fan #include <linux/sizes.h>
13f0ff57b0SPeng Fan #include "mx6_common.h"
14*552a848eSStefano Babic #include <asm/mach-imx/gpio.h>
15f0ff57b0SPeng Fan 
16d9cbb264SPeng Fan #define is_mx6ul_9x9_evk()	CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK)
17d9cbb264SPeng Fan 
18f0ff57b0SPeng Fan /* SPL options */
19f0ff57b0SPeng Fan #include "imx6_spl.h"
20f0ff57b0SPeng Fan 
21d9cbb264SPeng Fan #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
22d9cbb264SPeng Fan 
23f0ff57b0SPeng Fan /* Size of malloc() pool */
24f0ff57b0SPeng Fan #define CONFIG_SYS_MALLOC_LEN		(16 * SZ_1M)
25f0ff57b0SPeng Fan 
26f0ff57b0SPeng Fan #define CONFIG_MXC_UART
27f0ff57b0SPeng Fan #define CONFIG_MXC_UART_BASE		UART1_BASE
28f0ff57b0SPeng Fan 
29f0ff57b0SPeng Fan /* MMC Configs */
30f0ff57b0SPeng Fan #ifdef CONFIG_FSL_USDHC
31f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_ESDHC_ADDR	USDHC2_BASE_ADDR
32f0ff57b0SPeng Fan 
33f0ff57b0SPeng Fan /* NAND pin conflicts with usdhc2 */
34f0ff57b0SPeng Fan #ifdef CONFIG_NAND_MXS
35f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM	1
36f0ff57b0SPeng Fan #else
37f0ff57b0SPeng Fan #define CONFIG_SYS_FSL_USDHC_NUM	2
38f0ff57b0SPeng Fan #endif
39f0ff57b0SPeng Fan 
40f0ff57b0SPeng Fan #endif
41f0ff57b0SPeng Fan 
42f0ff57b0SPeng Fan /* I2C configs */
43f0ff57b0SPeng Fan #ifdef CONFIG_CMD_I2C
44f0ff57b0SPeng Fan #define CONFIG_SYS_I2C
45f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_MXC
4603544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
4703544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
48f0ff57b0SPeng Fan #define CONFIG_SYS_I2C_SPEED		100000
49f0ff57b0SPeng Fan 
50d9cbb264SPeng Fan /* PMIC only for 9X9 EVK */
51d9cbb264SPeng Fan #define CONFIG_POWER
52d9cbb264SPeng Fan #define CONFIG_POWER_I2C
53d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000
54d9cbb264SPeng Fan #define CONFIG_POWER_PFUZE3000_I2C_ADDR  0x08
55d9cbb264SPeng Fan #endif
56f0ff57b0SPeng Fan 
57f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_IMG_LOAD_PART	1
58f0ff57b0SPeng Fan 
59f0ff57b0SPeng Fan #define CONFIG_EXTRA_ENV_SETTINGS \
60f0ff57b0SPeng Fan 	"script=boot.scr\0" \
61f0ff57b0SPeng Fan 	"image=zImage\0" \
62f0ff57b0SPeng Fan 	"console=ttymxc0\0" \
63f0ff57b0SPeng Fan 	"fdt_high=0xffffffff\0" \
64f0ff57b0SPeng Fan 	"initrd_high=0xffffffff\0" \
65d9cbb264SPeng Fan 	"fdt_file=undefined\0" \
66f0ff57b0SPeng Fan 	"fdt_addr=0x83000000\0" \
67f0ff57b0SPeng Fan 	"boot_fdt=try\0" \
68f0ff57b0SPeng Fan 	"ip_dyn=yes\0" \
69df674904SPeng 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" \
70f0ff57b0SPeng Fan 	"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
71f0ff57b0SPeng Fan 	"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
72f0ff57b0SPeng Fan 	"mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
73f0ff57b0SPeng Fan 	"mmcautodetect=yes\0" \
74f0ff57b0SPeng Fan 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
75f0ff57b0SPeng Fan 		"root=${mmcroot}\0" \
76f0ff57b0SPeng Fan 	"loadbootscript=" \
77f0ff57b0SPeng Fan 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
78f0ff57b0SPeng Fan 	"bootscript=echo Running bootscript from mmc ...; " \
79f0ff57b0SPeng Fan 		"source\0" \
80f0ff57b0SPeng Fan 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
81f0ff57b0SPeng Fan 	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
82f0ff57b0SPeng Fan 	"mmcboot=echo Booting from mmc ...; " \
83f0ff57b0SPeng Fan 		"run mmcargs; " \
84f0ff57b0SPeng Fan 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
85f0ff57b0SPeng Fan 			"if run loadfdt; then " \
86f0ff57b0SPeng Fan 				"bootz ${loadaddr} - ${fdt_addr}; " \
87f0ff57b0SPeng Fan 			"else " \
88f0ff57b0SPeng Fan 				"if test ${boot_fdt} = try; then " \
89f0ff57b0SPeng Fan 					"bootz; " \
90f0ff57b0SPeng Fan 				"else " \
91f0ff57b0SPeng Fan 					"echo WARN: Cannot load the DT; " \
92f0ff57b0SPeng Fan 				"fi; " \
93f0ff57b0SPeng Fan 			"fi; " \
94f0ff57b0SPeng Fan 		"else " \
95f0ff57b0SPeng Fan 			"bootz; " \
96f0ff57b0SPeng Fan 		"fi;\0" \
97f0ff57b0SPeng Fan 	"netargs=setenv bootargs console=${console},${baudrate} " \
98f0ff57b0SPeng Fan 		"root=/dev/nfs " \
99f0ff57b0SPeng Fan 	"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
100f0ff57b0SPeng Fan 		"netboot=echo Booting from net ...; " \
101f0ff57b0SPeng Fan 		"run netargs; " \
102f0ff57b0SPeng Fan 		"if test ${ip_dyn} = yes; then " \
103f0ff57b0SPeng Fan 			"setenv get_cmd dhcp; " \
104f0ff57b0SPeng Fan 		"else " \
105f0ff57b0SPeng Fan 			"setenv get_cmd tftp; " \
106f0ff57b0SPeng Fan 		"fi; " \
107f0ff57b0SPeng Fan 		"${get_cmd} ${image}; " \
108f0ff57b0SPeng Fan 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
109f0ff57b0SPeng Fan 			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
110f0ff57b0SPeng Fan 				"bootz ${loadaddr} - ${fdt_addr}; " \
111f0ff57b0SPeng Fan 			"else " \
112f0ff57b0SPeng Fan 				"if test ${boot_fdt} = try; then " \
113f0ff57b0SPeng Fan 					"bootz; " \
114f0ff57b0SPeng Fan 				"else " \
115f0ff57b0SPeng Fan 					"echo WARN: Cannot load the DT; " \
116f0ff57b0SPeng Fan 				"fi; " \
117f0ff57b0SPeng Fan 			"fi; " \
118f0ff57b0SPeng Fan 		"else " \
119f0ff57b0SPeng Fan 			"bootz; " \
120d9cbb264SPeng Fan 		"fi;\0" \
121d9cbb264SPeng Fan 		"findfdt="\
122d9cbb264SPeng Fan 			"if test $fdt_file = undefined; then " \
123d9cbb264SPeng Fan 				"if test $board_name = EVK && test $board_rev = 9X9; then " \
124d9cbb264SPeng Fan 					"setenv fdt_file imx6ul-9x9-evk.dtb; fi; " \
125d9cbb264SPeng Fan 				"if test $board_name = EVK && test $board_rev = 14X14; then " \
126d9cbb264SPeng Fan 					"setenv fdt_file imx6ul-14x14-evk.dtb; fi; " \
127d9cbb264SPeng Fan 				"if test $fdt_file = undefined; then " \
128d9cbb264SPeng Fan 					"echo WARNING: Could not determine dtb to use; fi; " \
129d9cbb264SPeng Fan 			"fi;\0" \
130f0ff57b0SPeng Fan 
131f0ff57b0SPeng Fan #define CONFIG_BOOTCOMMAND \
132d9cbb264SPeng Fan 	   "run findfdt;" \
133f0ff57b0SPeng Fan 	   "mmc dev ${mmcdev};" \
134f0ff57b0SPeng Fan 	   "mmc dev ${mmcdev}; if mmc rescan; then " \
135f0ff57b0SPeng Fan 		   "if run loadbootscript; then " \
136f0ff57b0SPeng Fan 			   "run bootscript; " \
137f0ff57b0SPeng Fan 		   "else " \
138f0ff57b0SPeng Fan 			   "if run loadimage; then " \
139f0ff57b0SPeng Fan 				   "run mmcboot; " \
140f0ff57b0SPeng Fan 			   "else run netboot; " \
141f0ff57b0SPeng Fan 			   "fi; " \
142f0ff57b0SPeng Fan 		   "fi; " \
143f0ff57b0SPeng Fan 	   "else run netboot; fi"
144f0ff57b0SPeng Fan 
145f0ff57b0SPeng Fan /* Miscellaneous configurable options */
146f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_START	0x80000000
14765806cc7SPeng Fan #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + 0x8000000)
148f0ff57b0SPeng Fan 
149f0ff57b0SPeng Fan #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
150f0ff57b0SPeng Fan #define CONFIG_SYS_HZ			1000
151f0ff57b0SPeng Fan 
152f0ff57b0SPeng Fan #define CONFIG_CMDLINE_EDITING
153f0ff57b0SPeng Fan 
154f0ff57b0SPeng Fan /* Physical Memory Map */
155f0ff57b0SPeng Fan #define CONFIG_NR_DRAM_BANKS		1
156f0ff57b0SPeng Fan #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
157f0ff57b0SPeng Fan 
158f0ff57b0SPeng Fan #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
159f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
160f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE	IRAM_SIZE
161f0ff57b0SPeng Fan 
162f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \
163f0ff57b0SPeng Fan 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
164f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \
165f0ff57b0SPeng Fan 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
166f0ff57b0SPeng Fan 
167e856bdcfSMasahiro Yamada /* environment organization */
168f0ff57b0SPeng Fan #define CONFIG_ENV_SIZE			SZ_8K
169f0ff57b0SPeng Fan #define CONFIG_ENV_OFFSET		(8 * SZ_64K)
170f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_DEV		1   /* USDHC2 */
171f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_PART		0	/* user area */
172f0ff57b0SPeng Fan #define CONFIG_MMCROOT			"/dev/mmcblk1p2"  /* USDHC2 */
173f0ff57b0SPeng Fan 
174f0ff57b0SPeng Fan #ifndef CONFIG_SYS_DCACHE_OFF
175f0ff57b0SPeng Fan #endif
176f0ff57b0SPeng Fan 
177f0ff57b0SPeng Fan #ifdef CONFIG_FSL_QSPI
178f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_BUS		0
179f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_CS		0
180f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_SPEED	40000000
181f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
182f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_NUM		1
183f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_SIZE		SZ_32M
184f0ff57b0SPeng Fan #endif
185f0ff57b0SPeng Fan 
186f0ff57b0SPeng Fan /* USB Configs */
187f0ff57b0SPeng Fan #ifdef CONFIG_CMD_USB
188f0ff57b0SPeng Fan #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
189f0ff57b0SPeng Fan #define CONFIG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
190f0ff57b0SPeng Fan #define CONFIG_MXC_USB_FLAGS   0
191f0ff57b0SPeng Fan #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
192f0ff57b0SPeng Fan #endif
193f0ff57b0SPeng Fan 
1940d4cdb56SPeng Fan #ifdef CONFIG_CMD_NET
1950d4cdb56SPeng Fan #define CONFIG_FEC_MXC
1960d4cdb56SPeng Fan #define CONFIG_MII
1970d4cdb56SPeng Fan #define CONFIG_FEC_ENET_DEV		1
1980d4cdb56SPeng Fan 
1990d4cdb56SPeng Fan #if (CONFIG_FEC_ENET_DEV == 0)
2000d4cdb56SPeng Fan #define IMX_FEC_BASE			ENET_BASE_ADDR
2010d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR          0x2
2020d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE             RMII
2030d4cdb56SPeng Fan #elif (CONFIG_FEC_ENET_DEV == 1)
2040d4cdb56SPeng Fan #define IMX_FEC_BASE			ENET2_BASE_ADDR
2050d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR		0x1
2060d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE		RMII
2070d4cdb56SPeng Fan #endif
2080d4cdb56SPeng Fan #define CONFIG_ETHPRIME			"FEC"
2090d4cdb56SPeng Fan #endif
2100d4cdb56SPeng Fan 
2111368f993SAdrian Alonso #define CONFIG_IMX_THERMAL
212f0ff57b0SPeng Fan 
213ce2190f5SPeng Fan #ifndef CONFIG_SPL_BUILD
214df674904SPeng Fan #ifdef CONFIG_VIDEO
215df674904SPeng Fan #define CONFIG_VIDEO_MXS
216df674904SPeng Fan #define CONFIG_VIDEO_LOGO
217df674904SPeng Fan #define CONFIG_SPLASH_SCREEN
218df674904SPeng Fan #define CONFIG_SPLASH_SCREEN_ALIGN
219df674904SPeng Fan #define CONFIG_BMP_16BPP
220df674904SPeng Fan #define CONFIG_VIDEO_BMP_RLE8
221df674904SPeng Fan #define CONFIG_VIDEO_BMP_LOGO
222df674904SPeng Fan #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR
223df674904SPeng Fan #endif
224ce2190f5SPeng Fan #endif
225df674904SPeng Fan 
226f0ff57b0SPeng Fan #endif
227