xref: /rk3399_rockchip-uboot/include/configs/sc_sps_1.h (revision 4e3349b67e3490ad01d8bb14acf5e051f445bc28)
1*4e3349b6SMarek Vasut /*
2*4e3349b6SMarek Vasut  * SchulerControl GmbH, SC_SPS_1 module config
3*4e3349b6SMarek Vasut  *
4*4e3349b6SMarek Vasut  * Copyright (C) 2012 Marek Vasut <marex@denx.de>
5*4e3349b6SMarek Vasut  * on behalf of DENX Software Engineering GmbH
6*4e3349b6SMarek Vasut  *
7*4e3349b6SMarek Vasut  * This program is free software; you can redistribute it and/or
8*4e3349b6SMarek Vasut  * modify it under the terms of the GNU General Public License as
9*4e3349b6SMarek Vasut  * published by the Free Software Foundation; either version 2 of
10*4e3349b6SMarek Vasut  * the License, or (at your option) any later version.
11*4e3349b6SMarek Vasut  *
12*4e3349b6SMarek Vasut  * This program is distributed in the hope that it will be useful,
13*4e3349b6SMarek Vasut  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14*4e3349b6SMarek Vasut  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
15*4e3349b6SMarek Vasut  * GNU General Public License for more details.
16*4e3349b6SMarek Vasut  *
17*4e3349b6SMarek Vasut  * You should have received a copy of the GNU General Public License
18*4e3349b6SMarek Vasut  * along with this program; if not, write to the Free Software
19*4e3349b6SMarek Vasut  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20*4e3349b6SMarek Vasut  * MA 02111-1307 USA
21*4e3349b6SMarek Vasut  */
22*4e3349b6SMarek Vasut #ifndef __SC_SPS_1_H__
23*4e3349b6SMarek Vasut #define __SC_SPS_1_H__
24*4e3349b6SMarek Vasut 
25*4e3349b6SMarek Vasut #include <asm/arch/regs-base.h>
26*4e3349b6SMarek Vasut 
27*4e3349b6SMarek Vasut /*
28*4e3349b6SMarek Vasut  * SoC configurations
29*4e3349b6SMarek Vasut  */
30*4e3349b6SMarek Vasut #define CONFIG_MX28				/* i.MX28 SoC */
31*4e3349b6SMarek Vasut #define CONFIG_MXS_GPIO				/* GPIO control */
32*4e3349b6SMarek Vasut #define CONFIG_SYS_HZ		1000		/* Ticks per second */
33*4e3349b6SMarek Vasut 
34*4e3349b6SMarek Vasut /*
35*4e3349b6SMarek Vasut  * Define SC_SPS_1 machine type by hand until it lands in mach-types
36*4e3349b6SMarek Vasut  */
37*4e3349b6SMarek Vasut #define MACH_TYPE_SC_SPS_1	4172
38*4e3349b6SMarek Vasut 
39*4e3349b6SMarek Vasut #define CONFIG_MACH_TYPE	MACH_TYPE_SC_SPS_1
40*4e3349b6SMarek Vasut 
41*4e3349b6SMarek Vasut #define CONFIG_SYS_NO_FLASH
42*4e3349b6SMarek Vasut #define CONFIG_SYS_ICACHE_OFF
43*4e3349b6SMarek Vasut #define CONFIG_SYS_DCACHE_OFF
44*4e3349b6SMarek Vasut #define CONFIG_BOARD_EARLY_INIT_F
45*4e3349b6SMarek Vasut #define CONFIG_ARCH_CPU_INIT
46*4e3349b6SMarek Vasut #define CONFIG_ARCH_MISC_INIT
47*4e3349b6SMarek Vasut 
48*4e3349b6SMarek Vasut #define CONFIG_ENV_IS_IN_MMC
49*4e3349b6SMarek Vasut 
50*4e3349b6SMarek Vasut #define CONFIG_OF_LIBFDT
51*4e3349b6SMarek Vasut 
52*4e3349b6SMarek Vasut /*
53*4e3349b6SMarek Vasut  * SPL
54*4e3349b6SMarek Vasut  */
55*4e3349b6SMarek Vasut #define CONFIG_SPL
56*4e3349b6SMarek Vasut #define CONFIG_SPL_NO_CPU_SUPPORT_CODE
57*4e3349b6SMarek Vasut #define CONFIG_SPL_START_S_PATH		"arch/arm/cpu/arm926ejs/mx28"
58*4e3349b6SMarek Vasut #define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds"
59*4e3349b6SMarek Vasut #define CONFIG_SPL_LIBCOMMON_SUPPORT
60*4e3349b6SMarek Vasut #define CONFIG_SPL_LIBGENERIC_SUPPORT
61*4e3349b6SMarek Vasut #define CONFIG_SPL_GPIO_SUPPORT
62*4e3349b6SMarek Vasut 
63*4e3349b6SMarek Vasut /*
64*4e3349b6SMarek Vasut  * U-Boot Commands
65*4e3349b6SMarek Vasut  */
66*4e3349b6SMarek Vasut #include <config_cmd_default.h>
67*4e3349b6SMarek Vasut #define CONFIG_DISPLAY_CPUINFO
68*4e3349b6SMarek Vasut #define CONFIG_DOS_PARTITION
69*4e3349b6SMarek Vasut 
70*4e3349b6SMarek Vasut #define CONFIG_CMD_CACHE
71*4e3349b6SMarek Vasut #define CONFIG_CMD_DHCP
72*4e3349b6SMarek Vasut #define CONFIG_CMD_EXT2
73*4e3349b6SMarek Vasut #define CONFIG_CMD_FAT
74*4e3349b6SMarek Vasut #define CONFIG_CMD_GPIO
75*4e3349b6SMarek Vasut #define CONFIG_CMD_MII
76*4e3349b6SMarek Vasut #define CONFIG_CMD_MMC
77*4e3349b6SMarek Vasut #define CONFIG_CMD_NET
78*4e3349b6SMarek Vasut #define CONFIG_CMD_NFS
79*4e3349b6SMarek Vasut #define CONFIG_CMD_PING
80*4e3349b6SMarek Vasut #define CONFIG_CMD_SETEXPR
81*4e3349b6SMarek Vasut #define CONFIG_CMD_USB
82*4e3349b6SMarek Vasut 
83*4e3349b6SMarek Vasut /*
84*4e3349b6SMarek Vasut  * Memory configurations
85*4e3349b6SMarek Vasut  */
86*4e3349b6SMarek Vasut #define CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
87*4e3349b6SMarek Vasut #define PHYS_SDRAM_1			0x40000000	/* Base address */
88*4e3349b6SMarek Vasut #define PHYS_SDRAM_1_SIZE		0x40000000	/* Max 1 GB RAM */
89*4e3349b6SMarek Vasut #define CONFIG_STACKSIZE		0x00010000	/* 128 KB stack */
90*4e3349b6SMarek Vasut #define CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for malloc */
91*4e3349b6SMarek Vasut #define CONFIG_SYS_GBL_DATA_SIZE	128		/* Initial data */
92*4e3349b6SMarek Vasut #define CONFIG_SYS_MEMTEST_START	0x40000000	/* Memtest start adr */
93*4e3349b6SMarek Vasut #define CONFIG_SYS_MEMTEST_END		0x40400000	/* 4 MB RAM test */
94*4e3349b6SMarek Vasut #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
95*4e3349b6SMarek Vasut 
96*4e3349b6SMarek Vasut /* Point initial SP in SRAM so SPL can use it too. */
97*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_RAM_ADDR	0x00000000
98*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_RAM_SIZE	(128 * 1024)
99*4e3349b6SMarek Vasut 
100*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_SP_OFFSET \
101*4e3349b6SMarek Vasut 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
102*4e3349b6SMarek Vasut #define CONFIG_SYS_INIT_SP_ADDR \
103*4e3349b6SMarek Vasut 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
104*4e3349b6SMarek Vasut /*
105*4e3349b6SMarek Vasut  * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
106*4e3349b6SMarek Vasut  * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
107*4e3349b6SMarek Vasut  * binary. In case there was more of this mess, 0x100 bytes are skipped.
108*4e3349b6SMarek Vasut  */
109*4e3349b6SMarek Vasut #define CONFIG_SYS_TEXT_BASE		0x40000100
110*4e3349b6SMarek Vasut 
111*4e3349b6SMarek Vasut /*
112*4e3349b6SMarek Vasut  * U-Boot general configurations
113*4e3349b6SMarek Vasut  */
114*4e3349b6SMarek Vasut #define CONFIG_SYS_LONGHELP
115*4e3349b6SMarek Vasut #define CONFIG_SYS_PROMPT	"=> "
116*4e3349b6SMarek Vasut #define CONFIG_SYS_CBSIZE	1024		/* Console I/O buffer size */
117*4e3349b6SMarek Vasut #define CONFIG_SYS_PBSIZE	\
118*4e3349b6SMarek Vasut 	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
119*4e3349b6SMarek Vasut 						/* Print buffer size */
120*4e3349b6SMarek Vasut #define CONFIG_SYS_MAXARGS	32		/* Max number of command args */
121*4e3349b6SMarek Vasut #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE
122*4e3349b6SMarek Vasut 						/* Boot argument buffer size */
123*4e3349b6SMarek Vasut #define CONFIG_VERSION_VARIABLE			/* U-BOOT version */
124*4e3349b6SMarek Vasut #define CONFIG_AUTO_COMPLETE			/* Command auto complete */
125*4e3349b6SMarek Vasut #define CONFIG_CMDLINE_EDITING			/* Command history etc */
126*4e3349b6SMarek Vasut #define CONFIG_SYS_HUSH_PARSER
127*4e3349b6SMarek Vasut #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
128*4e3349b6SMarek Vasut 
129*4e3349b6SMarek Vasut /*
130*4e3349b6SMarek Vasut  * Serial Driver
131*4e3349b6SMarek Vasut  */
132*4e3349b6SMarek Vasut #define CONFIG_PL011_SERIAL
133*4e3349b6SMarek Vasut #define CONFIG_PL011_CLOCK		24000000
134*4e3349b6SMarek Vasut #define CONFIG_PL01x_PORTS		{ (void *)MXS_UARTDBG_BASE }
135*4e3349b6SMarek Vasut #define CONFIG_CONS_INDEX		0
136*4e3349b6SMarek Vasut #define CONFIG_BAUDRATE			115200	/* Default baud rate */
137*4e3349b6SMarek Vasut #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
138*4e3349b6SMarek Vasut 
139*4e3349b6SMarek Vasut /*
140*4e3349b6SMarek Vasut  * MMC Driver
141*4e3349b6SMarek Vasut  */
142*4e3349b6SMarek Vasut #ifdef CONFIG_CMD_MMC
143*4e3349b6SMarek Vasut #define CONFIG_APBH_DMA
144*4e3349b6SMarek Vasut #define CONFIG_MMC
145*4e3349b6SMarek Vasut #define CONFIG_MMC_BOUNCE_BUFFER
146*4e3349b6SMarek Vasut #define CONFIG_GENERIC_MMC
147*4e3349b6SMarek Vasut #define CONFIG_MXS_MMC
148*4e3349b6SMarek Vasut #endif
149*4e3349b6SMarek Vasut #define CONFIG_ENV_SIZE			(16 * 1024)
150*4e3349b6SMarek Vasut #ifdef CONFIG_ENV_IS_IN_MMC
151*4e3349b6SMarek Vasut #define CONFIG_ENV_OFFSET		(256 * 1024)
152*4e3349b6SMarek Vasut #define CONFIG_SYS_MMC_ENV_DEV		0
153*4e3349b6SMarek Vasut #else
154*4e3349b6SMarek Vasut #define CONFIG_ENV_IS_NOWHERE
155*4e3349b6SMarek Vasut #endif
156*4e3349b6SMarek Vasut 
157*4e3349b6SMarek Vasut /*
158*4e3349b6SMarek Vasut  * Ethernet on SOC (FEC)
159*4e3349b6SMarek Vasut  */
160*4e3349b6SMarek Vasut #ifdef CONFIG_CMD_NET
161*4e3349b6SMarek Vasut #define CONFIG_ETHPRIME			"FEC0"
162*4e3349b6SMarek Vasut #define CONFIG_FEC_MXC
163*4e3349b6SMarek Vasut #define CONFIG_FEC_MXC_MULTI
164*4e3349b6SMarek Vasut #define CONFIG_MII
165*4e3349b6SMarek Vasut #define CONFIG_DISCOVER_PHY
166*4e3349b6SMarek Vasut #define CONFIG_FEC_XCV_TYPE		RMII
167*4e3349b6SMarek Vasut #define CONFIG_PHYLIB
168*4e3349b6SMarek Vasut #define CONFIG_PHY_SMSC
169*4e3349b6SMarek Vasut #endif
170*4e3349b6SMarek Vasut 
171*4e3349b6SMarek Vasut /*
172*4e3349b6SMarek Vasut  * USB
173*4e3349b6SMarek Vasut  */
174*4e3349b6SMarek Vasut #ifdef CONFIG_CMD_USB
175*4e3349b6SMarek Vasut #define CONFIG_USB_EHCI
176*4e3349b6SMarek Vasut #define CONFIG_USB_EHCI_MXS
177*4e3349b6SMarek Vasut #define CONFIG_EHCI_MXS_PORT		0
178*4e3349b6SMarek Vasut #define CONFIG_EHCI_IS_TDI
179*4e3349b6SMarek Vasut #define CONFIG_USB_STORAGE
180*4e3349b6SMarek Vasut #endif
181*4e3349b6SMarek Vasut 
182*4e3349b6SMarek Vasut /*
183*4e3349b6SMarek Vasut  * Boot Linux
184*4e3349b6SMarek Vasut  */
185*4e3349b6SMarek Vasut #define CONFIG_CMDLINE_TAG
186*4e3349b6SMarek Vasut #define CONFIG_SETUP_MEMORY_TAGS
187*4e3349b6SMarek Vasut #define CONFIG_BOOTDELAY	3
188*4e3349b6SMarek Vasut #define CONFIG_BOOTFILE		"uImage"
189*4e3349b6SMarek Vasut #define CONFIG_BOOTARGS		"console=ttyAMA0,115200"
190*4e3349b6SMarek Vasut #define CONFIG_BOOTCOMMAND	"bootm "
191*4e3349b6SMarek Vasut #define CONFIG_LOADADDR		0x42000000
192*4e3349b6SMarek Vasut #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
193*4e3349b6SMarek Vasut 
194*4e3349b6SMarek Vasut /*
195*4e3349b6SMarek Vasut  * Extra Environments
196*4e3349b6SMarek Vasut  */
197*4e3349b6SMarek Vasut #define CONFIG_EXTRA_ENV_SETTINGS					\
198*4e3349b6SMarek Vasut 	"update_sd_firmware_filename=u-boot.sd\0"			\
199*4e3349b6SMarek Vasut 	"update_sd_firmware="		/* Update the SD firmware partition */ \
200*4e3349b6SMarek Vasut 		"if mmc rescan ; then "					\
201*4e3349b6SMarek Vasut 		"if tftp ${update_sd_firmware_filename} ; then "	\
202*4e3349b6SMarek Vasut 		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
203*4e3349b6SMarek Vasut 		"setexpr fw_sz ${fw_sz} + 1 ; "				\
204*4e3349b6SMarek Vasut 		"mmc write ${loadaddr} 0x800 ${fw_sz} ; "		\
205*4e3349b6SMarek Vasut 		"fi ; "							\
206*4e3349b6SMarek Vasut 		"fi\0"
207*4e3349b6SMarek Vasut 
208*4e3349b6SMarek Vasut #endif /* __SC_SPS_1_H__ */
209