xref: /rk3399_rockchip-uboot/include/configs/ls1021atwr.h (revision e090579d0a2d1aa38eab94b98877de9bcdd4f31d)
1c8a7d9daSWang Huan /*
2c8a7d9daSWang Huan  * Copyright 2014 Freescale Semiconductor, Inc.
3c8a7d9daSWang Huan  *
4c8a7d9daSWang Huan  * SPDX-License-Identifier:	GPL-2.0+
5c8a7d9daSWang Huan  */
6c8a7d9daSWang Huan 
7c8a7d9daSWang Huan #ifndef __CONFIG_H
8c8a7d9daSWang Huan #define __CONFIG_H
9c8a7d9daSWang Huan 
10aeb901f2SHongbo Zhang #define CONFIG_ARMV7_PSCI_1_0
11340848b1SWang Dongsheng 
123288628aSHongbo Zhang #define CONFIG_ARMV7_SECURE_BASE	OCRAM_BASE_S_ADDR
133288628aSHongbo Zhang 
1418fb0e3cSGong Qianyu #define CONFIG_SYS_FSL_CLK
15c8a7d9daSWang Huan 
16c8a7d9daSWang Huan #define CONFIG_SKIP_LOWLEVEL_INIT
1799e1bd42STang Yuantian #define CONFIG_DEEP_SLEEP
18c8a7d9daSWang Huan 
19c8a7d9daSWang Huan /*
20c8a7d9daSWang Huan  * Size of malloc() pool
21c8a7d9daSWang Huan  */
22c8a7d9daSWang Huan #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 16 * 1024 * 1024)
23c8a7d9daSWang Huan 
24c8a7d9daSWang Huan #define CONFIG_SYS_INIT_RAM_ADDR	OCRAM_BASE_ADDR
25c8a7d9daSWang Huan #define CONFIG_SYS_INIT_RAM_SIZE	OCRAM_SIZE
26c8a7d9daSWang Huan 
27c8a7d9daSWang Huan /*
2810a28644SRamneek Mehresh  * USB
2910a28644SRamneek Mehresh  */
3010a28644SRamneek Mehresh 
3110a28644SRamneek Mehresh /*
3210a28644SRamneek Mehresh  * EHCI Support - disbaled by default as
3310a28644SRamneek Mehresh  * there is no signal coming out of soc on
3410a28644SRamneek Mehresh  * this board for this controller. However,
3510a28644SRamneek Mehresh  * the silicon still has this controller,
3610a28644SRamneek Mehresh  * and anyone can use this controller by
3710a28644SRamneek Mehresh  * taking signals out on their board.
3810a28644SRamneek Mehresh  */
3910a28644SRamneek Mehresh 
4010a28644SRamneek Mehresh /*#define CONFIG_HAS_FSL_DR_USB*/
4110a28644SRamneek Mehresh 
4210a28644SRamneek Mehresh #ifdef CONFIG_HAS_FSL_DR_USB
4310a28644SRamneek Mehresh #define CONFIG_USB_EHCI_FSL
4410a28644SRamneek Mehresh #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
4510a28644SRamneek Mehresh #endif
4610a28644SRamneek Mehresh 
4710a28644SRamneek Mehresh /* XHCI Support - enabled by default */
4810a28644SRamneek Mehresh #define CONFIG_HAS_FSL_XHCI_USB
4910a28644SRamneek Mehresh 
5010a28644SRamneek Mehresh #ifdef CONFIG_HAS_FSL_XHCI_USB
5110a28644SRamneek Mehresh #define CONFIG_USB_XHCI_FSL
5210a28644SRamneek Mehresh #define CONFIG_USB_MAX_CONTROLLER_COUNT        1
5310a28644SRamneek Mehresh #endif
5410a28644SRamneek Mehresh 
55c8a7d9daSWang Huan #define CONFIG_SYS_CLK_FREQ		100000000
56c8a7d9daSWang Huan #define CONFIG_DDR_CLK_FREQ		100000000
57c8a7d9daSWang Huan 
58a88cc3bdSYork Sun #define DDR_SDRAM_CFG			0x470c0008
59a88cc3bdSYork Sun #define DDR_CS0_BNDS			0x008000bf
60a88cc3bdSYork Sun #define DDR_CS0_CONFIG			0x80014302
61a88cc3bdSYork Sun #define DDR_TIMING_CFG_0		0x50550004
62a88cc3bdSYork Sun #define DDR_TIMING_CFG_1		0xbcb38c56
63a88cc3bdSYork Sun #define DDR_TIMING_CFG_2		0x0040d120
64a88cc3bdSYork Sun #define DDR_TIMING_CFG_3		0x010e1000
65a88cc3bdSYork Sun #define DDR_TIMING_CFG_4		0x00000001
66a88cc3bdSYork Sun #define DDR_TIMING_CFG_5		0x03401400
67a88cc3bdSYork Sun #define DDR_SDRAM_CFG_2			0x00401010
68a88cc3bdSYork Sun #define DDR_SDRAM_MODE			0x00061c60
69a88cc3bdSYork Sun #define DDR_SDRAM_MODE_2		0x00180000
70a88cc3bdSYork Sun #define DDR_SDRAM_INTERVAL		0x18600618
71a88cc3bdSYork Sun #define DDR_DDR_WRLVL_CNTL		0x8655f605
72a88cc3bdSYork Sun #define DDR_DDR_WRLVL_CNTL_2		0x05060607
73a88cc3bdSYork Sun #define DDR_DDR_WRLVL_CNTL_3		0x05050505
74a88cc3bdSYork Sun #define DDR_DDR_CDR1			0x80040000
75a88cc3bdSYork Sun #define DDR_DDR_CDR2			0x00000001
76a88cc3bdSYork Sun #define DDR_SDRAM_CLK_CNTL		0x02000000
77a88cc3bdSYork Sun #define DDR_DDR_ZQ_CNTL			0x89080600
78a88cc3bdSYork Sun #define DDR_CS0_CONFIG_2		0
79a88cc3bdSYork Sun #define DDR_SDRAM_CFG_MEM_EN		0x80000000
8099e1bd42STang Yuantian #define SDRAM_CFG2_D_INIT		0x00000010
8199e1bd42STang Yuantian #define DDR_CDR2_VREF_TRAIN_EN		0x00000080
8299e1bd42STang Yuantian #define SDRAM_CFG2_FRC_SR		0x80000000
8399e1bd42STang Yuantian #define SDRAM_CFG_BI			0x00000001
84a88cc3bdSYork Sun 
858415bb68SAlison Wang #ifdef CONFIG_RAMBOOT_PBL
868415bb68SAlison Wang #define CONFIG_SYS_FSL_PBL_PBI	board/freescale/ls1021atwr/ls102xa_pbi.cfg
878415bb68SAlison Wang #endif
888415bb68SAlison Wang 
898415bb68SAlison Wang #ifdef CONFIG_SD_BOOT
90947cee11SAlison Wang #ifdef CONFIG_SD_BOOT_QSPI
91947cee11SAlison Wang #define CONFIG_SYS_FSL_PBL_RCW	\
92947cee11SAlison Wang 	board/freescale/ls1021atwr/ls102xa_rcw_sd_qspi.cfg
93947cee11SAlison Wang #else
94947cee11SAlison Wang #define CONFIG_SYS_FSL_PBL_RCW	\
95947cee11SAlison Wang 	board/freescale/ls1021atwr/ls102xa_rcw_sd_ifc.cfg
96947cee11SAlison Wang #endif
978415bb68SAlison Wang #define CONFIG_SPL_FRAMEWORK
98e7e720c2SSumit Garg 
99e7e720c2SSumit Garg #ifdef CONFIG_SECURE_BOOT
100e7e720c2SSumit Garg /*
101e7e720c2SSumit Garg  * HDR would be appended at end of image and copied to DDR along
102e7e720c2SSumit Garg  * with U-Boot image.
103e7e720c2SSumit Garg  */
104693d4c9fSSemen Protsenko #define CONFIG_U_BOOT_HDR_SIZE				(16 << 10)
105e7e720c2SSumit Garg #endif /* ifdef CONFIG_SECURE_BOOT */
1068415bb68SAlison Wang 
1078415bb68SAlison Wang #define CONFIG_SPL_TEXT_BASE		0x10000000
1088415bb68SAlison Wang #define CONFIG_SPL_MAX_SIZE		0x1a000
1098415bb68SAlison Wang #define CONFIG_SPL_STACK		0x1001d000
1108415bb68SAlison Wang #define CONFIG_SPL_PAD_TO		0x1c000
1118415bb68SAlison Wang #define CONFIG_SYS_TEXT_BASE		0x82000000
1128415bb68SAlison Wang 
11399e1bd42STang Yuantian #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_TEXT_BASE + \
11499e1bd42STang Yuantian 		CONFIG_SYS_MONITOR_LEN)
1158415bb68SAlison Wang #define CONFIG_SYS_SPL_MALLOC_SIZE	0x100000
1168415bb68SAlison Wang #define CONFIG_SPL_BSS_START_ADDR	0x80100000
1178415bb68SAlison Wang #define CONFIG_SPL_BSS_MAX_SIZE		0x80000
118e7e720c2SSumit Garg 
119e7e720c2SSumit Garg #ifdef CONFIG_U_BOOT_HDR_SIZE
120e7e720c2SSumit Garg /*
121e7e720c2SSumit Garg  * HDR would be appended at end of image and copied to DDR along
122e7e720c2SSumit Garg  * with U-Boot image. Here u-boot max. size is 512K. So if binary
123e7e720c2SSumit Garg  * size increases then increase this size in case of secure boot as
124e7e720c2SSumit Garg  * it uses raw u-boot image instead of fit image.
125e7e720c2SSumit Garg  */
1269b6639faSVinitha Pillai #define CONFIG_SYS_MONITOR_LEN		(0x100000 + CONFIG_U_BOOT_HDR_SIZE)
127e7e720c2SSumit Garg #else
1289b6639faSVinitha Pillai #define CONFIG_SYS_MONITOR_LEN		0x100000
129e7e720c2SSumit Garg #endif /* ifdef CONFIG_U_BOOT_HDR_SIZE */
1308415bb68SAlison Wang #endif
1318415bb68SAlison Wang 
132d612f0abSAlison Wang #ifdef CONFIG_QSPI_BOOT
133615bfce5SAlison Wang #define CONFIG_SYS_TEXT_BASE		0x40100000
134947cee11SAlison Wang #endif
135947cee11SAlison Wang 
136c8a7d9daSWang Huan #ifndef CONFIG_SYS_TEXT_BASE
1371c69a51cSAlison Wang #define CONFIG_SYS_TEXT_BASE		0x60100000
138c8a7d9daSWang Huan #endif
139c8a7d9daSWang Huan 
140c8a7d9daSWang Huan #define CONFIG_NR_DRAM_BANKS		1
141c8a7d9daSWang Huan #define PHYS_SDRAM			0x80000000
142c8a7d9daSWang Huan #define PHYS_SDRAM_SIZE			(1u * 1024 * 1024 * 1024)
143c8a7d9daSWang Huan 
144c8a7d9daSWang Huan #define CONFIG_SYS_DDR_SDRAM_BASE      0x80000000UL
145c8a7d9daSWang Huan #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
146c8a7d9daSWang Huan 
1474c59ab9cSAlison Wang #if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_NAND_BOOT) && \
1484c59ab9cSAlison Wang 	!defined(CONFIG_QSPI_BOOT)
149eaa859e7SZhao Qiang #define CONFIG_U_QE
1505aa03dddSZhao Qiang #define CONFIG_SYS_QE_FMAN_FW_IN_NOR
151eaa859e7SZhao Qiang #endif
152eaa859e7SZhao Qiang 
153c8a7d9daSWang Huan /*
154c8a7d9daSWang Huan  * IFC Definitions
155c8a7d9daSWang Huan  */
156947cee11SAlison Wang #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
157c8a7d9daSWang Huan #define CONFIG_FSL_IFC
158c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BASE		0x60000000
159c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BASE_PHYS	CONFIG_SYS_FLASH_BASE
160c8a7d9daSWang Huan 
161c8a7d9daSWang Huan #define CONFIG_SYS_NOR0_CSPR_EXT	(0x0)
162c8a7d9daSWang Huan #define CONFIG_SYS_NOR0_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
163c8a7d9daSWang Huan 				CSPR_PORT_SIZE_16 | \
164c8a7d9daSWang Huan 				CSPR_MSEL_NOR | \
165c8a7d9daSWang Huan 				CSPR_V)
166c8a7d9daSWang Huan #define CONFIG_SYS_NOR_AMASK		IFC_AMASK(128 * 1024 * 1024)
167c8a7d9daSWang Huan 
168c8a7d9daSWang Huan /* NOR Flash Timing Params */
169c8a7d9daSWang Huan #define CONFIG_SYS_NOR_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
170c8a7d9daSWang Huan 					CSOR_NOR_TRHZ_80)
171c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM0		(FTIM0_NOR_TACSE(0x4) | \
172c8a7d9daSWang Huan 					FTIM0_NOR_TEADC(0x5) | \
173c8a7d9daSWang Huan 					FTIM0_NOR_TAVDS(0x0) | \
174c8a7d9daSWang Huan 					FTIM0_NOR_TEAHC(0x5))
175c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM1		(FTIM1_NOR_TACO(0x35) | \
176c8a7d9daSWang Huan 					FTIM1_NOR_TRAD_NOR(0x1A) | \
177c8a7d9daSWang Huan 					FTIM1_NOR_TSEQRAD_NOR(0x13))
178c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM2		(FTIM2_NOR_TCS(0x4) | \
179c8a7d9daSWang Huan 					FTIM2_NOR_TCH(0x4) | \
180c8a7d9daSWang Huan 					FTIM2_NOR_TWP(0x1c) | \
181c8a7d9daSWang Huan 					FTIM2_NOR_TWPH(0x0e))
182c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM3		0
183c8a7d9daSWang Huan 
184c8a7d9daSWang Huan #define CONFIG_FLASH_CFI_DRIVER
185c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_CFI
186c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
187c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_QUIET_TEST
188c8a7d9daSWang Huan #define CONFIG_FLASH_SHOW_PROGRESS	45	/* count down from 45/5: 9..1 */
189c8a7d9daSWang Huan 
190c8a7d9daSWang Huan #define CONFIG_SYS_MAX_FLASH_BANKS	1	/* number of banks */
191c8a7d9daSWang Huan #define CONFIG_SYS_MAX_FLASH_SECT	1024	/* sectors per device */
192c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
193c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
194c8a7d9daSWang Huan 
195c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_EMPTY_INFO
196c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BANKS_LIST	{ CONFIG_SYS_FLASH_BASE_PHYS }
197c8a7d9daSWang Huan 
198c8a7d9daSWang Huan #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
199272c5265SYuan Yao #define CONFIG_SYS_WRITE_SWAPPED_DATA
200d612f0abSAlison Wang #endif
201c8a7d9daSWang Huan 
202c8a7d9daSWang Huan /* CPLD */
203c8a7d9daSWang Huan 
204c8a7d9daSWang Huan #define CONFIG_SYS_CPLD_BASE	0x7fb00000
205c8a7d9daSWang Huan #define CPLD_BASE_PHYS		CONFIG_SYS_CPLD_BASE
206c8a7d9daSWang Huan 
207c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSPR_EXT        (0x0)
208c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSPR		(CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \
209c8a7d9daSWang Huan 					CSPR_PORT_SIZE_8 | \
210c8a7d9daSWang Huan 					CSPR_MSEL_GPCM | \
211c8a7d9daSWang Huan 					CSPR_V)
212c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_AMASK		IFC_AMASK(64 * 1024)
213c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
214c8a7d9daSWang Huan 					CSOR_NOR_NOR_MODE_AVD_NOR | \
215c8a7d9daSWang Huan 					CSOR_NOR_TRHZ_80)
216c8a7d9daSWang Huan 
217c8a7d9daSWang Huan /* CPLD Timing parameters for IFC GPCM */
218c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM0		(FTIM0_GPCM_TACSE(0xf) | \
219c8a7d9daSWang Huan 					FTIM0_GPCM_TEADC(0xf) | \
220c8a7d9daSWang Huan 					FTIM0_GPCM_TEAHC(0xf))
221c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM1		(FTIM1_GPCM_TACO(0xff) | \
222c8a7d9daSWang Huan 					FTIM1_GPCM_TRAD(0x3f))
223c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM2		(FTIM2_GPCM_TCS(0xf) | \
224c8a7d9daSWang Huan 					FTIM2_GPCM_TCH(0xf) | \
225c8a7d9daSWang Huan 					FTIM2_GPCM_TWP(0xff))
226c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM3           0x0
227c8a7d9daSWang Huan #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NOR0_CSPR_EXT
228c8a7d9daSWang Huan #define CONFIG_SYS_CSPR0		CONFIG_SYS_NOR0_CSPR
229c8a7d9daSWang Huan #define CONFIG_SYS_AMASK0		CONFIG_SYS_NOR_AMASK
230c8a7d9daSWang Huan #define CONFIG_SYS_CSOR0		CONFIG_SYS_NOR_CSOR
231c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NOR_FTIM0
232c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NOR_FTIM1
233c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NOR_FTIM2
234c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NOR_FTIM3
235c8a7d9daSWang Huan #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_FPGA_CSPR_EXT
236c8a7d9daSWang Huan #define CONFIG_SYS_CSPR1		CONFIG_SYS_FPGA_CSPR
237c8a7d9daSWang Huan #define CONFIG_SYS_AMASK1		CONFIG_SYS_FPGA_AMASK
238c8a7d9daSWang Huan #define CONFIG_SYS_CSOR1		CONFIG_SYS_FPGA_CSOR
239c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_FPGA_FTIM0
240c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_FPGA_FTIM1
241c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_FPGA_FTIM2
242c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_FPGA_FTIM3
243c8a7d9daSWang Huan 
244c8a7d9daSWang Huan /*
245c8a7d9daSWang Huan  * Serial Port
246c8a7d9daSWang Huan  */
24755d53ab4SAlison Wang #ifdef CONFIG_LPUART
24855d53ab4SAlison Wang #define CONFIG_LPUART_32B_REG
24955d53ab4SAlison Wang #else
250c8a7d9daSWang Huan #define CONFIG_CONS_INDEX		1
251c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_SERIAL
252f833cd62SBin Meng #ifndef CONFIG_DM_SERIAL
253c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_REG_SIZE	1
254f833cd62SBin Meng #endif
255c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
25655d53ab4SAlison Wang #endif
257c8a7d9daSWang Huan 
258c8a7d9daSWang Huan /*
259c8a7d9daSWang Huan  * I2C
260c8a7d9daSWang Huan  */
261c8a7d9daSWang Huan #define CONFIG_SYS_I2C
262c8a7d9daSWang Huan #define CONFIG_SYS_I2C_MXC
26303544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
26403544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
265f8cb101eSYork Sun #define CONFIG_SYS_I2C_MXC_I2C3		/* enable I2C bus 3 */
266c8a7d9daSWang Huan 
2675175a288SAlison Wang /* EEPROM */
2685175a288SAlison Wang #define CONFIG_ID_EEPROM
2695175a288SAlison Wang #define CONFIG_SYS_I2C_EEPROM_NXID
2705175a288SAlison Wang #define CONFIG_SYS_EEPROM_BUS_NUM		1
2715175a288SAlison Wang #define CONFIG_SYS_I2C_EEPROM_ADDR		0x53
2725175a288SAlison Wang #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
2735175a288SAlison Wang #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	3
2745175a288SAlison Wang #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
2755175a288SAlison Wang 
276c8a7d9daSWang Huan /*
277c8a7d9daSWang Huan  * MMC
278c8a7d9daSWang Huan  */
279c8a7d9daSWang Huan #define CONFIG_FSL_ESDHC
280c8a7d9daSWang Huan 
2819dd3d3c0SHaikun Wang /* SPI */
282947cee11SAlison Wang #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
2839dd3d3c0SHaikun Wang /* QSPI */
284d612f0abSAlison Wang #define QSPI0_AMBA_BASE			0x40000000
285d612f0abSAlison Wang #define FSL_QSPI_FLASH_SIZE		(1 << 24)
286d612f0abSAlison Wang #define FSL_QSPI_FLASH_NUM		2
2879dd3d3c0SHaikun Wang 
28803d1d568SYao Yuan /* DSPI */
28903d1d568SYao Yuan #endif
29003d1d568SYao Yuan 
2919dd3d3c0SHaikun Wang /* DM SPI */
2929dd3d3c0SHaikun Wang #if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI)
2939dd3d3c0SHaikun Wang #define CONFIG_DM_SPI_FLASH
2949dd3d3c0SHaikun Wang #endif
295d612f0abSAlison Wang 
296c8a7d9daSWang Huan /*
297b4ecc8c6SWang Huan  * Video
298b4ecc8c6SWang Huan  */
299b215fb3fSSanchayan Maity #ifdef CONFIG_VIDEO_FSL_DCU_FB
300b4ecc8c6SWang Huan #define CONFIG_VIDEO_LOGO
301b4ecc8c6SWang Huan #define CONFIG_VIDEO_BMP_LOGO
302b4ecc8c6SWang Huan 
303b4ecc8c6SWang Huan #define CONFIG_FSL_DCU_SII9022A
304b4ecc8c6SWang Huan #define CONFIG_SYS_I2C_DVI_BUS_NUM	1
305b4ecc8c6SWang Huan #define CONFIG_SYS_I2C_DVI_ADDR		0x39
306b4ecc8c6SWang Huan #endif
307b4ecc8c6SWang Huan 
308b4ecc8c6SWang Huan /*
309c8a7d9daSWang Huan  * eTSEC
310c8a7d9daSWang Huan  */
311c8a7d9daSWang Huan #define CONFIG_TSEC_ENET
312c8a7d9daSWang Huan 
313c8a7d9daSWang Huan #ifdef CONFIG_TSEC_ENET
314c8a7d9daSWang Huan #define CONFIG_MII
315c8a7d9daSWang Huan #define CONFIG_MII_DEFAULT_TSEC		1
316c8a7d9daSWang Huan #define CONFIG_TSEC1			1
317c8a7d9daSWang Huan #define CONFIG_TSEC1_NAME		"eTSEC1"
318c8a7d9daSWang Huan #define CONFIG_TSEC2			1
319c8a7d9daSWang Huan #define CONFIG_TSEC2_NAME		"eTSEC2"
320c8a7d9daSWang Huan #define CONFIG_TSEC3			1
321c8a7d9daSWang Huan #define CONFIG_TSEC3_NAME		"eTSEC3"
322c8a7d9daSWang Huan 
323c8a7d9daSWang Huan #define TSEC1_PHY_ADDR			2
324c8a7d9daSWang Huan #define TSEC2_PHY_ADDR			0
325c8a7d9daSWang Huan #define TSEC3_PHY_ADDR			1
326c8a7d9daSWang Huan 
327c8a7d9daSWang Huan #define TSEC1_FLAGS			(TSEC_GIGABIT | TSEC_REDUCED)
328c8a7d9daSWang Huan #define TSEC2_FLAGS			(TSEC_GIGABIT | TSEC_REDUCED)
329c8a7d9daSWang Huan #define TSEC3_FLAGS			(TSEC_GIGABIT | TSEC_REDUCED)
330c8a7d9daSWang Huan 
331c8a7d9daSWang Huan #define TSEC1_PHYIDX			0
332c8a7d9daSWang Huan #define TSEC2_PHYIDX			0
333c8a7d9daSWang Huan #define TSEC3_PHYIDX			0
334c8a7d9daSWang Huan 
335c8a7d9daSWang Huan #define CONFIG_ETHPRIME			"eTSEC1"
336c8a7d9daSWang Huan 
337c8a7d9daSWang Huan #define CONFIG_PHY_ATHEROS
338c8a7d9daSWang Huan 
339c8a7d9daSWang Huan #define CONFIG_HAS_ETH0
340c8a7d9daSWang Huan #define CONFIG_HAS_ETH1
341c8a7d9daSWang Huan #define CONFIG_HAS_ETH2
342c8a7d9daSWang Huan #endif
343c8a7d9daSWang Huan 
344da419027SMinghuan Lian /* PCIe */
345b38eaec5SRobert P. J. Day #define CONFIG_PCIE1		/* PCIE controller 1 */
346b38eaec5SRobert P. J. Day #define CONFIG_PCIE2		/* PCIE controller 2 */
347da419027SMinghuan Lian 
348180b8688SMinghuan Lian #ifdef CONFIG_PCI
349180b8688SMinghuan Lian #define CONFIG_PCI_SCAN_SHOW
350180b8688SMinghuan Lian #endif
351180b8688SMinghuan Lian 
352c8a7d9daSWang Huan #define CONFIG_CMDLINE_TAG
3538415bb68SAlison Wang 
3541a2826f6SXiubo Li #define CONFIG_PEN_ADDR_BIG_ENDIAN
355435acd83SMingkai Hu #define CONFIG_LAYERSCAPE_NS_ACCESS
3561a2826f6SXiubo Li #define CONFIG_SMP_PEN_ADDR		0x01ee0200
357e4916e85SAndre Przywara #define COUNTER_FREQUENCY		12500000
3581a2826f6SXiubo Li 
359c8a7d9daSWang Huan #define CONFIG_HWCONFIG
36003c22449SZhuoyu Zhang #define HWCONFIG_BUFFER_SIZE		256
36103c22449SZhuoyu Zhang 
36203c22449SZhuoyu Zhang #define CONFIG_FSL_DEVICE_DISABLE
363c8a7d9daSWang Huan 
364a65d7408SAlison Wang #include <config_distro_defaults.h>
365a65d7408SAlison Wang #define BOOT_TARGET_DEVICES(func) \
366a65d7408SAlison Wang 	func(MMC, mmc, 0) \
367a65d7408SAlison Wang 	func(USB, usb, 0)
368a65d7408SAlison Wang #include <config_distro_bootcmd.h>
369c8a7d9daSWang Huan 
37055d53ab4SAlison Wang #ifdef CONFIG_LPUART
37155d53ab4SAlison Wang #define CONFIG_EXTRA_ENV_SETTINGS       \
37255d53ab4SAlison Wang 	"bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \
3737ff7166cSAlison Wang 	"initrd_high=0xffffffff\0"      \
374a65d7408SAlison Wang 	"fdt_high=0xffffffff\0"		\
375a65d7408SAlison Wang 	"fdt_addr=0x64f00000\0"		\
376a65d7408SAlison Wang 	"kernel_addr=0x65000000\0"	\
377a65d7408SAlison Wang 	"scriptaddr=0x80000000\0"	\
378*b8ae6798SSumit Garg 	"scripthdraddr=0x80080000\0"	\
379a65d7408SAlison Wang 	"fdtheader_addr_r=0x80100000\0"	\
380a65d7408SAlison Wang 	"kernelheader_addr_r=0x80200000\0"	\
381a65d7408SAlison Wang 	"kernel_addr_r=0x81000000\0"	\
382a65d7408SAlison Wang 	"fdt_addr_r=0x90000000\0"	\
383a65d7408SAlison Wang 	"ramdisk_addr_r=0xa0000000\0"	\
384a65d7408SAlison Wang 	"load_addr=0xa0000000\0"	\
385a65d7408SAlison Wang 	"kernel_size=0x2800000\0"	\
386a65d7408SAlison Wang 	BOOTENV				\
387a65d7408SAlison Wang 	"boot_scripts=ls1021atwr_boot.scr\0"	\
388*b8ae6798SSumit Garg 	"boot_script_hdr=hdr_ls1021atwr_bs.out\0"	\
389a65d7408SAlison Wang 		"scan_dev_for_boot_part="	\
390a65d7408SAlison Wang 			"part list ${devtype} ${devnum} devplist; "	\
391a65d7408SAlison Wang 			"env exists devplist || setenv devplist 1; "	\
392a65d7408SAlison Wang 			"for distro_bootpart in ${devplist}; do "	\
393a65d7408SAlison Wang 			"if fstype ${devtype} "				\
394a65d7408SAlison Wang 				"${devnum}:${distro_bootpart} "		\
395a65d7408SAlison Wang 				"bootfstype; then "			\
396a65d7408SAlison Wang 				"run scan_dev_for_boot; "		\
397a65d7408SAlison Wang 			"fi; "			\
398a65d7408SAlison Wang 		"done\0"			\
399*b8ae6798SSumit Garg 	"scan_dev_for_boot="				  \
400*b8ae6798SSumit Garg 		"echo Scanning ${devtype} "		  \
401*b8ae6798SSumit Garg 				"${devnum}:${distro_bootpart}...; "  \
402*b8ae6798SSumit Garg 		"for prefix in ${boot_prefixes}; do "	  \
403*b8ae6798SSumit Garg 			"run scan_dev_for_scripts; "	  \
404*b8ae6798SSumit Garg 		"done;"					  \
405*b8ae6798SSumit Garg 		"\0"					  \
406*b8ae6798SSumit Garg 	"boot_a_script="				  \
407*b8ae6798SSumit Garg 		"load ${devtype} ${devnum}:${distro_bootpart} "  \
408*b8ae6798SSumit Garg 			"${scriptaddr} ${prefix}${script}; "    \
409*b8ae6798SSumit Garg 		"env exists secureboot && load ${devtype} "     \
410*b8ae6798SSumit Garg 			"${devnum}:${distro_bootpart} "		\
411*b8ae6798SSumit Garg 			"${scripthdraddr} ${prefix}${boot_script_hdr} " \
412*b8ae6798SSumit Garg 			"&& esbc_validate ${scripthdraddr};"    \
413*b8ae6798SSumit Garg 		"source ${scriptaddr}\0"	  \
414a65d7408SAlison Wang 	"installer=load mmc 0:2 $load_addr "	\
415a65d7408SAlison Wang 		"/flex_installer_arm32.itb; "		\
416a65d7408SAlison Wang 		"bootm $load_addr#ls1021atwr\0"	\
417a65d7408SAlison Wang 	"qspi_bootcmd=echo Trying load from qspi..;"	\
418a65d7408SAlison Wang 		"sf probe && sf read $load_addr "	\
419a65d7408SAlison Wang 		"$kernel_addr $kernel_size && bootm $load_addr#$board\0"	\
420a65d7408SAlison Wang 	"nor_bootcmd=echo Trying load from nor..;"	\
421a65d7408SAlison Wang 		"cp.b $kernel_addr $load_addr "		\
422a65d7408SAlison Wang 		"$kernel_size && bootm $load_addr#$board\0"
42355d53ab4SAlison Wang #else
424c8a7d9daSWang Huan #define CONFIG_EXTRA_ENV_SETTINGS	\
425c8a7d9daSWang Huan 	"bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
4267ff7166cSAlison Wang 	"initrd_high=0xffffffff\0"      \
427a65d7408SAlison Wang 	"fdt_high=0xffffffff\0"		\
428a65d7408SAlison Wang 	"fdt_addr=0x64f00000\0"		\
429a65d7408SAlison Wang 	"kernel_addr=0x65000000\0"	\
430a65d7408SAlison Wang 	"scriptaddr=0x80000000\0"	\
431*b8ae6798SSumit Garg 	"scripthdraddr=0x80080000\0"	\
432a65d7408SAlison Wang 	"fdtheader_addr_r=0x80100000\0"	\
433a65d7408SAlison Wang 	"kernelheader_addr_r=0x80200000\0"	\
434a65d7408SAlison Wang 	"kernel_addr_r=0x81000000\0"	\
435a65d7408SAlison Wang 	"fdt_addr_r=0x90000000\0"	\
436a65d7408SAlison Wang 	"ramdisk_addr_r=0xa0000000\0"	\
437a65d7408SAlison Wang 	"load_addr=0xa0000000\0"	\
438a65d7408SAlison Wang 	"kernel_size=0x2800000\0"	\
439a65d7408SAlison Wang 	BOOTENV				\
440a65d7408SAlison Wang 	"boot_scripts=ls1021atwr_boot.scr\0"	\
441*b8ae6798SSumit Garg 	"boot_script_hdr=hdr_ls1021atwr_bs.out\0"	\
442a65d7408SAlison Wang 		"scan_dev_for_boot_part="	\
443a65d7408SAlison Wang 			"part list ${devtype} ${devnum} devplist; "	\
444a65d7408SAlison Wang 			"env exists devplist || setenv devplist 1; "	\
445a65d7408SAlison Wang 			"for distro_bootpart in ${devplist}; do "	\
446a65d7408SAlison Wang 			"if fstype ${devtype} "				\
447a65d7408SAlison Wang 				"${devnum}:${distro_bootpart} "		\
448a65d7408SAlison Wang 				"bootfstype; then "			\
449a65d7408SAlison Wang 				"run scan_dev_for_boot; "		\
450a65d7408SAlison Wang 			"fi; "			\
451a65d7408SAlison Wang 		"done\0"			\
452*b8ae6798SSumit Garg 	"scan_dev_for_boot="				  \
453*b8ae6798SSumit Garg 		"echo Scanning ${devtype} "		  \
454*b8ae6798SSumit Garg 				"${devnum}:${distro_bootpart}...; "  \
455*b8ae6798SSumit Garg 		"for prefix in ${boot_prefixes}; do "	  \
456*b8ae6798SSumit Garg 			"run scan_dev_for_scripts; "	  \
457*b8ae6798SSumit Garg 		"done;"					  \
458*b8ae6798SSumit Garg 		"\0"					  \
459*b8ae6798SSumit Garg 	"boot_a_script="				  \
460*b8ae6798SSumit Garg 		"load ${devtype} ${devnum}:${distro_bootpart} "  \
461*b8ae6798SSumit Garg 			"${scriptaddr} ${prefix}${script}; "    \
462*b8ae6798SSumit Garg 		"env exists secureboot && load ${devtype} "     \
463*b8ae6798SSumit Garg 			"${devnum}:${distro_bootpart} "		\
464*b8ae6798SSumit Garg 			"${scripthdraddr} ${prefix}${boot_script_hdr} " \
465*b8ae6798SSumit Garg 			"&& esbc_validate ${scripthdraddr};"    \
466*b8ae6798SSumit Garg 		"source ${scriptaddr}\0"	  \
467a65d7408SAlison Wang 	"installer=load mmc 0:2 $load_addr "	\
468a65d7408SAlison Wang 		"/flex_installer_arm32.itb; "		\
469a65d7408SAlison Wang 		"bootm $load_addr#ls1021atwr\0"	\
470a65d7408SAlison Wang 	"qspi_bootcmd=echo Trying load from qspi..;"	\
471a65d7408SAlison Wang 		"sf probe && sf read $load_addr "	\
472a65d7408SAlison Wang 		"$kernel_addr $kernel_size && bootm $load_addr#$board\0"	\
473a65d7408SAlison Wang 	"nor_bootcmd=echo Trying load from nor..;"	\
474a65d7408SAlison Wang 		"cp.b $kernel_addr $load_addr "		\
475a65d7408SAlison Wang 		"$kernel_size && bootm $load_addr#$board\0"
47655d53ab4SAlison Wang #endif
477c8a7d9daSWang Huan 
478a65d7408SAlison Wang #undef CONFIG_BOOTCOMMAND
479a65d7408SAlison Wang #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
480*b8ae6798SSumit Garg #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"	\
481*b8ae6798SSumit Garg 			   "&& esbc_halt; run qspi_bootcmd;"
482a65d7408SAlison Wang #else
483*b8ae6798SSumit Garg #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"	\
484*b8ae6798SSumit Garg 			   "&& esbc_halt; run nor_bootcmd;"
485a65d7408SAlison Wang #endif
486a65d7408SAlison Wang 
487c8a7d9daSWang Huan /*
488c8a7d9daSWang Huan  * Miscellaneous configurable options
489c8a7d9daSWang Huan  */
490c8a7d9daSWang Huan #define CONFIG_SYS_LONGHELP		/* undef to save memory */
491c8a7d9daSWang Huan #define CONFIG_AUTO_COMPLETE
492c8a7d9daSWang Huan 
493c8a7d9daSWang Huan #define CONFIG_SYS_MEMTEST_START	0x80000000
494c8a7d9daSWang Huan #define CONFIG_SYS_MEMTEST_END		0x9fffffff
495c8a7d9daSWang Huan 
496c8a7d9daSWang Huan #define CONFIG_SYS_LOAD_ADDR		0x82000000
497c8a7d9daSWang Huan 
498660673afSXiubo Li #define CONFIG_LS102XA_STREAM_ID
499660673afSXiubo Li 
500c8a7d9daSWang Huan #define CONFIG_SYS_INIT_SP_OFFSET \
501c8a7d9daSWang Huan 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
502c8a7d9daSWang Huan #define CONFIG_SYS_INIT_SP_ADDR \
503c8a7d9daSWang Huan 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
504c8a7d9daSWang Huan 
5058415bb68SAlison Wang #ifdef CONFIG_SPL_BUILD
5068415bb68SAlison Wang #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE
5078415bb68SAlison Wang #else
508c8a7d9daSWang Huan #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE    /* start of monitor */
5098415bb68SAlison Wang #endif
510c8a7d9daSWang Huan 
511615bfce5SAlison Wang #define CONFIG_SYS_QE_FW_ADDR     0x60940000
512eaa859e7SZhao Qiang 
513c8a7d9daSWang Huan /*
514c8a7d9daSWang Huan  * Environment
515c8a7d9daSWang Huan  */
516c8a7d9daSWang Huan #define CONFIG_ENV_OVERWRITE
517c8a7d9daSWang Huan 
5188415bb68SAlison Wang #if defined(CONFIG_SD_BOOT)
519615bfce5SAlison Wang #define CONFIG_ENV_OFFSET		0x300000
5208415bb68SAlison Wang #define CONFIG_SYS_MMC_ENV_DEV		0
5218415bb68SAlison Wang #define CONFIG_ENV_SIZE			0x20000
522d612f0abSAlison Wang #elif defined(CONFIG_QSPI_BOOT)
523d612f0abSAlison Wang #define CONFIG_ENV_SIZE			0x2000
524615bfce5SAlison Wang #define CONFIG_ENV_OFFSET		0x300000
525d612f0abSAlison Wang #define CONFIG_ENV_SECT_SIZE		0x10000
5268415bb68SAlison Wang #else
527615bfce5SAlison Wang #define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0x300000)
528c8a7d9daSWang Huan #define CONFIG_ENV_SIZE			0x20000
529c8a7d9daSWang Huan #define CONFIG_ENV_SECT_SIZE		0x20000 /* 128K (one sector) */
5308415bb68SAlison Wang #endif
531c8a7d9daSWang Huan 
5324ba4a095SRuchika Gupta #define CONFIG_MISC_INIT_R
5334ba4a095SRuchika Gupta 
534ef6c55a2SAneesh Bansal #include <asm/fsl_secure_boot.h>
535cc7b8b9aSAlison Wang #define CONFIG_SYS_BOOTM_LEN	(64 << 20) /* Increase max gunzip size */
5364ba4a095SRuchika Gupta 
537c8a7d9daSWang Huan #endif
538