summaryrefslogtreecommitdiff
path: root/include/configs/ppmc7xx.h
blob: ea15524be0f45378073e20b039cffd199d44dafa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
/*
 * ppmc7xx.h
 * ---------
 * 
 * Wind River PPMC 7xx/74xx board configuration file.
 * 
 * By Richard Danter (richard.danter@windriver.com)
 * Copyright (C) 2005 Wind River Systems
 */


#ifndef __CONFIG_H
#define __CONFIG_H

#define CONFIG_PPMC7XX


/*===================================================================
 * 
 * User configurable settings - Modify to your preference
 * 
 *===================================================================
 */

/*
 * Debug
 * 
 * DEBUG			- Define this is you want extra debug info
 * GTREGREAD			- Required to build with debug
 * do_bdinfo			- Required to build with debug
 */

#undef	DEBUG
#define	GTREGREAD(x)			0xFFFFFFFF
#define	do_bdinfo(a,b,c,d)


/*
 * CPU type
 * 
 * CONFIG_7xx			- We have a 750 or 755 CPU
 * CONFIG_74xx			- We have a 7400 CPU
 * CONFIG_ALTIVEC		- We have altivec enabled CPU (only 7400)
 * CONFIG_BUS_CLK		- System bus clock in Hz
 */

#define	CONFIG_7xx
#undef	CONFIG_74xx
#undef	CONFIG_ALTIVEC
#define CONFIG_BUS_CLK			66000000


/*
 * Monitor configuration
 * 
 * CONFIG_COMMANDS		- List of command sets to include in shell
 * 
 * The following command sets have been tested and known to work:
 * 
 * CFG_CMD_CACHE		- Cache control commands
 * CFG_CMD_MEMORY		- Memory display, change and test commands
 * CFG_CMD_FLASH		- Erase and program flash
 * CFG_CMD_ENV			- Environment commands
 * CFG_CMD_RUN			- Run commands stored in env vars
 * CFG_CMD_ELF			- Load ELF files
 * CFG_CMD_NET			- Networking/file download commands
 * CFG_CMD_PING			- ICMP Echo Request command
 * CFG_CMD_PCI			- PCI Bus scanning command
 */

#define CONFIG_COMMANDS		( (CFG_CMD_DFL & ~(CFG_CMD_KGDB)) |	\
						   CFG_CMD_FLASH |	\
						   CFG_CMD_ENV |	\
						   CFG_CMD_RUN |	\
						   CFG_CMD_ELF |	\
						   CFG_CMD_NET |	\
						   CFG_CMD_PING |	\
						   CFG_CMD_PCI)


/*
 * Serial configuration
 *
 * CONFIG_CONS_INDEX		- Serial console port number (COM1)
 * CONFIG_BAUDRATE			- Serial speed
 */

#define CONFIG_CONS_INDEX		1
#define CONFIG_BAUDRATE			9600


/*
 * PCI config
 * 
 * CONFIG_PCI				- Enable PCI bus
 * CONFIG_PCI_PNP			- Enable Plug & Play support
 * CONFIG_PCI_SCAN_SHOW		- Enable display of devices at startup
 */

#define	CONFIG_PCI
#define	CONFIG_PCI_PNP
#undef	CONFIG_PCI_SCAN_SHOW


/*
 * Network config
 * 
 * CONFIG_NET_MULTI			- Support for multiple network interfaces
 * CONFIG_EEPRO100			- Intel 8255x Ethernet Controller
 * CONFIG_EEPRO100_SROM_WRITE - Enable writing to network card ROM
 */

#define	CONFIG_NET_MULTI
#define	CONFIG_EEPRO100
#define	CONFIG_EEPRO100_SROM_WRITE


/*
 * Enable extra init functions
 * 
 * CONFIG_MISC_INIT_F		- Call pre-relocation init functions
 * CONFIG_MISC_INIT_R		- Call post relocation init functions
 */

#undef	CONFIG_MISC_INIT_F
#define CONFIG_MISC_INIT_R 


/*
 * Boot config
 * 
 * CONFIG_BOOTCOMMAND		- Command(s) to execute to auto-boot
 * CONFIG_BOOTDELAY			- How long to wait before auto-boot (in sec)
 */

#define CONFIG_BOOTCOMMAND		\
	"bootp;" \
	"setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(rootpath) " \
	"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off;" \
	"bootm"
#define CONFIG_BOOTDELAY		5


/*===================================================================
 * 
 * Board configuration settings - You should not need to modify these
 * 
 *===================================================================
 */


#include <cmd_confdefs.h>


/*
 * Memory map
 * 
 * This board runs in a standard CHRP (Map-B) configuration.
 * 
 *	Type		Start		End			Size	Width	Chip Sel
 *	----------- ----------- ----------- ------- ------- --------
 *	SDRAM		0x00000000	0x04000000	64MB	64b		SDRAMCS0
 *	User LED's	0x78000000						RCS3
 *	UART		0x7C000000						RCS2
 *	Mailbox		0xFF000000						RCS1
 *	Flash		0xFFC00000	0xFFFFFFFF	4MB	64b		RCS0
 * 
 * Flash sectors are laid out as follows.
 * 
 *	Sector	Start		End			Size	Comments
 *	------- ----------- ----------- ------- -----------
 *	 0		0xFFC00000	0xFFC3FFFF	256KB
 *   1		0xFFC40000	0xFFC7FFFF	256KB
 *	 2		0xFFC80000	0xFFCBFFFF	256KB
 *	 3		0xFFCC0000	0xFFCFFFFF	256KB
 *	 4		0xFFD00000	0xFFD3FFFF	256KB
 *	 5		0xFFD40000	0xFFD7FFFF	256KB
 *	 6		0xFFD80000	0xFFDBFFFF	256KB
 *	 7		0xFFDC0000	0xFFDFFFFF	256KB
 *   8		0xFFE00000	0xFFE3FFFF	256KB
 *	 9		0xFFE40000	0xFFE7FFFF	256KB
 *  10		0xFFE80000	0xFFEBFFFF	256KB
 *  11		0xFFEC0000	0xFFEFFFFF	256KB
 *  12		0xFFF00000	0xFFF3FFFF	256KB	U-Boot code here
 *  13		0xFFF40000	0xFFF7FFFF	256KB
 *  14		0xFFF80000	0xFFFBFFFF	256KB
 *  15		0xFFFC0000	0xFFFDFFFF	128KB
 *  16		0xFFFE0000	0xFFFE7FFF	 32KB	U-Boot env vars here
 *  17		0xFFFE8000	0xFFFEFFFF	 32KB	U-Boot backup copy of env vars here
 *  18		0xFFFF0000	0xFFFFFFFF	 64KB
 */


/*
 * SDRAM config - see memory map details above.
 * 
 * CFG_SDRAM_BASE			- Start address of SDRAM, this _must_ be zero!
 * CFG_SDRAM_SIZE			- Total size of contiguous SDRAM bank(s)
 */

#define CFG_SDRAM_BASE			0x00000000
#define CFG_SDRAM_SIZE			0x04000000


/* 
 * Flash config - see memory map details above.
 * 
 * CFG_FLASH_BASE			- Start address of flash memory
 * CFG_FLASH_SIZE			- Total size of contiguous flash mem
 * CFG_FLASH_ERASE_TOUT		- Erase timeout in ms
 * CFG_FLASH_WRITE_TOUT		- Write timeout in ms
 * CFG_MAX_FLASH_BANKS		- Number of banks of flash on board
 * CFG_MAX_FLASH_SECT		- Number of sectors in a bank
 */

#define CFG_FLASH_BASE			0xFFC00000
#define CFG_FLASH_SIZE			0x00400000
#define CFG_FLASH_ERASE_TOUT	250000
#define CFG_FLASH_WRITE_TOUT	5000
#define CFG_MAX_FLASH_BANKS		1
#define CFG_MAX_FLASH_SECT		19


/*
 * Monitor config - see memory map details above
 * 
 * CFG_MONITOR_BASE			- Base address of monitor code
 * CFG_MALLOC_LEN			- Size of malloc pool (128KB)
 */

#define CFG_MONITOR_BASE		TEXT_BASE
#define CFG_MALLOC_LEN			0x20000


/*
 * Command shell settings
 * 
 * CFG_BARGSIZE			- Boot Argument buffer size
 * CFG_BOOTMAPSZ		- Size of app's mapped RAM at boot (Linux=8MB)
 * CFG_CBSIZE			- Console Buffer (input) size
 * CFG_LOAD_ADDR		- Default load address
 * CFG_LONGHELP			- Provide more detailed help
 * CFG_MAXARGS			- Number of args accepted by monitor commands
 * CFG_MEMTEST_START		- Start address of test to run on RAM
 * CFG_MEMTEST_END		- End address of RAM test
 * CFG_PBSIZE			- Print Buffer (output) size
 * CFG_PROMPT			- Prompt string
 */

#define CFG_BARGSIZE			1024
#define CFG_BOOTMAPSZ			0x800000
#define CFG_CBSIZE			1024
#define CFG_LOAD_ADDR			0x100000
#define CFG_LONGHELP
#define CFG_MAXARGS			16
#define CFG_MEMTEST_START		0x00040000
#define CFG_MEMTEST_END			0x00040100
#define CFG_PBSIZE			1024
#define CFG_PROMPT			"=> "


/*
 * Environment config - see memory map details above
 * 
 * CFG_ENV_IS_IN_FLASH		- The env variables are stored in flash
 * CFG_ENV_ADDR			- Address of the sector containing env vars
 * CFG_ENV_SIZE			- Ammount of RAM for env vars (used to save RAM, 4KB) 
 * CFG_ENV_SECT_SIZE		- Size of sector containing env vars (32KB)
 */

#define CFG_ENV_IS_IN_FLASH		1
#define CFG_ENV_ADDR			0xFFFE0000
#define CFG_ENV_SIZE			0x1000
#define CFG_ENV_ADDR_REDUND		0xFFFE8000
#define CFG_ENV_SIZE_REDUND		0x1000
#define CFG_ENV_SECT_SIZE		0x8000


/*
 * Initial RAM config
 *
 * Since the main system RAM is initialised very early, we place the INIT_RAM
 * in the main system RAM just above the exception vectors. The contents are
 * copied to top of RAM by the init code.
 * 
 * CFG_INIT_RAM_ADDR		- Address of Init RAM, above exception vect
 * CFG_INIT_RAM_END			- Size of Init RAM
 * CFG_GBL_DATA_SIZE		- Ammount of RAM to reserve for global data
 * CFG_GBL_DATA_OFFSET		- Start of global data, top of stack
 */

#define CFG_INIT_RAM_ADDR		(CFG_SDRAM_BASE + 0x4000)
#define CFG_INIT_RAM_END		0x4000
#define CFG_GBL_DATA_SIZE		128
#define CFG_GBL_DATA_OFFSET		(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)


/*
 * Initial BAT config
 * 
 * BAT0	- System SDRAM
 * BAT1 - LED's and Serial Port
 * BAT2 - PCI Memory
 * BAT3 - PCI I/O including Flash Memory
 */

#define CFG_IBAT0L (CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
#define CFG_IBAT0U (CFG_SDRAM_BASE | BATU_BL_64M | BATU_VS | BATU_VP)
#define CFG_DBAT0L CFG_IBAT0L
#define CFG_DBAT0U CFG_IBAT0U

#define CFG_IBAT1L (0x70000000 | BATL_PP_RW | BATL_CACHEINHIBIT)
#define CFG_IBAT1U (0x70000000 | BATU_BL_256M | BATU_VS | BATU_VP)
#define CFG_DBAT1L (0x70000000 | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
#define CFG_DBAT1U (0x70000000 | BATU_BL_256M | BATU_VS | BATU_VP)

#define CFG_IBAT2L (0x80000000 | BATL_PP_RW | BATL_CACHEINHIBIT)
#define CFG_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
#define CFG_DBAT2L (0x80000000 | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
#define CFG_DBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)

#define CFG_IBAT3L (0xF0000000 | BATL_PP_RW | BATL_CACHEINHIBIT)
#define CFG_IBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
#define CFG_DBAT3L (0xF0000000 | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
#define CFG_DBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)


/*
 * Cache config
 * 
 * CFG_CACHELINE_SIZE		- Size of a cache line (CPU specific)
 * CFG_L2					- L2 cache enabled if defined
 * L2_INIT					- L2 cache init flags
 * L2_ENABLE				- L2 cache enable flags
 */

#define CFG_CACHELINE_SIZE		32
#undef	CFG_L2
#define L2_INIT					0
#define L2_ENABLE				0


/*
 * Clocks config
 * 
 * CFG_BUS_HZ				- Bus clock frequency in Hz
 * CFG_BUS_CLK				- As above (?)
 * CFG_HZ					- Decrementer freq in Hz
 */

#define CFG_BUS_HZ				CONFIG_BUS_CLK
#define CFG_BUS_CLK				CONFIG_BUS_CLK
#define CFG_HZ					1000


/*
 * Serial port config
 * 
 * CFG_BAUDRATE_TABLE		- List of valid baud rates
 * CFG_NS16550				- Include the NS16550 driver
 * CFG_NS16550_SERIAL		- Include the serial (wrapper) driver
 * CFG_NS16550_CLK			- Frequency of reference clock
 * CFG_NS16550_REG_SIZE		- 64-bit accesses to 8-bit port
 * CFG_NS16550_COM1			- Base address of 1st serial port
 */

#define CFG_BAUDRATE_TABLE		{ 9600, 19200, 38400, 57600, 115200 }
#define CFG_NS16550
#define CFG_NS16550_SERIAL
#define CFG_NS16550_CLK			3686400
#define CFG_NS16550_REG_SIZE	-8
#define CFG_NS16550_COM1		0x7C000000


/*
 * PCI Config - Address Map B (CHRP)
 */

#define CFG_PCI_MEMORY_BUS      0x00000000
#define CFG_PCI_MEMORY_PHYS     0x00000000
#define CFG_PCI_MEMORY_SIZE     0x40000000
#define CFG_PCI_MEM_BUS         0x80000000
#define CFG_PCI_MEM_PHYS        0x80000000
#define CFG_PCI_MEM_SIZE        0x7D000000
#define CFG_ISA_MEM_BUS         0x00000000
#define CFG_ISA_MEM_PHYS        0xFD000000
#define CFG_ISA_MEM_SIZE        0x01000000
#define CFG_PCI_IO_BUS          0x00800000
#define CFG_PCI_IO_PHYS         0xFE800000
#define CFG_PCI_IO_SIZE         0x00400000
#define CFG_ISA_IO_BUS          0x00000000
#define CFG_ISA_IO_PHYS         0xFE000000
#define CFG_ISA_IO_SIZE         0x00800000
#define CFG_ISA_IO_BASE_ADDRESS CFG_ISA_IO_PHYS
#define CFG_ISA_IO              CFG_ISA_IO_PHYS
#define CFG_60X_PCI_IO_OFFSET   CFG_ISA_IO_PHYS


/*
 * Extra init functions
 * 
 * CFG_BOARD_ASM_INIT		- Call assembly init code
 */

#define CFG_BOARD_ASM_INIT


/*
 * Boot flags
 * 
 * BOOTFLAG_COLD			- Indicates a power-on boot
 * BOOTFLAG_WARM			- Indicates a software reset
 */
 
#define BOOTFLAG_COLD			0x01
#define BOOTFLAG_WARM			0x02


#endif /* __CONFIG_H */