]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - include/configs/sc3.h
Merge branch 'upstream'
[karo-tx-uboot.git] / include / configs / sc3.h
1 /*
2  * (C) Copyright 2007
3  * Heiko Schocher, DENX Software Engineering, <hs@denx.de>.
4  *
5  * From:
6  * (C) Copyright 2003
7  * Juergen Beisert, EuroDesign embedded technologies, jbeisert@eurodsn.de
8  *
9  * See file CREDITS for list of people who contributed to this
10  * project.
11  *
12  * This program is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU General Public License as
14  * published by the Free Software Foundation; either version 2 of
15  * the License, or (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
25  * MA 02111-1307 USA
26  */
27
28 #ifndef __CONFIG_H
29 #define __CONFIG_H
30
31 #undef USE_VGA_GRAPHICS
32
33 /* Memory Map
34  * 0x00000000 .... 0x03FFFFFF -> RAM (up to 128MiB)
35  * 0x74000000 .... 0x740FFFFF -> CS#6
36  * 0x74100000 .... 0x741FFFFF -> CS#7
37  * 0x74200000 .... 0x742FFFFF -> CS4# if no internal USB
38  * 0x74300000 .... 0x743FFFFF -> CS5# if no boosted IDE
39  * 0x77C00000 .... 0x77CFFFFF -> CS4# USB HC (1 MiB)
40  * 0x77D00000 .... 0x77DFFFFF -> CS1# NAND-Flash (1 MiB)
41  * 0x78000000 .... 0x78FFFFFF -> CS2# ISA-Bus Speicherzugriff (16 MiB)
42  * 0x79000000 .... 0x7900FFFF -> CS2# ISA-Bus IO-Zugriff (16 MiB, mapped: 64kiB)
43  * 0x79010000 .... 0x79FFFFFF -> CS2# ISA-Bus IO-Zugriff (mirrored)
44  * 0x7A000000 .... 0x7A0FFFFF -> CS5# IDE emulation (1MiB)
45  *
46  * 0x80000000 .... 0x9FFFFFFF -> PCI-Bus Speicherzugriff (512MiB, mapped: 1:1)
47  * 0xA0000000 .... 0xBFFFFFFF -> PCI-Bus Speicherzugriff (512MiB, mapped: 0x00000000...0x1FFFFFFF)
48  * 0xE8000000 .... 0xE800FFFF -> PCI-Bus IO-Zugriff (64kiB, translated to PCI: 0x0000...0xFFFF)
49  * 0xE8800000 .... 0xEBFFFFFF -> PCI-Bus IO-Zugriff (56MiB, translated to PCI: 0x00800000...0x3FFFFFF)
50  * 0xEED00000 .... 0xEED00003 -> PCI-Bus
51  * 0xEF400000 .... 0xEF40003F -> PCI-Bus Local Configuration Registers
52  * 0xEF40003F .... 0xEF5FFFFF -> reserved
53  * 0xEF600000 .... 0xEFFFFFFF -> 405GP internal Devices (10 MiB)
54  * 0xF0000000 .... 0xF01FFFFF -> Flash-ROM (2 MiB)
55  * 0xF0200000 .... 0xF7FFFFFF -> free for flash devices
56  * 0xF8000000 .... 0xF8000FFF -> OnChipMemory (4kiB)
57  * 0xF8001000 .... 0xFFDFFFFF -> free for flash devices
58  * 0xFFE00000 .... 0xFFFFFFFF -> BOOT-ROM (2 MiB)
59  */
60
61 #define CONFIG_SC3      1
62 #define CONFIG_4xx      1
63 #define CONFIG_405GP    1
64
65 #define CONFIG_BOARD_EARLY_INIT_F       1
66
67 /*
68  * Define IDE_USES_ISA_EMULATION for slower IDE access in the ISA-IO address range
69  * If undefined, IDE access uses a seperat emulation with higher access speed.
70  * Consider to inform your Linux IDE driver about the different addresses!
71  * IDE_USES_ISA_EMULATION is only used if your CONFIG_COMMANDS macro includes
72  * the CFG_CMD_IDE macro!
73  */
74 #define IDE_USES_ISA_EMULATION
75
76 /*-----------------------------------------------------------------------
77  * Serial Port
78  *----------------------------------------------------------------------*/
79 #define CONFIG_SERIAL_MULTI
80 #undef CONFIG_SERIAL_SOFTWARE_FIFO
81 /*
82  * define CONFIG_POWER_DOWN if your cpu should power down while waiting for your input
83  * Works only, if you have enabled the CONFIG_SERIAL_SOFTWARE_FIFO feature
84  */
85 #if CONFIG_SERIAL_SOFTWARE_FIFO
86  #define CONFIG_POWER_DOWN
87 #endif
88
89 /*
90  * define CONFIG_SYS_CLK_FREQ to your base crystal clock in Hz
91  */
92 #define CONFIG_SYS_CLK_FREQ     33333333
93
94 /*
95  * define CONFIG_BAUDRATE to the baudrate value you want to use as default
96  */
97 #define CONFIG_BAUDRATE         115200
98 #define CONFIG_BOOTDELAY        3 /* autoboot after 3 seconds         */
99
100 #define CONFIG_PREBOOT  "echo;" \
101         "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \
102         "echo"
103
104 #undef  CONFIG_BOOTARGS
105
106 #define CONFIG_EXTRA_ENV_SETTINGS                                       \
107         "netdev=eth0\0"                                                 \
108         "nfsargs=setenv bootargs root=/dev/nfs rw "                     \
109                 "nfsroot=${serverip}:${rootpath}\0"                     \
110         "ramargs=setenv bootargs root=/dev/ram rw\0"                    \
111         "nand_args=setenv bootargs root=/dev/mtdblock5 rw"              \
112                 "rootfstype=jffs2\0"                                    \
113         "addip=setenv bootargs ${bootargs} "                            \
114                 "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
115                 ":${hostname}:${netdev}:off panic=1\0"                  \
116         "addcons=setenv bootargs ${bootargs} "                          \
117                 "console=ttyS0,${baudrate}\0"                           \
118         "flash_nfs=run nfsargs addip addcons;"                          \
119                 "bootm ${kernel_addr}\0"                                \
120         "flash_nand=run nand_args addip addcons;bootm ${kernel_addr}\0" \
121         "net_nfs=tftp 200000 ${bootfile};run nfsargs addip addcons;"    \
122                 "bootm\0"                                               \
123         "rootpath=/opt/eldk/ppc_4xx\0"                                  \
124         "bootfile=/tftpboot/sc3/uImage\0"                               \
125         "u-boot=/tftpboot/sc3/u-boot.bin\0"                             \
126         "setup=tftp 200000 /tftpboot/sc3/setup.img;autoscr 200000\0"    \
127         "kernel_addr=FFE08000\0"                                        \
128         ""
129 #undef CONFIG_BOOTCOMMAND
130
131 #define CONFIG_SILENT_CONSOLE   1       /* enable silent startup */
132 #define CFG_DEVICE_NULLDEV      1       /* include nulldev device       */
133
134 #if 1   /* feel free to disable for development */
135 #define CONFIG_AUTOBOOT_KEYED           /* Enable password protection   */
136 #define CONFIG_AUTOBOOT_PROMPT          "\nSC3 - booting... stop with ENTER\n"
137 #define CONFIG_AUTOBOOT_DELAY_STR       "\r"    /* 1st "password"       */
138 #define CONFIG_AUTOBOOT_DELAY_STR2      "\n"    /* 1st "password"       */
139 #endif
140
141 /*
142  * define CONFIG_BOOTCOMMAND to the autoboot commands. They will running after
143  * the CONFIG_BOOTDELAY delay to boot your machine
144  */
145 #define CONFIG_BOOTCOMMAND      "bootp;dcache on;bootm"
146
147 /*
148  * define CONFIG_BOOTARGS to the default kernel parameters. They will used if you don't
149  * set different values at the u-boot prompt
150  */
151 #ifdef USE_VGA_GRAPHICS
152  #define CONFIG_BOOTARGS        "root=/dev/nfs rw ip=bootp nfsroot=/tftpboot/solidcard3re"
153 #else
154  #define CONFIG_BOOTARGS        "console=ttyS0,115200 root=/dev/nfs rw ip=bootp"
155 #endif
156 /*
157  * Is the USB host controller assembled? If yes define CONFIG_ISP1161_PRESENT
158  * This reserves memory bank #4 for this purpose
159  */
160 #undef CONFIG_ISP1161_PRESENT
161
162 #undef CONFIG_LOADS_ECHO   /* no echo on for serial download    */
163 #define CFG_LOADS_BAUD_CHANGE   1       /* allow baudrate change        */
164
165 #define CONFIG_NET_MULTI
166 /* #define CONFIG_EEPRO100_SROM_WRITE */
167 /* #define CONFIG_SHOW_MAC */
168 #define CONFIG_EEPRO100
169 #define CONFIG_MII 1                    /* add 405GP MII PHY management         */
170 #define CONFIG_PHY_ADDR 1       /* the connected Phy defaults to address 1 */
171
172 #define CONFIG_COMMANDS   \
173            (CONFIG_CMD_DFL      | \
174                         CFG_CMD_AUTOSCRIPT      | \
175                         CFG_CMD_PCI             | \
176                         CFG_CMD_IRQ             | \
177                         CFG_CMD_NET             | \
178                         CFG_CMD_MII             | \
179                         CFG_CMD_PING            | \
180                         CFG_CMD_NAND            | \
181                         CFG_CMD_JFFS2           | \
182                         CFG_CMD_I2C             | \
183                         CFG_CMD_IDE             | \
184                         CFG_CMD_DATE            | \
185                         CFG_CMD_DHCP            | \
186                         CFG_CMD_CACHE           | \
187                         CFG_CMD_ELF     )
188
189 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
190 #include <cmd_confdefs.h>
191
192 #undef CONFIG_WATCHDOG                  /* watchdog disabled            */
193
194 /*
195  * Miscellaneous configurable options
196  */
197 #define CFG_LONGHELP    1               /* undef to save memory         */
198 #define CFG_PROMPT      "SC3> " /* Monitor Command Prompt       */
199 #define CFG_CBSIZE      256             /* Console I/O Buffer Size      */
200
201 #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
202
203 #define CFG_MAXARGS     16              /* max number of command args   */
204 #define CFG_BARGSIZE    CFG_CBSIZE      /* Boot Argument Buffer Size    */
205
206 #define CFG_MEMTEST_START       0x0400000       /* memtest works on     */
207 #define CFG_MEMTEST_END         0x0C00000       /* 4 ... 12 MB in DRAM  */
208
209 /*
210  * If CFG_EXT_SERIAL_CLOCK, then the UART divisor is 1.
211  * If CFG_405_UART_ERRATA_59, then UART divisor is 31.
212  * Otherwise, UART divisor is determined by CPU Clock and CFG_BASE_BAUD value.
213  * The Linux BASE_BAUD define should match this configuration.
214  *    baseBaud = cpuClock/(uartDivisor*16)
215  * If CFG_405_UART_ERRATA_59 and 200MHz CPU clock,
216  * set Linux BASE_BAUD to 403200.
217  *
218  * Consider the OPB clock! If it get lower the BASE_BAUD must be lower to
219  * (see 405GP datasheet for descritpion)
220  */
221 #undef  CFG_EXT_SERIAL_CLOCK            /* external serial clock */
222 #undef  CFG_405_UART_ERRATA_59          /* 405GP/CR Rev. D silicon */
223 #define CFG_BASE_BAUD           921600  /* internal clock */
224
225 /* The following table includes the supported baudrates */
226 #define CFG_BAUDRATE_TABLE  \
227     {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
228
229 #define CFG_LOAD_ADDR           0x1000000       /* default load address */
230 #define CFG_EXTBDINFO           1       /* To use extended board_into (bd_t) */
231
232 #define CFG_HZ                  1000    /* decrementer freq: 1 ms ticks */
233
234 /*-----------------------------------------------------------------------
235  * IIC stuff
236  *-----------------------------------------------------------------------
237  */
238 #define  CONFIG_HARD_I2C                /* I2C with hardware support    */
239 #undef  CONFIG_SOFT_I2C                 /* I2C bit-banged               */
240
241 #define I2C_INIT
242 #define I2C_ACTIVE 0
243 #define I2C_TRISTATE 0
244
245 #define CFG_I2C_SPEED           100000  /* use the standard 100kHz speed */
246 #define CFG_I2C_SLAVE           0x7F            /* mask valid bits */
247
248 #define CONFIG_RTC_DS1337
249 #define CFG_I2C_RTC_ADDR 0x68
250
251 /*-----------------------------------------------------------------------
252  * PCI stuff
253  *-----------------------------------------------------------------------
254  */
255 #define PCI_HOST_ADAPTER 0              /* configure ar pci adapter     */
256 #define PCI_HOST_FORCE  1               /* configure as pci host        */
257 #define PCI_HOST_AUTO   2               /* detected via arbiter enable  */
258
259 #define CONFIG_PCI                      /* include pci support          */
260 #define CONFIG_PCI_HOST PCI_HOST_FORCE  /* select pci host function     */
261 #define CONFIG_PCI_PNP                  /* do pci plug-and-play         */
262                                         /* resource configuration       */
263
264 /* If you want to see, whats connected to your PCI bus */
265 /* #define CONFIG_PCI_SCAN_SHOW */
266
267 #define CFG_PCI_SUBSYS_VENDORID 0x0000  /* PCI Vendor ID: to-do!!!      */
268 #define CFG_PCI_SUBSYS_DEVICEID 0x0000  /* PCI Device ID: to-do!!!      */
269 #define CFG_PCI_PTM1LA  0x00000000      /* point to sdram               */
270 #define CFG_PCI_PTM1MS  0x80000001      /* 2GB, enable hard-wired to 1  */
271 #define CFG_PCI_PTM1PCI 0x00000000      /* Host: use this pci address   */
272 #define CFG_PCI_PTM2LA  0x00000000      /* disabled                     */
273 #define CFG_PCI_PTM2MS  0x00000000      /* disabled                     */
274 #define CFG_PCI_PTM2PCI 0x04000000      /* Host: use this pci address   */
275
276 /*-----------------------------------------------------------------------
277  * External peripheral base address
278  *-----------------------------------------------------------------------
279  */
280 #if !(CONFIG_COMMANDS & CFG_CMD_IDE)
281
282 #undef  CONFIG_IDE_LED                  /* no led for ide supported     */
283 #undef  CONFIG_IDE_RESET                /* no reset for ide supported   */
284
285 /*-----------------------------------------------------------------------
286  * IDE/ATA stuff
287  *-----------------------------------------------------------------------
288  */
289 #else /* !(CONFIG_COMMANDS & CFG_CMD_IDE) */
290 #define CONFIG_START_IDE        1       /* check, if use IDE */
291
292 #undef  CONFIG_IDE_8xx_DIRECT           /* no pcmcia interface required */
293 #undef  CONFIG_IDE_LED                  /* no led for ide supported     */
294 #undef  CONFIG_IDE_RESET                /* no reset for ide supported   */
295
296 #define CONFIG_ATAPI
297 #define CONFIG_DOS_PARTITION
298 #define CFG_IDE_MAXDEVICE       (CFG_IDE_MAXBUS*1) /* max. 1 drives per IDE bus */
299
300 #ifndef IDE_USES_ISA_EMULATION
301
302 /* New and faster access */
303 #define CFG_ATA_BASE_ADDR               0x7A000000      /* start of ISA IO emulation */
304
305 /* How many IDE busses are available */
306 #define CFG_IDE_MAXBUS          1
307
308 /* What IDE ports are available */
309 #define CFG_ATA_IDE0_OFFSET     0x000           /* first is available */
310 #undef  CFG_ATA_IDE1_OFFSET                     /* second not available */
311
312 /* access to the data port is calculated:
313    CFG_ATA_BASE_ADDR + CFG_ATA_IDE0_OFFSET + CFG_ATA_DATA_OFFSET + 0 */
314 #define CFG_ATA_DATA_OFFSET     0x0000  /* Offset for data I/O */
315
316 /* access to the registers is calculated:
317    CFG_ATA_BASE_ADDR + CFG_ATA_IDE0_OFFSET + CFG_ATA_REG_OFFSET + [1..7] */
318 #define CFG_ATA_REG_OFFSET      0x0000  /* Offset for normal register accesses  */
319
320 /* access to the alternate register is calculated:
321    CFG_ATA_BASE_ADDR + CFG_ATA_IDE0_OFFSET + CFG_ATA_ALT_OFFSET + 6 */
322 #define CFG_ATA_ALT_OFFSET      0x008           /* Offset for alternate registers       */
323
324 #else /* IDE_USES_ISA_EMULATION */
325
326 #define CFG_ATA_BASE_ADDR               0x79000000      /* start of ISA IO emulation */
327
328 /* How many IDE busses are available */
329 #define CFG_IDE_MAXBUS          1
330
331 /* What IDE ports are available */
332 #define CFG_ATA_IDE0_OFFSET     0x01F0  /* first is available */
333 #undef  CFG_ATA_IDE1_OFFSET                             /* second not available */
334
335 /* access to the data port is calculated:
336    CFG_ATA_BASE_ADDR + CFG_ATA_IDE0_OFFSET + CFG_ATA_DATA_OFFSET + 0 */
337 #define CFG_ATA_DATA_OFFSET     0x0000  /* Offset for data I/O */
338
339 /* access to the registers is calculated:
340    CFG_ATA_BASE_ADDR + CFG_ATA_IDE0_OFFSET + CFG_ATA_REG_OFFSET + [1..7] */
341 #define CFG_ATA_REG_OFFSET      0x0000  /* Offset for normal register accesses  */
342
343 /* access to the alternate register is calculated:
344    CFG_ATA_BASE_ADDR + CFG_ATA_IDE0_OFFSET + CFG_ATA_ALT_OFFSET + 6 */
345 #define CFG_ATA_ALT_OFFSET      0x03F0          /* Offset for alternate registers       */
346
347 #endif /* IDE_USES_ISA_EMULATION */
348
349 #endif /* !(CONFIG_COMMANDS & CFG_CMD_IDE) */
350
351 /*
352 #define CFG_KEY_REG_BASE_ADDR   0xF0100000
353 #define CFG_IR_REG_BASE_ADDR    0xF0200000
354 #define CFG_FPGA_REG_BASE_ADDR  0xF0300000
355 */
356
357 /*-----------------------------------------------------------------------
358  * Start addresses for the final memory configuration
359  * (Set up by the startup code)
360  * Please note that CFG_SDRAM_BASE _must_ start at 0
361  *
362  * CFG_FLASH_BASE   -> start address of internal flash
363  * CFG_MONITOR_BASE -> start of u-boot
364  */
365 #ifndef __ASSEMBLER__
366 extern unsigned long offsetOfBigFlash;
367 extern unsigned long offsetOfEnvironment;
368 #endif
369
370 #define CFG_SDRAM_BASE          0x00000000
371 #define CFG_FLASH_BASE          0xFFE00000
372 #define CFG_MONITOR_BASE        0xFFFC0000     /* placed last 256k */
373 #define CFG_MONITOR_LEN         (224 * 1024)    /* Reserve 224 KiB for Monitor  */
374 #define CFG_MALLOC_LEN          (128 * 1024)    /* Reserve 128 KiB for malloc() */
375
376 /*
377  * For booting Linux, the board info and command line data
378  * have to be in the first 8 MiB of memory, since this is
379  * the maximum mapped by the Linux kernel during initialization.
380  */
381 #define CFG_BOOTMAPSZ           (8 << 20)       /* Initial Memory map for Linux */
382 /*-----------------------------------------------------------------------
383  * FLASH organization ## FIXME: lookup in datasheet
384  */
385 #define CFG_MAX_FLASH_BANKS     2       /* max number of memory banks           */
386 #define CFG_MAX_FLASH_SECT      256     /* max number of sectors on one chip    */
387
388 #define CFG_FLASH_CFI                   /* flash is CFI compat. */
389 #define CFG_FLASH_CFI_DRIVER            /* Use common CFI driver*/
390 #define CFG_FLASH_EMPTY_INFO            /* print 'E' for empty sector   */
391 #define CFG_FLASH_QUIET_TEST    1       /* don't warn upon unknown flash*/
392 #define CFG_FLASH_ERASE_TOUT    120000  /* Timeout for Flash Erase (in ms)      */
393 #define CFG_FLASH_WRITE_TOUT    500     /* Timeout for Flash Write (in ms)      */
394 #define CFG_WRITE_SWAPPED_DATA          /* swap Databytes between reading/writing */
395
396 #define CFG_ENV_IS_IN_FLASH     1
397 #if CFG_ENV_IS_IN_FLASH
398 #define CFG_ENV_OFFSET          0x00000000  /* Offset of Environment Sector in bottom type */
399 #define CFG_ENV_SIZE            0x4000      /* Total Size of Environment Sector */
400 #define CFG_ENV_SECT_SIZE       0x4000      /* see README - env sector total size       */
401
402 /* Address and size of Redundant Environment Sector     */
403 #define CFG_ENV_OFFSET_REDUND   (CFG_ENV_OFFSET+CFG_ENV_SIZE)
404 #define CFG_ENV_SIZE_REDUND     (CFG_ENV_SIZE)
405
406 #endif
407 /* let us changing anything in our environment */
408 #define CONFIG_ENV_OVERWRITE
409
410 /*
411  * NAND-FLASH stuff
412  */
413 #define CFG_MAX_NAND_DEVICE     1
414 #define NAND_MAX_CHIPS          1
415 #define CFG_NAND_BASE           0x77D00000
416
417
418 #define CONFIG_JFFS2_NAND 1                     /* jffs2 on nand support */
419
420 /* No command line, one static partition */
421 #undef  CONFIG_JFFS2_CMDLINE
422 #define CONFIG_JFFS2_DEV                "nand0"
423 #define CONFIG_JFFS2_PART_SIZE          0x01000000
424 #define CONFIG_JFFS2_PART_OFFSET        0x00000000
425
426 /*-----------------------------------------------------------------------
427  * Cache Configuration
428  *
429  * CFG_DCACHE_SIZE -> size of data cache:
430  * - 405GP 8k
431  * - 405GPr 16k
432  * How to handle the difference in chache size?
433  * CFG_CACHELINE_SIZE -> size of one cache line: 32 bytes
434  * (used in cpu/ppc4xx/start.S)
435 */
436 #define CFG_DCACHE_SIZE    16384
437
438 #define CFG_CACHELINE_SIZE 32
439
440 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
441  #define CFG_CACHELINE_SHIFT    5       /* log base 2 of the above value        */
442 #endif
443
444 /*
445  * Init Memory Controller:
446  *
447  */
448
449 #define FLASH_BASE0_PRELIM      CFG_FLASH_BASE
450 #define FLASH_BASE1_PRELIM      0
451
452 /*-----------------------------------------------------------------------
453  * Some informations about the internal SRAM (OCM=On Chip Memory)
454  *
455  * CFG_OCM_DATA_ADDR -> location
456  * CFG_OCM_DATA_SIZE -> size
457 */
458
459 #define CFG_TEMP_STACK_OCM      1
460 #define CFG_OCM_DATA_ADDR       0xF8000000
461 #define CFG_OCM_DATA_SIZE       0x1000
462
463 /*-----------------------------------------------------------------------
464  * Definitions for initial stack pointer and data area (in DPRAM):
465  * - we are using the internal 4k SRAM, so we don't need data cache mapping
466  * - internal SRAM (OCM=On Chip Memory) is placed to CFG_OCM_DATA_ADDR
467  * - Stackpointer will be located to
468  *   (CFG_INIT_RAM_ADDR&0xFFFF0000) | (CFG_INIT_SP_OFFSET&0x0000FFFF)
469  *   in cpu/ppc4xx/start.S
470  */
471
472 #undef CFG_INIT_DCACHE_CS
473 /* Where the internal SRAM starts */
474 #define CFG_INIT_RAM_ADDR       CFG_OCM_DATA_ADDR
475 /* Where the internal SRAM ends (only offset) */
476 #define CFG_INIT_RAM_END        0x0F00
477
478 /*
479
480  CFG_INIT_RAM_ADDR ------> ------------ lower address
481                            |          |
482                            |  ^       |
483                            |  |       |
484                            |  | Stack |
485  CFG_GBL_DATA_OFFSET ----> ------------
486                            |          |
487                            | 64 Bytes |
488                            |          |
489  CFG_INIT_RAM_END  ------> ------------ higher address
490   (offset only)
491
492 */
493 /* size in bytes reserved for initial data */
494 #define CFG_GBL_DATA_SIZE     64
495 #define CFG_GBL_DATA_OFFSET   (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
496 /* Initial value of the stack pointern in internal SRAM */
497 #define CFG_INIT_SP_OFFSET    CFG_GBL_DATA_OFFSET
498
499 /*
500  * Internal Definitions
501  *
502  * Boot Flags
503  */
504 #define BOOTFLAG_COLD   0x01            /* Normal Power-On: Boot from FLASH     */
505 #define BOOTFLAG_WARM   0x02            /* Software reboot                      */
506
507 /* ################################################################################### */
508 /* These defines will be used in cpu/ppc4xx/cpu_init.c to setup external chip selects  */
509 /* They are currently undefined cause they are initiaized in board/solidcard3/init.S   */
510
511 /* This chip select accesses the boot device */
512 /* It depends on boot select switch if this device is 16 or 8 bit */
513
514 #undef CFG_EBC_PB0AP
515 #undef CFG_EBC_PB0CR
516
517 #undef CFG_EBC_PB1AP
518 #undef CFG_EBC_PB1CR
519
520 #undef CFG_EBC_PB2AP
521 #undef CFG_EBC_PB2CR
522
523 #undef CFG_EBC_PB3AP
524 #undef CFG_EBC_PB3CR
525
526 #undef CFG_EBC_PB4AP
527 #undef CFG_EBC_PB4CR
528
529 #undef CFG_EBC_PB5AP
530 #undef CFG_EBC_PB5CR
531
532 #undef CFG_EBC_PB6AP
533 #undef CFG_EBC_PB6CR
534
535 #undef CFG_EBC_PB7AP
536 #undef CFG_EBC_PB7CR
537
538 #define CFG_EBC_CFG    0xb84ef000
539
540 #define CONFIG_SDRAM_BANK0      /* use the standard SDRAM initialization */
541 #undef CONFIG_SPD_EEPROM
542
543 /*
544  * Define this to get more information about system configuration
545  */
546 /* #define SC3_DEBUGOUT */
547 #undef SC3_DEBUGOUT
548
549 /***********************************************************************
550  * External peripheral base address
551  ***********************************************************************/
552
553 #define CFG_ISA_MEM_BASE_ADDRESS 0x78000000
554 /*
555  Die Grafik-Treiber greifen über die Adresse in diesem Macro auf den Chip zu.
556  Das funktioniert bei deren Karten, weil sie eine PCI-Bridge benutzen, die
557  das gleiche Mapping durchführen kann, wie der SC520 (also Aufteilen von IO-Zugriffen
558  auf ISA- und PCI-Zyklen)
559  */
560 #define CFG_ISA_IO_BASE_ADDRESS  0xE8000000
561 /*#define CFG_ISA_IO_BASE_ADDRESS  0x79000000 */
562
563 /************************************************************
564  * Video support
565  ************************************************************/
566
567 #ifdef USE_VGA_GRAPHICS
568 #define CONFIG_VIDEO            /* To enable video controller support */
569 #define CONFIG_VIDEO_CT69000
570 #define CONFIG_CFB_CONSOLE
571 /* #define CONFIG_VIDEO_LOGO */
572 #define CONFIG_VGA_AS_SINGLE_DEVICE
573 #define CONFIG_VIDEO_SW_CURSOR
574 /* #define CONFIG_VIDEO_HW_CURSOR */
575 #define CONFIG_VIDEO_ONBOARD    /* Video controller is on-board */
576
577 #define VIDEO_HW_RECTFILL
578 #define VIDEO_HW_BITBLT
579
580 #endif
581
582 /************************************************************
583  * Ident
584  ************************************************************/
585 #define CONFIG_SC3_VERSION "r1.4"
586
587 #define POST_OUT(x) (*((volatile unsigned char*)(0x79000080))=x)
588
589 #endif  /* __CONFIG_H */