Blame view

include/configs/TQM850L.h 16 KB
f4675560e   wdenk   Initial revision
1
  /*
23c5d253d   Wolfgang Denk   powerpc: tqm8xx*:...
2
   * (C) Copyright 2000-2014
f4675560e   wdenk   Initial revision
3
4
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
5
   * SPDX-License-Identifier:	GPL-2.0+
f4675560e   wdenk   Initial revision
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   */
  
  /*
   * board/config.h - configuration options, board specific
   */
  
  #ifndef __CONFIG_H
  #define __CONFIG_H
  
  /*
   * High Level Configuration Options
   * (easy to change)
   */
  
  #define CONFIG_MPC850		1	/* This is a MPC850 CPU		*/
  #define CONFIG_TQM850L		1	/* ...on a TQM8xxL module	*/
23c5d253d   Wolfgang Denk   powerpc: tqm8xx*:...
22
  #define CONFIG_DISPLAY_BOARDINFO
f4675560e   wdenk   Initial revision
23

2ae182419   Wolfgang Denk   Makefile: move al...
24
  #define	CONFIG_SYS_TEXT_BASE	0x40000000
f4675560e   wdenk   Initial revision
25
  #define	CONFIG_8xx_CONS_SMC1	1	/* Console is on SMC1		*/
3cb7a4805   Wolfgang Denk   TQM8xx* boards: s...
26
27
  #define CONFIG_SYS_SMC_RXBUFLEN	128
  #define CONFIG_SYS_MAXIDLE	10
f4675560e   wdenk   Initial revision
28
  #define CONFIG_BAUDRATE		115200	/* console baudrate = 115kbps	*/
f4675560e   wdenk   Initial revision
29

ae3af05ec   wdenk   Update for TQM bo...
30
31
32
  #define	CONFIG_BOOTCOUNT_LIMIT
  
  #define CONFIG_BOOTDELAY	5	/* autoboot after 5 seconds	*/
f4675560e   wdenk   Initial revision
33
34
  
  #define CONFIG_BOARD_TYPES	1	/* support board types		*/
32bf3d143   Wolfgang Denk   Fix quoting probl...
35
  #define CONFIG_PREBOOT	"echo;echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;echo"
f4675560e   wdenk   Initial revision
36
37
  
  #undef	CONFIG_BOOTARGS
6aff3115b   wdenk   * Use 1-byte-read...
38
39
  
  #define	CONFIG_EXTRA_ENV_SETTINGS					\
ae3af05ec   wdenk   Update for TQM bo...
40
  	"netdev=eth0\0"							\
6aff3115b   wdenk   * Use 1-byte-read...
41
  	"nfsargs=setenv bootargs root=/dev/nfs rw "			\
fe126d8b3   Wolfgang Denk   Change all '$(......
42
  		"nfsroot=${serverip}:${rootpath}\0"			\
6aff3115b   wdenk   * Use 1-byte-read...
43
  	"ramargs=setenv bootargs root=/dev/ram rw\0"			\
fe126d8b3   Wolfgang Denk   Change all '$(......
44
45
46
  	"addip=setenv bootargs ${bootargs} "				\
  		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\
  		":${hostname}:${netdev}:off panic=1\0"			\
6aff3115b   wdenk   * Use 1-byte-read...
47
  	"flash_nfs=run nfsargs addip;"					\
fe126d8b3   Wolfgang Denk   Change all '$(......
48
  		"bootm ${kernel_addr}\0"				\
6aff3115b   wdenk   * Use 1-byte-read...
49
  	"flash_self=run ramargs addip;"					\
fe126d8b3   Wolfgang Denk   Change all '$(......
50
51
  		"bootm ${kernel_addr} ${ramdisk_addr}\0"		\
  	"net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0"	\
6aff3115b   wdenk   * Use 1-byte-read...
52
  	"rootpath=/opt/eldk/ppc_8xx\0"					\
29f8f58ff   Wolfgang Denk   TQM8xx{L,M}: try ...
53
54
  	"hostname=TQM850L\0"						\
  	"bootfile=TQM850L/uImage\0"					\
eb6da8050   Wolfgang Denk   TQM8xx/FPS8xx: ad...
55
56
57
  	"fdt_addr=40040000\0"						\
  	"kernel_addr=40060000\0"					\
  	"ramdisk_addr=40200000\0"					\
29f8f58ff   Wolfgang Denk   TQM8xx{L,M}: try ...
58
59
60
61
62
63
  	"u-boot=TQM850L/u-image.bin\0"					\
  	"load=tftp 200000 ${u-boot}\0"					\
  	"update=prot off 40000000 +${filesize};"			\
  		"era 40000000 +${filesize};"				\
  		"cp.b 200000 40000000 ${filesize};"			\
  		"sete filesize;save\0"					\
6aff3115b   wdenk   * Use 1-byte-read...
64
65
  	""
  #define CONFIG_BOOTCOMMAND	"run flash_self"
f4675560e   wdenk   Initial revision
66
67
  
  #define CONFIG_LOADS_ECHO	1	/* echo on for serial download	*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
68
  #undef	CONFIG_SYS_LOADS_BAUD_CHANGE		/* don't allow baudrate change	*/
f4675560e   wdenk   Initial revision
69
70
71
72
73
74
  
  #undef	CONFIG_WATCHDOG			/* watchdog disabled		*/
  
  #define	CONFIG_STATUS_LED	1	/* Status LED enabled		*/
  
  #undef	CONFIG_CAN_DRIVER		/* CAN Driver support disabled	*/
37d4bb705   Jon Loeliger   include/configs/[...
75
76
77
78
79
80
81
82
  /*
   * BOOTP options
   */
  #define CONFIG_BOOTP_SUBNETMASK
  #define CONFIG_BOOTP_GATEWAY
  #define CONFIG_BOOTP_HOSTNAME
  #define CONFIG_BOOTP_BOOTPATH
  #define CONFIG_BOOTP_BOOTFILESIZE
f4675560e   wdenk   Initial revision
83
84
85
86
87
  
  #define CONFIG_MAC_PARTITION
  #define CONFIG_DOS_PARTITION
  
  #define	CONFIG_RTC_MPC8xx		/* use internal RTC of MPC8xx	*/
2694690e2   Jon Loeliger   include/configs: ...
88
89
90
  /*
   * Command line configuration.
   */
2694690e2   Jon Loeliger   include/configs: ...
91
92
93
  #define CONFIG_CMD_ASKENV
  #define CONFIG_CMD_DATE
  #define CONFIG_CMD_DHCP
9a63b7f4f   Wolfgang Denk   Enable ext2 suppo...
94
  #define CONFIG_CMD_EXT2
2694690e2   Jon Loeliger   include/configs: ...
95
  #define CONFIG_CMD_IDE
29f8f58ff   Wolfgang Denk   TQM8xx{L,M}: try ...
96
  #define CONFIG_CMD_JFFS2
2694690e2   Jon Loeliger   include/configs: ...
97
  #define CONFIG_CMD_SNTP
f4675560e   wdenk   Initial revision
98

f4675560e   wdenk   Initial revision
99

29f8f58ff   Wolfgang Denk   TQM8xx{L,M}: try ...
100
  #define CONFIG_NETCONSOLE
f4675560e   wdenk   Initial revision
101
102
103
  /*
   * Miscellaneous configurable options
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
104
  #define	CONFIG_SYS_LONGHELP			/* undef to save memory		*/
6aff3115b   wdenk   * Use 1-byte-read...
105

2751a95ab   Wolfgang Denk   Enable commandlin...
106
  #define CONFIG_CMDLINE_EDITING	1	/* add command line history	*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
107
  #define CONFIG_SYS_HUSH_PARSER		1	/* Use the HUSH parser		*/
6aff3115b   wdenk   * Use 1-byte-read...
108

2694690e2   Jon Loeliger   include/configs: ...
109
  #if defined(CONFIG_CMD_KGDB)
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
110
  #define	CONFIG_SYS_CBSIZE		1024	/* Console I/O Buffer Size	*/
f4675560e   wdenk   Initial revision
111
  #else
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
112
  #define	CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size	*/
f4675560e   wdenk   Initial revision
113
  #endif
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
114
115
116
  #define	CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
  #define	CONFIG_SYS_MAXARGS		16	/* max number of command args	*/
  #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/
f4675560e   wdenk   Initial revision
117

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
118
119
  #define CONFIG_SYS_MEMTEST_START	0x0400000	/* memtest works on	*/
  #define CONFIG_SYS_MEMTEST_END		0x0C00000	/* 4 ... 12 MB in DRAM	*/
f4675560e   wdenk   Initial revision
120

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
121
  #define	CONFIG_SYS_LOAD_ADDR		0x100000	/* default load address	*/
f4675560e   wdenk   Initial revision
122

f4675560e   wdenk   Initial revision
123
124
125
126
127
128
129
130
  /*
   * Low Level Configuration Settings
   * (address mappings, register initial values, etc.)
   * You should know what you are doing if you make changes here.
   */
  /*-----------------------------------------------------------------------
   * Internal Memory Mapped Register
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
131
  #define CONFIG_SYS_IMMR		0xFFF00000
f4675560e   wdenk   Initial revision
132
133
134
135
  
  /*-----------------------------------------------------------------------
   * Definitions for initial stack pointer and data area (in DPRAM)
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
136
  #define CONFIG_SYS_INIT_RAM_ADDR	CONFIG_SYS_IMMR
553f09823   Wolfgang Denk   Rename CONFIG_SYS...
137
  #define	CONFIG_SYS_INIT_RAM_SIZE	0x2F00	/* Size of used area in DPRAM	*/
25ddd1fb0   Wolfgang Denk   Replace CONFIG_SY...
138
  #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
139
  #define	CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
f4675560e   wdenk   Initial revision
140
141
142
143
  
  /*-----------------------------------------------------------------------
   * Start addresses for the final memory configuration
   * (Set up by the startup code)
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
144
   * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
f4675560e   wdenk   Initial revision
145
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
146
147
148
149
150
  #define	CONFIG_SYS_SDRAM_BASE		0x00000000
  #define CONFIG_SYS_FLASH_BASE		0x40000000
  #define	CONFIG_SYS_MONITOR_LEN		(256 << 10)	/* Reserve 256 kB for Monitor	*/
  #define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_FLASH_BASE
  #define	CONFIG_SYS_MALLOC_LEN		(128 << 10)	/* Reserve 128 kB for malloc()	*/
f4675560e   wdenk   Initial revision
151
152
153
154
155
156
  
  /*
   * For booting Linux, the board info and command line data
   * have to be in the first 8 MB of memory, since this is
   * the maximum mapped by the Linux kernel during initialization.
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
157
  #define	CONFIG_SYS_BOOTMAPSZ		(8 << 20)	/* Initial Memory map for Linux	*/
f4675560e   wdenk   Initial revision
158
159
160
161
  
  /*-----------------------------------------------------------------------
   * FLASH organization
   */
f4675560e   wdenk   Initial revision
162

e318d9e90   Martin Krause   TQM8xx: use the C...
163
  /* use CFI flash driver */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
164
  #define CONFIG_SYS_FLASH_CFI		1	/* Flash is CFI conformant */
00b1883a4   Jean-Christophe PLAGNIOL-VILLARD   drivers/mtd: Move...
165
  #define CONFIG_FLASH_CFI_DRIVER	1	/* Use the common driver */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
166
167
168
169
170
  #define CONFIG_SYS_FLASH_BANKS_LIST	{ CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLASH_BASE+flash_info[0].size }
  #define CONFIG_SYS_FLASH_EMPTY_INFO
  #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
  #define CONFIG_SYS_MAX_FLASH_BANKS	2	/* max number of memory banks */
  #define CONFIG_SYS_MAX_FLASH_SECT	71	/* max number of sectors on one chip */
f4675560e   wdenk   Initial revision
171

5a1aceb06   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ENV_IS...
172
  #define	CONFIG_ENV_IS_IN_FLASH	1
0e8d15866   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ENV ma...
173
174
  #define	CONFIG_ENV_OFFSET		0x8000	/*   Offset   of Environment Sector	*/
  #define	CONFIG_ENV_SIZE		0x4000	/* Total Size of Environment Sector	*/
f4675560e   wdenk   Initial revision
175
176
  
  /* Address and size of Redundant Environment Sector	*/
0e8d15866   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ENV ma...
177
178
  #define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET+CONFIG_ENV_SIZE)
  #define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE)
f4675560e   wdenk   Initial revision
179

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
180
  #define	CONFIG_SYS_USE_PPCENV			/* Environment embedded in sect .ppcenv */
67c31036a   Wolfgang Denk   TQM8xx[LM]: Fix b...
181

7c803be2e   Wolfgang Denk   TQM8xx: Fix CFI f...
182
  #define CONFIG_MISC_INIT_R		/* Make sure to remap flashes correctly */
f4675560e   wdenk   Initial revision
183
  /*-----------------------------------------------------------------------
29f8f58ff   Wolfgang Denk   TQM8xx{L,M}: try ...
184
185
   * Dynamic MTD partition support
   */
68d7d6510   Stefan Roese   Separate mtdparts...
186
  #define CONFIG_CMD_MTDPARTS
942556a92   Stefan Roese   mtd: MTD related ...
187
188
  #define CONFIG_MTD_DEVICE		/* needed for mtdparts commands */
  #define CONFIG_FLASH_CFI_MTD
29f8f58ff   Wolfgang Denk   TQM8xx{L,M}: try ...
189
190
191
192
193
194
  #define MTDIDS_DEFAULT		"nor0=TQM8xxL-0"
  
  #define MTDPARTS_DEFAULT	"mtdparts=TQM8xxL-0:256k(u-boot),"	\
  						"128k(dtb),"		\
  						"1664k(kernel),"	\
  						"2m(rootfs),"		\
cd82919e6   Wolfgang Denk   Coding style clea...
195
  						"4m(data)"
29f8f58ff   Wolfgang Denk   TQM8xx{L,M}: try ...
196
197
  
  /*-----------------------------------------------------------------------
f4675560e   wdenk   Initial revision
198
199
   * Hardware Information Block
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
200
201
202
  #define CONFIG_SYS_HWINFO_OFFSET	0x0003FFC0	/* offset of HW Info block */
  #define CONFIG_SYS_HWINFO_SIZE		0x00000040	/* size   of HW Info block */
  #define CONFIG_SYS_HWINFO_MAGIC	0x54514D38	/* 'TQM8' */
f4675560e   wdenk   Initial revision
203
204
205
206
  
  /*-----------------------------------------------------------------------
   * Cache Configuration
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
207
  #define CONFIG_SYS_CACHELINE_SIZE	16	/* For all MPC8xx CPUs			*/
2694690e2   Jon Loeliger   include/configs: ...
208
  #if defined(CONFIG_CMD_KGDB)
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
209
  #define CONFIG_SYS_CACHELINE_SHIFT	4	/* log base 2 of the above value	*/
f4675560e   wdenk   Initial revision
210
211
212
213
214
215
216
217
218
  #endif
  
  /*-----------------------------------------------------------------------
   * SYPCR - System Protection Control				11-9
   * SYPCR can only be written once after reset!
   *-----------------------------------------------------------------------
   * Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
   */
  #if defined(CONFIG_WATCHDOG)
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
219
  #define CONFIG_SYS_SYPCR	(SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
f4675560e   wdenk   Initial revision
220
221
  			 SYPCR_SWE  | SYPCR_SWRI| SYPCR_SWP)
  #else
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
222
  #define CONFIG_SYS_SYPCR	(SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | SYPCR_SWP)
f4675560e   wdenk   Initial revision
223
224
225
226
227
228
229
230
  #endif
  
  /*-----------------------------------------------------------------------
   * SIUMCR - SIU Module Configuration				11-6
   *-----------------------------------------------------------------------
   * PCMCIA config., multi-function pin tri-state
   */
  #ifndef	CONFIG_CAN_DRIVER
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
231
  #define CONFIG_SYS_SIUMCR	(SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
f4675560e   wdenk   Initial revision
232
  #else	/* we must activate GPL5 in the SIUMCR for CAN */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
233
  #define CONFIG_SYS_SIUMCR	(SIUMCR_DBGC11 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
f4675560e   wdenk   Initial revision
234
235
236
237
238
239
240
  #endif	/* CONFIG_CAN_DRIVER */
  
  /*-----------------------------------------------------------------------
   * TBSCR - Time Base Status and Control				11-26
   *-----------------------------------------------------------------------
   * Clear Reference Interrupt Status, Timebase freezing enabled
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
241
  #define CONFIG_SYS_TBSCR	(TBSCR_REFA | TBSCR_REFB | TBSCR_TBF)
f4675560e   wdenk   Initial revision
242
243
244
245
246
  
  /*-----------------------------------------------------------------------
   * RTCSC - Real-Time Clock Status and Control Register		11-27
   *-----------------------------------------------------------------------
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
247
  #define CONFIG_SYS_RTCSC	(RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
f4675560e   wdenk   Initial revision
248
249
250
251
252
253
  
  /*-----------------------------------------------------------------------
   * PISCR - Periodic Interrupt Status and Control		11-31
   *-----------------------------------------------------------------------
   * Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
254
  #define CONFIG_SYS_PISCR	(PISCR_PS | PISCR_PITF)
f4675560e   wdenk   Initial revision
255
256
257
258
259
260
  
  /*-----------------------------------------------------------------------
   * PLPRCR - PLL, Low-Power, and Reset Control Register		15-30
   *-----------------------------------------------------------------------
   * Reset PLL lock status sticky bit, timer expired status bit and timer
   * interrupt status bit
f4675560e   wdenk   Initial revision
261
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
262
  #define CONFIG_SYS_PLPRCR	(PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)
f4675560e   wdenk   Initial revision
263
264
265
266
267
268
269
270
  
  /*-----------------------------------------------------------------------
   * SCCR - System Clock and reset Control Register		15-27
   *-----------------------------------------------------------------------
   * Set clock output, timebase and RTC source and divider,
   * power management and some other internal clocks
   */
  #define SCCR_MASK	SCCR_EBDF11
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
271
  #define CONFIG_SYS_SCCR	(SCCR_COM00   | SCCR_DFSYNC00 | SCCR_DFBRG00  | \
f4675560e   wdenk   Initial revision
272
273
  			 SCCR_DFNL000 | SCCR_DFNH000  | SCCR_DFLCD000 | \
  			 SCCR_DFALCD00)
f4675560e   wdenk   Initial revision
274
275
276
277
278
279
  
  /*-----------------------------------------------------------------------
   * PCMCIA stuff
   *-----------------------------------------------------------------------
   *
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
280
281
282
283
284
285
286
287
  #define CONFIG_SYS_PCMCIA_MEM_ADDR	(0xE0000000)
  #define CONFIG_SYS_PCMCIA_MEM_SIZE	( 64 << 20 )
  #define CONFIG_SYS_PCMCIA_DMA_ADDR	(0xE4000000)
  #define CONFIG_SYS_PCMCIA_DMA_SIZE	( 64 << 20 )
  #define CONFIG_SYS_PCMCIA_ATTRB_ADDR	(0xE8000000)
  #define CONFIG_SYS_PCMCIA_ATTRB_SIZE	( 64 << 20 )
  #define CONFIG_SYS_PCMCIA_IO_ADDR	(0xEC000000)
  #define CONFIG_SYS_PCMCIA_IO_SIZE	( 64 << 20 )
f4675560e   wdenk   Initial revision
288
289
290
291
292
  
  /*-----------------------------------------------------------------------
   * IDE/ATA stuff (Supports IDE harddisk on PCMCIA Adapter)
   *-----------------------------------------------------------------------
   */
8d1165e11   Pavel Herrmann   split mpc8xx hook...
293
  #define CONFIG_IDE_PREINIT	1	/* Use preinit IDE hook */
f4675560e   wdenk   Initial revision
294
295
296
297
298
  #define	CONFIG_IDE_8xx_PCCARD	1	/* Use IDE with PC Card	Adapter	*/
  
  #undef	CONFIG_IDE_8xx_DIRECT		/* Direct IDE    not supported	*/
  #undef	CONFIG_IDE_LED			/* LED   for ide not supported	*/
  #undef	CONFIG_IDE_RESET		/* reset for ide not supported	*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
299
300
  #define CONFIG_SYS_IDE_MAXBUS		1	/* max. 1 IDE bus		*/
  #define CONFIG_SYS_IDE_MAXDEVICE	1	/* max. 1 drive per IDE bus	*/
f4675560e   wdenk   Initial revision
301

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
302
  #define CONFIG_SYS_ATA_IDE0_OFFSET	0x0000
f4675560e   wdenk   Initial revision
303

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
304
  #define CONFIG_SYS_ATA_BASE_ADDR	CONFIG_SYS_PCMCIA_MEM_ADDR
f4675560e   wdenk   Initial revision
305
306
  
  /* Offset for data I/O			*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
307
  #define CONFIG_SYS_ATA_DATA_OFFSET	(CONFIG_SYS_PCMCIA_MEM_SIZE + 0x320)
f4675560e   wdenk   Initial revision
308
309
  
  /* Offset for normal register accesses	*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
310
  #define CONFIG_SYS_ATA_REG_OFFSET	(2 * CONFIG_SYS_PCMCIA_MEM_SIZE + 0x320)
f4675560e   wdenk   Initial revision
311
312
  
  /* Offset for alternate registers	*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
313
  #define CONFIG_SYS_ATA_ALT_OFFSET	0x0100
f4675560e   wdenk   Initial revision
314

f4675560e   wdenk   Initial revision
315
316
317
318
319
  /*-----------------------------------------------------------------------
   *
   *-----------------------------------------------------------------------
   *
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
320
  #define CONFIG_SYS_DER	0
f4675560e   wdenk   Initial revision
321
322
323
324
325
326
327
328
329
330
331
332
333
334
  
  /*
   * Init Memory Controller:
   *
   * BR0/1 and OR0/1 (FLASH)
   */
  
  #define FLASH_BASE0_PRELIM	0x40000000	/* FLASH bank #0	*/
  #define FLASH_BASE1_PRELIM	0x60000000	/* FLASH bank #0	*/
  
  /* used to re-map FLASH both when starting from SRAM or FLASH:
   * restrict access enough to keep SRAM working (if any)
   * but not too much to meddle with FLASH accesses
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
335
336
  #define CONFIG_SYS_REMAP_OR_AM		0x80000000	/* OR addr mask */
  #define CONFIG_SYS_PRELIM_OR_AM	0xE0000000	/* OR addr mask */
f4675560e   wdenk   Initial revision
337
338
339
340
  
  /*
   * FLASH timing:
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
341
  #define CONFIG_SYS_OR_TIMING_FLASH	(OR_ACS_DIV1  | OR_TRLX | OR_CSNT_SAM | \
f4675560e   wdenk   Initial revision
342
  				 OR_SCY_3_CLK | OR_EHTR | OR_BI)
f4675560e   wdenk   Initial revision
343

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
344
345
346
  #define CONFIG_SYS_OR0_REMAP	(CONFIG_SYS_REMAP_OR_AM  | CONFIG_SYS_OR_TIMING_FLASH)
  #define CONFIG_SYS_OR0_PRELIM	(CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
  #define CONFIG_SYS_BR0_PRELIM	((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_V )
f4675560e   wdenk   Initial revision
347

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
348
349
350
  #define CONFIG_SYS_OR1_REMAP	CONFIG_SYS_OR0_REMAP
  #define CONFIG_SYS_OR1_PRELIM	CONFIG_SYS_OR0_PRELIM
  #define CONFIG_SYS_BR1_PRELIM	((FLASH_BASE1_PRELIM & BR_BA_MSK) | BR_V )
f4675560e   wdenk   Initial revision
351
352
353
354
355
356
357
358
359
360
  
  /*
   * BR2/3 and OR2/3 (SDRAM)
   *
   */
  #define SDRAM_BASE2_PRELIM	0x00000000	/* SDRAM bank #0	*/
  #define SDRAM_BASE3_PRELIM	0x20000000	/* SDRAM bank #1	*/
  #define	SDRAM_MAX_SIZE		0x04000000	/* max 64 MB per bank	*/
  
  /* SDRAM timing: Multiplexed addresses, GPL5 output to GPL5_A (don't care)	*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
361
  #define CONFIG_SYS_OR_TIMING_SDRAM	0x00000A00
f4675560e   wdenk   Initial revision
362

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
363
364
  #define CONFIG_SYS_OR2_PRELIM	(CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_SDRAM )
  #define CONFIG_SYS_BR2_PRELIM	((SDRAM_BASE2_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
f4675560e   wdenk   Initial revision
365
366
  
  #ifndef	CONFIG_CAN_DRIVER
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
367
368
  #define	CONFIG_SYS_OR3_PRELIM	CONFIG_SYS_OR2_PRELIM
  #define CONFIG_SYS_BR3_PRELIM	((SDRAM_BASE3_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
f4675560e   wdenk   Initial revision
369
  #else	/* CAN uses CS3#, so we can have only one SDRAM bank anyway */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
370
371
372
373
  #define	CONFIG_SYS_CAN_BASE		0xC0000000	/* CAN mapped at 0xC0000000	*/
  #define CONFIG_SYS_CAN_OR_AM		0xFFFF8000	/* 32 kB address mask		*/
  #define CONFIG_SYS_OR3_CAN		(CONFIG_SYS_CAN_OR_AM | OR_G5LA | OR_BI)
  #define CONFIG_SYS_BR3_CAN		((CONFIG_SYS_CAN_BASE & BR_BA_MSK) | \
f4675560e   wdenk   Initial revision
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
  					BR_PS_8 | BR_MS_UPMB | BR_V )
  #endif	/* CONFIG_CAN_DRIVER */
  
  /*
   * Memory Periodic Timer Prescaler
   *
   * The Divider for PTA (refresh timer) configuration is based on an
   * example SDRAM configuration (64 MBit, one bank). The adjustment to
   * the number of chip selects (NCS) and the actually needed refresh
   * rate is done by setting MPTPR.
   *
   * PTA is calculated from
   *	PTA = (gclk * Trefresh) / ((2 ^ (2 * DFBRG)) * PTP * NCS)
   *
   *	gclk	  CPU clock (not bus clock!)
   *	Trefresh  Refresh cycle * 4 (four word bursts used)
   *
   * 4096  Rows from SDRAM example configuration
   * 1000  factor s -> ms
   *   32  PTP (pre-divider from MPTPR) from SDRAM example configuration
   *    4  Number of refresh cycles per period
   *   64  Refresh cycle in ms per number of rows
   * --------------------------------------------
   * Divider = 4096 * 32 * 1000 / (4 * 64) = 512000
   *
   * 50 MHz => 50.000.000 / Divider =  98
   * 66 Mhz => 66.000.000 / Divider = 129
   * 80 Mhz => 80.000.000 / Divider = 156
   */
e9132ea94   wdenk   Clean up the TQM8...
403

6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
404
405
  #define CONFIG_SYS_PTA_PER_CLK	((4096 * 32 * 1000) / (4 * 64))
  #define CONFIG_SYS_MAMR_PTA	98
f4675560e   wdenk   Initial revision
406
407
408
409
410
411
  
  /*
   * For 16 MBit, refresh rates could be 31.3 us
   * (= 64 ms / 2K = 125 / quad bursts).
   * For a simpler initialization, 15.6 us is used instead.
   *
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
412
413
   * #define CONFIG_SYS_MPTPR_2BK_2K	MPTPR_PTP_DIV32		for 2 banks
   * #define CONFIG_SYS_MPTPR_1BK_2K	MPTPR_PTP_DIV64		for 1 bank
f4675560e   wdenk   Initial revision
414
   */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
415
416
  #define CONFIG_SYS_MPTPR_2BK_4K	MPTPR_PTP_DIV16		/* setting for 2 banks	*/
  #define CONFIG_SYS_MPTPR_1BK_4K	MPTPR_PTP_DIV32		/* setting for 1 bank	*/
f4675560e   wdenk   Initial revision
417
418
  
  /* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit		*/
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
419
420
  #define CONFIG_SYS_MPTPR_2BK_8K	MPTPR_PTP_DIV8		/* setting for 2 banks	*/
  #define CONFIG_SYS_MPTPR_1BK_8K	MPTPR_PTP_DIV16		/* setting for 1 bank	*/
f4675560e   wdenk   Initial revision
421
422
423
424
425
426
  
  /*
   * MAMR settings for SDRAM
   */
  
  /* 8 column SDRAM */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
427
  #define CONFIG_SYS_MAMR_8COL	((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT)  | MAMR_PTAE	    |	\
f4675560e   wdenk   Initial revision
428
429
430
  			 MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A11 |	\
  			 MAMR_RLFA_1X	 | MAMR_WLFA_1X	   | MAMR_TLFA_4X)
  /* 9 column SDRAM */
6d0f6bcf3   Jean-Christophe PLAGNIOL-VILLARD   rename CFG_ macro...
431
  #define CONFIG_SYS_MAMR_9COL	((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT)  | MAMR_PTAE	    |	\
f4675560e   wdenk   Initial revision
432
433
  			 MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 |	\
  			 MAMR_RLFA_1X	 | MAMR_WLFA_1X	   | MAMR_TLFA_4X)
7026ead0d   Heiko Schocher   TQM8xx: enable de...
434
435
436
437
  /* pass open firmware flat tree */
  #define CONFIG_OF_LIBFDT	1
  #define CONFIG_OF_BOARD_SETUP	1
  #define CONFIG_HWCONFIG		1
f4675560e   wdenk   Initial revision
438
  #endif	/* __CONFIG_H */