xref: /rk3399_rockchip-uboot/include/configs/mx31ads.h (revision b5dc9b304d289831f291843ff88a45cbdf1a6290)
1*b5dc9b30SGuennadi Liakhovetski /*
2*b5dc9b30SGuennadi Liakhovetski  * Copyright (C) 2008, Guennadi Liakhovetski <lg@denx.de>
3*b5dc9b30SGuennadi Liakhovetski  *
4*b5dc9b30SGuennadi Liakhovetski  * Configuration settings for the MX31ADS Freescale board.
5*b5dc9b30SGuennadi Liakhovetski  *
6*b5dc9b30SGuennadi Liakhovetski  * This program is free software; you can redistribute it and/or
7*b5dc9b30SGuennadi Liakhovetski  * modify it under the terms of the GNU General Public License as
8*b5dc9b30SGuennadi Liakhovetski  * published by the Free Software Foundation; either version 2 of
9*b5dc9b30SGuennadi Liakhovetski  * the License, or (at your option) any later version.
10*b5dc9b30SGuennadi Liakhovetski  *
11*b5dc9b30SGuennadi Liakhovetski  * This program is distributed in the hope that it will be useful,
12*b5dc9b30SGuennadi Liakhovetski  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*b5dc9b30SGuennadi Liakhovetski  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
14*b5dc9b30SGuennadi Liakhovetski  * GNU General Public License for more details.
15*b5dc9b30SGuennadi Liakhovetski  *
16*b5dc9b30SGuennadi Liakhovetski  * You should have received a copy of the GNU General Public License
17*b5dc9b30SGuennadi Liakhovetski  * along with this program; if not, write to the Free Software
18*b5dc9b30SGuennadi Liakhovetski  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
19*b5dc9b30SGuennadi Liakhovetski  * MA 02111-1307 USA
20*b5dc9b30SGuennadi Liakhovetski  */
21*b5dc9b30SGuennadi Liakhovetski 
22*b5dc9b30SGuennadi Liakhovetski #ifndef __CONFIG_H
23*b5dc9b30SGuennadi Liakhovetski #define __CONFIG_H
24*b5dc9b30SGuennadi Liakhovetski 
25*b5dc9b30SGuennadi Liakhovetski #include <asm/arch/mx31-regs.h>
26*b5dc9b30SGuennadi Liakhovetski 
27*b5dc9b30SGuennadi Liakhovetski  /* High Level Configuration Options */
28*b5dc9b30SGuennadi Liakhovetski #define CONFIG_ARM1136		1		/* This is an arm1136 CPU core */
29*b5dc9b30SGuennadi Liakhovetski #define CONFIG_MX31		1		/* in a mx31 */
30*b5dc9b30SGuennadi Liakhovetski #define CONFIG_MX31_HCLK_FREQ	26000000	/* RedBoot says 26MHz */
31*b5dc9b30SGuennadi Liakhovetski #define CONFIG_MX31_CLK32	32000
32*b5dc9b30SGuennadi Liakhovetski 
33*b5dc9b30SGuennadi Liakhovetski #define CONFIG_DISPLAY_CPUINFO
34*b5dc9b30SGuennadi Liakhovetski #define CONFIG_DISPLAY_BOARDINFO
35*b5dc9b30SGuennadi Liakhovetski 
36*b5dc9b30SGuennadi Liakhovetski /*
37*b5dc9b30SGuennadi Liakhovetski  * Disabled for now due to build problems under Debian and a significant increase
38*b5dc9b30SGuennadi Liakhovetski  * in the final file size: 144260 vs. 109536 Bytes.
39*b5dc9b30SGuennadi Liakhovetski  */
40*b5dc9b30SGuennadi Liakhovetski #if 0
41*b5dc9b30SGuennadi Liakhovetski #define CONFIG_OF_LIBFDT		1
42*b5dc9b30SGuennadi Liakhovetski #define CONFIG_FIT			1
43*b5dc9b30SGuennadi Liakhovetski #define CONFIG_FIT_VERBOSE		1
44*b5dc9b30SGuennadi Liakhovetski #endif
45*b5dc9b30SGuennadi Liakhovetski 
46*b5dc9b30SGuennadi Liakhovetski #define CONFIG_CMDLINE_TAG		1	/* enable passing of ATAGs */
47*b5dc9b30SGuennadi Liakhovetski #define CONFIG_SETUP_MEMORY_TAGS	1
48*b5dc9b30SGuennadi Liakhovetski #define CONFIG_INITRD_TAG		1
49*b5dc9b30SGuennadi Liakhovetski 
50*b5dc9b30SGuennadi Liakhovetski /*
51*b5dc9b30SGuennadi Liakhovetski  * Size of malloc() pool
52*b5dc9b30SGuennadi Liakhovetski  */
53*b5dc9b30SGuennadi Liakhovetski #define CFG_MALLOC_LEN		(CFG_ENV_SIZE + 128 * 1024)
54*b5dc9b30SGuennadi Liakhovetski #define CFG_GBL_DATA_SIZE	128  /* size in bytes reserved for initial data */
55*b5dc9b30SGuennadi Liakhovetski 
56*b5dc9b30SGuennadi Liakhovetski /*
57*b5dc9b30SGuennadi Liakhovetski  * Hardware drivers
58*b5dc9b30SGuennadi Liakhovetski  */
59*b5dc9b30SGuennadi Liakhovetski 
60*b5dc9b30SGuennadi Liakhovetski #define CONFIG_MX31_UART	1
61*b5dc9b30SGuennadi Liakhovetski #define CFG_MX31_UART1		1
62*b5dc9b30SGuennadi Liakhovetski 
63*b5dc9b30SGuennadi Liakhovetski /* allow to overwrite serial and ethaddr */
64*b5dc9b30SGuennadi Liakhovetski #define CONFIG_ENV_OVERWRITE
65*b5dc9b30SGuennadi Liakhovetski #define CONFIG_CONS_INDEX	1
66*b5dc9b30SGuennadi Liakhovetski #define CONFIG_BAUDRATE		115200
67*b5dc9b30SGuennadi Liakhovetski #define CFG_BAUDRATE_TABLE	{9600, 19200, 38400, 57600, 115200}
68*b5dc9b30SGuennadi Liakhovetski 
69*b5dc9b30SGuennadi Liakhovetski /***********************************************************
70*b5dc9b30SGuennadi Liakhovetski  * Command definition
71*b5dc9b30SGuennadi Liakhovetski  ***********************************************************/
72*b5dc9b30SGuennadi Liakhovetski 
73*b5dc9b30SGuennadi Liakhovetski #include <config_cmd_default.h>
74*b5dc9b30SGuennadi Liakhovetski 
75*b5dc9b30SGuennadi Liakhovetski #define CONFIG_CMD_MII
76*b5dc9b30SGuennadi Liakhovetski #define CONFIG_CMD_PING
77*b5dc9b30SGuennadi Liakhovetski 
78*b5dc9b30SGuennadi Liakhovetski #define CONFIG_BOOTDELAY	3
79*b5dc9b30SGuennadi Liakhovetski 
80*b5dc9b30SGuennadi Liakhovetski #define CONFIG_NETMASK		255.255.255.0
81*b5dc9b30SGuennadi Liakhovetski #define CONFIG_IPADDR		192.168.23.168
82*b5dc9b30SGuennadi Liakhovetski #define CONFIG_SERVERIP		192.168.23.2
83*b5dc9b30SGuennadi Liakhovetski 
84*b5dc9b30SGuennadi Liakhovetski #define	CONFIG_EXTRA_ENV_SETTINGS											\
85*b5dc9b30SGuennadi Liakhovetski 	"bootargs_base=setenv bootargs console=ttymxc0,115200\0"							\
86*b5dc9b30SGuennadi Liakhovetski 	"bootargs_nfs=setenv bootargs $(bootargs) root=/dev/nfs ip=dhcp nfsroot=$(serverip):$(nfsrootfs),v3,tcp\0"	\
87*b5dc9b30SGuennadi Liakhovetski 	"bootcmd=run bootcmd_net\0"											\
88*b5dc9b30SGuennadi Liakhovetski 	"bootcmd_net=run bootargs_base bootargs_mtd bootargs_nfs; tftpboot 0x80000000 uImage-mx31; bootm\0"		\
89*b5dc9b30SGuennadi Liakhovetski 	"prg_uboot=tftpboot 0x80000000 u-boot-mx31ads.bin; protect off 0xa0000000 0xa001ffff; erase 0xa0000000 0xa001ffff; cp.b 0x80000000 0xa0000000 $(filesize)\0"
90*b5dc9b30SGuennadi Liakhovetski 
91*b5dc9b30SGuennadi Liakhovetski 
92*b5dc9b30SGuennadi Liakhovetski #define CONFIG_DRIVER_CS8900	1
93*b5dc9b30SGuennadi Liakhovetski #define CS8900_BASE		0xb4020300
94*b5dc9b30SGuennadi Liakhovetski #define CS8900_BUS16		1	/* the Linux driver does accesses as shorts */
95*b5dc9b30SGuennadi Liakhovetski 
96*b5dc9b30SGuennadi Liakhovetski /*
97*b5dc9b30SGuennadi Liakhovetski  * Miscellaneous configurable options
98*b5dc9b30SGuennadi Liakhovetski  */
99*b5dc9b30SGuennadi Liakhovetski #define CFG_LONGHELP		/* undef to save memory */
100*b5dc9b30SGuennadi Liakhovetski #define CFG_PROMPT		"=> "
101*b5dc9b30SGuennadi Liakhovetski #define CFG_CBSIZE		256		/* Console I/O Buffer Size */
102*b5dc9b30SGuennadi Liakhovetski /* Print Buffer Size */
103*b5dc9b30SGuennadi Liakhovetski #define CFG_PBSIZE		(CFG_CBSIZE+sizeof(CFG_PROMPT)+16)
104*b5dc9b30SGuennadi Liakhovetski #define CFG_MAXARGS		16		/* max number of command args */
105*b5dc9b30SGuennadi Liakhovetski #define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size */
106*b5dc9b30SGuennadi Liakhovetski 
107*b5dc9b30SGuennadi Liakhovetski #define CFG_MEMTEST_START	0		/* memtest works on */
108*b5dc9b30SGuennadi Liakhovetski #define CFG_MEMTEST_END		0x10000
109*b5dc9b30SGuennadi Liakhovetski 
110*b5dc9b30SGuennadi Liakhovetski #undef	CFG_CLKS_IN_HZ		/* everything, incl board info, in Hz */
111*b5dc9b30SGuennadi Liakhovetski 
112*b5dc9b30SGuennadi Liakhovetski #define CFG_LOAD_ADDR		CSD0_BASE	/* default load address */
113*b5dc9b30SGuennadi Liakhovetski 
114*b5dc9b30SGuennadi Liakhovetski #define CFG_HZ			32000
115*b5dc9b30SGuennadi Liakhovetski 
116*b5dc9b30SGuennadi Liakhovetski #define CONFIG_CMDLINE_EDITING	1
117*b5dc9b30SGuennadi Liakhovetski 
118*b5dc9b30SGuennadi Liakhovetski /*-----------------------------------------------------------------------
119*b5dc9b30SGuennadi Liakhovetski  * Stack sizes
120*b5dc9b30SGuennadi Liakhovetski  *
121*b5dc9b30SGuennadi Liakhovetski  * The stack sizes are set up in start.S using the settings below
122*b5dc9b30SGuennadi Liakhovetski  */
123*b5dc9b30SGuennadi Liakhovetski #define CONFIG_STACKSIZE	(128 * 1024)	/* regular stack */
124*b5dc9b30SGuennadi Liakhovetski 
125*b5dc9b30SGuennadi Liakhovetski /*-----------------------------------------------------------------------
126*b5dc9b30SGuennadi Liakhovetski  * Physical Memory Map
127*b5dc9b30SGuennadi Liakhovetski  */
128*b5dc9b30SGuennadi Liakhovetski #define CONFIG_NR_DRAM_BANKS	1
129*b5dc9b30SGuennadi Liakhovetski #define PHYS_SDRAM_1		CSD0_BASE
130*b5dc9b30SGuennadi Liakhovetski #define PHYS_SDRAM_1_SIZE	(128 * 1024 * 1024)
131*b5dc9b30SGuennadi Liakhovetski 
132*b5dc9b30SGuennadi Liakhovetski /*-----------------------------------------------------------------------
133*b5dc9b30SGuennadi Liakhovetski  * FLASH and environment organization
134*b5dc9b30SGuennadi Liakhovetski  */
135*b5dc9b30SGuennadi Liakhovetski #define CFG_FLASH_BASE		CS0_BASE
136*b5dc9b30SGuennadi Liakhovetski #define CFG_MAX_FLASH_BANKS	1		/* max number of memory banks */
137*b5dc9b30SGuennadi Liakhovetski #define CFG_MAX_FLASH_SECT	262		/* max number of sectors on one chip */
138*b5dc9b30SGuennadi Liakhovetski #define CFG_MONITOR_BASE	CFG_FLASH_BASE	/* Monitor at beginning of flash */
139*b5dc9b30SGuennadi Liakhovetski #define CFG_MONITOR_LEN		(128 * 1024)	/* Reserve 128KiB */
140*b5dc9b30SGuennadi Liakhovetski 
141*b5dc9b30SGuennadi Liakhovetski #define	CFG_ENV_IS_IN_FLASH	1
142*b5dc9b30SGuennadi Liakhovetski #define CFG_ENV_SECT_SIZE	(32 * 1024)
143*b5dc9b30SGuennadi Liakhovetski #define CFG_ENV_SIZE		CFG_ENV_SECT_SIZE
144*b5dc9b30SGuennadi Liakhovetski /* S29WS256N NOR flash has 4 32KiB small sectors at the beginning and at the end.
145*b5dc9b30SGuennadi Liakhovetski  * The rest of 32MiB is in 128KiB big sectors. U-Boot occupies the low 4 sectors,
146*b5dc9b30SGuennadi Liakhovetski  * if we put environment next to it, we will have to occupy 128KiB for it.
147*b5dc9b30SGuennadi Liakhovetski  * Putting it at the top of flash we use only 32KiB. */
148*b5dc9b30SGuennadi Liakhovetski #define CFG_ENV_ADDR		(CFG_MONITOR_BASE + 32 * 1024 * 1024 - CFG_ENV_SIZE)
149*b5dc9b30SGuennadi Liakhovetski 
150*b5dc9b30SGuennadi Liakhovetski /*-----------------------------------------------------------------------
151*b5dc9b30SGuennadi Liakhovetski  * CFI FLASH driver setup
152*b5dc9b30SGuennadi Liakhovetski  */
153*b5dc9b30SGuennadi Liakhovetski #define CFG_FLASH_CFI			1 /* Flash memory is CFI compliant */
154*b5dc9b30SGuennadi Liakhovetski #define CFG_FLASH_CFI_DRIVER		1 /* Use drivers/cfi_flash.c */
155*b5dc9b30SGuennadi Liakhovetski #if 0 /* Doesn't work yet, work in progress */
156*b5dc9b30SGuennadi Liakhovetski #define CFG_FLASH_USE_BUFFER_WRITE	1 /* Use buffered writes (~10x faster) */
157*b5dc9b30SGuennadi Liakhovetski #endif
158*b5dc9b30SGuennadi Liakhovetski #define CFG_FLASH_PROTECTION		1 /* Use hardware sector protection */
159*b5dc9b30SGuennadi Liakhovetski 
160*b5dc9b30SGuennadi Liakhovetski /*
161*b5dc9b30SGuennadi Liakhovetski  * JFFS2 partitions
162*b5dc9b30SGuennadi Liakhovetski  */
163*b5dc9b30SGuennadi Liakhovetski #undef CONFIG_JFFS2_CMDLINE
164*b5dc9b30SGuennadi Liakhovetski #define CONFIG_JFFS2_DEV	"nor0"
165*b5dc9b30SGuennadi Liakhovetski 
166*b5dc9b30SGuennadi Liakhovetski #endif /* __CONFIG_H */
167