xref: /OK3568_Linux_fs/u-boot/include/configs/zipitz2.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Aeronix Zipit Z2 configuration file
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Copyright (C) 2009-2010 Marek Vasut <marek.vasut@gmail.com>
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #ifndef __CONFIG_H
10*4882a593Smuzhiyun #define __CONFIG_H
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun /*
13*4882a593Smuzhiyun  * High Level Board Configuration Options
14*4882a593Smuzhiyun  */
15*4882a593Smuzhiyun #define	CONFIG_CPU_PXA27X		1	/* Marvell PXA270 CPU */
16*4882a593Smuzhiyun #define	CONFIG_SYS_TEXT_BASE		0x0
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #undef	CONFIG_SKIP_LOWLEVEL_INIT
19*4882a593Smuzhiyun #define	CONFIG_PREBOOT
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun /*
22*4882a593Smuzhiyun  * Environment settings
23*4882a593Smuzhiyun  */
24*4882a593Smuzhiyun #define	CONFIG_ENV_OVERWRITE
25*4882a593Smuzhiyun #define CONFIG_ENV_ADDR			0x40000
26*4882a593Smuzhiyun #define CONFIG_ENV_SIZE			0x10000
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #define	CONFIG_SYS_MALLOC_LEN		(128*1024)
29*4882a593Smuzhiyun #define	CONFIG_ARCH_CPU_INIT
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #define	CONFIG_BOOTCOMMAND						\
32*4882a593Smuzhiyun 	"if mmc rescan && ext2load mmc 0 0xa0000000 boot/uboot.script ;"\
33*4882a593Smuzhiyun 	"then "								\
34*4882a593Smuzhiyun 		"source 0xa0000000; "					\
35*4882a593Smuzhiyun 	"else "								\
36*4882a593Smuzhiyun 		"bootm 0x50000; "					\
37*4882a593Smuzhiyun 	"fi; "
38*4882a593Smuzhiyun #define	CONFIG_TIMESTAMP
39*4882a593Smuzhiyun #define	CONFIG_CMDLINE_TAG
40*4882a593Smuzhiyun #define	CONFIG_SETUP_MEMORY_TAGS
41*4882a593Smuzhiyun #define	CONFIG_SYS_TEXT_BASE		0x0
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun /*
44*4882a593Smuzhiyun  * Serial Console Configuration
45*4882a593Smuzhiyun  * STUART - the lower serial port on Colibri board
46*4882a593Smuzhiyun  */
47*4882a593Smuzhiyun #define	CONFIG_STUART			1
48*4882a593Smuzhiyun #define CONFIG_CONS_INDEX		2
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun /*
51*4882a593Smuzhiyun  * Bootloader Components Configuration
52*4882a593Smuzhiyun  */
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun /*
55*4882a593Smuzhiyun  * MMC Card Configuration
56*4882a593Smuzhiyun  */
57*4882a593Smuzhiyun #ifdef	CONFIG_CMD_MMC
58*4882a593Smuzhiyun #define	CONFIG_PXA_MMC_GENERIC
59*4882a593Smuzhiyun #define	CONFIG_SYS_MMC_BASE		0xF0000000
60*4882a593Smuzhiyun #endif
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun /*
63*4882a593Smuzhiyun  * SPI and LCD
64*4882a593Smuzhiyun  */
65*4882a593Smuzhiyun #ifdef	CONFIG_CMD_SPI
66*4882a593Smuzhiyun #define	CONFIG_SOFT_SPI
67*4882a593Smuzhiyun #define	CONFIG_LCD_ROTATION
68*4882a593Smuzhiyun #define	CONFIG_PXA_LCD
69*4882a593Smuzhiyun #define	CONFIG_LMS283GF05
70*4882a593Smuzhiyun 
71*4882a593Smuzhiyun #define	SPI_DELAY	udelay(10)
72*4882a593Smuzhiyun #define	SPI_SDA(val)	zipitz2_spi_sda(val)
73*4882a593Smuzhiyun #define	SPI_SCL(val)	zipitz2_spi_scl(val)
74*4882a593Smuzhiyun #define	SPI_READ	zipitz2_spi_read()
75*4882a593Smuzhiyun #ifndef	__ASSEMBLY__
76*4882a593Smuzhiyun void zipitz2_spi_sda(int);
77*4882a593Smuzhiyun void zipitz2_spi_scl(int);
78*4882a593Smuzhiyun unsigned char zipitz2_spi_read(void);
79*4882a593Smuzhiyun #endif
80*4882a593Smuzhiyun #endif
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun #define	CONFIG_SYS_LONGHELP				/* undef to save memory	*/
83*4882a593Smuzhiyun 
84*4882a593Smuzhiyun #define	CONFIG_SYS_DEVICE_NULLDEV	1
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun /*
87*4882a593Smuzhiyun  * Clock Configuration
88*4882a593Smuzhiyun  */
89*4882a593Smuzhiyun #define CONFIG_SYS_CPUSPEED		0x190		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */
90*4882a593Smuzhiyun 
91*4882a593Smuzhiyun /*
92*4882a593Smuzhiyun  * SRAM Map
93*4882a593Smuzhiyun  */
94*4882a593Smuzhiyun #define	PHYS_SRAM			0x5c000000	/* SRAM Bank #1 */
95*4882a593Smuzhiyun #define	PHYS_SRAM_SIZE			0x00040000	/* 256k */
96*4882a593Smuzhiyun 
97*4882a593Smuzhiyun /*
98*4882a593Smuzhiyun  * DRAM Map
99*4882a593Smuzhiyun  */
100*4882a593Smuzhiyun #define	CONFIG_NR_DRAM_BANKS		1		/* We have 1 bank of DRAM */
101*4882a593Smuzhiyun #define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
102*4882a593Smuzhiyun #define	PHYS_SDRAM_1_SIZE		0x02000000	/* 32 MB */
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun #define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
105*4882a593Smuzhiyun #define	CONFIG_SYS_DRAM_SIZE		0x02000000	/* 32 MB DRAM */
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
108*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun #define	CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_DRAM_BASE
111*4882a593Smuzhiyun 
112*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
113*4882a593Smuzhiyun #define	CONFIG_SYS_INIT_SP_ADDR		(GENERATED_GBL_DATA_SIZE + PHYS_SRAM + 2048)
114*4882a593Smuzhiyun 
115*4882a593Smuzhiyun /*
116*4882a593Smuzhiyun  * NOR FLASH
117*4882a593Smuzhiyun  */
118*4882a593Smuzhiyun #define PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
119*4882a593Smuzhiyun #define PHYS_FLASH_SIZE			0x00800000	/* 8 MB */
120*4882a593Smuzhiyun #define PHYS_FLASH_SECT_SIZE		0x00010000	/* 64 KB sectors */
121*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
122*4882a593Smuzhiyun 
123*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI
124*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER		1
125*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI_WIDTH      FLASH_CFI_16BIT
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE		PHYS_FLASH_1
128*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN		PHYS_FLASH_SECT_SIZE
129*4882a593Smuzhiyun 
130*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS	1
131*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT	256
132*4882a593Smuzhiyun 
133*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
134*4882a593Smuzhiyun 
135*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT	240000
136*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT	240000
137*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_LOCK_TOUT	240000
138*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_UNLOCK_TOUT	240000
139*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_PROTECTION
140*4882a593Smuzhiyun 
141*4882a593Smuzhiyun /*
142*4882a593Smuzhiyun  * GPIO settings
143*4882a593Smuzhiyun  */
144*4882a593Smuzhiyun #define CONFIG_SYS_GAFR0_L_VAL	0x02000140
145*4882a593Smuzhiyun #define CONFIG_SYS_GAFR0_U_VAL	0x59188000
146*4882a593Smuzhiyun #define CONFIG_SYS_GAFR1_L_VAL	0x63900002
147*4882a593Smuzhiyun #define CONFIG_SYS_GAFR1_U_VAL	0xaaa03950
148*4882a593Smuzhiyun #define CONFIG_SYS_GAFR2_L_VAL	0x0aaaaaaa
149*4882a593Smuzhiyun #define CONFIG_SYS_GAFR2_U_VAL	0x29000308
150*4882a593Smuzhiyun #define CONFIG_SYS_GAFR3_L_VAL	0x54000000
151*4882a593Smuzhiyun #define CONFIG_SYS_GAFR3_U_VAL	0x000000d5
152*4882a593Smuzhiyun #define CONFIG_SYS_GPCR0_VAL	0x00000000
153*4882a593Smuzhiyun #define CONFIG_SYS_GPCR1_VAL	0x00000020
154*4882a593Smuzhiyun #define CONFIG_SYS_GPCR2_VAL	0x00000000
155*4882a593Smuzhiyun #define CONFIG_SYS_GPCR3_VAL	0x00000000
156*4882a593Smuzhiyun #define CONFIG_SYS_GPDR0_VAL	0xdafcee00
157*4882a593Smuzhiyun #define CONFIG_SYS_GPDR1_VAL	0xffa3aaab
158*4882a593Smuzhiyun #define CONFIG_SYS_GPDR2_VAL	0x8fe9ffff
159*4882a593Smuzhiyun #define CONFIG_SYS_GPDR3_VAL	0x001b1f8a
160*4882a593Smuzhiyun #define CONFIG_SYS_GPSR0_VAL	0x06080400
161*4882a593Smuzhiyun #define CONFIG_SYS_GPSR1_VAL	0x007f0000
162*4882a593Smuzhiyun #define CONFIG_SYS_GPSR2_VAL	0x032a0000
163*4882a593Smuzhiyun #define CONFIG_SYS_GPSR3_VAL	0x00000180
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun #define CONFIG_SYS_PSSR_VAL	0x30
166*4882a593Smuzhiyun 
167*4882a593Smuzhiyun /*
168*4882a593Smuzhiyun  * Clock settings
169*4882a593Smuzhiyun  */
170*4882a593Smuzhiyun #define CONFIG_SYS_CKEN		0x00511220
171*4882a593Smuzhiyun #define CONFIG_SYS_CCCR		0x00000190
172*4882a593Smuzhiyun 
173*4882a593Smuzhiyun /*
174*4882a593Smuzhiyun  * Memory settings
175*4882a593Smuzhiyun  */
176*4882a593Smuzhiyun #define CONFIG_SYS_MSC0_VAL	0x2ffc38f8
177*4882a593Smuzhiyun #define CONFIG_SYS_MSC1_VAL	0x0000ccd1
178*4882a593Smuzhiyun #define CONFIG_SYS_MSC2_VAL	0x0000b884
179*4882a593Smuzhiyun #define CONFIG_SYS_MDCNFG_VAL	0x08000ba9
180*4882a593Smuzhiyun #define CONFIG_SYS_MDREFR_VAL	0x2011a01e
181*4882a593Smuzhiyun #define CONFIG_SYS_MDMRS_VAL	0x00000000
182*4882a593Smuzhiyun #define CONFIG_SYS_FLYCNFG_VAL	0x00010001
183*4882a593Smuzhiyun #define CONFIG_SYS_SXCNFG_VAL	0x40044004
184*4882a593Smuzhiyun 
185*4882a593Smuzhiyun /*
186*4882a593Smuzhiyun  * PCMCIA and CF Interfaces
187*4882a593Smuzhiyun  */
188*4882a593Smuzhiyun #define CONFIG_SYS_MECR_VAL	0x00000001
189*4882a593Smuzhiyun #define CONFIG_SYS_MCMEM0_VAL	0x00014307
190*4882a593Smuzhiyun #define CONFIG_SYS_MCMEM1_VAL	0x00014307
191*4882a593Smuzhiyun #define CONFIG_SYS_MCATT0_VAL	0x0001c787
192*4882a593Smuzhiyun #define CONFIG_SYS_MCATT1_VAL	0x0001c787
193*4882a593Smuzhiyun #define CONFIG_SYS_MCIO0_VAL	0x0001430f
194*4882a593Smuzhiyun #define CONFIG_SYS_MCIO1_VAL	0x0001430f
195*4882a593Smuzhiyun 
196*4882a593Smuzhiyun #include "pxa-common.h"
197*4882a593Smuzhiyun 
198*4882a593Smuzhiyun #endif	/* __CONFIG_H */
199