]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - include/configs/CPU87.h
Merge branch 'mpc85xx'
[karo-tx-uboot.git] / include / configs / CPU87.h
1 /*
2  * (C) Copyright 2001-2005
3  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4  *
5  * See file CREDITS for list of people who contributed to this
6  * project.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation; either version 2 of
11  * the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21  * MA 02111-1307 USA
22  */
23
24 /*
25  * board/config.h - configuration options, board specific
26  */
27
28 #ifndef __CONFIG_H
29 #define __CONFIG_H
30
31 /*
32  * High Level Configuration Options
33  * (easy to change)
34  */
35
36 #define CONFIG_MPC8260          1       /* This is an MPC8260 CPU               */
37 #define CONFIG_CPU87            1       /* ...on a CPU87 board  */
38 #define CONFIG_PCI
39 #define CONFIG_CPM2             1       /* Has a CPM2 */
40
41 /*
42  * select serial console configuration
43  *
44  * if either CONFIG_CONS_ON_SMC or CONFIG_CONS_ON_SCC is selected, then
45  * CONFIG_CONS_INDEX must be set to the channel number (1-2 for SMC, 1-4
46  * for SCC).
47  *
48  * if CONFIG_CONS_NONE is defined, then the serial console routines must
49  * defined elsewhere (for example, on the cogent platform, there are serial
50  * ports on the motherboard which are used for the serial console - see
51  * cogent/cma101/serial.[ch]).
52  */
53 #undef  CONFIG_CONS_ON_SMC              /* define if console on SMC */
54 #define CONFIG_CONS_ON_SCC              /* define if console on SCC */
55 #undef  CONFIG_CONS_NONE                /* define if console on something else*/
56 #define CONFIG_CONS_INDEX       1       /* which serial channel for console */
57
58 #if defined(CONFIG_CONS_NONE) || defined(CONFIG_CONS_USE_EXTC)
59 #define CONFIG_BAUDRATE         230400
60 #else
61 #define CONFIG_BAUDRATE         9600
62 #endif
63
64 /*
65  * select ethernet configuration
66  *
67  * if either CONFIG_ETHER_ON_SCC or CONFIG_ETHER_ON_FCC is selected, then
68  * CONFIG_ETHER_INDEX must be set to the channel number (1-4 for SCC, 1-3
69  * for FCC)
70  *
71  * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be
72  * defined elsewhere (as for the console), or CFG_CMD_NET must be removed
73  * from CONFIG_COMMANDS to remove support for networking.
74  *
75  */
76 #undef  CONFIG_ETHER_ON_SCC             /* define if ether on SCC       */
77 #define CONFIG_ETHER_ON_FCC             /* define if ether on FCC       */
78 #undef  CONFIG_ETHER_NONE               /* define if ether on something else */
79 #define CONFIG_ETHER_INDEX      1       /* which SCC/FCC channel for ethernet */
80
81 #define CONFIG_HAS_ETH1         1
82 #define CONFIG_HAS_ETH2         1
83
84 #if defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 1)
85
86 /*
87  * - Rx-CLK is CLK11
88  * - Tx-CLK is CLK12
89  * - RAM for BD/Buffers is on the 60x Bus (see 28-13)
90  * - Enable Full Duplex in FSMR
91  */
92 # define CFG_CMXFCR_MASK        (CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK)
93 # define CFG_CMXFCR_VALUE       (CMXFCR_RF1CS_CLK11|CMXFCR_TF1CS_CLK12)
94 # define CFG_CPMFCR_RAMTYPE     0
95 # define CFG_FCC_PSMR           (FCC_PSMR_FDE|FCC_PSMR_LPB)
96
97 #elif defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 2)
98
99 /*
100  * - Rx-CLK is CLK13
101  * - Tx-CLK is CLK14
102  * - RAM for BD/Buffers is on the 60x Bus (see 28-13)
103  * - Enable Full Duplex in FSMR
104  */
105 # define CFG_CMXFCR_MASK        (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK)
106 # define CFG_CMXFCR_VALUE       (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14)
107 # define CFG_CPMFCR_RAMTYPE     0
108 # define CFG_FCC_PSMR           (FCC_PSMR_FDE|FCC_PSMR_LPB)
109
110 #endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */
111
112 /* system clock rate (CLKIN) - equal to the 60x and local bus speed */
113 #define CONFIG_8260_CLKIN       100000000       /* in Hz */
114
115 #define CONFIG_BOOTDELAY        5       /* autoboot after 5 seconds     */
116
117 #define CONFIG_PREBOOT                                                          \
118         "echo; "                                                                \
119         "echo Type \"run flash_nfs\" to mount root filesystem over NFS; "       \
120         "echo"
121
122 #undef  CONFIG_BOOTARGS
123 #define CONFIG_BOOTCOMMAND                                                      \
124         "bootp; "                                                               \
125         "setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} "     \
126         "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; "   \
127         "bootm"
128
129 /*-----------------------------------------------------------------------
130  * I2C/EEPROM/RTC configuration
131  */
132 #define CONFIG_SOFT_I2C                 /* Software I2C support enabled */
133
134 # define CFG_I2C_SPEED          50000
135 # define CFG_I2C_SLAVE          0xFE
136 /*
137  * Software (bit-bang) I2C driver configuration
138  */
139 #define I2C_PORT        3               /* Port A=0, B=1, C=2, D=3 */
140 #define I2C_ACTIVE      (iop->pdir |=  0x00010000)
141 #define I2C_TRISTATE    (iop->pdir &= ~0x00010000)
142 #define I2C_READ        ((iop->pdat & 0x00010000) != 0)
143 #define I2C_SDA(bit)    if(bit) iop->pdat |=  0x00010000; \
144                         else    iop->pdat &= ~0x00010000
145 #define I2C_SCL(bit)    if(bit) iop->pdat |=  0x00020000; \
146                         else    iop->pdat &= ~0x00020000
147 #define I2C_DELAY       udelay(5)       /* 1/4 I2C clock duration */
148
149 #define CONFIG_RTC_PCF8563
150 #define CFG_I2C_RTC_ADDR        0x51
151
152 #undef  CONFIG_WATCHDOG                 /* watchdog disabled            */
153
154 /*-----------------------------------------------------------------------
155  * Disk-On-Chip configuration
156  */
157
158 #define CFG_MAX_DOC_DEVICE      1       /* Max number of DOC devices    */
159
160 #define CFG_DOC_SUPPORT_2000
161 #define CFG_DOC_SUPPORT_MILLENNIUM
162
163 /*-----------------------------------------------------------------------
164  * Miscellaneous configuration options
165  */
166
167 #define CONFIG_LOADS_ECHO       1       /* echo on for serial download  */
168 #undef  CFG_LOADS_BAUD_CHANGE           /* don't allow baudrate change  */
169
170 #define CONFIG_BOOTP_MASK       (CONFIG_BOOTP_DEFAULT|CONFIG_BOOTP_BOOTFILESIZE)
171
172 #ifdef CONFIG_PCI
173 #define CONFIG_COMMANDS         (CONFIG_CMD_DFL | \
174                                  CFG_CMD_BEDBUG | \
175                                  CFG_CMD_DATE   | \
176                                  CFG_CMD_DOC    | \
177                                  CFG_CMD_EEPROM | \
178                                  CFG_CMD_I2C    | \
179                                  CFG_CMD_PCI)
180 #else   /* ! PCI */
181 #define CONFIG_COMMANDS         (CONFIG_CMD_DFL | \
182                                  CFG_CMD_BEDBUG | \
183                                  CFG_CMD_DATE   | \
184                                  CFG_CMD_DOC    | \
185                                  CFG_CMD_EEPROM | \
186                                  CFG_CMD_I2C    )
187 #endif  /* CONFIG_PCI */
188
189 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
190 #include <cmd_confdefs.h>
191
192 #define CFG_NAND_LEGACY
193
194 /*
195  * Miscellaneous configurable options
196  */
197 #define CFG_LONGHELP                    /* undef to save memory         */
198 #define CFG_PROMPT      "=> "           /* Monitor Command Prompt       */
199 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
200 #define CFG_CBSIZE      1024            /* Console I/O Buffer Size      */
201 #else
202 #define CFG_CBSIZE      256             /* Console I/O Buffer Size      */
203 #endif
204 #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
205 #define CFG_MAXARGS     16              /* max number of command args   */
206 #define CFG_BARGSIZE    CFG_CBSIZE      /* Boot Argument Buffer Size    */
207
208 #define CFG_MEMTEST_START       0x0400000       /* memtest works on     */
209 #define CFG_MEMTEST_END 0x0C00000       /* 4 ... 12 MB in DRAM  */
210
211 #define CFG_LOAD_ADDR   0x100000        /* default load address */
212
213 #define CFG_HZ          1000            /* decrementer freq: 1 ms ticks */
214
215 #define CFG_BAUDRATE_TABLE      { 9600, 19200, 38400, 57600, 115200 }
216
217 #define CFG_RESET_ADDRESS 0xFFF00100    /* "bad" address                */
218
219 #define CONFIG_LOOPW
220
221 /*
222  * For booting Linux, the board info and command line data
223  * have to be in the first 8 MB of memory, since this is
224  * the maximum mapped by the Linux kernel during initialization.
225  */
226 #define CFG_BOOTMAPSZ           (8 << 20) /* Initial Memory map for Linux */
227
228 /*-----------------------------------------------------------------------
229  * Flash configuration
230  */
231
232 #define CFG_BOOTROM_BASE        0xFF800000
233 #define CFG_BOOTROM_SIZE        0x00080000
234 #define CFG_FLASH_BASE          0xFF000000
235 #define CFG_FLASH_SIZE          0x00800000
236
237 /*-----------------------------------------------------------------------
238  * FLASH organization
239  */
240 #define CFG_MAX_FLASH_BANKS     2       /* max num of memory banks      */
241 #define CFG_MAX_FLASH_SECT      135     /* max num of sects on one chip */
242
243 #define CFG_FLASH_ERASE_TOUT    240000  /* Flash Erase Timeout (in ms)  */
244 #define CFG_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (in ms)  */
245
246 /*-----------------------------------------------------------------------
247  * Other areas to be mapped
248  */
249
250 /* CS3: Dual ported SRAM */
251 #define CFG_DPSRAM_BASE         0x40000000
252 #define CFG_DPSRAM_SIZE         0x00100000
253
254 /* CS4: DiskOnChip */
255 #define CFG_DOC_BASE            0xF4000000
256 #define CFG_DOC_SIZE            0x00100000
257
258 /* CS5: FDC37C78 controller */
259 #define CFG_FDC37C78_BASE       0xF1000000
260 #define CFG_FDC37C78_SIZE       0x00100000
261
262 /* CS6: Board configuration registers */
263 #define CFG_BCRS_BASE           0xF2000000
264 #define CFG_BCRS_SIZE           0x00010000
265
266 /* CS7: VME Extended Access Range */
267 #define CFG_VMEEAR_BASE         0x60000000
268 #define CFG_VMEEAR_SIZE         0x01000000
269
270 /* CS8: VME Standard Access Range */
271 #define CFG_VMESAR_BASE         0xFE000000
272 #define CFG_VMESAR_SIZE         0x01000000
273
274 /* CS9: VME Short I/O Access Range */
275 #define CFG_VMESIOAR_BASE       0xFD000000
276 #define CFG_VMESIOAR_SIZE       0x01000000
277
278 /*-----------------------------------------------------------------------
279  * Hard Reset Configuration Words
280  *
281  * if you change bits in the HRCW, you must also change the CFG_*
282  * defines for the various registers affected by the HRCW e.g. changing
283  * HRCW_DPPCxx requires you to also change CFG_SIUMCR.
284  */
285 #if defined(CONFIG_BOOT_ROM)
286 #define CFG_HRCW_MASTER         (HRCW_CIP | HRCW_ISB100 | HRCW_BMS | \
287                                  HRCW_BPS01 | HRCW_CS10PC01)
288 #else
289 #define CFG_HRCW_MASTER         (HRCW_CIP | HRCW_ISB100 | HRCW_BMS | HRCW_CS10PC01)
290 #endif
291
292 /* no slaves so just fill with zeros */
293 #define CFG_HRCW_SLAVE1         0
294 #define CFG_HRCW_SLAVE2         0
295 #define CFG_HRCW_SLAVE3         0
296 #define CFG_HRCW_SLAVE4         0
297 #define CFG_HRCW_SLAVE5         0
298 #define CFG_HRCW_SLAVE6         0
299 #define CFG_HRCW_SLAVE7         0
300
301 /*-----------------------------------------------------------------------
302  * Internal Memory Mapped Register
303  */
304 #define CFG_IMMR                0xF0000000
305
306 /*-----------------------------------------------------------------------
307  * Definitions for initial stack pointer and data area (in DPRAM)
308  */
309 #define CFG_INIT_RAM_ADDR       CFG_IMMR
310 #define CFG_INIT_RAM_END        0x4000  /* End of used area in DPRAM    */
311 #define CFG_GBL_DATA_SIZE       128 /* size in bytes reserved for initial data*/
312 #define CFG_GBL_DATA_OFFSET     (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
313 #define CFG_INIT_SP_OFFSET      CFG_GBL_DATA_OFFSET
314
315 /*-----------------------------------------------------------------------
316  * Start addresses for the final memory configuration
317  * (Set up by the startup code)
318  * Please note that CFG_SDRAM_BASE _must_ start at 0
319  *
320  * 60x SDRAM is mapped at CFG_SDRAM_BASE.
321  */
322 #define CFG_SDRAM_BASE          0x00000000
323 #define CFG_SDRAM_MAX_SIZE      0x08000000      /* max. 128 MB          */
324 #define CFG_MONITOR_BASE        TEXT_BASE
325 #define CFG_MONITOR_LEN         (256 << 10)     /* Reserve 256 kB for Monitor */
326 #define CFG_MALLOC_LEN          (128 << 10)     /* Reserve 128 kB for malloc()*/
327
328 #if (CFG_MONITOR_BASE < CFG_FLASH_BASE)
329 # define CFG_RAMBOOT
330 #endif
331
332 #ifdef  CONFIG_PCI
333 #define CONFIG_PCI_PNP
334 #define CONFIG_EEPRO100
335 #define CFG_RX_ETH_BUFFER       8               /* use 8 rx buffer on eepro100  */
336 #endif
337
338 #if 0
339 /* environment is in Flash */
340 #define CFG_ENV_IS_IN_FLASH     1
341 #ifdef CONFIG_BOOT_ROM
342 # define CFG_ENV_ADDR           (CFG_FLASH_BASE+0x70000)
343 # define CFG_ENV_SIZE           0x10000
344 # define CFG_ENV_SECT_SIZE      0x10000
345 #endif
346 #else
347 /* environment is in EEPROM */
348 #define CFG_ENV_IS_IN_EEPROM    1
349 #define CFG_I2C_EEPROM_ADDR     0x58    /* EEPROM X24C16                */
350 #define CFG_I2C_EEPROM_ADDR_LEN 1
351 /* mask of address bits that overflow into the "EEPROM chip address"    */
352 #define CFG_I2C_EEPROM_ADDR_OVERFLOW    0x07
353 #define CFG_EEPROM_PAGE_WRITE_BITS      4
354 #define CFG_EEPROM_PAGE_WRITE_DELAY_MS  10      /* and takes up to 10 msec */
355 #define CFG_ENV_OFFSET          512
356 #define CFG_ENV_SIZE            (2048 - 512)
357 #endif
358
359 /*
360  * Internal Definitions
361  *
362  * Boot Flags
363  */
364 #define BOOTFLAG_COLD           0x01    /* Normal Power-On: Boot from FLASH*/
365 #define BOOTFLAG_WARM           0x02    /* Software reboot                 */
366
367
368 /*-----------------------------------------------------------------------
369  * Cache Configuration
370  */
371 #define CFG_CACHELINE_SIZE      32      /* For MPC8260 CPU              */
372 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
373 # define CFG_CACHELINE_SHIFT    5       /* log base 2 of the above value */
374 #endif
375
376 /*-----------------------------------------------------------------------
377  * HIDx - Hardware Implementation-dependent Registers                    2-11
378  *-----------------------------------------------------------------------
379  * HID0 also contains cache control - initially enable both caches and
380  * invalidate contents, then the final state leaves only the instruction
381  * cache enabled. Note that Power-On and Hard reset invalidate the caches,
382  * but Soft reset does not.
383  *
384  * HID1 has only read-only information - nothing to set.
385  */
386 #define CFG_HID0_INIT   (HID0_ICE|HID0_DCE|HID0_ICFI|\
387                          HID0_DCI|HID0_IFEM|HID0_ABE)
388 #define CFG_HID0_FINAL  (HID0_IFEM|HID0_ABE)
389 #define CFG_HID2        0
390
391 /*-----------------------------------------------------------------------
392  * RMR - Reset Mode Register                                     5-5
393  *-----------------------------------------------------------------------
394  * turn on Checkstop Reset Enable
395  */
396 #define CFG_RMR         RMR_CSRE
397
398 /*-----------------------------------------------------------------------
399  * BCR - Bus Configuration                                       4-25
400  *-----------------------------------------------------------------------
401  */
402 #define BCR_APD01       0x10000000
403 #define CFG_BCR         (BCR_APD01|BCR_ETM|BCR_LETM)    /* 8260 mode */
404
405 /*-----------------------------------------------------------------------
406  * SIUMCR - SIU Module Configuration                             4-31
407  *-----------------------------------------------------------------------
408  */
409 #define CFG_SIUMCR      (SIUMCR_BBD|SIUMCR_DPPC00|SIUMCR_APPC10|\
410                          SIUMCR_CS10PC01|SIUMCR_BCTLC10)
411
412 /*-----------------------------------------------------------------------
413  * SYPCR - System Protection Control                             4-35
414  * SYPCR can only be written once after reset!
415  *-----------------------------------------------------------------------
416  * Watchdog & Bus Monitor Timer max, 60x Bus Monitor enable
417  */
418 #if defined(CONFIG_WATCHDOG)
419 #define CFG_SYPCR       (SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
420                          SYPCR_SWRI|SYPCR_SWP|SYPCR_SWE)
421 #else
422 #define CFG_SYPCR       (SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
423                          SYPCR_SWRI|SYPCR_SWP)
424 #endif /* CONFIG_WATCHDOG */
425
426 /*-----------------------------------------------------------------------
427  * TMCNTSC - Time Counter Status and Control                     4-40
428  *-----------------------------------------------------------------------
429  * Clear once per Second and Alarm Interrupt Status, Set 32KHz timersclk,
430  * and enable Time Counter
431  */
432 #define CFG_TMCNTSC     (TMCNTSC_SEC|TMCNTSC_ALR|TMCNTSC_TCF|TMCNTSC_TCE)
433
434 /*-----------------------------------------------------------------------
435  * PISCR - Periodic Interrupt Status and Control                 4-42
436  *-----------------------------------------------------------------------
437  * Clear Periodic Interrupt Status, Set 32KHz timersclk, and enable
438  * Periodic timer
439  */
440 #define CFG_PISCR       (PISCR_PS|PISCR_PTF|PISCR_PTE)
441
442 /*-----------------------------------------------------------------------
443  * SCCR - System Clock Control                                   9-8
444  *-----------------------------------------------------------------------
445  * Ensure DFBRG is Divide by 16
446  */
447 #define CFG_SCCR        SCCR_DFBRG01
448
449 /*-----------------------------------------------------------------------
450  * RCCR - RISC Controller Configuration                         13-7
451  *-----------------------------------------------------------------------
452  */
453 #define CFG_RCCR        0
454
455 #define CFG_MIN_AM_MASK 0xC0000000
456
457 /*
458  * we use the same values for 32 MB, 128 MB and 256 MB SDRAM
459  * refresh rate = 7.68 uS (100 MHz Bus Clock)
460  */
461
462 /*-----------------------------------------------------------------------
463  * MPTPR - Memory Refresh Timer Prescaler Register              10-18
464  *-----------------------------------------------------------------------
465  */
466 #define CFG_MPTPR       0x2000
467
468 /*-----------------------------------------------------------------------
469  * PSRT - Refresh Timer Register                                10-16
470  *-----------------------------------------------------------------------
471  */
472 #define CFG_PSRT        0x16
473
474 /*-----------------------------------------------------------------------
475  * PSRT - SDRAM Mode Register                                   10-10
476  *-----------------------------------------------------------------------
477  */
478
479         /* SDRAM initialization values for 8-column chips
480          */
481 #define CFG_OR2_8COL    (CFG_MIN_AM_MASK                |\
482                          ORxS_BPD_4                     |\
483                          ORxS_ROWST_PBI0_A9             |\
484                          ORxS_NUMR_12)
485
486 #define CFG_PSDMR_8COL  (PSDMR_SDAM_A13_IS_A5           |\
487                          PSDMR_BSMA_A14_A16             |\
488                          PSDMR_SDA10_PBI0_A10           |\
489                          PSDMR_RFRC_7_CLK               |\
490                          PSDMR_PRETOACT_2W              |\
491                          PSDMR_ACTTORW_2W               |\
492                          PSDMR_LDOTOPRE_1C              |\
493                          PSDMR_WRC_1C                   |\
494                          PSDMR_CL_2)
495
496         /* SDRAM initialization values for 9-column chips
497          */
498 #define CFG_OR2_9COL    (CFG_MIN_AM_MASK                |\
499                          ORxS_BPD_4                     |\
500                          ORxS_ROWST_PBI0_A7             |\
501                          ORxS_NUMR_13)
502
503 #define CFG_PSDMR_9COL  (PSDMR_SDAM_A14_IS_A5           |\
504                          PSDMR_BSMA_A13_A15             |\
505                          PSDMR_SDA10_PBI0_A9            |\
506                          PSDMR_RFRC_7_CLK               |\
507                          PSDMR_PRETOACT_2W              |\
508                          PSDMR_ACTTORW_2W               |\
509                          PSDMR_LDOTOPRE_1C              |\
510                          PSDMR_WRC_1C                   |\
511                          PSDMR_CL_2)
512
513         /* SDRAM initialization values for 10-column chips
514          */
515 #define CFG_OR2_10COL   (CFG_MIN_AM_MASK                |\
516                          ORxS_BPD_4                     |\
517                          ORxS_ROWST_PBI1_A4             |\
518                          ORxS_NUMR_13)
519
520 #define CFG_PSDMR_10COL (PSDMR_PBI                      |\
521                          PSDMR_SDAM_A17_IS_A5           |\
522                          PSDMR_BSMA_A13_A15             |\
523                          PSDMR_SDA10_PBI1_A6            |\
524                          PSDMR_RFRC_7_CLK               |\
525                          PSDMR_PRETOACT_2W              |\
526                          PSDMR_ACTTORW_2W               |\
527                          PSDMR_LDOTOPRE_1C              |\
528                          PSDMR_WRC_1C                   |\
529                          PSDMR_CL_2)
530
531 /*
532  * Init Memory Controller:
533  *
534  * Bank Bus     Machine PortSz  Device
535  * ---- ---     ------- ------  ------
536  *  0   60x     GPCM    8  bit  Boot ROM
537  *  1   60x     GPCM    64 bit  FLASH
538  *  2   60x     SDRAM   64 bit  SDRAM
539  *
540  */
541
542 #define CFG_MRS_OFFS    0x00000000
543
544 #ifdef CONFIG_BOOT_ROM
545 /* Bank 0 - Boot ROM
546  */
547 #define CFG_BR0_PRELIM  ((CFG_BOOTROM_BASE & BRx_BA_MSK)|\
548                          BRx_PS_8                       |\
549                          BRx_MS_GPCM_P                  |\
550                          BRx_V)
551
552 #define CFG_OR0_PRELIM  (P2SZ_TO_AM(CFG_BOOTROM_SIZE)   |\
553                          ORxG_CSNT                      |\
554                          ORxG_ACS_DIV1                  |\
555                          ORxG_SCY_5_CLK                 |\
556                          ORxU_EHTR_8IDLE)
557
558 /* Bank 1 - FLASH
559  */
560 #define CFG_BR1_PRELIM  ((CFG_FLASH_BASE & BRx_BA_MSK)  |\
561                          BRx_PS_64                      |\
562                          BRx_MS_GPCM_P                  |\
563                          BRx_V)
564
565 #define CFG_OR1_PRELIM  (P2SZ_TO_AM(CFG_FLASH_SIZE)     |\
566                          ORxG_CSNT                      |\
567                          ORxG_ACS_DIV1                  |\
568                          ORxG_SCY_5_CLK                 |\
569                          ORxU_EHTR_8IDLE)
570
571 #else /* CONFIG_BOOT_ROM */
572 /* Bank 0 - FLASH
573  */
574 #define CFG_BR0_PRELIM  ((CFG_FLASH_BASE & BRx_BA_MSK)  |\
575                          BRx_PS_64                      |\
576                          BRx_MS_GPCM_P                  |\
577                          BRx_V)
578
579 #define CFG_OR0_PRELIM  (P2SZ_TO_AM(CFG_FLASH_SIZE)     |\
580                          ORxG_CSNT                      |\
581                          ORxG_ACS_DIV1                  |\
582                          ORxG_SCY_5_CLK                 |\
583                          ORxU_EHTR_8IDLE)
584
585 /* Bank 1 - Boot ROM
586  */
587 #define CFG_BR1_PRELIM  ((CFG_BOOTROM_BASE & BRx_BA_MSK)|\
588                          BRx_PS_8                       |\
589                          BRx_MS_GPCM_P                  |\
590                          BRx_V)
591
592 #define CFG_OR1_PRELIM  (P2SZ_TO_AM(CFG_BOOTROM_SIZE)   |\
593                          ORxG_CSNT                      |\
594                          ORxG_ACS_DIV1                  |\
595                          ORxG_SCY_5_CLK                 |\
596                          ORxU_EHTR_8IDLE)
597
598 #endif /* CONFIG_BOOT_ROM */
599
600
601 /* Bank 2 - 60x bus SDRAM
602  */
603 #ifndef CFG_RAMBOOT
604 #define CFG_BR2_PRELIM  ((CFG_SDRAM_BASE & BRx_BA_MSK)  |\
605                          BRx_PS_64                      |\
606                          BRx_MS_SDRAM_P                 |\
607                          BRx_V)
608
609 #define CFG_OR2_PRELIM   CFG_OR2_8COL
610
611 #define CFG_PSDMR        CFG_PSDMR_8COL
612 #endif /* CFG_RAMBOOT */
613
614 /* Bank 3 - Dual Ported SRAM
615  */
616 #define CFG_BR3_PRELIM  ((CFG_DPSRAM_BASE & BRx_BA_MSK) |\
617                          BRx_PS_16                      |\
618                          BRx_MS_GPCM_P                  |\
619                          BRx_V)
620
621 #define CFG_OR3_PRELIM  (P2SZ_TO_AM(CFG_DPSRAM_SIZE)    |\
622                          ORxG_CSNT                      |\
623                          ORxG_ACS_DIV1                  |\
624                          ORxG_SCY_7_CLK                 |\
625                          ORxG_SETA)
626
627 /* Bank 4 - DiskOnChip
628  */
629 #define CFG_BR4_PRELIM  ((CFG_DOC_BASE & BRx_BA_MSK)    |\
630                          BRx_PS_8                       |\
631                          BRx_MS_GPCM_P                  |\
632                          BRx_V)
633
634 #define CFG_OR4_PRELIM  (P2SZ_TO_AM(CFG_DOC_SIZE)       |\
635                          ORxG_CSNT                      |\
636                          ORxG_ACS_DIV2                  |\
637                          ORxG_SCY_9_CLK                 |\
638                          ORxU_EHTR_8IDLE)
639
640 /* Bank 5 - FDC37C78 controller
641  */
642 #define CFG_BR5_PRELIM  ((CFG_FDC37C78_BASE & BRx_BA_MSK) |\
643                          BRx_PS_8                         |\
644                          BRx_MS_GPCM_P                    |\
645                          BRx_V)
646
647 #define CFG_OR5_PRELIM  (P2SZ_TO_AM(CFG_FDC37C78_SIZE)    |\
648                          ORxG_ACS_DIV2                    |\
649                          ORxG_SCY_10_CLK                  |\
650                          ORxU_EHTR_8IDLE)
651
652 /* Bank 6 - Board control registers
653  */
654 #define CFG_BR6_PRELIM  ((CFG_BCRS_BASE & BRx_BA_MSK)   |\
655                          BRx_PS_8                       |\
656                          BRx_MS_GPCM_P                  |\
657                          BRx_V)
658
659 #define CFG_OR6_PRELIM  (P2SZ_TO_AM(CFG_BCRS_SIZE)      |\
660                          ORxG_CSNT                      |\
661                          ORxG_SCY_7_CLK)
662
663 /* Bank 7 - VME Extended Access Range
664  */
665 #define CFG_BR7_PRELIM  ((CFG_VMEEAR_BASE & BRx_BA_MSK) |\
666                          BRx_PS_32                      |\
667                          BRx_MS_GPCM_P                  |\
668                          BRx_V)
669
670 #define CFG_OR7_PRELIM  (P2SZ_TO_AM(CFG_VMEEAR_SIZE)    |\
671                          ORxG_CSNT                      |\
672                          ORxG_ACS_DIV1                  |\
673                          ORxG_SCY_7_CLK                 |\
674                          ORxG_SETA)
675
676 /* Bank 8 - VME Standard Access Range
677  */
678 #define CFG_BR8_PRELIM  ((CFG_VMESAR_BASE & BRx_BA_MSK) |\
679                          BRx_PS_16                      |\
680                          BRx_MS_GPCM_P                  |\
681                          BRx_V)
682
683 #define CFG_OR8_PRELIM  (P2SZ_TO_AM(CFG_VMESAR_SIZE)    |\
684                          ORxG_CSNT                      |\
685                          ORxG_ACS_DIV1                  |\
686                          ORxG_SCY_7_CLK                 |\
687                          ORxG_SETA)
688
689 /* Bank 9 - VME Short I/O Access Range
690  */
691 #define CFG_BR9_PRELIM  ((CFG_VMESIOAR_BASE & BRx_BA_MSK) |\
692                          BRx_PS_16                        |\
693                          BRx_MS_GPCM_P                    |\
694                          BRx_V)
695
696 #define CFG_OR9_PRELIM  (P2SZ_TO_AM(CFG_VMESIOAR_SIZE)    |\
697                          ORxG_CSNT                        |\
698                          ORxG_ACS_DIV1                    |\
699                          ORxG_SCY_7_CLK                   |\
700                          ORxG_SETA)
701
702 #endif  /* __CONFIG_H */