xref: /rk3399_rockchip-uboot/include/configs/MPC8323ERDB.h (revision 1c274c4e05b6dc9b24edc8aa618b02f607ee6eed)
1*1c274c4eSKim Phillips /*
2*1c274c4eSKim Phillips  * Copyright (C) 2007 Freescale Semiconductor, Inc.
3*1c274c4eSKim Phillips  *
4*1c274c4eSKim Phillips  * This program is free software; you can redistribute it and/or modify it
5*1c274c4eSKim Phillips  * under the terms of the GNU General Public License version 2 as published
6*1c274c4eSKim Phillips  * by the Free Software Foundation.
7*1c274c4eSKim Phillips  */
8*1c274c4eSKim Phillips 
9*1c274c4eSKim Phillips #ifndef __CONFIG_H
10*1c274c4eSKim Phillips #define __CONFIG_H
11*1c274c4eSKim Phillips 
12*1c274c4eSKim Phillips #undef DEBUG
13*1c274c4eSKim Phillips 
14*1c274c4eSKim Phillips /*
15*1c274c4eSKim Phillips  * High Level Configuration Options
16*1c274c4eSKim Phillips  */
17*1c274c4eSKim Phillips #define CONFIG_E300		1	/* E300 family */
18*1c274c4eSKim Phillips #define CONFIG_QE		1	/* Has QE */
19*1c274c4eSKim Phillips #define CONFIG_MPC83XX		1	/* MPC83xx family */
20*1c274c4eSKim Phillips #define CONFIG_MPC832X		1	/* MPC832x CPU specific */
21*1c274c4eSKim Phillips 
22*1c274c4eSKim Phillips #define CONFIG_PCI		1
23*1c274c4eSKim Phillips #define CONFIG_83XX_GENERIC_PCI	1
24*1c274c4eSKim Phillips 
25*1c274c4eSKim Phillips /*
26*1c274c4eSKim Phillips  * System Clock Setup
27*1c274c4eSKim Phillips  */
28*1c274c4eSKim Phillips #define CONFIG_83XX_CLKIN	66666667	/* in Hz */
29*1c274c4eSKim Phillips 
30*1c274c4eSKim Phillips #ifndef CONFIG_SYS_CLK_FREQ
31*1c274c4eSKim Phillips #define CONFIG_SYS_CLK_FREQ	CONFIG_83XX_CLKIN
32*1c274c4eSKim Phillips #endif
33*1c274c4eSKim Phillips 
34*1c274c4eSKim Phillips /*
35*1c274c4eSKim Phillips  * Hardware Reset Configuration Word
36*1c274c4eSKim Phillips  */
37*1c274c4eSKim Phillips #define CFG_HRCW_LOW (\
38*1c274c4eSKim Phillips 	HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\
39*1c274c4eSKim Phillips 	HRCWL_DDR_TO_SCB_CLK_2X1 |\
40*1c274c4eSKim Phillips 	HRCWL_VCO_1X2 |\
41*1c274c4eSKim Phillips 	HRCWL_CSB_TO_CLKIN_2X1 |\
42*1c274c4eSKim Phillips 	HRCWL_CORE_TO_CSB_2_5X1 |\
43*1c274c4eSKim Phillips 	HRCWL_CE_PLL_VCO_DIV_2 |\
44*1c274c4eSKim Phillips 	HRCWL_CE_PLL_DIV_1X1 |\
45*1c274c4eSKim Phillips 	HRCWL_CE_TO_PLL_1X3)
46*1c274c4eSKim Phillips 
47*1c274c4eSKim Phillips #define CFG_HRCW_HIGH (\
48*1c274c4eSKim Phillips 	HRCWH_PCI_HOST |\
49*1c274c4eSKim Phillips 	HRCWH_PCI1_ARBITER_ENABLE |\
50*1c274c4eSKim Phillips 	HRCWH_CORE_ENABLE |\
51*1c274c4eSKim Phillips 	HRCWH_FROM_0X00000100 |\
52*1c274c4eSKim Phillips 	HRCWH_BOOTSEQ_DISABLE |\
53*1c274c4eSKim Phillips 	HRCWH_SW_WATCHDOG_DISABLE |\
54*1c274c4eSKim Phillips 	HRCWH_ROM_LOC_LOCAL_16BIT |\
55*1c274c4eSKim Phillips 	HRCWH_BIG_ENDIAN |\
56*1c274c4eSKim Phillips 	HRCWH_LALE_NORMAL)
57*1c274c4eSKim Phillips 
58*1c274c4eSKim Phillips /*
59*1c274c4eSKim Phillips  * System IO Config
60*1c274c4eSKim Phillips  */
61*1c274c4eSKim Phillips #define CFG_SICRL		0x00000000
62*1c274c4eSKim Phillips 
63*1c274c4eSKim Phillips #define CONFIG_BOARD_EARLY_INIT_F	/* call board_pre_init */
64*1c274c4eSKim Phillips 
65*1c274c4eSKim Phillips /*
66*1c274c4eSKim Phillips  * IMMR new address
67*1c274c4eSKim Phillips  */
68*1c274c4eSKim Phillips #define CFG_IMMR		0xE0000000
69*1c274c4eSKim Phillips 
70*1c274c4eSKim Phillips /*
71*1c274c4eSKim Phillips  * DDR Setup
72*1c274c4eSKim Phillips  */
73*1c274c4eSKim Phillips #define CFG_DDR_BASE		0x00000000	/* DDR is system memory */
74*1c274c4eSKim Phillips #define CFG_SDRAM_BASE		CFG_DDR_BASE
75*1c274c4eSKim Phillips #define CFG_DDR_SDRAM_BASE	CFG_DDR_BASE
76*1c274c4eSKim Phillips #define CFG_DDRCDR		0x73000002	/* DDR II voltage is 1.8V */
77*1c274c4eSKim Phillips 
78*1c274c4eSKim Phillips #undef CONFIG_SPD_EEPROM
79*1c274c4eSKim Phillips #if defined(CONFIG_SPD_EEPROM)
80*1c274c4eSKim Phillips /* Determine DDR configuration from I2C interface
81*1c274c4eSKim Phillips  */
82*1c274c4eSKim Phillips #define SPD_EEPROM_ADDRESS	0x51	/* DDR SODIMM */
83*1c274c4eSKim Phillips #else
84*1c274c4eSKim Phillips /* Manually set up DDR parameters
85*1c274c4eSKim Phillips  */
86*1c274c4eSKim Phillips #define CFG_DDR_SIZE		64	/* MB */
87*1c274c4eSKim Phillips #define CFG_DDR_CS0_CONFIG	0x80840101
88*1c274c4eSKim Phillips #define CFG_DDR_TIMING_0	0x00220802
89*1c274c4eSKim Phillips #define CFG_DDR_TIMING_1	0x3935d322
90*1c274c4eSKim Phillips #define CFG_DDR_TIMING_2	0x0f9048ca
91*1c274c4eSKim Phillips #define CFG_DDR_TIMING_3	0x00000000
92*1c274c4eSKim Phillips #define CFG_DDR_CLK_CNTL	0x02000000
93*1c274c4eSKim Phillips #define CFG_DDR_MODE		0x44400232
94*1c274c4eSKim Phillips #define CFG_DDR_MODE2		0x8000c000
95*1c274c4eSKim Phillips #define CFG_DDR_INTERVAL	0x03200064
96*1c274c4eSKim Phillips #define CFG_DDR_CS0_BNDS	0x00000003
97*1c274c4eSKim Phillips #define CFG_DDR_SDRAM_CFG	0x43080000
98*1c274c4eSKim Phillips #define CFG_DDR_SDRAM_CFG2	0x00401000
99*1c274c4eSKim Phillips #endif
100*1c274c4eSKim Phillips 
101*1c274c4eSKim Phillips /*
102*1c274c4eSKim Phillips  * Memory test
103*1c274c4eSKim Phillips  */
104*1c274c4eSKim Phillips #undef CFG_DRAM_TEST		/* memory test, takes time */
105*1c274c4eSKim Phillips #define CFG_MEMTEST_START	0x00030000	/* memtest region */
106*1c274c4eSKim Phillips #define CFG_MEMTEST_END		0x03f00000
107*1c274c4eSKim Phillips 
108*1c274c4eSKim Phillips /*
109*1c274c4eSKim Phillips  * The reserved memory
110*1c274c4eSKim Phillips  */
111*1c274c4eSKim Phillips #define CFG_MONITOR_BASE	TEXT_BASE	/* start of monitor */
112*1c274c4eSKim Phillips 
113*1c274c4eSKim Phillips #if (CFG_MONITOR_BASE < CFG_FLASH_BASE)
114*1c274c4eSKim Phillips #define CFG_RAMBOOT
115*1c274c4eSKim Phillips #else
116*1c274c4eSKim Phillips #undef  CFG_RAMBOOT
117*1c274c4eSKim Phillips #endif
118*1c274c4eSKim Phillips 
119*1c274c4eSKim Phillips #define CFG_MONITOR_LEN		(256 * 1024)	/* Reserve 256 kB for Mon */
120*1c274c4eSKim Phillips #define CFG_MALLOC_LEN		(128 * 1024)	/* Reserved for malloc */
121*1c274c4eSKim Phillips 
122*1c274c4eSKim Phillips /*
123*1c274c4eSKim Phillips  * Initial RAM Base Address Setup
124*1c274c4eSKim Phillips  */
125*1c274c4eSKim Phillips #define CFG_INIT_RAM_LOCK	1
126*1c274c4eSKim Phillips #define CFG_INIT_RAM_ADDR	0xE6000000	/* Initial RAM address */
127*1c274c4eSKim Phillips #define CFG_INIT_RAM_END	0x1000		/* End of used area in RAM */
128*1c274c4eSKim Phillips #define CFG_GBL_DATA_SIZE	0x100		/* num bytes initial data */
129*1c274c4eSKim Phillips #define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
130*1c274c4eSKim Phillips 
131*1c274c4eSKim Phillips /*
132*1c274c4eSKim Phillips  * Local Bus Configuration & Clock Setup
133*1c274c4eSKim Phillips  */
134*1c274c4eSKim Phillips #define CFG_LCRR		(LCRR_DBYP | LCRR_CLKDIV_2)
135*1c274c4eSKim Phillips #define CFG_LBC_LBCR		0x00000000
136*1c274c4eSKim Phillips 
137*1c274c4eSKim Phillips /*
138*1c274c4eSKim Phillips  * FLASH on the Local Bus
139*1c274c4eSKim Phillips  */
140*1c274c4eSKim Phillips #define CFG_FLASH_CFI		/* use the Common Flash Interface */
141*1c274c4eSKim Phillips #define CFG_FLASH_CFI_DRIVER	/* use the CFI driver */
142*1c274c4eSKim Phillips #define CFG_FLASH_BASE		0xFE000000	/* FLASH base address */
143*1c274c4eSKim Phillips #define CFG_FLASH_SIZE		16	/* FLASH size is 16M */
144*1c274c4eSKim Phillips 
145*1c274c4eSKim Phillips #define CFG_LBLAWBAR0_PRELIM	CFG_FLASH_BASE	/* Window base at flash base */
146*1c274c4eSKim Phillips #define CFG_LBLAWAR0_PRELIM	0x80000018	/* 32MB window size */
147*1c274c4eSKim Phillips 
148*1c274c4eSKim Phillips #define CFG_BR0_PRELIM	(CFG_FLASH_BASE |	/* Flash Base address */ \
149*1c274c4eSKim Phillips 			(2 << BR_PS_SHIFT) |	/* 16 bit port size */ \
150*1c274c4eSKim Phillips 			BR_V)			/* valid */
151*1c274c4eSKim Phillips #define CFG_OR0_PRELIM		0xfe006ff7	/* 16MB Flash size */
152*1c274c4eSKim Phillips 
153*1c274c4eSKim Phillips #define CFG_MAX_FLASH_BANKS	1		/* number of banks */
154*1c274c4eSKim Phillips #define CFG_MAX_FLASH_SECT	128		/* sectors per device */
155*1c274c4eSKim Phillips 
156*1c274c4eSKim Phillips #undef CFG_FLASH_CHECKSUM
157*1c274c4eSKim Phillips 
158*1c274c4eSKim Phillips /*
159*1c274c4eSKim Phillips  * SDRAM on the Local Bus
160*1c274c4eSKim Phillips  */
161*1c274c4eSKim Phillips #undef CFG_LB_SDRAM		/* The board has not SRDAM on local bus */
162*1c274c4eSKim Phillips 
163*1c274c4eSKim Phillips #ifdef CFG_LB_SDRAM
164*1c274c4eSKim Phillips #define CFG_LBC_SDRAM_BASE	0xF0000000	/* SDRAM base address */
165*1c274c4eSKim Phillips #define CFG_LBC_SDRAM_SIZE	64		/* LBC SDRAM is 64MB */
166*1c274c4eSKim Phillips 
167*1c274c4eSKim Phillips #define CFG_LBLAWBAR2_PRELIM	CFG_LBC_SDRAM_BASE
168*1c274c4eSKim Phillips #define CFG_LBLAWAR2_PRELIM	0x80000019	/* 64MB */
169*1c274c4eSKim Phillips 
170*1c274c4eSKim Phillips /*local bus BR2, OR2 definition for SDRAM if soldered on the EPB board */
171*1c274c4eSKim Phillips /*
172*1c274c4eSKim Phillips  * Base Register 2 and Option Register 2 configure SDRAM.
173*1c274c4eSKim Phillips  * The SDRAM base address, CFG_LBC_SDRAM_BASE, is 0xf0000000.
174*1c274c4eSKim Phillips  *
175*1c274c4eSKim Phillips  * For BR2, need:
176*1c274c4eSKim Phillips  *    Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0
177*1c274c4eSKim Phillips  *    port size = 32-bits = BR2[19:20] = 11
178*1c274c4eSKim Phillips  *    no parity checking = BR2[21:22] = 00
179*1c274c4eSKim Phillips  *    SDRAM for MSEL = BR2[24:26] = 011
180*1c274c4eSKim Phillips  *    Valid = BR[31] = 1
181*1c274c4eSKim Phillips  *
182*1c274c4eSKim Phillips  * 0    4    8    12   16   20   24   28
183*1c274c4eSKim Phillips  * 1111 0000 0000 0000 0001 1000 0110 0001 = f0001861
184*1c274c4eSKim Phillips  *
185*1c274c4eSKim Phillips  * CFG_LBC_SDRAM_BASE should be masked and OR'ed into
186*1c274c4eSKim Phillips  * the top 17 bits of BR2.
187*1c274c4eSKim Phillips  */
188*1c274c4eSKim Phillips 
189*1c274c4eSKim Phillips #define CFG_BR2_PRELIM	0xf0001861	/*Port size=32bit, MSEL=SDRAM */
190*1c274c4eSKim Phillips 
191*1c274c4eSKim Phillips /*
192*1c274c4eSKim Phillips  * The SDRAM size in MB, CFG_LBC_SDRAM_SIZE, is 64.
193*1c274c4eSKim Phillips  *
194*1c274c4eSKim Phillips  * For OR2, need:
195*1c274c4eSKim Phillips  *    64MB mask for AM, OR2[0:7] = 1111 1100
196*1c274c4eSKim Phillips  *                 XAM, OR2[17:18] = 11
197*1c274c4eSKim Phillips  *    9 columns OR2[19-21] = 010
198*1c274c4eSKim Phillips  *    13 rows   OR2[23-25] = 100
199*1c274c4eSKim Phillips  *    EAD set for extra time OR[31] = 1
200*1c274c4eSKim Phillips  *
201*1c274c4eSKim Phillips  * 0    4    8    12   16   20   24   28
202*1c274c4eSKim Phillips  * 1111 1100 0000 0000 0110 1001 0000 0001 = fc006901
203*1c274c4eSKim Phillips  */
204*1c274c4eSKim Phillips 
205*1c274c4eSKim Phillips #define CFG_OR2_PRELIM	0xfc006901
206*1c274c4eSKim Phillips 
207*1c274c4eSKim Phillips #define CFG_LBC_LSRT	0x32000000	/* LB sdram refresh timer, about 6us */
208*1c274c4eSKim Phillips #define CFG_LBC_MRTPR	0x20000000	/* LB refresh timer prescal, 266MHz/32 */
209*1c274c4eSKim Phillips 
210*1c274c4eSKim Phillips /*
211*1c274c4eSKim Phillips  * LSDMR masks
212*1c274c4eSKim Phillips  */
213*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_NORMAL	(0 << (31 - 4))
214*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_ARFRSH	(1 << (31 - 4))
215*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_SRFRSH	(2 << (31 - 4))
216*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_MRW	(3 << (31 - 4))
217*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_PRECH	(4 << (31 - 4))
218*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_PCHALL	(5 << (31 - 4))
219*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_ACTBNK	(6 << (31 - 4))
220*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_RWINV	(7 << (31 - 4))
221*1c274c4eSKim Phillips 
222*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_COMMON	0x0063b723
223*1c274c4eSKim Phillips 
224*1c274c4eSKim Phillips /*
225*1c274c4eSKim Phillips  * SDRAM Controller configuration sequence.
226*1c274c4eSKim Phillips  */
227*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_1		( CFG_LBC_LSDMR_COMMON \
228*1c274c4eSKim Phillips 				| CFG_LBC_LSDMR_OP_PCHALL)
229*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_2		( CFG_LBC_LSDMR_COMMON \
230*1c274c4eSKim Phillips 				| CFG_LBC_LSDMR_OP_ARFRSH)
231*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_3		( CFG_LBC_LSDMR_COMMON \
232*1c274c4eSKim Phillips 				| CFG_LBC_LSDMR_OP_ARFRSH)
233*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_4		( CFG_LBC_LSDMR_COMMON \
234*1c274c4eSKim Phillips 				| CFG_LBC_LSDMR_OP_MRW)
235*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_5		( CFG_LBC_LSDMR_COMMON \
236*1c274c4eSKim Phillips 				| CFG_LBC_LSDMR_OP_NORMAL)
237*1c274c4eSKim Phillips 
238*1c274c4eSKim Phillips #endif
239*1c274c4eSKim Phillips 
240*1c274c4eSKim Phillips /*
241*1c274c4eSKim Phillips  * Windows to access PIB via local bus
242*1c274c4eSKim Phillips  */
243*1c274c4eSKim Phillips #define CFG_LBLAWBAR3_PRELIM	0xf8008000	/* windows base 0xf8008000 */
244*1c274c4eSKim Phillips #define CFG_LBLAWAR3_PRELIM	0x8000000f	/* windows size 64KB */
245*1c274c4eSKim Phillips 
246*1c274c4eSKim Phillips /*
247*1c274c4eSKim Phillips  * Serial Port
248*1c274c4eSKim Phillips  */
249*1c274c4eSKim Phillips #define CONFIG_CONS_INDEX	1
250*1c274c4eSKim Phillips #undef CONFIG_SERIAL_SOFTWARE_FIFO
251*1c274c4eSKim Phillips #define CFG_NS16550
252*1c274c4eSKim Phillips #define CFG_NS16550_SERIAL
253*1c274c4eSKim Phillips #define CFG_NS16550_REG_SIZE	1
254*1c274c4eSKim Phillips #define CFG_NS16550_CLK		get_bus_freq(0)
255*1c274c4eSKim Phillips 
256*1c274c4eSKim Phillips #define CFG_BAUDRATE_TABLE  \
257*1c274c4eSKim Phillips 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
258*1c274c4eSKim Phillips 
259*1c274c4eSKim Phillips #define CFG_NS16550_COM1	(CFG_IMMR+0x4500)
260*1c274c4eSKim Phillips #define CFG_NS16550_COM2	(CFG_IMMR+0x4600)
261*1c274c4eSKim Phillips 
262*1c274c4eSKim Phillips #define CONFIG_CMDLINE_EDITING	1	/* add command line history */
263*1c274c4eSKim Phillips /* Use the HUSH parser */
264*1c274c4eSKim Phillips #define CFG_HUSH_PARSER
265*1c274c4eSKim Phillips #ifdef CFG_HUSH_PARSER
266*1c274c4eSKim Phillips #define CFG_PROMPT_HUSH_PS2 "> "
267*1c274c4eSKim Phillips #endif
268*1c274c4eSKim Phillips 
269*1c274c4eSKim Phillips /* pass open firmware flat tree */
270*1c274c4eSKim Phillips #define CONFIG_OF_LIBFDT	1
271*1c274c4eSKim Phillips #define CONFIG_OF_BOARD_SETUP	1
272*1c274c4eSKim Phillips 
273*1c274c4eSKim Phillips #define OF_CPU			"PowerPC,8323@0"
274*1c274c4eSKim Phillips #define OF_SOC			"soc8323@e0000000"
275*1c274c4eSKim Phillips #define OF_QE			"qe@e0100000"
276*1c274c4eSKim Phillips #define OF_TBCLK		(bd->bi_busfreq / 4)
277*1c274c4eSKim Phillips #define OF_STDOUT_PATH		"/soc8323@e0000000/serial@4500"
278*1c274c4eSKim Phillips 
279*1c274c4eSKim Phillips /* I2C */
280*1c274c4eSKim Phillips #define CONFIG_HARD_I2C		/* I2C with hardware support */
281*1c274c4eSKim Phillips #undef CONFIG_SOFT_I2C		/* I2C bit-banged */
282*1c274c4eSKim Phillips #define CONFIG_FSL_I2C
283*1c274c4eSKim Phillips #define CFG_I2C_SPEED	400000	/* I2C speed and slave address */
284*1c274c4eSKim Phillips #define CFG_I2C_SLAVE	0x7F
285*1c274c4eSKim Phillips #define CFG_I2C_NOPROBES	{0x51}	/* Don't probe these addrs */
286*1c274c4eSKim Phillips #define CFG_I2C_OFFSET	0x3000
287*1c274c4eSKim Phillips 
288*1c274c4eSKim Phillips /*
289*1c274c4eSKim Phillips  * Config on-board RTC
290*1c274c4eSKim Phillips  */
291*1c274c4eSKim Phillips #define CONFIG_RTC_DS1374		/* use ds1374 rtc via i2c */
292*1c274c4eSKim Phillips #define CFG_I2C_RTC_ADDR	0x68	/* at address 0x68 */
293*1c274c4eSKim Phillips 
294*1c274c4eSKim Phillips /*
295*1c274c4eSKim Phillips  * General PCI
296*1c274c4eSKim Phillips  * Addresses are mapped 1-1.
297*1c274c4eSKim Phillips  */
298*1c274c4eSKim Phillips #define CFG_PCI1_MEM_BASE	0x80000000
299*1c274c4eSKim Phillips #define CFG_PCI1_MEM_PHYS	CFG_PCI1_MEM_BASE
300*1c274c4eSKim Phillips #define CFG_PCI1_MEM_SIZE	0x10000000	/* 256M */
301*1c274c4eSKim Phillips #define CFG_PCI1_MMIO_BASE	0x90000000
302*1c274c4eSKim Phillips #define CFG_PCI1_MMIO_PHYS	CFG_PCI1_MMIO_BASE
303*1c274c4eSKim Phillips #define CFG_PCI1_MMIO_SIZE	0x10000000	/* 256M */
304*1c274c4eSKim Phillips #define CFG_PCI1_IO_BASE		0xd0000000
305*1c274c4eSKim Phillips #define CFG_PCI1_IO_PHYS		CFG_PCI1_IO_BASE
306*1c274c4eSKim Phillips #define CFG_PCI1_IO_SIZE		0x04000000	/* 64M */
307*1c274c4eSKim Phillips 
308*1c274c4eSKim Phillips #ifdef CONFIG_PCI
309*1c274c4eSKim Phillips 
310*1c274c4eSKim Phillips #define CONFIG_NET_MULTI
311*1c274c4eSKim Phillips #define CONFIG_PCI_PNP		/* do pci plug-and-play */
312*1c274c4eSKim Phillips 
313*1c274c4eSKim Phillips #undef CONFIG_EEPRO100
314*1c274c4eSKim Phillips #undef CONFIG_PCI_SCAN_SHOW	/* show pci devices on startup */
315*1c274c4eSKim Phillips #define CFG_PCI_SUBSYS_VENDORID	0x1957	/* Freescale */
316*1c274c4eSKim Phillips 
317*1c274c4eSKim Phillips #endif	/* CONFIG_PCI */
318*1c274c4eSKim Phillips 
319*1c274c4eSKim Phillips 
320*1c274c4eSKim Phillips #ifndef CONFIG_NET_MULTI
321*1c274c4eSKim Phillips #define CONFIG_NET_MULTI	1
322*1c274c4eSKim Phillips #endif
323*1c274c4eSKim Phillips 
324*1c274c4eSKim Phillips /*
325*1c274c4eSKim Phillips  * QE UEC ethernet configuration
326*1c274c4eSKim Phillips  */
327*1c274c4eSKim Phillips #define CONFIG_UEC_ETH
328*1c274c4eSKim Phillips #define CONFIG_ETHPRIME		"Freescale GETH"
329*1c274c4eSKim Phillips 
330*1c274c4eSKim Phillips #define CONFIG_UEC_ETH1		/* ETH3 */
331*1c274c4eSKim Phillips 
332*1c274c4eSKim Phillips #ifdef CONFIG_UEC_ETH1
333*1c274c4eSKim Phillips #define CFG_UEC1_UCC_NUM	2	/* UCC3 */
334*1c274c4eSKim Phillips #define CFG_UEC1_RX_CLK		QE_CLK9
335*1c274c4eSKim Phillips #define CFG_UEC1_TX_CLK		QE_CLK10
336*1c274c4eSKim Phillips #define CFG_UEC1_ETH_TYPE	FAST_ETH
337*1c274c4eSKim Phillips #define CFG_UEC1_PHY_ADDR	4
338*1c274c4eSKim Phillips #define CFG_UEC1_INTERFACE_MODE	ENET_100_MII
339*1c274c4eSKim Phillips #endif
340*1c274c4eSKim Phillips 
341*1c274c4eSKim Phillips #define CONFIG_UEC_ETH2		/* ETH4 */
342*1c274c4eSKim Phillips 
343*1c274c4eSKim Phillips #ifdef CONFIG_UEC_ETH2
344*1c274c4eSKim Phillips #define CFG_UEC2_UCC_NUM	1	/* UCC2 */
345*1c274c4eSKim Phillips #define CFG_UEC2_RX_CLK		QE_CLK16
346*1c274c4eSKim Phillips #define CFG_UEC2_TX_CLK		QE_CLK3
347*1c274c4eSKim Phillips #define CFG_UEC2_ETH_TYPE	FAST_ETH
348*1c274c4eSKim Phillips #define CFG_UEC2_PHY_ADDR	0
349*1c274c4eSKim Phillips #define CFG_UEC2_INTERFACE_MODE	ENET_100_MII
350*1c274c4eSKim Phillips #endif
351*1c274c4eSKim Phillips 
352*1c274c4eSKim Phillips /*
353*1c274c4eSKim Phillips  * Environment
354*1c274c4eSKim Phillips  */
355*1c274c4eSKim Phillips #ifndef CFG_RAMBOOT
356*1c274c4eSKim Phillips 	#define CFG_ENV_IS_IN_FLASH	1
357*1c274c4eSKim Phillips 	#define CFG_ENV_ADDR		(CFG_MONITOR_BASE + 0x40000)
358*1c274c4eSKim Phillips 	#define CFG_ENV_SECT_SIZE	0x40000	/* 256K(one sector) for env */
359*1c274c4eSKim Phillips 	#define CFG_ENV_SIZE		0x2000
360*1c274c4eSKim Phillips #else
361*1c274c4eSKim Phillips 	#define CFG_NO_FLASH		1	/* Flash is not usable now */
362*1c274c4eSKim Phillips 	#define CFG_ENV_IS_NOWHERE	1	/* Store ENV in memory only */
363*1c274c4eSKim Phillips 	#define CFG_ENV_ADDR		(CFG_MONITOR_BASE - 0x1000)
364*1c274c4eSKim Phillips 	#define CFG_ENV_SIZE		0x2000
365*1c274c4eSKim Phillips #endif
366*1c274c4eSKim Phillips 
367*1c274c4eSKim Phillips #define CONFIG_LOADS_ECHO	1	/* echo on for serial download */
368*1c274c4eSKim Phillips #define CFG_LOADS_BAUD_CHANGE	1	/* allow baudrate change */
369*1c274c4eSKim Phillips 
370*1c274c4eSKim Phillips /*
371*1c274c4eSKim Phillips  * BOOTP options
372*1c274c4eSKim Phillips  */
373*1c274c4eSKim Phillips #define CONFIG_BOOTP_BOOTFILESIZE
374*1c274c4eSKim Phillips #define CONFIG_BOOTP_BOOTPATH
375*1c274c4eSKim Phillips #define CONFIG_BOOTP_GATEWAY
376*1c274c4eSKim Phillips #define CONFIG_BOOTP_HOSTNAME
377*1c274c4eSKim Phillips 
378*1c274c4eSKim Phillips /*
379*1c274c4eSKim Phillips  * Command line configuration.
380*1c274c4eSKim Phillips  */
381*1c274c4eSKim Phillips #include <config_cmd_default.h>
382*1c274c4eSKim Phillips 
383*1c274c4eSKim Phillips #define CONFIG_CMD_PING
384*1c274c4eSKim Phillips #define CONFIG_CMD_I2C
385*1c274c4eSKim Phillips #define CONFIG_CMD_ASKENV
386*1c274c4eSKim Phillips 
387*1c274c4eSKim Phillips #if defined(CONFIG_PCI)
388*1c274c4eSKim Phillips 	#define CONFIG_CMD_PCI
389*1c274c4eSKim Phillips #endif
390*1c274c4eSKim Phillips #if defined(CFG_RAMBOOT)
391*1c274c4eSKim Phillips 	#undef CONFIG_CMD_ENV
392*1c274c4eSKim Phillips 	#undef CONFIG_CMD_LOADS
393*1c274c4eSKim Phillips #endif
394*1c274c4eSKim Phillips 
395*1c274c4eSKim Phillips #undef CONFIG_WATCHDOG		/* watchdog disabled */
396*1c274c4eSKim Phillips 
397*1c274c4eSKim Phillips /*
398*1c274c4eSKim Phillips  * Miscellaneous configurable options
399*1c274c4eSKim Phillips  */
400*1c274c4eSKim Phillips #define CFG_LONGHELP		/* undef to save memory */
401*1c274c4eSKim Phillips #define CFG_LOAD_ADDR		0x2000000	/* default load address */
402*1c274c4eSKim Phillips #define CFG_PROMPT		"=> "	/* Monitor Command Prompt */
403*1c274c4eSKim Phillips 
404*1c274c4eSKim Phillips #if (CONFIG_CMD_KGDB)
405*1c274c4eSKim Phillips 	#define CFG_CBSIZE	1024	/* Console I/O Buffer Size */
406*1c274c4eSKim Phillips #else
407*1c274c4eSKim Phillips 	#define CFG_CBSIZE	256	/* Console I/O Buffer Size */
408*1c274c4eSKim Phillips #endif
409*1c274c4eSKim Phillips 
410*1c274c4eSKim Phillips #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)	/* Print Buffer Size */
411*1c274c4eSKim Phillips #define CFG_MAXARGS	16		/* max number of command args */
412*1c274c4eSKim Phillips #define CFG_BARGSIZE	CFG_CBSIZE	/* Boot Argument Buffer Size */
413*1c274c4eSKim Phillips #define CFG_HZ		1000		/* decrementer freq: 1ms ticks */
414*1c274c4eSKim Phillips 
415*1c274c4eSKim Phillips /*
416*1c274c4eSKim Phillips  * For booting Linux, the board info and command line data
417*1c274c4eSKim Phillips  * have to be in the first 8 MB of memory, since this is
418*1c274c4eSKim Phillips  * the maximum mapped by the Linux kernel during initialization.
419*1c274c4eSKim Phillips  */
420*1c274c4eSKim Phillips #define CFG_BOOTMAPSZ		(8 << 20)	/* Initial Memory map for Linux */
421*1c274c4eSKim Phillips 
422*1c274c4eSKim Phillips /*
423*1c274c4eSKim Phillips  * Core HID Setup
424*1c274c4eSKim Phillips  */
425*1c274c4eSKim Phillips #define CFG_HID0_INIT		0x000000000
426*1c274c4eSKim Phillips #define CFG_HID0_FINAL		HID0_ENABLE_MACHINE_CHECK
427*1c274c4eSKim Phillips #define CFG_HID2		HID2_HBE
428*1c274c4eSKim Phillips 
429*1c274c4eSKim Phillips /*
430*1c274c4eSKim Phillips  * Cache Config
431*1c274c4eSKim Phillips  */
432*1c274c4eSKim Phillips #define CFG_DCACHE_SIZE		16384
433*1c274c4eSKim Phillips #define CFG_CACHELINE_SIZE	32
434*1c274c4eSKim Phillips #if defined(CONFIG_CMD_KGDB)
435*1c274c4eSKim Phillips #define CFG_CACHELINE_SHIFT	5	/*log base 2 of the above value */
436*1c274c4eSKim Phillips #endif
437*1c274c4eSKim Phillips 
438*1c274c4eSKim Phillips /*
439*1c274c4eSKim Phillips  * MMU Setup
440*1c274c4eSKim Phillips  */
441*1c274c4eSKim Phillips 
442*1c274c4eSKim Phillips /* DDR: cache cacheable */
443*1c274c4eSKim Phillips #define CFG_IBAT0L	(CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
444*1c274c4eSKim Phillips #define CFG_IBAT0U	(CFG_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
445*1c274c4eSKim Phillips #define CFG_DBAT0L	CFG_IBAT0L
446*1c274c4eSKim Phillips #define CFG_DBAT0U	CFG_IBAT0U
447*1c274c4eSKim Phillips 
448*1c274c4eSKim Phillips /* IMMRBAR & PCI IO: cache-inhibit and guarded */
449*1c274c4eSKim Phillips #define CFG_IBAT1L	(CFG_IMMR | BATL_PP_10 | \
450*1c274c4eSKim Phillips 			BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
451*1c274c4eSKim Phillips #define CFG_IBAT1U	(CFG_IMMR | BATU_BL_4M | BATU_VS | BATU_VP)
452*1c274c4eSKim Phillips #define CFG_DBAT1L	CFG_IBAT1L
453*1c274c4eSKim Phillips #define CFG_DBAT1U	CFG_IBAT1U
454*1c274c4eSKim Phillips 
455*1c274c4eSKim Phillips /* FLASH: icache cacheable, but dcache-inhibit and guarded */
456*1c274c4eSKim Phillips #define CFG_IBAT2L	(CFG_FLASH_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
457*1c274c4eSKim Phillips #define CFG_IBAT2U	(CFG_FLASH_BASE | BATU_BL_32M | BATU_VS | BATU_VP)
458*1c274c4eSKim Phillips #define CFG_DBAT2L	(CFG_FLASH_BASE | BATL_PP_10 | \
459*1c274c4eSKim Phillips 			BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
460*1c274c4eSKim Phillips #define CFG_DBAT2U	CFG_IBAT2U
461*1c274c4eSKim Phillips 
462*1c274c4eSKim Phillips #define CFG_IBAT3L	(0)
463*1c274c4eSKim Phillips #define CFG_IBAT3U	(0)
464*1c274c4eSKim Phillips #define CFG_DBAT3L	CFG_IBAT3L
465*1c274c4eSKim Phillips #define CFG_DBAT3U	CFG_IBAT3U
466*1c274c4eSKim Phillips 
467*1c274c4eSKim Phillips /* Stack in dcache: cacheable, no memory coherence */
468*1c274c4eSKim Phillips #define CFG_IBAT4L	(CFG_INIT_RAM_ADDR | BATL_PP_10)
469*1c274c4eSKim Phillips #define CFG_IBAT4U	(CFG_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
470*1c274c4eSKim Phillips #define CFG_DBAT4L	CFG_IBAT4L
471*1c274c4eSKim Phillips #define CFG_DBAT4U	CFG_IBAT4U
472*1c274c4eSKim Phillips 
473*1c274c4eSKim Phillips #ifdef CONFIG_PCI
474*1c274c4eSKim Phillips /* PCI MEM space: cacheable */
475*1c274c4eSKim Phillips #define CFG_IBAT5L	(CFG_PCI1_MEM_PHYS | BATL_PP_10 | BATL_MEMCOHERENCE)
476*1c274c4eSKim Phillips #define CFG_IBAT5U	(CFG_PCI1_MEM_PHYS | BATU_BL_256M | BATU_VS | BATU_VP)
477*1c274c4eSKim Phillips #define CFG_DBAT5L	CFG_IBAT5L
478*1c274c4eSKim Phillips #define CFG_DBAT5U	CFG_IBAT5U
479*1c274c4eSKim Phillips /* PCI MMIO space: cache-inhibit and guarded */
480*1c274c4eSKim Phillips #define CFG_IBAT6L	(CFG_PCI1_MMIO_PHYS | BATL_PP_10 | \
481*1c274c4eSKim Phillips 			BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
482*1c274c4eSKim Phillips #define CFG_IBAT6U	(CFG_PCI1_MMIO_PHYS | BATU_BL_256M | BATU_VS | BATU_VP)
483*1c274c4eSKim Phillips #define CFG_DBAT6L	CFG_IBAT6L
484*1c274c4eSKim Phillips #define CFG_DBAT6U	CFG_IBAT6U
485*1c274c4eSKim Phillips #else
486*1c274c4eSKim Phillips #define CFG_IBAT5L	(0)
487*1c274c4eSKim Phillips #define CFG_IBAT5U	(0)
488*1c274c4eSKim Phillips #define CFG_IBAT6L	(0)
489*1c274c4eSKim Phillips #define CFG_IBAT6U	(0)
490*1c274c4eSKim Phillips #define CFG_DBAT5L	CFG_IBAT5L
491*1c274c4eSKim Phillips #define CFG_DBAT5U	CFG_IBAT5U
492*1c274c4eSKim Phillips #define CFG_DBAT6L	CFG_IBAT6L
493*1c274c4eSKim Phillips #define CFG_DBAT6U	CFG_IBAT6U
494*1c274c4eSKim Phillips #endif
495*1c274c4eSKim Phillips 
496*1c274c4eSKim Phillips /* Nothing in BAT7 */
497*1c274c4eSKim Phillips #define CFG_IBAT7L	(0)
498*1c274c4eSKim Phillips #define CFG_IBAT7U	(0)
499*1c274c4eSKim Phillips #define CFG_DBAT7L	CFG_IBAT7L
500*1c274c4eSKim Phillips #define CFG_DBAT7U	CFG_IBAT7U
501*1c274c4eSKim Phillips 
502*1c274c4eSKim Phillips /*
503*1c274c4eSKim Phillips  * Internal Definitions
504*1c274c4eSKim Phillips  *
505*1c274c4eSKim Phillips  * Boot Flags
506*1c274c4eSKim Phillips  */
507*1c274c4eSKim Phillips #define BOOTFLAG_COLD	0x01	/* Normal Power-On: Boot from FLASH */
508*1c274c4eSKim Phillips #define BOOTFLAG_WARM	0x02	/* Software reboot */
509*1c274c4eSKim Phillips 
510*1c274c4eSKim Phillips #if (CONFIG_CMD_KGDB)
511*1c274c4eSKim Phillips #define CONFIG_KGDB_BAUDRATE	230400	/* speed of kgdb serial port */
512*1c274c4eSKim Phillips #define CONFIG_KGDB_SER_INDEX	2	/* which serial port to use */
513*1c274c4eSKim Phillips #endif
514*1c274c4eSKim Phillips 
515*1c274c4eSKim Phillips /*
516*1c274c4eSKim Phillips  * Environment Configuration
517*1c274c4eSKim Phillips  */
518*1c274c4eSKim Phillips #define CONFIG_ENV_OVERWRITE
519*1c274c4eSKim Phillips 
520*1c274c4eSKim Phillips #define CONFIG_ETHADDR	00:04:9f:ef:03:01
521*1c274c4eSKim Phillips #define CONFIG_HAS_ETH1				/* add support for "eth1addr" */
522*1c274c4eSKim Phillips #define CONFIG_ETH1ADDR	00:04:9f:ef:03:02
523*1c274c4eSKim Phillips 
524*1c274c4eSKim Phillips #define CONFIG_IPADDR		10.0.0.2
525*1c274c4eSKim Phillips #define CONFIG_SERVERIP		10.0.0.1
526*1c274c4eSKim Phillips #define CONFIG_GATEWAYIP	10.0.0.1
527*1c274c4eSKim Phillips #define CONFIG_NETMASK		255.0.0.0
528*1c274c4eSKim Phillips #define CONFIG_NETDEV		eth1
529*1c274c4eSKim Phillips 
530*1c274c4eSKim Phillips #define CONFIG_HOSTNAME		mpc8323erdb
531*1c274c4eSKim Phillips #define CONFIG_ROOTPATH		/nfsroot
532*1c274c4eSKim Phillips #define CONFIG_RAMDISKFILE	rootfs.ext2.gz.uboot
533*1c274c4eSKim Phillips #define CONFIG_BOOTFILE		uImage
534*1c274c4eSKim Phillips #define CONFIG_UBOOTPATH	u-boot.bin	/* U-Boot image on TFTP server */
535*1c274c4eSKim Phillips #define CONFIG_FDTFILE		mpc832x_rdb.dtb
536*1c274c4eSKim Phillips 
537*1c274c4eSKim Phillips #define CONFIG_LOADADDR		200000	/* default location for tftp and bootm */
538*1c274c4eSKim Phillips #define CONFIG_BOOTDELAY	-1	/* -1 disables auto-boot */
539*1c274c4eSKim Phillips #define CONFIG_BAUDRATE		115200
540*1c274c4eSKim Phillips 
541*1c274c4eSKim Phillips #define XMK_STR(x)	#x
542*1c274c4eSKim Phillips #define MK_STR(x)	XMK_STR(x)
543*1c274c4eSKim Phillips 
544*1c274c4eSKim Phillips #define CONFIG_EXTRA_ENV_SETTINGS \
545*1c274c4eSKim Phillips 	"netdev=" MK_STR(CONFIG_NETDEV) "\0"				\
546*1c274c4eSKim Phillips 	"uboot=" MK_STR(CONFIG_UBOOTPATH) "\0"				\
547*1c274c4eSKim Phillips 	"tftpflash=tftp $loadaddr $uboot;"				\
548*1c274c4eSKim Phillips 		"protect off " MK_STR(TEXT_BASE) " +$filesize; "	\
549*1c274c4eSKim Phillips 		"erase " MK_STR(TEXT_BASE) " +$filesize; "		\
550*1c274c4eSKim Phillips 		"cp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize; "	\
551*1c274c4eSKim Phillips 		"protect on " MK_STR(TEXT_BASE) " +$filesize; "		\
552*1c274c4eSKim Phillips 		"cmp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize\0"	\
553*1c274c4eSKim Phillips 	"fdtaddr=400000\0"						\
554*1c274c4eSKim Phillips 	"fdtfile=" MK_STR(CONFIG_FDTFILE) "\0"				\
555*1c274c4eSKim Phillips 	"ramdiskaddr=1000000\0"						\
556*1c274c4eSKim Phillips 	"ramdiskfile=" MK_STR(CONFIG_RAMDISKFILE) "\0"			\
557*1c274c4eSKim Phillips 	"console=ttyS0\0"						\
558*1c274c4eSKim Phillips 	"setbootargs=setenv bootargs "					\
559*1c274c4eSKim Phillips 		"root=$rootdev rw console=$console,$baudrate $othbootargs\0" \
560*1c274c4eSKim Phillips 	"setipargs=setenv bootargs nfsroot=$serverip:$rootpath "	\
561*1c274c4eSKim Phillips 		"ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \
562*1c274c4eSKim Phillips 		"root=$rootdev rw console=$console,$baudrate $othbootargs\0"
563*1c274c4eSKim Phillips 
564*1c274c4eSKim Phillips #define CONFIG_NFSBOOTCOMMAND						\
565*1c274c4eSKim Phillips 	"setenv rootdev /dev/nfs;"					\
566*1c274c4eSKim Phillips 	"run setbootargs;"						\
567*1c274c4eSKim Phillips 	"run setipargs;"						\
568*1c274c4eSKim Phillips 	"tftp $loadaddr $bootfile;"					\
569*1c274c4eSKim Phillips 	"tftp $fdtaddr $fdtfile;"					\
570*1c274c4eSKim Phillips 	"bootm $loadaddr - $fdtaddr"
571*1c274c4eSKim Phillips 
572*1c274c4eSKim Phillips #define CONFIG_RAMBOOTCOMMAND						\
573*1c274c4eSKim Phillips 	"setenv rootdev /dev/ram;"					\
574*1c274c4eSKim Phillips 	"run setbootargs;"						\
575*1c274c4eSKim Phillips 	"tftp $ramdiskaddr $ramdiskfile;"				\
576*1c274c4eSKim Phillips 	"tftp $loadaddr $bootfile;"					\
577*1c274c4eSKim Phillips 	"tftp $fdtaddr $fdtfile;"					\
578*1c274c4eSKim Phillips 	"bootm $loadaddr $ramdiskaddr $fdtaddr"
579*1c274c4eSKim Phillips 
580*1c274c4eSKim Phillips #undef MK_STR
581*1c274c4eSKim Phillips #undef XMK_STR
582*1c274c4eSKim Phillips 
583*1c274c4eSKim Phillips #endif	/* __CONFIG_H */
584