at91: Introduction of at91sam9g45 SOC.
[oweals/u-boot.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 you define CONFIG_CMD_IDE!
72  */
73 #define IDE_USES_ISA_EMULATION
74
75 /*-----------------------------------------------------------------------
76  * Serial Port
77  *----------------------------------------------------------------------*/
78 #define CONFIG_SERIAL_MULTI
79 #undef CONFIG_SERIAL_SOFTWARE_FIFO
80 /*
81  * define CONFIG_POWER_DOWN if your cpu should power down while waiting for your input
82  * Works only, if you have enabled the CONFIG_SERIAL_SOFTWARE_FIFO feature
83  */
84 #if CONFIG_SERIAL_SOFTWARE_FIFO
85  #define CONFIG_POWER_DOWN
86 #endif
87
88 /*
89  * define CONFIG_SYS_CLK_FREQ to your base crystal clock in Hz
90  */
91 #define CONFIG_SYS_CLK_FREQ     33333333
92
93 /*
94  * define CONFIG_BAUDRATE to the baudrate value you want to use as default
95  */
96 #define CONFIG_BAUDRATE         115200
97 #define CONFIG_BOOTDELAY        3 /* autoboot after 3 seconds         */
98
99 #define CONFIG_PREBOOT  "echo;" \
100         "echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \
101         "echo"
102
103 #undef  CONFIG_BOOTARGS
104
105 #define CONFIG_EXTRA_ENV_SETTINGS                                       \
106         "netdev=eth0\0"                                                 \
107         "nfsargs=setenv bootargs root=/dev/nfs rw "                     \
108                 "nfsroot=${serverip}:${rootpath}\0"                     \
109         "ramargs=setenv bootargs root=/dev/ram rw\0"                    \
110         "nand_args=setenv bootargs root=/dev/mtdblock5 rw"              \
111                 "rootfstype=jffs2\0"                                    \
112         "addip=setenv bootargs ${bootargs} "                            \
113                 "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
114                 ":${hostname}:${netdev}:off panic=1\0"                  \
115         "addcons=setenv bootargs ${bootargs} "                          \
116                 "console=ttyS0,${baudrate}\0"                           \
117         "flash_nfs=run nfsargs addip addcons;"                          \
118                 "bootm ${kernel_addr}\0"                                \
119         "flash_nand=run nand_args addip addcons;bootm ${kernel_addr}\0" \
120         "net_nfs=tftp 200000 ${bootfile};run nfsargs addip addcons;"    \
121                 "bootm\0"                                               \
122         "rootpath=/opt/eldk/ppc_4xx\0"                                  \
123         "bootfile=/tftpboot/sc3/uImage\0"                               \
124         "u-boot=/tftpboot/sc3/u-boot.bin\0"                             \
125         "setup=tftp 200000 /tftpboot/sc3/setup.img;source 200000\0"     \
126         "kernel_addr=FFE08000\0"                                        \
127         ""
128 #undef CONFIG_BOOTCOMMAND
129
130 #define CONFIG_SILENT_CONSOLE   1       /* enable silent startup */
131 #define CONFIG_SYS_DEVICE_NULLDEV       1       /* include nulldev device       */
132
133 #if 1   /* feel free to disable for development */
134 #define CONFIG_AUTOBOOT_KEYED           /* Enable password protection   */
135 #define CONFIG_AUTOBOOT_PROMPT          \
136         "\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 CONFIG_SYS_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
170 #define CONFIG_PPC4xx_EMAC
171 #define CONFIG_MII 1                    /* add 405GP MII PHY management         */
172 #define CONFIG_PHY_ADDR 1       /* the connected Phy defaults to address 1 */
173
174 /*
175  * BOOTP options
176  */
177 #define CONFIG_BOOTP_BOOTFILESIZE
178 #define CONFIG_BOOTP_BOOTPATH
179 #define CONFIG_BOOTP_GATEWAY
180 #define CONFIG_BOOTP_HOSTNAME
181
182
183 /*
184  * Command line configuration.
185  */
186 #include <config_cmd_default.h>
187
188
189 #define CONFIG_CMD_CACHE
190 #define CONFIG_CMD_DATE
191 #define CONFIG_CMD_DHCP
192 #define CONFIG_CMD_ELF
193 #define CONFIG_CMD_I2C
194 #define CONFIG_CMD_IDE
195 #define CONFIG_CMD_IRQ
196 #define CONFIG_CMD_JFFS2
197 #define CONFIG_CMD_MII
198 #define CONFIG_CMD_NAND
199 #define CONFIG_CMD_NET
200 #define CONFIG_CMD_PCI
201 #define CONFIG_CMD_PING
202 #define CONFIG_CMD_SOURCE
203
204
205 #undef CONFIG_WATCHDOG                  /* watchdog disabled            */
206
207 /*
208  * Miscellaneous configurable options
209  */
210 #define CONFIG_SYS_LONGHELP     1               /* undef to save memory         */
211 #define CONFIG_SYS_PROMPT       "SC3> " /* Monitor Command Prompt       */
212 #define CONFIG_SYS_CBSIZE       256             /* Console I/O Buffer Size      */
213
214 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
215
216 #define CONFIG_SYS_MAXARGS      16              /* max number of command args   */
217 #define CONFIG_SYS_BARGSIZE     CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size    */
218
219 #define CONFIG_SYS_MEMTEST_START        0x0400000       /* memtest works on     */
220 #define CONFIG_SYS_MEMTEST_END          0x0C00000       /* 4 ... 12 MB in DRAM  */
221
222 /*
223  * If CONFIG_SYS_EXT_SERIAL_CLOCK, then the UART divisor is 1.
224  * If CONFIG_SYS_405_UART_ERRATA_59, then UART divisor is 31.
225  * Otherwise, UART divisor is determined by CPU Clock and CONFIG_SYS_BASE_BAUD value.
226  * The Linux BASE_BAUD define should match this configuration.
227  *    baseBaud = cpuClock/(uartDivisor*16)
228  * If CONFIG_SYS_405_UART_ERRATA_59 and 200MHz CPU clock,
229  * set Linux BASE_BAUD to 403200.
230  *
231  * Consider the OPB clock! If it get lower the BASE_BAUD must be lower to
232  * (see 405GP datasheet for descritpion)
233  */
234 #undef  CONFIG_SYS_EXT_SERIAL_CLOCK             /* external serial clock */
235 #undef  CONFIG_SYS_405_UART_ERRATA_59           /* 405GP/CR Rev. D silicon */
236 #define CONFIG_SYS_BASE_BAUD            921600  /* internal clock */
237
238 /* The following table includes the supported baudrates */
239 #define CONFIG_SYS_BAUDRATE_TABLE  \
240     {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
241
242 #define CONFIG_SYS_LOAD_ADDR            0x1000000       /* default load address */
243 #define CONFIG_SYS_EXTBDINFO            1       /* To use extended board_into (bd_t) */
244
245 #define CONFIG_SYS_HZ                   1000    /* decrementer freq: 1 ms ticks */
246
247 /*-----------------------------------------------------------------------
248  * IIC stuff
249  *-----------------------------------------------------------------------
250  */
251 #define  CONFIG_HARD_I2C                /* I2C with hardware support    */
252 #undef  CONFIG_SOFT_I2C                 /* I2C bit-banged               */
253
254 #define I2C_INIT
255 #define I2C_ACTIVE 0
256 #define I2C_TRISTATE 0
257
258 #define CONFIG_SYS_I2C_SPEED            100000  /* use the standard 100kHz speed */
259 #define CONFIG_SYS_I2C_SLAVE            0x7F            /* mask valid bits */
260
261 #define CONFIG_RTC_DS1337
262 #define CONFIG_SYS_I2C_RTC_ADDR 0x68
263
264 /*-----------------------------------------------------------------------
265  * PCI stuff
266  *-----------------------------------------------------------------------
267  */
268 #define PCI_HOST_ADAPTER 0              /* configure ar pci adapter     */
269 #define PCI_HOST_FORCE  1               /* configure as pci host        */
270 #define PCI_HOST_AUTO   2               /* detected via arbiter enable  */
271
272 #define CONFIG_PCI                      /* include pci support          */
273 #define CONFIG_PCI_HOST PCI_HOST_FORCE  /* select pci host function     */
274 #define CONFIG_PCI_PNP                  /* do pci plug-and-play         */
275                                         /* resource configuration       */
276
277 /* If you want to see, whats connected to your PCI bus */
278 /* #define CONFIG_PCI_SCAN_SHOW */
279
280 #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x0000   /* PCI Vendor ID: to-do!!!      */
281 #define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0000   /* PCI Device ID: to-do!!!      */
282 #define CONFIG_SYS_PCI_PTM1LA   0x00000000      /* point to sdram               */
283 #define CONFIG_SYS_PCI_PTM1MS   0x80000001      /* 2GB, enable hard-wired to 1  */
284 #define CONFIG_SYS_PCI_PTM1PCI 0x00000000       /* Host: use this pci address   */
285 #define CONFIG_SYS_PCI_PTM2LA   0x00000000      /* disabled                     */
286 #define CONFIG_SYS_PCI_PTM2MS   0x00000000      /* disabled                     */
287 #define CONFIG_SYS_PCI_PTM2PCI 0x04000000       /* Host: use this pci address   */
288
289 /*-----------------------------------------------------------------------
290  * External peripheral base address
291  *-----------------------------------------------------------------------
292  */
293 #if !defined(CONFIG_CMD_IDE)
294
295 #undef  CONFIG_IDE_LED                  /* no led for ide supported     */
296 #undef  CONFIG_IDE_RESET                /* no reset for ide supported   */
297
298 /*-----------------------------------------------------------------------
299  * IDE/ATA stuff
300  *-----------------------------------------------------------------------
301  */
302 #else
303 #define CONFIG_START_IDE        1       /* check, if use IDE */
304
305 #undef  CONFIG_IDE_8xx_DIRECT           /* no pcmcia interface required */
306 #undef  CONFIG_IDE_LED                  /* no led for ide supported     */
307 #undef  CONFIG_IDE_RESET                /* no reset for ide supported   */
308
309 #define CONFIG_ATAPI
310 #define CONFIG_DOS_PARTITION
311 #define CONFIG_SYS_IDE_MAXDEVICE        (CONFIG_SYS_IDE_MAXBUS*1) /* max. 1 drives per IDE bus */
312
313 #ifndef IDE_USES_ISA_EMULATION
314
315 /* New and faster access */
316 #define CONFIG_SYS_ATA_BASE_ADDR                0x7A000000      /* start of ISA IO emulation */
317
318 /* How many IDE busses are available */
319 #define CONFIG_SYS_IDE_MAXBUS           1
320
321 /* What IDE ports are available */
322 #define CONFIG_SYS_ATA_IDE0_OFFSET      0x000           /* first is available */
323 #undef  CONFIG_SYS_ATA_IDE1_OFFSET                      /* second not available */
324
325 /* access to the data port is calculated:
326    CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE0_OFFSET + CONFIG_SYS_ATA_DATA_OFFSET + 0 */
327 #define CONFIG_SYS_ATA_DATA_OFFSET      0x0000  /* Offset for data I/O */
328
329 /* access to the registers is calculated:
330    CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE0_OFFSET + CONFIG_SYS_ATA_REG_OFFSET + [1..7] */
331 #define CONFIG_SYS_ATA_REG_OFFSET       0x0000  /* Offset for normal register accesses  */
332
333 /* access to the alternate register is calculated:
334    CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE0_OFFSET + CONFIG_SYS_ATA_ALT_OFFSET + 6 */
335 #define CONFIG_SYS_ATA_ALT_OFFSET       0x008           /* Offset for alternate registers       */
336
337 #else /* IDE_USES_ISA_EMULATION */
338
339 #define CONFIG_SYS_ATA_BASE_ADDR                0x79000000      /* start of ISA IO emulation */
340
341 /* How many IDE busses are available */
342 #define CONFIG_SYS_IDE_MAXBUS           1
343
344 /* What IDE ports are available */
345 #define CONFIG_SYS_ATA_IDE0_OFFSET      0x01F0  /* first is available */
346 #undef  CONFIG_SYS_ATA_IDE1_OFFSET                              /* second not available */
347
348 /* access to the data port is calculated:
349    CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE0_OFFSET + CONFIG_SYS_ATA_DATA_OFFSET + 0 */
350 #define CONFIG_SYS_ATA_DATA_OFFSET      0x0000  /* Offset for data I/O */
351
352 /* access to the registers is calculated:
353    CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE0_OFFSET + CONFIG_SYS_ATA_REG_OFFSET + [1..7] */
354 #define CONFIG_SYS_ATA_REG_OFFSET       0x0000  /* Offset for normal register accesses  */
355
356 /* access to the alternate register is calculated:
357    CONFIG_SYS_ATA_BASE_ADDR + CONFIG_SYS_ATA_IDE0_OFFSET + CONFIG_SYS_ATA_ALT_OFFSET + 6 */
358 #define CONFIG_SYS_ATA_ALT_OFFSET       0x03F0          /* Offset for alternate registers       */
359
360 #endif /* IDE_USES_ISA_EMULATION */
361
362 #endif
363
364 /*
365 #define CONFIG_SYS_KEY_REG_BASE_ADDR    0xF0100000
366 #define CONFIG_SYS_IR_REG_BASE_ADDR     0xF0200000
367 #define CONFIG_SYS_FPGA_REG_BASE_ADDR   0xF0300000
368 */
369
370 /*-----------------------------------------------------------------------
371  * Start addresses for the final memory configuration
372  * (Set up by the startup code)
373  * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
374  *
375  * CONFIG_SYS_FLASH_BASE   -> start address of internal flash
376  * CONFIG_SYS_MONITOR_BASE -> start of u-boot
377  */
378 #ifndef __ASSEMBLER__
379 extern unsigned long offsetOfBigFlash;
380 extern unsigned long offsetOfEnvironment;
381 #endif
382
383 #define CONFIG_SYS_SDRAM_BASE           0x00000000
384 #define CONFIG_SYS_FLASH_BASE           0xFFE00000
385 #define CONFIG_SYS_MONITOR_BASE 0xFFFC0000     /* placed last 256k */
386 #define CONFIG_SYS_MONITOR_LEN          (224 * 1024)    /* Reserve 224 KiB for Monitor  */
387 #define CONFIG_SYS_MALLOC_LEN           (128 * 1024)    /* Reserve 128 KiB for malloc() */
388
389 /*
390  * For booting Linux, the board info and command line data
391  * have to be in the first 8 MiB of memory, since this is
392  * the maximum mapped by the Linux kernel during initialization.
393  */
394 #define CONFIG_SYS_BOOTMAPSZ            (8 << 20)       /* Initial Memory map for Linux */
395 /*-----------------------------------------------------------------------
396  * FLASH organization ## FIXME: lookup in datasheet
397  */
398 #define CONFIG_SYS_MAX_FLASH_BANKS      2       /* max number of memory banks           */
399 #define CONFIG_SYS_MAX_FLASH_SECT       256     /* max number of sectors on one chip    */
400
401 #define CONFIG_SYS_FLASH_CFI                    /* flash is CFI compat. */
402 #define CONFIG_FLASH_CFI_DRIVER         /* Use common CFI driver*/
403 #define CONFIG_SYS_FLASH_EMPTY_INFO             /* print 'E' for empty sector   */
404 #define CONFIG_SYS_FLASH_QUIET_TEST     1       /* don't warn upon unknown flash*/
405 #define CONFIG_SYS_FLASH_ERASE_TOUT     120000  /* Timeout for Flash Erase (in ms)      */
406 #define CONFIG_SYS_FLASH_WRITE_TOUT     500     /* Timeout for Flash Write (in ms)      */
407 #define CONFIG_SYS_WRITE_SWAPPED_DATA           /* swap Databytes between reading/writing */
408
409 #define CONFIG_ENV_IS_IN_FLASH  1
410 #ifdef CONFIG_ENV_IS_IN_FLASH
411 #define CONFIG_ENV_OFFSET               0x00000000  /* Offset of Environment Sector in bottom type */
412 #define CONFIG_ENV_SIZE         0x4000      /* Total Size of Environment Sector */
413 #define CONFIG_ENV_SECT_SIZE    0x4000      /* see README - env sector total size       */
414
415 /* Address and size of Redundant Environment Sector     */
416 #define CONFIG_ENV_OFFSET_REDUND        (CONFIG_ENV_OFFSET+CONFIG_ENV_SIZE)
417 #define CONFIG_ENV_SIZE_REDUND  (CONFIG_ENV_SIZE)
418
419 #endif
420 /* let us changing anything in our environment */
421 #define CONFIG_ENV_OVERWRITE
422
423 /*
424  * NAND-FLASH stuff
425  */
426 #define CONFIG_SYS_MAX_NAND_DEVICE      1
427 #define CONFIG_SYS_NAND_BASE            0x77D00000
428
429
430 #define CONFIG_JFFS2_NAND 1                     /* jffs2 on nand support */
431
432 /* No command line, one static partition */
433 #undef  CONFIG_CMD_MTDPARTS
434 #define CONFIG_JFFS2_DEV                "nand0"
435 #define CONFIG_JFFS2_PART_SIZE          0x01000000
436 #define CONFIG_JFFS2_PART_OFFSET        0x00000000
437
438 /*
439  * Init Memory Controller:
440  *
441  */
442
443 #define FLASH_BASE0_PRELIM      CONFIG_SYS_FLASH_BASE
444 #define FLASH_BASE1_PRELIM      0
445
446 /*-----------------------------------------------------------------------
447  * Some informations about the internal SRAM (OCM=On Chip Memory)
448  *
449  * CONFIG_SYS_OCM_DATA_ADDR -> location
450  * CONFIG_SYS_OCM_DATA_SIZE -> size
451 */
452
453 #define CONFIG_SYS_TEMP_STACK_OCM       1
454 #define CONFIG_SYS_OCM_DATA_ADDR        0xF8000000
455 #define CONFIG_SYS_OCM_DATA_SIZE        0x1000
456
457 /*-----------------------------------------------------------------------
458  * Definitions for initial stack pointer and data area (in DPRAM):
459  * - we are using the internal 4k SRAM, so we don't need data cache mapping
460  * - internal SRAM (OCM=On Chip Memory) is placed to CONFIG_SYS_OCM_DATA_ADDR
461  * - Stackpointer will be located to
462  *   (CONFIG_SYS_INIT_RAM_ADDR&0xFFFF0000) | (CONFIG_SYS_INIT_SP_OFFSET&0x0000FFFF)
463  *   in cpu/ppc4xx/start.S
464  */
465
466 #undef CONFIG_SYS_INIT_DCACHE_CS
467 /* Where the internal SRAM starts */
468 #define CONFIG_SYS_INIT_RAM_ADDR        CONFIG_SYS_OCM_DATA_ADDR
469 /* Where the internal SRAM ends (only offset) */
470 #define CONFIG_SYS_INIT_RAM_END 0x0F00
471
472 /*
473
474  CONFIG_SYS_INIT_RAM_ADDR ------> ------------ lower address
475                            |          |
476                            |  ^       |
477                            |  |       |
478                            |  | Stack |
479  CONFIG_SYS_GBL_DATA_OFFSET ----> ------------
480                            |          |
481                            | 64 Bytes |
482                            |          |
483  CONFIG_SYS_INIT_RAM_END  ------> ------------ higher address
484   (offset only)
485
486 */
487 /* size in bytes reserved for initial data */
488 #define CONFIG_SYS_GBL_DATA_SIZE     64
489 #define CONFIG_SYS_GBL_DATA_OFFSET   (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
490 /* Initial value of the stack pointern in internal SRAM */
491 #define CONFIG_SYS_INIT_SP_OFFSET    CONFIG_SYS_GBL_DATA_OFFSET
492
493 /*
494  * Internal Definitions
495  *
496  * Boot Flags
497  */
498 #define BOOTFLAG_COLD   0x01            /* Normal Power-On: Boot from FLASH     */
499 #define BOOTFLAG_WARM   0x02            /* Software reboot                      */
500
501 /* ################################################################################### */
502 /* These defines will be used in cpu/ppc4xx/cpu_init.c to setup external chip selects  */
503 /* They are currently undefined cause they are initiaized in board/solidcard3/init.S   */
504
505 /* This chip select accesses the boot device */
506 /* It depends on boot select switch if this device is 16 or 8 bit */
507
508 #undef CONFIG_SYS_EBC_PB0AP
509 #undef CONFIG_SYS_EBC_PB0CR
510
511 #undef CONFIG_SYS_EBC_PB1AP
512 #undef CONFIG_SYS_EBC_PB1CR
513
514 #undef CONFIG_SYS_EBC_PB2AP
515 #undef CONFIG_SYS_EBC_PB2CR
516
517 #undef CONFIG_SYS_EBC_PB3AP
518 #undef CONFIG_SYS_EBC_PB3CR
519
520 #undef CONFIG_SYS_EBC_PB4AP
521 #undef CONFIG_SYS_EBC_PB4CR
522
523 #undef CONFIG_SYS_EBC_PB5AP
524 #undef CONFIG_SYS_EBC_PB5CR
525
526 #undef CONFIG_SYS_EBC_PB6AP
527 #undef CONFIG_SYS_EBC_PB6CR
528
529 #undef CONFIG_SYS_EBC_PB7AP
530 #undef CONFIG_SYS_EBC_PB7CR
531
532 #define CONFIG_SYS_EBC_CFG    0xb84ef000
533
534 #define CONFIG_SDRAM_BANK0      /* use the standard SDRAM initialization */
535 #undef CONFIG_SPD_EEPROM
536
537 /*
538  * Define this to get more information about system configuration
539  */
540 /* #define SC3_DEBUGOUT */
541 #undef SC3_DEBUGOUT
542
543 /***********************************************************************
544  * External peripheral base address
545  ***********************************************************************/
546
547 #define CONFIG_SYS_ISA_MEM_BASE_ADDRESS 0x78000000
548 /*
549  Die Grafik-Treiber greifen über die Adresse in diesem Macro auf den Chip zu.
550  Das funktioniert bei deren Karten, weil sie eine PCI-Bridge benutzen, die
551  das gleiche Mapping durchführen kann, wie der SC520 (also Aufteilen von IO-Zugriffen
552  auf ISA- und PCI-Zyklen)
553  */
554 #define CONFIG_SYS_ISA_IO_BASE_ADDRESS  0xE8000000
555 /*#define CONFIG_SYS_ISA_IO_BASE_ADDRESS  0x79000000 */
556
557 /************************************************************
558  * Video support
559  ************************************************************/
560
561 #ifdef USE_VGA_GRAPHICS
562 #define CONFIG_VIDEO            /* To enable video controller support */
563 #define CONFIG_VIDEO_CT69000
564 #define CONFIG_CFB_CONSOLE
565 /* #define CONFIG_VIDEO_LOGO */
566 #define CONFIG_VGA_AS_SINGLE_DEVICE
567 #define CONFIG_VIDEO_SW_CURSOR
568 /* #define CONFIG_VIDEO_HW_CURSOR */
569 #define CONFIG_VIDEO_ONBOARD    /* Video controller is on-board */
570
571 #define VIDEO_HW_RECTFILL
572 #define VIDEO_HW_BITBLT
573
574 #endif
575
576 /************************************************************
577  * Ident
578  ************************************************************/
579 #define CONFIG_SC3_VERSION "r1.4"
580
581 #define POST_OUT(x) (*((volatile unsigned char*)(0x79000080))=x)
582
583 #endif  /* __CONFIG_H */