xref: /rk3399_rockchip-uboot/include/configs/ls1043a_common.h (revision 76bbf1c634f4a09e1b3e19468738842a2289dc1e)
1f3a8e2b7SMingkai Hu /*
2f3a8e2b7SMingkai Hu  * Copyright (C) 2015 Freescale Semiconductor
3f3a8e2b7SMingkai Hu  *
4f3a8e2b7SMingkai Hu  * SPDX-License-Identifier:	GPL-2.0+
5f3a8e2b7SMingkai Hu  */
6f3a8e2b7SMingkai Hu 
7f3a8e2b7SMingkai Hu #ifndef __LS1043A_COMMON_H
8f3a8e2b7SMingkai Hu #define __LS1043A_COMMON_H
9f3a8e2b7SMingkai Hu 
104139b170SSumit Garg /* SPL build */
114139b170SSumit Garg #ifdef CONFIG_SPL_BUILD
124139b170SSumit Garg #define SPL_NO_FMAN
134139b170SSumit Garg #define SPL_NO_DSPI
144139b170SSumit Garg #define SPL_NO_PCIE
154139b170SSumit Garg #define SPL_NO_ENV
164139b170SSumit Garg #define SPL_NO_MISC
174139b170SSumit Garg #define SPL_NO_USB
184139b170SSumit Garg #define SPL_NO_SATA
194139b170SSumit Garg #define SPL_NO_QE
204139b170SSumit Garg #define SPL_NO_EEPROM
214139b170SSumit Garg #endif
224139b170SSumit Garg #if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_BOOT))
234139b170SSumit Garg #define SPL_NO_MMC
244139b170SSumit Garg #endif
254139b170SSumit Garg #if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT))
264139b170SSumit Garg #define SPL_NO_IFC
274139b170SSumit Garg #endif
284139b170SSumit Garg 
29f3a8e2b7SMingkai Hu #define CONFIG_REMAKE_ELF
30f3a8e2b7SMingkai Hu #define CONFIG_FSL_LAYERSCAPE
31831c068fSHou Zhiqiang #define CONFIG_MP
32f3a8e2b7SMingkai Hu #define CONFIG_GICV2
33f3a8e2b7SMingkai Hu 
345344c7b7SBharat Bhushan #include <asm/arch/stream_id_lsch2.h>
35f3a8e2b7SMingkai Hu #include <asm/arch/config.h>
36f3a8e2b7SMingkai Hu 
37f3a8e2b7SMingkai Hu /* Link Definitions */
38f3a8e2b7SMingkai Hu #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0)
39f3a8e2b7SMingkai Hu 
40f3a8e2b7SMingkai Hu #define CONFIG_SUPPORT_RAW_INITRD
41f3a8e2b7SMingkai Hu 
42f3a8e2b7SMingkai Hu #define CONFIG_SKIP_LOWLEVEL_INIT
43f3a8e2b7SMingkai Hu 
44f3a8e2b7SMingkai Hu #define CONFIG_VERY_BIG_RAM
45f3a8e2b7SMingkai Hu #define CONFIG_SYS_DDR_SDRAM_BASE	0x80000000
46f3a8e2b7SMingkai Hu #define CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY	0
47f3a8e2b7SMingkai Hu #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE
48e994dddbSShaohui Xie #define CONFIG_SYS_DDR_BLOCK2_BASE      0x880000000ULL
49f3a8e2b7SMingkai Hu 
50831c068fSHou Zhiqiang #define CPU_RELEASE_ADDR               secondary_boot_func
51831c068fSHou Zhiqiang 
52f3a8e2b7SMingkai Hu /* Generic Timer Definitions */
53f3a8e2b7SMingkai Hu #define COUNTER_FREQUENCY		25000000	/* 25MHz */
54f3a8e2b7SMingkai Hu 
55f3a8e2b7SMingkai Hu /* Size of malloc() pool */
56f3a8e2b7SMingkai Hu #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 1024 * 1024)
57f3a8e2b7SMingkai Hu 
58f3a8e2b7SMingkai Hu /* Serial Port */
59f3a8e2b7SMingkai Hu #define CONFIG_CONS_INDEX		1
60f3a8e2b7SMingkai Hu #define CONFIG_SYS_NS16550_SERIAL
61f3a8e2b7SMingkai Hu #define CONFIG_SYS_NS16550_REG_SIZE	1
62904110c7SHou Zhiqiang #define CONFIG_SYS_NS16550_CLK          (get_serial_clock())
63f3a8e2b7SMingkai Hu 
64f3a8e2b7SMingkai Hu #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
65f3a8e2b7SMingkai Hu 
66c7ca8b07SGong Qianyu /* SD boot SPL */
67c7ca8b07SGong Qianyu #ifdef CONFIG_SD_BOOT
68c7ca8b07SGong Qianyu #define CONFIG_SPL_FRAMEWORK
69c7ca8b07SGong Qianyu #define CONFIG_SPL_LDSCRIPT		"arch/arm/cpu/armv8/u-boot-spl.lds"
70c7ca8b07SGong Qianyu #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
71c7ca8b07SGong Qianyu 
72c7ca8b07SGong Qianyu #define CONFIG_SPL_TEXT_BASE		0x10000000
7370f9661cSRuchika Gupta #define CONFIG_SPL_MAX_SIZE		0x17000
74c7ca8b07SGong Qianyu #define CONFIG_SPL_STACK		0x1001e000
75c7ca8b07SGong Qianyu #define CONFIG_SPL_PAD_TO		0x1d000
76c7ca8b07SGong Qianyu 
77c7ca8b07SGong Qianyu #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_TEXT_BASE + \
78c7ca8b07SGong Qianyu 					CONFIG_SYS_MONITOR_LEN)
79c7ca8b07SGong Qianyu #define CONFIG_SYS_SPL_MALLOC_SIZE	0x100000
80c7ca8b07SGong Qianyu #define CONFIG_SPL_BSS_START_ADDR	0x80100000
81c7ca8b07SGong Qianyu #define CONFIG_SPL_BSS_MAX_SIZE		0x80000
8270f9661cSRuchika Gupta 
8370f9661cSRuchika Gupta #ifdef CONFIG_SECURE_BOOT
8470f9661cSRuchika Gupta #define CONFIG_U_BOOT_HDR_SIZE				(16 << 10)
8570f9661cSRuchika Gupta /*
8670f9661cSRuchika Gupta  * HDR would be appended at end of image and copied to DDR along
8770f9661cSRuchika Gupta  * with U-Boot image. Here u-boot max. size is 512K. So if binary
8870f9661cSRuchika Gupta  * size increases then increase this size in case of secure boot as
8970f9661cSRuchika Gupta  * it uses raw u-boot image instead of fit image.
9070f9661cSRuchika Gupta  */
9170f9661cSRuchika Gupta #define CONFIG_SYS_MONITOR_LEN		(0x100000 + CONFIG_U_BOOT_HDR_SIZE)
9270f9661cSRuchika Gupta #else
9370f9661cSRuchika Gupta #define CONFIG_SYS_MONITOR_LEN		0x100000
9470f9661cSRuchika Gupta #endif /* ifdef CONFIG_SECURE_BOOT */
95c7ca8b07SGong Qianyu #endif
96c7ca8b07SGong Qianyu 
973ad44729SGong Qianyu /* NAND SPL */
983ad44729SGong Qianyu #ifdef CONFIG_NAND_BOOT
993ad44729SGong Qianyu #define CONFIG_SPL_PBL_PAD
1003ad44729SGong Qianyu #define CONFIG_SPL_FRAMEWORK
1013ad44729SGong Qianyu #define CONFIG_SPL_LDSCRIPT		"arch/arm/cpu/armv8/u-boot-spl.lds"
1023ad44729SGong Qianyu #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
1033ad44729SGong Qianyu #define CONFIG_SPL_TEXT_BASE		0x10000000
1043ad44729SGong Qianyu #define CONFIG_SPL_MAX_SIZE		0x1a000
1053ad44729SGong Qianyu #define CONFIG_SPL_STACK		0x1001d000
1063ad44729SGong Qianyu #define CONFIG_SYS_NAND_U_BOOT_DST	CONFIG_SYS_TEXT_BASE
1073ad44729SGong Qianyu #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
1083ad44729SGong Qianyu #define CONFIG_SYS_SPL_MALLOC_START	0x80200000
1093ad44729SGong Qianyu #define CONFIG_SPL_BSS_START_ADDR	0x80100000
1103ad44729SGong Qianyu #define CONFIG_SYS_SPL_MALLOC_SIZE	0x100000
1113ad44729SGong Qianyu #define CONFIG_SPL_BSS_MAX_SIZE		0x80000
112762f92a6SRuchika Gupta 
113762f92a6SRuchika Gupta #ifdef CONFIG_SECURE_BOOT
114762f92a6SRuchika Gupta #define CONFIG_U_BOOT_HDR_SIZE				(16 << 10)
115762f92a6SRuchika Gupta #endif /* ifdef CONFIG_SECURE_BOOT */
116762f92a6SRuchika Gupta 
117762f92a6SRuchika Gupta #ifdef CONFIG_U_BOOT_HDR_SIZE
118762f92a6SRuchika Gupta /*
119762f92a6SRuchika Gupta  * HDR would be appended at end of image and copied to DDR along
120762f92a6SRuchika Gupta  * with U-Boot image. Here u-boot max. size is 512K. So if binary
121762f92a6SRuchika Gupta  * size increases then increase this size in case of secure boot as
122762f92a6SRuchika Gupta  * it uses raw u-boot image instead of fit image.
123762f92a6SRuchika Gupta  */
124762f92a6SRuchika Gupta #define CONFIG_SYS_MONITOR_LEN		(0x100000 + CONFIG_U_BOOT_HDR_SIZE)
125762f92a6SRuchika Gupta #else
126762f92a6SRuchika Gupta #define CONFIG_SYS_MONITOR_LEN		0x100000
127762f92a6SRuchika Gupta #endif /* ifdef CONFIG_U_BOOT_HDR_SIZE */
128762f92a6SRuchika Gupta 
1293ad44729SGong Qianyu #endif
1303ad44729SGong Qianyu 
131f3a8e2b7SMingkai Hu /* IFC */
1324139b170SSumit Garg #ifndef SPL_NO_IFC
133b0f20cafSQianyu Gong #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
134f3a8e2b7SMingkai Hu #define CONFIG_FSL_IFC
135f3a8e2b7SMingkai Hu /*
136f3a8e2b7SMingkai Hu  * CONFIG_SYS_FLASH_BASE has the final address (core view)
137f3a8e2b7SMingkai Hu  * CONFIG_SYS_FLASH_BASE_PHYS has the final address (IFC view)
138f3a8e2b7SMingkai Hu  * CONFIG_SYS_FLASH_BASE_PHYS_EARLY has the temporary IFC address
139f3a8e2b7SMingkai Hu  * CONFIG_SYS_TEXT_BASE is linked to 0x60000000 for booting
140f3a8e2b7SMingkai Hu  */
141f3a8e2b7SMingkai Hu #define CONFIG_SYS_FLASH_BASE			0x60000000
142f3a8e2b7SMingkai Hu #define CONFIG_SYS_FLASH_BASE_PHYS		CONFIG_SYS_FLASH_BASE
143f3a8e2b7SMingkai Hu #define CONFIG_SYS_FLASH_BASE_PHYS_EARLY	0x00000000
144f3a8e2b7SMingkai Hu 
145e856bdcfSMasahiro Yamada #ifdef CONFIG_MTD_NOR_FLASH
146f3a8e2b7SMingkai Hu #define CONFIG_FLASH_CFI_DRIVER
147f3a8e2b7SMingkai Hu #define CONFIG_SYS_FLASH_CFI
148f3a8e2b7SMingkai Hu #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
149f3a8e2b7SMingkai Hu #define CONFIG_SYS_FLASH_QUIET_TEST
150f3a8e2b7SMingkai Hu #define CONFIG_FLASH_SHOW_PROGRESS	45	/* count down from 45/5: 9..1 */
151f3a8e2b7SMingkai Hu #endif
152166ef1e9SGong Qianyu #endif
1534139b170SSumit Garg #endif
154f3a8e2b7SMingkai Hu 
155f3a8e2b7SMingkai Hu /* I2C */
156f3a8e2b7SMingkai Hu #define CONFIG_SYS_I2C
157f3a8e2b7SMingkai Hu #define CONFIG_SYS_I2C_MXC
158f3a8e2b7SMingkai Hu #define CONFIG_SYS_I2C_MXC_I2C1
159f3a8e2b7SMingkai Hu #define CONFIG_SYS_I2C_MXC_I2C2
160f3a8e2b7SMingkai Hu #define CONFIG_SYS_I2C_MXC_I2C3
161f3a8e2b7SMingkai Hu #define CONFIG_SYS_I2C_MXC_I2C4
162f3a8e2b7SMingkai Hu 
163f3a8e2b7SMingkai Hu /* PCIe */
1644139b170SSumit Garg #ifndef SPL_NO_PCIE
165f3a8e2b7SMingkai Hu #define CONFIG_PCIE1		/* PCIE controller 1 */
166f3a8e2b7SMingkai Hu #define CONFIG_PCIE2		/* PCIE controller 2 */
167f3a8e2b7SMingkai Hu #define CONFIG_PCIE3		/* PCIE controller 3 */
168f3a8e2b7SMingkai Hu 
169f3a8e2b7SMingkai Hu #ifdef CONFIG_PCI
170f3a8e2b7SMingkai Hu #define CONFIG_NET_MULTI
171f3a8e2b7SMingkai Hu #define CONFIG_PCI_SCAN_SHOW
172f3a8e2b7SMingkai Hu #define CONFIG_CMD_PCI
173f3a8e2b7SMingkai Hu #endif
1744139b170SSumit Garg #endif
175f3a8e2b7SMingkai Hu 
176f3a8e2b7SMingkai Hu /* Command line configuration */
177f3a8e2b7SMingkai Hu 
1788ef0d5c4SYangbo Lu /*  MMC  */
1794139b170SSumit Garg #ifndef SPL_NO_MMC
1808ef0d5c4SYangbo Lu #ifdef CONFIG_MMC
1818ef0d5c4SYangbo Lu #define CONFIG_FSL_ESDHC
1828ef0d5c4SYangbo Lu #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33
1838ef0d5c4SYangbo Lu #endif
1844139b170SSumit Garg #endif
1858ef0d5c4SYangbo Lu 
186e0579a58SGong Qianyu /*  DSPI  */
1874139b170SSumit Garg #ifndef SPL_NO_DSPI
188e0579a58SGong Qianyu #define CONFIG_FSL_DSPI
189e0579a58SGong Qianyu #ifdef CONFIG_FSL_DSPI
190e0579a58SGong Qianyu #define CONFIG_DM_SPI_FLASH
191e0579a58SGong Qianyu #define CONFIG_SPI_FLASH_STMICRO	/* cs0 */
192e0579a58SGong Qianyu #define CONFIG_SPI_FLASH_SST		/* cs1 */
193e0579a58SGong Qianyu #define CONFIG_SPI_FLASH_EON		/* cs2 */
194b0f20cafSQianyu Gong #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
195e0579a58SGong Qianyu #define CONFIG_SF_DEFAULT_BUS		1
196e0579a58SGong Qianyu #define CONFIG_SF_DEFAULT_CS		0
197e0579a58SGong Qianyu #endif
198166ef1e9SGong Qianyu #endif
1994139b170SSumit Garg #endif
200e0579a58SGong Qianyu 
201e8297341SShaohui Xie /* FMan ucode */
2024139b170SSumit Garg #ifndef SPL_NO_FMAN
203e8297341SShaohui Xie #define CONFIG_SYS_DPAA_FMAN
204e8297341SShaohui Xie #ifdef CONFIG_SYS_DPAA_FMAN
205e8297341SShaohui Xie #define CONFIG_SYS_FM_MURAM_SIZE	0x60000
206e8297341SShaohui Xie 
207fd1b147cSQianyu Gong #ifdef CONFIG_NAND_BOOT
208a9a5cef3SAlison Wang /* Store Fman ucode at offeset 0x900000(72 blocks). */
209fd1b147cSQianyu Gong #define CONFIG_SYS_QE_FMAN_FW_IN_NAND
210a9a5cef3SAlison Wang #define CONFIG_SYS_FMAN_FW_ADDR		(72 * CONFIG_SYS_NAND_BLOCK_SIZE)
2112a555839SQianyu Gong #elif defined(CONFIG_SD_BOOT)
2122a555839SQianyu Gong /*
2132a555839SQianyu Gong  * PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is
2142a555839SQianyu Gong  * about 1MB (2040 blocks), Env is stored after the image, and the env size is
215a9a5cef3SAlison Wang  * 0x2000 (16 blocks), 8 + 2040 + 16 = 2064, enlarge it to 18432(0x4800).
2162a555839SQianyu Gong  */
2172a555839SQianyu Gong #define CONFIG_SYS_QE_FMAN_FW_IN_MMC
218a9a5cef3SAlison Wang #define CONFIG_SYS_FMAN_FW_ADDR		(512 * 0x4800)
2195aa03dddSZhao Qiang #define CONFIG_SYS_QE_FW_ADDR		(512 * 0x4a08)
2202a555839SQianyu Gong #elif defined(CONFIG_QSPI_BOOT)
221166ef1e9SGong Qianyu #define CONFIG_SYS_QE_FW_IN_SPIFLASH
222a9a5cef3SAlison Wang #define CONFIG_SYS_FMAN_FW_ADDR		0x40900000
223166ef1e9SGong Qianyu #define CONFIG_ENV_SPI_BUS		0
224166ef1e9SGong Qianyu #define CONFIG_ENV_SPI_CS		0
225166ef1e9SGong Qianyu #define CONFIG_ENV_SPI_MAX_HZ		1000000
226166ef1e9SGong Qianyu #define CONFIG_ENV_SPI_MODE		0x03
227166ef1e9SGong Qianyu #else
228e8297341SShaohui Xie #define CONFIG_SYS_QE_FMAN_FW_IN_NOR
229e8297341SShaohui Xie /* FMan fireware Pre-load address */
230a9a5cef3SAlison Wang #define CONFIG_SYS_FMAN_FW_ADDR		0x60900000
2315aa03dddSZhao Qiang #define CONFIG_SYS_QE_FW_ADDR		0x60940000
232166ef1e9SGong Qianyu #endif
233e8297341SShaohui Xie #define CONFIG_SYS_QE_FMAN_FW_LENGTH	0x10000
234e8297341SShaohui Xie #define CONFIG_SYS_FDT_PAD		(0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
235e8297341SShaohui Xie #endif
2364139b170SSumit Garg #endif
237e8297341SShaohui Xie 
238f3a8e2b7SMingkai Hu /* Miscellaneous configurable options */
239f3a8e2b7SMingkai Hu #define CONFIG_SYS_LOAD_ADDR	(CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000)
240f3a8e2b7SMingkai Hu 
241f3a8e2b7SMingkai Hu #define CONFIG_HWCONFIG
242f3a8e2b7SMingkai Hu #define HWCONFIG_BUFFER_SIZE		128
243f3a8e2b7SMingkai Hu 
2444139b170SSumit Garg #ifndef SPL_NO_MISC
245dbe18f16SWenbin Song #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
246dbe18f16SWenbin Song #define MTDPARTS_DEFAULT "mtdparts=spi0.0:1m(uboot)," \
247dbe18f16SWenbin Song 			"5m(kernel),1m(dtb),9m(file_system)"
248dbe18f16SWenbin Song #else
2497f339632SWenbin Song #define MTDPARTS_DEFAULT "mtdparts=60000000.nor:" \
2507f339632SWenbin Song 			"2m@0x100000(nor_bank0_uboot),"\
2517f339632SWenbin Song 			"40m@0x1100000(nor_bank0_fit)," \
2527f339632SWenbin Song 			"7m(nor_bank0_user)," \
2537f339632SWenbin Song 			"2m@0x4100000(nor_bank4_uboot)," \
2547f339632SWenbin Song 			"40m@0x5100000(nor_bank4_fit),"\
2557f339632SWenbin Song 			"-(nor_bank4_user);" \
2567f339632SWenbin Song 			"7e800000.flash:" \
257dbe18f16SWenbin Song 			"1m(nand_uboot),1m(nand_uboot_env)," \
258dbe18f16SWenbin Song 			"20m(nand_fit);spi0.0:1m(uboot)," \
259dbe18f16SWenbin Song 			"5m(kernel),1m(dtb),9m(file_system)"
260dbe18f16SWenbin Song #endif
261dbe18f16SWenbin Song 
2625ba909f4SShengzhou Liu #include <config_distro_defaults.h>
2635ba909f4SShengzhou Liu #ifndef CONFIG_SPL_BUILD
2645ba909f4SShengzhou Liu #define BOOT_TARGET_DEVICES(func) \
2655ba909f4SShengzhou Liu 	func(MMC, mmc, 0) \
2665ba909f4SShengzhou Liu 	func(USB, usb, 0)
2675ba909f4SShengzhou Liu #include <config_distro_bootcmd.h>
2685ba909f4SShengzhou Liu #endif
2695ba909f4SShengzhou Liu 
270f3a8e2b7SMingkai Hu /* Initial environment variables */
271f3a8e2b7SMingkai Hu #define CONFIG_EXTRA_ENV_SETTINGS		\
272f3a8e2b7SMingkai Hu 	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
273f3a8e2b7SMingkai Hu 	"fdt_high=0xffffffffffffffff\0"		\
274f3a8e2b7SMingkai Hu 	"initrd_high=0xffffffffffffffff\0"	\
2755ba909f4SShengzhou Liu 	"fdt_addr=0x64f00000\0"		 	\
2765ba909f4SShengzhou Liu 	"kernel_addr=0x65000000\0"		\
2775ba909f4SShengzhou Liu 	"scriptaddr=0x80000000\0"		\
278*76bbf1c6SSumit Garg 	"scripthdraddr=0x80080000\0"		\
2795ba909f4SShengzhou Liu 	"fdtheader_addr_r=0x80100000\0"		\
2805ba909f4SShengzhou Liu 	"kernelheader_addr_r=0x80200000\0"	\
2815ba909f4SShengzhou Liu 	"kernel_addr_r=0x81000000\0"		\
2825ba909f4SShengzhou Liu 	"fdt_addr_r=0x90000000\0"		\
2835ba909f4SShengzhou Liu 	"load_addr=0xa0000000\0"		\
284ad6767b6SQianyu Gong 	"kernel_size=0x2800000\0"		\
285dbe18f16SWenbin Song 	"console=ttyS0,115200\0"		\
2865ba909f4SShengzhou Liu 	"mtdparts=" MTDPARTS_DEFAULT "\0"	\
2875ba909f4SShengzhou Liu 	BOOTENV					\
2885ba909f4SShengzhou Liu 	"boot_scripts=ls1043ardb_boot.scr\0"	\
289*76bbf1c6SSumit Garg 	"boot_script_hdr=hdr_ls1043ardb_bs.out\0"	\
2905ba909f4SShengzhou Liu 	"scan_dev_for_boot_part="		\
2915ba909f4SShengzhou Liu 		"part list ${devtype} ${devnum} devplist; "	\
2925ba909f4SShengzhou Liu 		"env exists devplist || setenv devplist 1; "	\
2935ba909f4SShengzhou Liu 		"for distro_bootpart in ${devplist}; do "	\
2945ba909f4SShengzhou Liu 			"if fstype ${devtype} "			\
2955ba909f4SShengzhou Liu 				"${devnum}:${distro_bootpart} "	\
2965ba909f4SShengzhou Liu 				"bootfstype; then "		\
2975ba909f4SShengzhou Liu 				"run scan_dev_for_boot; "	\
2985ba909f4SShengzhou Liu 			"fi; "					\
2995ba909f4SShengzhou Liu 		"done\0"			\
300*76bbf1c6SSumit Garg 	"scan_dev_for_boot="					\
301*76bbf1c6SSumit Garg 		"echo Scanning ${devtype} "			\
302*76bbf1c6SSumit Garg 			"${devnum}:${distro_bootpart}...; "	\
303*76bbf1c6SSumit Garg 		"for prefix in ${boot_prefixes}; do "		\
304*76bbf1c6SSumit Garg 			"run scan_dev_for_scripts; "		\
305*76bbf1c6SSumit Garg 		"done;\0"					\
306*76bbf1c6SSumit Garg 	"boot_a_script="					\
307*76bbf1c6SSumit Garg 		"load ${devtype} ${devnum}:${distro_bootpart} "	\
308*76bbf1c6SSumit Garg 			"${scriptaddr} ${prefix}${script}; "	\
309*76bbf1c6SSumit Garg 		"env exists secureboot && load ${devtype} "	\
310*76bbf1c6SSumit Garg 			"${devnum}:${distro_bootpart} "		\
311*76bbf1c6SSumit Garg 			"${scripthdraddr} ${prefix}${boot_script_hdr} "	\
312*76bbf1c6SSumit Garg 			"&& esbc_validate ${scripthdraddr};"	\
313*76bbf1c6SSumit Garg 		"source ${scriptaddr}\0"			\
3145ba909f4SShengzhou Liu 	"installer=load mmc 0:2 $load_addr "	\
3155ba909f4SShengzhou Liu 		"/flex_installer_arm64.itb; "	\
3165ba909f4SShengzhou Liu 		"bootm $load_addr#ls1043ardb\0"	\
3175ba909f4SShengzhou Liu 	"qspi_bootcmd=echo Trying load from qspi..;"	\
3185ba909f4SShengzhou Liu 		"sf probe && sf read $load_addr "	\
3195ba909f4SShengzhou Liu 		"$kernel_addr $kernel_size && bootm $load_addr#$board\0" \
3205ba909f4SShengzhou Liu 	"nor_bootcmd=echo Trying load from nor..;"	\
3215ba909f4SShengzhou Liu 		"cp.b $kernel_addr $load_addr "	\
3225ba909f4SShengzhou Liu 		"$kernel_size && bootm $load_addr#$board\0"
3235ba909f4SShengzhou Liu 
3245ba909f4SShengzhou Liu #undef CONFIG_BOOTCOMMAND
3255ba909f4SShengzhou Liu #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
326*76bbf1c6SSumit Garg #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"	\
327*76bbf1c6SSumit Garg 			   "&& esbc_halt; run qspi_bootcmd;"
3285ba909f4SShengzhou Liu #else
329*76bbf1c6SSumit Garg #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"	\
330*76bbf1c6SSumit Garg 			   "&& esbc_halt; run nor_bootcmd;"
3315ba909f4SShengzhou Liu #endif
332f3a8e2b7SMingkai Hu 
333f3a8e2b7SMingkai Hu #define CONFIG_BOOTARGS			"console=ttyS0,115200 root=/dev/ram0 " \
334dbe18f16SWenbin Song 					"earlycon=uart8250,mmio,0x21c0500 "    \
335dbe18f16SWenbin Song 					MTDPARTS_DEFAULT
3364139b170SSumit Garg #endif
337f3a8e2b7SMingkai Hu 
338f3a8e2b7SMingkai Hu /* Monitor Command Prompt */
339f3a8e2b7SMingkai Hu #define CONFIG_SYS_CBSIZE		512	/* Console I/O Buffer Size */
340f3a8e2b7SMingkai Hu #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
341f3a8e2b7SMingkai Hu 					sizeof(CONFIG_SYS_PROMPT) + 16)
342f3a8e2b7SMingkai Hu #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE /* Boot args buffer */
343f3a8e2b7SMingkai Hu #define CONFIG_SYS_LONGHELP
3444139b170SSumit Garg 
3454139b170SSumit Garg #ifndef SPL_NO_MISC
3465ba909f4SShengzhou Liu #ifndef CONFIG_CMDLINE_EDITING
347f3a8e2b7SMingkai Hu #define CONFIG_CMDLINE_EDITING		1
3484139b170SSumit Garg #endif
3495ba909f4SShengzhou Liu #endif
3504139b170SSumit Garg 
351f3a8e2b7SMingkai Hu #define CONFIG_AUTO_COMPLETE
352f3a8e2b7SMingkai Hu #define CONFIG_SYS_MAXARGS		64	/* max command args */
353f3a8e2b7SMingkai Hu 
354f3a8e2b7SMingkai Hu #define CONFIG_SYS_BOOTM_LEN   (64 << 20)      /* Increase max gunzip size */
355f3a8e2b7SMingkai Hu 
356457e51cfSSimon Glass #include <asm/arch/soc.h>
357457e51cfSSimon Glass 
358f3a8e2b7SMingkai Hu #endif /* __LS1043A_COMMON_H */
359