xref: /rk3399_rockchip-uboot/include/configs/ls1021atwr.h (revision c8a7d9dab01c00c9efb5431284e9f16f8f2e92bb)
1*c8a7d9daSWang Huan /*
2*c8a7d9daSWang Huan  * Copyright 2014 Freescale Semiconductor, Inc.
3*c8a7d9daSWang Huan  *
4*c8a7d9daSWang Huan  * SPDX-License-Identifier:	GPL-2.0+
5*c8a7d9daSWang Huan  */
6*c8a7d9daSWang Huan 
7*c8a7d9daSWang Huan #ifndef __CONFIG_H
8*c8a7d9daSWang Huan #define __CONFIG_H
9*c8a7d9daSWang Huan 
10*c8a7d9daSWang Huan #include <config_cmd_default.h>
11*c8a7d9daSWang Huan 
12*c8a7d9daSWang Huan #define CONFIG_LS102XA
13*c8a7d9daSWang Huan 
14*c8a7d9daSWang Huan #define CONFIG_SYS_GENERIC_BOARD
15*c8a7d9daSWang Huan 
16*c8a7d9daSWang Huan #define CONFIG_DISPLAY_CPUINFO
17*c8a7d9daSWang Huan #define CONFIG_DISPLAY_BOARDINFO
18*c8a7d9daSWang Huan 
19*c8a7d9daSWang Huan #define CONFIG_SKIP_LOWLEVEL_INIT
20*c8a7d9daSWang Huan #define CONFIG_BOARD_EARLY_INIT_F
21*c8a7d9daSWang Huan 
22*c8a7d9daSWang Huan /*
23*c8a7d9daSWang Huan  * Size of malloc() pool
24*c8a7d9daSWang Huan  */
25*c8a7d9daSWang Huan #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 16 * 1024 * 1024)
26*c8a7d9daSWang Huan 
27*c8a7d9daSWang Huan #define CONFIG_SYS_INIT_RAM_ADDR	OCRAM_BASE_ADDR
28*c8a7d9daSWang Huan #define CONFIG_SYS_INIT_RAM_SIZE	OCRAM_SIZE
29*c8a7d9daSWang Huan 
30*c8a7d9daSWang Huan /*
31*c8a7d9daSWang Huan  * Generic Timer Definitions
32*c8a7d9daSWang Huan  */
33*c8a7d9daSWang Huan #define GENERIC_TIMER_CLK		12500000
34*c8a7d9daSWang Huan 
35*c8a7d9daSWang Huan #define CONFIG_SYS_CLK_FREQ		100000000
36*c8a7d9daSWang Huan #define CONFIG_DDR_CLK_FREQ		100000000
37*c8a7d9daSWang Huan 
38*c8a7d9daSWang Huan #ifndef CONFIG_SYS_TEXT_BASE
39*c8a7d9daSWang Huan #define CONFIG_SYS_TEXT_BASE		0x67f80000
40*c8a7d9daSWang Huan #endif
41*c8a7d9daSWang Huan 
42*c8a7d9daSWang Huan #define CONFIG_NR_DRAM_BANKS		1
43*c8a7d9daSWang Huan #define PHYS_SDRAM			0x80000000
44*c8a7d9daSWang Huan #define PHYS_SDRAM_SIZE			(1u * 1024 * 1024 * 1024)
45*c8a7d9daSWang Huan 
46*c8a7d9daSWang Huan #define CONFIG_SYS_DDR_SDRAM_BASE      0x80000000UL
47*c8a7d9daSWang Huan #define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
48*c8a7d9daSWang Huan 
49*c8a7d9daSWang Huan #define CONFIG_SYS_HAS_SERDES
50*c8a7d9daSWang Huan 
51*c8a7d9daSWang Huan /*
52*c8a7d9daSWang Huan  * IFC Definitions
53*c8a7d9daSWang Huan  */
54*c8a7d9daSWang Huan #define CONFIG_FSL_IFC
55*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BASE		0x60000000
56*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BASE_PHYS	CONFIG_SYS_FLASH_BASE
57*c8a7d9daSWang Huan 
58*c8a7d9daSWang Huan #define CONFIG_SYS_NOR0_CSPR_EXT	(0x0)
59*c8a7d9daSWang Huan #define CONFIG_SYS_NOR0_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
60*c8a7d9daSWang Huan 				CSPR_PORT_SIZE_16 | \
61*c8a7d9daSWang Huan 				CSPR_MSEL_NOR | \
62*c8a7d9daSWang Huan 				CSPR_V)
63*c8a7d9daSWang Huan #define CONFIG_SYS_NOR_AMASK		IFC_AMASK(128 * 1024 * 1024)
64*c8a7d9daSWang Huan 
65*c8a7d9daSWang Huan /* NOR Flash Timing Params */
66*c8a7d9daSWang Huan #define CONFIG_SYS_NOR_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
67*c8a7d9daSWang Huan 					CSOR_NOR_TRHZ_80)
68*c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM0		(FTIM0_NOR_TACSE(0x4) | \
69*c8a7d9daSWang Huan 					FTIM0_NOR_TEADC(0x5) | \
70*c8a7d9daSWang Huan 					FTIM0_NOR_TAVDS(0x0) | \
71*c8a7d9daSWang Huan 					FTIM0_NOR_TEAHC(0x5))
72*c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM1		(FTIM1_NOR_TACO(0x35) | \
73*c8a7d9daSWang Huan 					FTIM1_NOR_TRAD_NOR(0x1A) | \
74*c8a7d9daSWang Huan 					FTIM1_NOR_TSEQRAD_NOR(0x13))
75*c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM2		(FTIM2_NOR_TCS(0x4) | \
76*c8a7d9daSWang Huan 					FTIM2_NOR_TCH(0x4) | \
77*c8a7d9daSWang Huan 					FTIM2_NOR_TWP(0x1c) | \
78*c8a7d9daSWang Huan 					FTIM2_NOR_TWPH(0x0e))
79*c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM3		0
80*c8a7d9daSWang Huan 
81*c8a7d9daSWang Huan #define CONFIG_FLASH_CFI_DRIVER
82*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_CFI
83*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
84*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_QUIET_TEST
85*c8a7d9daSWang Huan #define CONFIG_FLASH_SHOW_PROGRESS	45	/* count down from 45/5: 9..1 */
86*c8a7d9daSWang Huan 
87*c8a7d9daSWang Huan #define CONFIG_SYS_MAX_FLASH_BANKS	1	/* number of banks */
88*c8a7d9daSWang Huan #define CONFIG_SYS_MAX_FLASH_SECT	1024	/* sectors per device */
89*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
90*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
91*c8a7d9daSWang Huan 
92*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_EMPTY_INFO
93*c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BANKS_LIST	{ CONFIG_SYS_FLASH_BASE_PHYS }
94*c8a7d9daSWang Huan 
95*c8a7d9daSWang Huan #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
96*c8a7d9daSWang Huan 
97*c8a7d9daSWang Huan /* CPLD */
98*c8a7d9daSWang Huan 
99*c8a7d9daSWang Huan #define CONFIG_SYS_CPLD_BASE	0x7fb00000
100*c8a7d9daSWang Huan #define CPLD_BASE_PHYS		CONFIG_SYS_CPLD_BASE
101*c8a7d9daSWang Huan 
102*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSPR_EXT        (0x0)
103*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSPR		(CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \
104*c8a7d9daSWang Huan 					CSPR_PORT_SIZE_8 | \
105*c8a7d9daSWang Huan 					CSPR_MSEL_GPCM | \
106*c8a7d9daSWang Huan 					CSPR_V)
107*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_AMASK		IFC_AMASK(64 * 1024)
108*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
109*c8a7d9daSWang Huan 					CSOR_NOR_NOR_MODE_AVD_NOR | \
110*c8a7d9daSWang Huan 					CSOR_NOR_TRHZ_80)
111*c8a7d9daSWang Huan 
112*c8a7d9daSWang Huan /* CPLD Timing parameters for IFC GPCM */
113*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM0		(FTIM0_GPCM_TACSE(0xf) | \
114*c8a7d9daSWang Huan 					FTIM0_GPCM_TEADC(0xf) | \
115*c8a7d9daSWang Huan 					FTIM0_GPCM_TEAHC(0xf))
116*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM1		(FTIM1_GPCM_TACO(0xff) | \
117*c8a7d9daSWang Huan 					FTIM1_GPCM_TRAD(0x3f))
118*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM2		(FTIM2_GPCM_TCS(0xf) | \
119*c8a7d9daSWang Huan 					FTIM2_GPCM_TCH(0xf) | \
120*c8a7d9daSWang Huan 					FTIM2_GPCM_TWP(0xff))
121*c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM3           0x0
122*c8a7d9daSWang Huan #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NOR0_CSPR_EXT
123*c8a7d9daSWang Huan #define CONFIG_SYS_CSPR0		CONFIG_SYS_NOR0_CSPR
124*c8a7d9daSWang Huan #define CONFIG_SYS_AMASK0		CONFIG_SYS_NOR_AMASK
125*c8a7d9daSWang Huan #define CONFIG_SYS_CSOR0		CONFIG_SYS_NOR_CSOR
126*c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NOR_FTIM0
127*c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NOR_FTIM1
128*c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NOR_FTIM2
129*c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NOR_FTIM3
130*c8a7d9daSWang Huan #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_FPGA_CSPR_EXT
131*c8a7d9daSWang Huan #define CONFIG_SYS_CSPR1		CONFIG_SYS_FPGA_CSPR
132*c8a7d9daSWang Huan #define CONFIG_SYS_AMASK1		CONFIG_SYS_FPGA_AMASK
133*c8a7d9daSWang Huan #define CONFIG_SYS_CSOR1		CONFIG_SYS_FPGA_CSOR
134*c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_FPGA_FTIM0
135*c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_FPGA_FTIM1
136*c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_FPGA_FTIM2
137*c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_FPGA_FTIM3
138*c8a7d9daSWang Huan 
139*c8a7d9daSWang Huan /*
140*c8a7d9daSWang Huan  * Serial Port
141*c8a7d9daSWang Huan  */
142*c8a7d9daSWang Huan #define CONFIG_CONS_INDEX		1
143*c8a7d9daSWang Huan #define CONFIG_SYS_NS16550
144*c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_SERIAL
145*c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_REG_SIZE	1
146*c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_CLK		get_serial_clock()
147*c8a7d9daSWang Huan 
148*c8a7d9daSWang Huan #define CONFIG_BAUDRATE			115200
149*c8a7d9daSWang Huan 
150*c8a7d9daSWang Huan /*
151*c8a7d9daSWang Huan  * I2C
152*c8a7d9daSWang Huan  */
153*c8a7d9daSWang Huan #define CONFIG_CMD_I2C
154*c8a7d9daSWang Huan #define CONFIG_SYS_I2C
155*c8a7d9daSWang Huan #define CONFIG_SYS_I2C_MXC
156*c8a7d9daSWang Huan 
157*c8a7d9daSWang Huan /*
158*c8a7d9daSWang Huan  * MMC
159*c8a7d9daSWang Huan  */
160*c8a7d9daSWang Huan #define CONFIG_MMC
161*c8a7d9daSWang Huan #define CONFIG_CMD_MMC
162*c8a7d9daSWang Huan #define CONFIG_FSL_ESDHC
163*c8a7d9daSWang Huan #define CONFIG_GENERIC_MMC
164*c8a7d9daSWang Huan 
165*c8a7d9daSWang Huan /*
166*c8a7d9daSWang Huan  * eTSEC
167*c8a7d9daSWang Huan  */
168*c8a7d9daSWang Huan #define CONFIG_TSEC_ENET
169*c8a7d9daSWang Huan 
170*c8a7d9daSWang Huan #ifdef CONFIG_TSEC_ENET
171*c8a7d9daSWang Huan #define CONFIG_MII
172*c8a7d9daSWang Huan #define CONFIG_MII_DEFAULT_TSEC		1
173*c8a7d9daSWang Huan #define CONFIG_TSEC1			1
174*c8a7d9daSWang Huan #define CONFIG_TSEC1_NAME		"eTSEC1"
175*c8a7d9daSWang Huan #define CONFIG_TSEC2			1
176*c8a7d9daSWang Huan #define CONFIG_TSEC2_NAME		"eTSEC2"
177*c8a7d9daSWang Huan #define CONFIG_TSEC3			1
178*c8a7d9daSWang Huan #define CONFIG_TSEC3_NAME		"eTSEC3"
179*c8a7d9daSWang Huan 
180*c8a7d9daSWang Huan #define TSEC1_PHY_ADDR			2
181*c8a7d9daSWang Huan #define TSEC2_PHY_ADDR			0
182*c8a7d9daSWang Huan #define TSEC3_PHY_ADDR			1
183*c8a7d9daSWang Huan 
184*c8a7d9daSWang Huan #define TSEC1_FLAGS			(TSEC_GIGABIT | TSEC_REDUCED)
185*c8a7d9daSWang Huan #define TSEC2_FLAGS			(TSEC_GIGABIT | TSEC_REDUCED)
186*c8a7d9daSWang Huan #define TSEC3_FLAGS			(TSEC_GIGABIT | TSEC_REDUCED)
187*c8a7d9daSWang Huan 
188*c8a7d9daSWang Huan #define TSEC1_PHYIDX			0
189*c8a7d9daSWang Huan #define TSEC2_PHYIDX			0
190*c8a7d9daSWang Huan #define TSEC3_PHYIDX			0
191*c8a7d9daSWang Huan 
192*c8a7d9daSWang Huan #define CONFIG_ETHPRIME			"eTSEC1"
193*c8a7d9daSWang Huan 
194*c8a7d9daSWang Huan #define CONFIG_PHY_GIGE
195*c8a7d9daSWang Huan #define CONFIG_PHYLIB
196*c8a7d9daSWang Huan #define CONFIG_PHY_ATHEROS
197*c8a7d9daSWang Huan 
198*c8a7d9daSWang Huan #define CONFIG_HAS_ETH0
199*c8a7d9daSWang Huan #define CONFIG_HAS_ETH1
200*c8a7d9daSWang Huan #define CONFIG_HAS_ETH2
201*c8a7d9daSWang Huan #endif
202*c8a7d9daSWang Huan 
203*c8a7d9daSWang Huan #define CONFIG_CMD_PING
204*c8a7d9daSWang Huan #define CONFIG_CMD_DHCP
205*c8a7d9daSWang Huan #define CONFIG_CMD_MII
206*c8a7d9daSWang Huan #define CONFIG_CMD_NET
207*c8a7d9daSWang Huan 
208*c8a7d9daSWang Huan #define CONFIG_CMDLINE_TAG
209*c8a7d9daSWang Huan #define CONFIG_CMDLINE_EDITING
210*c8a7d9daSWang Huan #define CONFIG_CMD_IMLS
211*c8a7d9daSWang Huan 
212*c8a7d9daSWang Huan #define CONFIG_HWCONFIG
213*c8a7d9daSWang Huan #define HWCONFIG_BUFFER_SIZE		128
214*c8a7d9daSWang Huan 
215*c8a7d9daSWang Huan #define CONFIG_BOOTDELAY		3
216*c8a7d9daSWang Huan 
217*c8a7d9daSWang Huan #define CONFIG_EXTRA_ENV_SETTINGS	\
218*c8a7d9daSWang Huan 	"bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
219*c8a7d9daSWang Huan 	"initrd_high=0xcfffffff\0"      \
220*c8a7d9daSWang Huan 	"fdt_high=0xcfffffff\0"
221*c8a7d9daSWang Huan 
222*c8a7d9daSWang Huan /*
223*c8a7d9daSWang Huan  * Miscellaneous configurable options
224*c8a7d9daSWang Huan  */
225*c8a7d9daSWang Huan #define CONFIG_SYS_LONGHELP		/* undef to save memory */
226*c8a7d9daSWang Huan #define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser */
227*c8a7d9daSWang Huan #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
228*c8a7d9daSWang Huan #define CONFIG_SYS_PROMPT		"=> "
229*c8a7d9daSWang Huan #define CONFIG_AUTO_COMPLETE
230*c8a7d9daSWang Huan #define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
231*c8a7d9daSWang Huan #define CONFIG_SYS_PBSIZE		\
232*c8a7d9daSWang Huan 		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
233*c8a7d9daSWang Huan #define CONFIG_SYS_MAXARGS		16	/* max number of command args */
234*c8a7d9daSWang Huan #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
235*c8a7d9daSWang Huan 
236*c8a7d9daSWang Huan #define CONFIG_CMD_ENV_EXISTS
237*c8a7d9daSWang Huan #define CONFIG_CMD_GREPENV
238*c8a7d9daSWang Huan #define CONFIG_CMD_MEMINFO
239*c8a7d9daSWang Huan #define CONFIG_CMD_MEMTEST
240*c8a7d9daSWang Huan #define CONFIG_SYS_MEMTEST_START	0x80000000
241*c8a7d9daSWang Huan #define CONFIG_SYS_MEMTEST_END		0x9fffffff
242*c8a7d9daSWang Huan 
243*c8a7d9daSWang Huan #define CONFIG_SYS_LOAD_ADDR		0x82000000
244*c8a7d9daSWang Huan #define CONFIG_SYS_HZ			1000
245*c8a7d9daSWang Huan 
246*c8a7d9daSWang Huan /*
247*c8a7d9daSWang Huan  * Stack sizes
248*c8a7d9daSWang Huan  * The stack sizes are set up in start.S using the settings below
249*c8a7d9daSWang Huan  */
250*c8a7d9daSWang Huan #define CONFIG_STACKSIZE		(30 * 1024)
251*c8a7d9daSWang Huan 
252*c8a7d9daSWang Huan #define CONFIG_SYS_INIT_SP_OFFSET \
253*c8a7d9daSWang Huan 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
254*c8a7d9daSWang Huan #define CONFIG_SYS_INIT_SP_ADDR \
255*c8a7d9daSWang Huan 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
256*c8a7d9daSWang Huan 
257*c8a7d9daSWang Huan #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE    /* start of monitor */
258*c8a7d9daSWang Huan 
259*c8a7d9daSWang Huan /*
260*c8a7d9daSWang Huan  * Environment
261*c8a7d9daSWang Huan  */
262*c8a7d9daSWang Huan #define CONFIG_ENV_OVERWRITE
263*c8a7d9daSWang Huan 
264*c8a7d9daSWang Huan #define CONFIG_ENV_IS_IN_FLASH
265*c8a7d9daSWang Huan #define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
266*c8a7d9daSWang Huan #define CONFIG_ENV_SIZE			0x20000
267*c8a7d9daSWang Huan #define CONFIG_ENV_SECT_SIZE		0x20000 /* 128K (one sector) */
268*c8a7d9daSWang Huan 
269*c8a7d9daSWang Huan #define CONFIG_OF_LIBFDT
270*c8a7d9daSWang Huan #define CONFIG_OF_BOARD_SETUP
271*c8a7d9daSWang Huan #define CONFIG_CMD_BOOTZ
272*c8a7d9daSWang Huan 
273*c8a7d9daSWang Huan #endif
274