xref: /rk3399_rockchip-uboot/include/configs/mx6ul_14x14_evk.h (revision 03544c6640e8a969f8409eac637f4780e1eabb1d)
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
57*03544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
58*03544c66SAlbert 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" \
80f0ff57b0SPeng Fan 	"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
81f0ff57b0SPeng Fan 	"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
82f0ff57b0SPeng Fan 	"mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
83f0ff57b0SPeng Fan 	"mmcautodetect=yes\0" \
84f0ff57b0SPeng Fan 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
85f0ff57b0SPeng Fan 		"root=${mmcroot}\0" \
86f0ff57b0SPeng Fan 	"loadbootscript=" \
87f0ff57b0SPeng Fan 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
88f0ff57b0SPeng Fan 	"bootscript=echo Running bootscript from mmc ...; " \
89f0ff57b0SPeng Fan 		"source\0" \
90f0ff57b0SPeng Fan 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
91f0ff57b0SPeng Fan 	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
92f0ff57b0SPeng Fan 	"mmcboot=echo Booting from mmc ...; " \
93f0ff57b0SPeng Fan 		"run mmcargs; " \
94f0ff57b0SPeng Fan 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
95f0ff57b0SPeng Fan 			"if run loadfdt; then " \
96f0ff57b0SPeng Fan 				"bootz ${loadaddr} - ${fdt_addr}; " \
97f0ff57b0SPeng Fan 			"else " \
98f0ff57b0SPeng Fan 				"if test ${boot_fdt} = try; then " \
99f0ff57b0SPeng Fan 					"bootz; " \
100f0ff57b0SPeng Fan 				"else " \
101f0ff57b0SPeng Fan 					"echo WARN: Cannot load the DT; " \
102f0ff57b0SPeng Fan 				"fi; " \
103f0ff57b0SPeng Fan 			"fi; " \
104f0ff57b0SPeng Fan 		"else " \
105f0ff57b0SPeng Fan 			"bootz; " \
106f0ff57b0SPeng Fan 		"fi;\0" \
107f0ff57b0SPeng Fan 	"netargs=setenv bootargs console=${console},${baudrate} " \
108f0ff57b0SPeng Fan 		"root=/dev/nfs " \
109f0ff57b0SPeng Fan 	"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
110f0ff57b0SPeng Fan 		"netboot=echo Booting from net ...; " \
111f0ff57b0SPeng Fan 		"run netargs; " \
112f0ff57b0SPeng Fan 		"if test ${ip_dyn} = yes; then " \
113f0ff57b0SPeng Fan 			"setenv get_cmd dhcp; " \
114f0ff57b0SPeng Fan 		"else " \
115f0ff57b0SPeng Fan 			"setenv get_cmd tftp; " \
116f0ff57b0SPeng Fan 		"fi; " \
117f0ff57b0SPeng Fan 		"${get_cmd} ${image}; " \
118f0ff57b0SPeng Fan 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
119f0ff57b0SPeng Fan 			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
120f0ff57b0SPeng Fan 				"bootz ${loadaddr} - ${fdt_addr}; " \
121f0ff57b0SPeng Fan 			"else " \
122f0ff57b0SPeng Fan 				"if test ${boot_fdt} = try; then " \
123f0ff57b0SPeng Fan 					"bootz; " \
124f0ff57b0SPeng Fan 				"else " \
125f0ff57b0SPeng Fan 					"echo WARN: Cannot load the DT; " \
126f0ff57b0SPeng Fan 				"fi; " \
127f0ff57b0SPeng Fan 			"fi; " \
128f0ff57b0SPeng Fan 		"else " \
129f0ff57b0SPeng Fan 			"bootz; " \
130d9cbb264SPeng Fan 		"fi;\0" \
131d9cbb264SPeng Fan 		"findfdt="\
132d9cbb264SPeng Fan 			"if test $fdt_file = undefined; then " \
133d9cbb264SPeng Fan 				"if test $board_name = EVK && test $board_rev = 9X9; then " \
134d9cbb264SPeng Fan 					"setenv fdt_file imx6ul-9x9-evk.dtb; fi; " \
135d9cbb264SPeng Fan 				"if test $board_name = EVK && test $board_rev = 14X14; then " \
136d9cbb264SPeng Fan 					"setenv fdt_file imx6ul-14x14-evk.dtb; fi; " \
137d9cbb264SPeng Fan 				"if test $fdt_file = undefined; then " \
138d9cbb264SPeng Fan 					"echo WARNING: Could not determine dtb to use; fi; " \
139d9cbb264SPeng Fan 			"fi;\0" \
140f0ff57b0SPeng Fan 
141f0ff57b0SPeng Fan #define CONFIG_BOOTCOMMAND \
142d9cbb264SPeng Fan 	   "run findfdt;" \
143f0ff57b0SPeng Fan 	   "mmc dev ${mmcdev};" \
144f0ff57b0SPeng Fan 	   "mmc dev ${mmcdev}; if mmc rescan; then " \
145f0ff57b0SPeng Fan 		   "if run loadbootscript; then " \
146f0ff57b0SPeng Fan 			   "run bootscript; " \
147f0ff57b0SPeng Fan 		   "else " \
148f0ff57b0SPeng Fan 			   "if run loadimage; then " \
149f0ff57b0SPeng Fan 				   "run mmcboot; " \
150f0ff57b0SPeng Fan 			   "else run netboot; " \
151f0ff57b0SPeng Fan 			   "fi; " \
152f0ff57b0SPeng Fan 		   "fi; " \
153f0ff57b0SPeng Fan 	   "else run netboot; fi"
154f0ff57b0SPeng Fan 
155f0ff57b0SPeng Fan /* Miscellaneous configurable options */
156f0ff57b0SPeng Fan #define CONFIG_CMD_MEMTEST
157f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_START	0x80000000
158f0ff57b0SPeng Fan #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + 0x10000000)
159f0ff57b0SPeng Fan 
160f0ff57b0SPeng Fan #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
161f0ff57b0SPeng Fan #define CONFIG_SYS_HZ			1000
162f0ff57b0SPeng Fan 
163f0ff57b0SPeng Fan #define CONFIG_CMDLINE_EDITING
164f0ff57b0SPeng Fan #define CONFIG_STACKSIZE		SZ_128K
165f0ff57b0SPeng Fan 
166f0ff57b0SPeng Fan /* Physical Memory Map */
167f0ff57b0SPeng Fan #define CONFIG_NR_DRAM_BANKS		1
168f0ff57b0SPeng Fan #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
169f0ff57b0SPeng Fan 
170f0ff57b0SPeng Fan #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
171f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
172f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_RAM_SIZE	IRAM_SIZE
173f0ff57b0SPeng Fan 
174f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_OFFSET \
175f0ff57b0SPeng Fan 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
176f0ff57b0SPeng Fan #define CONFIG_SYS_INIT_SP_ADDR \
177f0ff57b0SPeng Fan 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
178f0ff57b0SPeng Fan 
179f0ff57b0SPeng Fan /* FLASH and environment organization */
180f0ff57b0SPeng Fan #define CONFIG_SYS_NO_FLASH
181f0ff57b0SPeng Fan 
182f0ff57b0SPeng Fan #define CONFIG_ENV_SIZE			SZ_8K
183f0ff57b0SPeng Fan #define CONFIG_ENV_IS_IN_MMC
184f0ff57b0SPeng Fan #define CONFIG_ENV_OFFSET		(8 * SZ_64K)
185f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_DEV		1   /* USDHC2 */
186f0ff57b0SPeng Fan #define CONFIG_SYS_MMC_ENV_PART		0	/* user area */
187f0ff57b0SPeng Fan #define CONFIG_MMCROOT			"/dev/mmcblk1p2"  /* USDHC2 */
188f0ff57b0SPeng Fan 
189f0ff57b0SPeng Fan #define CONFIG_OF_LIBFDT
190f0ff57b0SPeng Fan #define CONFIG_CMD_BOOTZ
191f0ff57b0SPeng Fan #define CONFIG_CMD_BMODE
192f0ff57b0SPeng Fan 
193f0ff57b0SPeng Fan #ifndef CONFIG_SYS_DCACHE_OFF
194f0ff57b0SPeng Fan #define CONFIG_CMD_CACHE
195f0ff57b0SPeng Fan #endif
196f0ff57b0SPeng Fan 
197f0ff57b0SPeng Fan #define CONFIG_FSL_QSPI
198f0ff57b0SPeng Fan #ifdef CONFIG_FSL_QSPI
199f0ff57b0SPeng Fan #define CONFIG_CMD_SF
200f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH
201f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_STMICRO
202f0ff57b0SPeng Fan #define CONFIG_SPI_FLASH_BAR
203f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_BUS		0
204f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_CS		0
205f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_SPEED	40000000
206f0ff57b0SPeng Fan #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
207f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_NUM		1
208f0ff57b0SPeng Fan #define FSL_QSPI_FLASH_SIZE		SZ_32M
209f0ff57b0SPeng Fan #endif
210f0ff57b0SPeng Fan 
211f0ff57b0SPeng Fan /* USB Configs */
212f0ff57b0SPeng Fan #define CONFIG_CMD_USB
213f0ff57b0SPeng Fan #ifdef CONFIG_CMD_USB
214f0ff57b0SPeng Fan #define CONFIG_USB_EHCI
215f0ff57b0SPeng Fan #define CONFIG_USB_EHCI_MX6
216f0ff57b0SPeng Fan #define CONFIG_USB_STORAGE
217f0ff57b0SPeng Fan #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
218f0ff57b0SPeng Fan #define CONFIG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
219f0ff57b0SPeng Fan #define CONFIG_MXC_USB_FLAGS   0
220f0ff57b0SPeng Fan #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
221f0ff57b0SPeng Fan #endif
222f0ff57b0SPeng Fan 
2230d4cdb56SPeng Fan #ifdef CONFIG_CMD_NET
2240d4cdb56SPeng Fan #define CONFIG_FEC_MXC
2250d4cdb56SPeng Fan #define CONFIG_MII
2260d4cdb56SPeng Fan #define CONFIG_FEC_ENET_DEV		1
2270d4cdb56SPeng Fan 
2280d4cdb56SPeng Fan #if (CONFIG_FEC_ENET_DEV == 0)
2290d4cdb56SPeng Fan #define IMX_FEC_BASE			ENET_BASE_ADDR
2300d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR          0x2
2310d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE             RMII
2320d4cdb56SPeng Fan #elif (CONFIG_FEC_ENET_DEV == 1)
2330d4cdb56SPeng Fan #define IMX_FEC_BASE			ENET2_BASE_ADDR
2340d4cdb56SPeng Fan #define CONFIG_FEC_MXC_PHYADDR		0x1
2350d4cdb56SPeng Fan #define CONFIG_FEC_XCV_TYPE		RMII
2360d4cdb56SPeng Fan #endif
2370d4cdb56SPeng Fan #define CONFIG_ETHPRIME			"FEC"
2380d4cdb56SPeng Fan 
2390d4cdb56SPeng Fan #define CONFIG_PHYLIB
2400d4cdb56SPeng Fan #define CONFIG_PHY_MICREL
2410d4cdb56SPeng Fan #endif
2420d4cdb56SPeng Fan 
2431368f993SAdrian Alonso #define CONFIG_IMX_THERMAL
244f0ff57b0SPeng Fan 
245f0ff57b0SPeng Fan #endif
246