arm: add Cygnus and NSP boards
[platform/kernel/u-boot.git] / include / configs / mpc7448hpc2.h
1 /*
2  * Copyright (c) 2005 Freescale Semiconductor, Inc.
3  *
4  * (C) Copyright 2006
5  * Alex Bounine , Tundra Semiconductor Corp.
6  * Roy Zang     , <tie-fei.zang@freescale.com> Freescale Corp.
7  *
8  * SPDX-License-Identifier:     GPL-2.0+
9  */
10
11 /*
12  * board specific configuration options for Freescale
13  * MPC7448HPC2 (High-Performance Computing II) (Taiga) board
14  *
15  */
16
17 #ifndef __CONFIG_H
18 #define __CONFIG_H
19
20 /* Board Configuration Definitions */
21 /* MPC7448HPC2 (High-Performance Computing II) (Taiga) board */
22
23 #define CONFIG_MPC7448HPC2
24
25 #define CONFIG_74xx
26 #define CONFIG_HIGH_BATS        /* High BATs supported */
27 #define CONFIG_ALTIVEC          /* undef to disable */
28
29 #define CONFIG_SYS_TEXT_BASE    0xFF000000
30
31 #define CONFIG_SYS_BOARD_NAME           "MPC7448 HPC II"
32 #define CONFIG_IDENT_STRING     " Freescale MPC7448 HPC II"
33
34 #define CONFIG_SYS_OCN_CLK              133000000       /* 133 MHz */
35 #define CONFIG_SYS_BUS_CLK              133000000
36
37 #define CONFIG_SYS_CLK_SPREAD           /* Enable Spread-Spectrum Clock generation */
38
39 #undef  CONFIG_ECC              /* disable ECC support */
40
41 #ifndef __ASSEMBLY__
42 #include <galileo/core.h>
43 #endif
44
45 /* Board-specific Initialization Functions to be called */
46 #define CONFIG_SYS_BOARD_ASM_INIT
47 #define CONFIG_BOARD_EARLY_INIT_F
48 #define CONFIG_BOARD_EARLY_INIT_R
49 #define CONFIG_MISC_INIT_R
50
51 #define CONFIG_HAS_ETH0
52 #define CONFIG_HAS_ETH1
53
54 #define CONFIG_ENV_OVERWRITE
55
56 /*
57  * High Level Configuration Options
58  * (easy to change)
59  */
60
61 #define CONFIG_BAUDRATE         115200  /* console baudrate = 115000 */
62
63 /*#define CONFIG_SYS_HUSH_PARSER */
64 #undef CONFIG_SYS_HUSH_PARSER
65
66
67 /* Pass open firmware flat tree */
68 #define CONFIG_OF_LIBFDT        1
69 #define CONFIG_OF_BOARD_SETUP   1
70
71 #define OF_TSI                  "tsi108@c0000000"
72 #define OF_TBCLK                (bd->bi_busfreq / 8)
73 #define OF_STDOUT_PATH          "/tsi108@c0000000/serial@7808"
74
75 /*
76  * The following defines let you select what serial you want to use
77  * for your console driver.
78  *
79  * what to do:
80  * If you have hacked a serial cable onto the second DUART channel,
81  * change the CONFIG_SYS_DUART port from 1 to 0 below.
82  *
83  */
84
85 #define CONFIG_CONS_INDEX       1
86 #define CONFIG_SYS_NS16550
87 #define CONFIG_SYS_NS16550_SERIAL
88 #define CONFIG_SYS_NS16550_REG_SIZE     1
89 #define CONFIG_SYS_NS16550_CLK          CONFIG_SYS_OCN_CLK * 8
90
91 #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_TSI108_CSR_RST_BASE+0x7808)
92 #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_TSI108_CSR_RST_BASE+0x7C08)
93
94 #define CONFIG_BOOTDELAY        3       /* autoboot after 3 seconds */
95 #define CONFIG_ZERO_BOOTDELAY_CHECK
96
97 #undef CONFIG_BOOTARGS
98 /* #define CONFIG_PREBOOT  "echo;echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;echo" */
99
100 #if (CONFIG_BOOTDELAY >= 0)
101 #define CONFIG_BOOTCOMMAND      "tftpboot 0x400000 zImage.initrd.elf;\
102  setenv bootargs $(bootargs) $(bootargs_root) nfsroot=$(serverip):$(rootpath) \
103  ip=$(ipaddr):$(serverip)$(bootargs_end);  bootm 0x400000; "
104
105 #define CONFIG_BOOTARGS "console=ttyS0,115200"
106 #endif
107
108 #undef CONFIG_EXTRA_ENV_SETTINGS
109
110 #define CONFIG_SERIAL   "No. 1"
111
112 /* Networking Configuration */
113
114 #define CONFIG_TSI108_ETH
115 #define CONFIG_TSI108_ETH_NUM_PORTS     2
116
117
118 #define CONFIG_BOOTFILE         "zImage.initrd.elf"
119 #define CONFIG_LOADADDR         0x400000
120
121 /*-------------------------------------------------------------------------- */
122
123 #define CONFIG_LOADS_ECHO       0       /* echo off for serial download */
124 #define CONFIG_SYS_LOADS_BAUD_CHANGE    /* allow baudrate changes */
125
126 #undef CONFIG_WATCHDOG          /* watchdog disabled */
127
128 /*
129  * BOOTP options
130  */
131 #define CONFIG_BOOTP_SUBNETMASK
132 #define CONFIG_BOOTP_GATEWAY
133 #define CONFIG_BOOTP_HOSTNAME
134 #define CONFIG_BOOTP_BOOTPATH
135 #define CONFIG_BOOTP_BOOTFILESIZE
136
137
138 /*
139  * Command line configuration.
140  */
141 #include <config_cmd_default.h>
142
143 #define CONFIG_CMD_ASKENV
144 #define CONFIG_CMD_CACHE
145 #define CONFIG_CMD_PCI
146 #define CONFIG_CMD_I2C
147 #define CONFIG_CMD_SDRAM
148 #define CONFIG_CMD_EEPROM
149 #define CONFIG_CMD_FLASH
150 #define CONFIG_CMD_SAVEENV
151 #define CONFIG_CMD_BSP
152 #define CONFIG_CMD_DHCP
153 #define CONFIG_CMD_PING
154 #define CONFIG_CMD_DATE
155
156
157 /*set date in u-boot*/
158 #define CONFIG_RTC_M48T35A
159 #define CONFIG_SYS_NVRAM_BASE_ADDR      0xfc000000
160 #define CONFIG_SYS_NVRAM_SIZE           0x8000
161 /*
162  * Miscellaneous configurable options
163  */
164 #define CONFIG_VERSION_VARIABLE         1
165 #define CONFIG_TSI108_I2C
166 #define CONFIG_SYS_I2C_SPEED            100000  /* I2C speed */
167
168 #define CONFIG_SYS_I2C_EEPROM_ADDR              0x50    /* I2C EEPROM page 1 */
169 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN          1       /* Bytes of address */
170
171 #define CONFIG_SYS_LONGHELP             /* undef to save memory */
172
173 #if defined(CONFIG_CMD_KGDB)
174 #define CONFIG_SYS_CBSIZE               1024    /* Console I/O Buffer Size */
175 #define CONFIG_KGDB_BAUDRATE    115200  /* speed to run kgdb serial port at */
176 #else
177 #define CONFIG_SYS_CBSIZE               256     /* Console I/O Buffer Size */
178 #endif
179
180 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)/* Print Buffer Size */
181 #define CONFIG_SYS_MAXARGS      16              /* max number of command args */
182 #define CONFIG_SYS_BARGSIZE     CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size */
183
184 #define CONFIG_SYS_MEMTEST_START        0x00400000      /* memtest works on */
185 #define CONFIG_SYS_MEMTEST_END          0x07c00000      /* 4 ... 124 MB in DRAM */
186
187 #define CONFIG_SYS_LOAD_ADDR    0x00400000      /* default load address */
188
189 /*
190  * Low Level Configuration Settings
191  * (address mappings, register initial values, etc.)
192  * You should know what you are doing if you make changes here.
193  */
194
195 /*-----------------------------------------------------------------------
196  * Definitions for initial stack pointer and data area
197  */
198
199 /*
200  * When locking data in cache you should point the CONFIG_SYS_INIT_RAM_ADDRESS
201  * To an unused memory region. The stack will remain in cache until RAM
202  * is initialized
203  */
204 #undef  CONFIG_SYS_INIT_RAM_LOCK
205 #define CONFIG_SYS_INIT_RAM_ADDR        0x07d00000      /* unused memory region */
206 #define CONFIG_SYS_INIT_RAM_SIZE        0x4000/* larger space - we have SDRAM initialized */
207
208 #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
209
210 /*-----------------------------------------------------------------------
211  * Start addresses for the final memory configuration
212  * (Set up by the startup code)
213  * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
214  */
215
216 #define CONFIG_SYS_SDRAM_BASE           0x00000000      /* first 256 MB of SDRAM */
217 #define CONFIG_SYS_SDRAM1_BASE          0x10000000      /* next 256MB of SDRAM */
218
219 #define CONFIG_SYS_SDRAM2_BASE  0x40000000      /* beginning of non-cacheable alias for SDRAM - first 256MB */
220 #define CONFIG_SYS_SDRAM3_BASE  0x50000000      /* next Non-Cacheable 256MB of SDRAM */
221
222 #define CONFIG_SYS_PCI_PFM_BASE 0x80000000      /* Prefetchable (cacheable) PCI/X PFM and SDRAM OCN (128MB+128MB) */
223
224 #define CONFIG_SYS_PCI_MEM32_BASE       0xE0000000      /* Non-Cacheable PCI/X MEM and SDRAM OCN (128MB+128MB) */
225
226 #define CONFIG_SYS_MISC_REGION_BASE     0xf0000000      /* Base Address for (PCI/X + Flash) region */
227
228 #define CONFIG_SYS_FLASH_BASE   0xff000000      /* Base Address of Flash device */
229 #define CONFIG_SYS_FLASH_BASE2  0xfe000000      /* Alternate Flash Base Address */
230
231 #define CONFIG_VERY_BIG_RAM     /* we will use up to 256M memory for cause we are short of BATS */
232
233 #define PCI0_IO_BASE_BOOTM      0xfd000000
234
235 #define CONFIG_SYS_RESET_ADDRESS        0x3fffff00
236 #define CONFIG_SYS_MONITOR_LEN          (256 << 10)     /* Reserve 256 kB for Monitor */
237 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE    /* u-boot code base */
238 #define CONFIG_SYS_MALLOC_LEN           (256 << 10)     /* Reserve 256 kB for malloc */
239
240 /* Peripheral Device section */
241
242 /*
243  * Resources on the Tsi108
244  */
245
246 #define CONFIG_SYS_TSI108_CSR_RST_BASE  0xC0000000      /* Tsi108 CSR base after reset */
247 #define CONFIG_SYS_TSI108_CSR_BASE      CONFIG_SYS_TSI108_CSR_RST_BASE  /* Runtime Tsi108 CSR base */
248
249 #define ENABLE_PCI_CSR_BAR      /* enables access to Tsi108 CSRs from the PCI/X bus */
250
251 #undef  DISABLE_PBM
252
253 /*
254  * PCI stuff
255  *
256  */
257
258 #define CONFIG_PCI              /* include pci support */
259 #define CONFIG_TSI108_PCI       /* include tsi108 pci support */
260
261 #define PCI_HOST_ADAPTER        0       /* configure as pci adapter */
262 #define PCI_HOST_FORCE          1       /* configure as pci host */
263 #define PCI_HOST_AUTO           2       /* detected via arbiter enable */
264
265 #define CONFIG_PCI_HOST PCI_HOST_FORCE  /* select pci host function */
266 #define CONFIG_PCI_PNP          /* do pci plug-and-play */
267
268 /* PCI MEMORY MAP section */
269
270 /* PCI view of System Memory */
271 #define CONFIG_SYS_PCI_MEMORY_BUS       0x00000000
272 #define CONFIG_SYS_PCI_MEMORY_PHYS      0x00000000
273 #define CONFIG_SYS_PCI_MEMORY_SIZE      0x80000000
274
275 /* PCI Memory Space */
276 #define CONFIG_SYS_PCI_MEM_BUS          (CONFIG_SYS_PCI_MEM_PHYS)
277 #define CONFIG_SYS_PCI_MEM_PHYS (CONFIG_SYS_PCI_MEM32_BASE)     /* 0xE0000000 */
278 #define CONFIG_SYS_PCI_MEM_SIZE 0x10000000      /* 256 MB space for PCI/X Mem + SDRAM OCN */
279
280 /* PCI I/O Space */
281 #define CONFIG_SYS_PCI_IO_BUS           0x00000000
282 #define CONFIG_SYS_PCI_IO_PHYS          0xfa000000      /* Changed from fd000000 */
283
284 #define CONFIG_SYS_PCI_IO_SIZE          0x01000000      /* 16MB */
285
286 /* PCI Config Space mapping */
287 #define CONFIG_SYS_PCI_CFG_BASE 0xfb000000      /* Changed from FE000000 */
288 #define CONFIG_SYS_PCI_CFG_SIZE 0x01000000      /* 16MB */
289
290 #define CONFIG_SYS_IBAT0U       0xFE0003FF
291 #define CONFIG_SYS_IBAT0L       0xFE000002
292
293 #define CONFIG_SYS_IBAT1U       0x00007FFF
294 #define CONFIG_SYS_IBAT1L       0x00000012
295
296 #define CONFIG_SYS_IBAT2U       0x80007FFF
297 #define CONFIG_SYS_IBAT2L       0x80000022
298
299 #define CONFIG_SYS_IBAT3U       0x00000000
300 #define CONFIG_SYS_IBAT3L       0x00000000
301
302 #define CONFIG_SYS_IBAT4U       0x00000000
303 #define CONFIG_SYS_IBAT4L       0x00000000
304
305 #define CONFIG_SYS_IBAT5U       0x00000000
306 #define CONFIG_SYS_IBAT5L       0x00000000
307
308 #define CONFIG_SYS_IBAT6U       0x00000000
309 #define CONFIG_SYS_IBAT6L       0x00000000
310
311 #define CONFIG_SYS_IBAT7U       0x00000000
312 #define CONFIG_SYS_IBAT7L       0x00000000
313
314 #define CONFIG_SYS_DBAT0U       0xE0003FFF
315 #define CONFIG_SYS_DBAT0L       0xE000002A
316
317 #define CONFIG_SYS_DBAT1U       0x00007FFF
318 #define CONFIG_SYS_DBAT1L       0x00000012
319
320 #define CONFIG_SYS_DBAT2U       0x00000000
321 #define CONFIG_SYS_DBAT2L       0x00000000
322
323 #define CONFIG_SYS_DBAT3U       0xC0000003
324 #define CONFIG_SYS_DBAT3L       0xC000002A
325
326 #define CONFIG_SYS_DBAT4U       0x00000000
327 #define CONFIG_SYS_DBAT4L       0x00000000
328
329 #define CONFIG_SYS_DBAT5U       0x00000000
330 #define CONFIG_SYS_DBAT5L       0x00000000
331
332 #define CONFIG_SYS_DBAT6U       0x00000000
333 #define CONFIG_SYS_DBAT6L       0x00000000
334
335 #define CONFIG_SYS_DBAT7U       0x00000000
336 #define CONFIG_SYS_DBAT7L       0x00000000
337
338 /* I2C addresses for the two DIMM SPD chips */
339 #define DIMM0_I2C_ADDR  0x51
340 #define DIMM1_I2C_ADDR  0x52
341
342 /*
343  * For booting Linux, the board info and command line data
344  * have to be in the first 8 MB of memory, since this is
345  * the maximum mapped by the Linux kernel during initialization.
346  */
347 #define CONFIG_SYS_BOOTMAPSZ    (8<<20) /* Initial Memory map for Linux */
348
349 /*-----------------------------------------------------------------------
350  * FLASH organization
351  */
352 #define CONFIG_SYS_MAX_FLASH_BANKS      1               /* Flash can be at one of two addresses */
353 #define FLASH_BANK_SIZE         0x01000000      /* 16 MB Total */
354 #define CONFIG_SYS_FLASH_BANKS_LIST     { CONFIG_SYS_FLASH_BASE, /* CONFIG_SYS_FLASH_BASE2 */ }
355
356 #define CONFIG_FLASH_CFI_DRIVER
357 #define CONFIG_SYS_FLASH_CFI
358 #define CONFIG_SYS_WRITE_SWAPPED_DATA
359
360 #define PHYS_FLASH_SIZE         0x01000000
361 #define CONFIG_SYS_MAX_FLASH_SECT       (128)
362
363 #define CONFIG_ENV_IS_IN_NVRAM
364 #define CONFIG_ENV_ADDR         0xFC000000
365
366 #define CONFIG_ENV_OFFSET       0x00000000      /* Offset of Environment Sector */
367 #define CONFIG_ENV_SIZE 0x00000400      /* Total Size of Environment Space */
368
369 /*-----------------------------------------------------------------------
370  * Cache Configuration
371  */
372 #define CONFIG_SYS_CACHELINE_SIZE       32      /* For all MPC74xx CPUs */
373 #if defined(CONFIG_CMD_KGDB)
374 #define CONFIG_SYS_CACHELINE_SHIFT      5       /* log base 2 of the above value */
375 #endif
376
377 /*-----------------------------------------------------------------------
378  * L2CR setup -- make sure this is right for your board!
379  * look in include/mpc74xx.h for the defines used here
380  */
381 #undef CONFIG_SYS_L2
382
383 #define L2_INIT         0
384 #define L2_ENABLE       (L2_INIT | L2CR_L2E)
385 #define CONFIG_SYS_SERIAL_HANG_IN_EXCEPTION
386 #endif  /* __CONFIG_H */