]>
Commit | Line | Data |
---|---|---|
ddc935fc MS |
1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* | |
3 | * (C) Copyright 2006-2010 | |
4 | * Wolfgang Denk, DENX Software Engineering, [email protected]. | |
5 | */ | |
6 | ||
7 | /* | |
8 | * mpc8349emds board configuration file | |
9 | * | |
10 | */ | |
11 | ||
12 | #ifndef __CONFIG_H | |
13 | #define __CONFIG_H | |
14 | ||
15 | /* | |
16 | * High Level Configuration Options | |
17 | */ | |
18 | #define CONFIG_E300 1 /* E300 Family */ | |
19 | ||
ddc935fc | 20 | #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ |
ddc935fc MS |
21 | |
22 | /* | |
23 | * DDR Setup | |
24 | */ | |
ddc935fc MS |
25 | #define CONFIG_SPD_EEPROM /* use SPD EEPROM for DDR setup*/ |
26 | ||
27 | /* | |
28 | * SYS_FSL_DDR2 is selected in Kconfig to use unified DDR driver | |
29 | * unselect it to use old spd_sdram.c | |
30 | */ | |
31 | #define CONFIG_SYS_SPD_BUS_NUM 0 | |
32 | #define SPD_EEPROM_ADDRESS1 0x52 | |
33 | #define SPD_EEPROM_ADDRESS2 0x51 | |
34 | #define CONFIG_DIMM_SLOTS_PER_CTLR 2 | |
35 | #define CONFIG_CHIP_SELECTS_PER_CTRL (2 * CONFIG_DIMM_SLOTS_PER_CTLR) | |
ddc935fc MS |
36 | #define CONFIG_MEM_INIT_VALUE 0xDeadBeef |
37 | ||
8a81bfd2 | 38 | #define CONFIG_SYS_SDRAM_BASE 0x00000000 /* DDR is system memory*/ |
ddc935fc MS |
39 | #define CONFIG_SYS_DDR_SDRAM_CLK_CNTL (DDR_SDRAM_CLK_CNTL_SS_EN \ |
40 | | DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05) | |
ddc935fc MS |
41 | /* |
42 | * DDRCDR - DDR Control Driver Register | |
43 | */ | |
44 | #define CONFIG_SYS_DDRCDR_VALUE 0x80080001 | |
45 | ||
46 | #if defined(CONFIG_SPD_EEPROM) | |
47 | /* | |
48 | * Determine DDR configuration from I2C interface. | |
49 | */ | |
50 | #define SPD_EEPROM_ADDRESS 0x51 /* DDR DIMM */ | |
51 | #else | |
52 | /* | |
53 | * Manually set up DDR parameters | |
54 | */ | |
55 | #define CONFIG_SYS_DDR_SIZE 256 /* MB */ | |
ddc935fc MS |
56 | #define CONFIG_SYS_DDR_CS2_CONFIG (CSCONFIG_EN \ |
57 | | CSCONFIG_ROW_BIT_13 \ | |
58 | | CSCONFIG_COL_BIT_10) | |
59 | #define CONFIG_SYS_DDR_TIMING_1 0x36332321 | |
60 | #define CONFIG_SYS_DDR_TIMING_2 0x00000800 /* P9-45,may need tuning */ | |
61 | #define CONFIG_SYS_DDR_CONTROL 0xc2000000 /* unbuffered,no DYN_PWR */ | |
62 | #define CONFIG_SYS_DDR_INTERVAL 0x04060100 /* autocharge,no open page */ | |
63 | ||
ddc935fc MS |
64 | /* the default burst length is 4 - for 64-bit data path */ |
65 | /* DLL,normal,seq,4/2.5, 4 burst len */ | |
66 | #define CONFIG_SYS_DDR_MODE 0x00000022 | |
67 | #endif | |
ddc935fc MS |
68 | |
69 | /* | |
70 | * SDRAM on the Local Bus | |
71 | */ | |
72 | #define CONFIG_SYS_LBC_SDRAM_BASE 0xF0000000 /* Localbus SDRAM */ | |
73 | #define CONFIG_SYS_LBC_SDRAM_SIZE 64 /* LBC SDRAM is 64MB */ | |
74 | ||
75 | /* | |
76 | * FLASH on the Local Bus | |
77 | */ | |
78 | #define CONFIG_SYS_FLASH_BASE 0xFE000000 /* start of FLASH */ | |
79 | #define CONFIG_SYS_FLASH_SIZE 32 /* max flash size in MB */ | |
80 | ||
ddc935fc MS |
81 | #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ |
82 | #define CONFIG_SYS_MAX_FLASH_SECT 256 /* max sectors per device */ | |
83 | ||
84 | #undef CONFIG_SYS_FLASH_CHECKSUM | |
85 | #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ | |
86 | #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ | |
87 | ||
88 | #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ | |
89 | ||
90 | #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) | |
91 | #define CONFIG_SYS_RAMBOOT | |
92 | #else | |
93 | #undef CONFIG_SYS_RAMBOOT | |
94 | #endif | |
95 | ||
96 | /* | |
97 | * BCSR register on local bus 32KB, 8-bit wide for MDS config reg | |
98 | */ | |
99 | #define CONFIG_SYS_BCSR 0xE2400000 | |
100 | /* Access window base at BCSR base */ | |
ddc935fc MS |
101 | #define CONFIG_SYS_INIT_RAM_LOCK 1 |
102 | #define CONFIG_SYS_INIT_RAM_ADDR 0xFD000000 /* Initial RAM addr */ | |
103 | #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM*/ | |
104 | ||
105 | #define CONFIG_SYS_GBL_DATA_OFFSET \ | |
106 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | |
107 | #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET | |
108 | ||
109 | #define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Mon */ | |
ddc935fc | 110 | |
ddc935fc MS |
111 | /* |
112 | * The MPC834xEA MDS for 834xE rev3.1 may not be assembled SDRAM memory. | |
113 | */ | |
114 | ||
115 | /* Local bus BR2, OR2 definition for SDRAM if soldered on the MDS board */ | |
116 | /* | |
117 | * Base Register 2 and Option Register 2 configure SDRAM. | |
118 | * The SDRAM base address, CONFIG_SYS_LBC_SDRAM_BASE, is 0xf0000000. | |
119 | * | |
120 | * For BR2, need: | |
121 | * Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0 | |
122 | * port-size = 32-bits = BR2[19:20] = 11 | |
123 | * no parity checking = BR2[21:22] = 00 | |
124 | * SDRAM for MSEL = BR2[24:26] = 011 | |
125 | * Valid = BR[31] = 1 | |
126 | * | |
127 | * 0 4 8 12 16 20 24 28 | |
128 | * 1111 0000 0000 0000 0001 1000 0110 0001 = F0001861 | |
129 | */ | |
130 | ||
ddc935fc MS |
131 | /* |
132 | * The SDRAM size in MB, CONFIG_SYS_LBC_SDRAM_SIZE, is 64. | |
133 | * | |
134 | * For OR2, need: | |
135 | * 64MB mask for AM, OR2[0:7] = 1111 1100 | |
136 | * XAM, OR2[17:18] = 11 | |
137 | * 9 columns OR2[19-21] = 010 | |
138 | * 13 rows OR2[23-25] = 100 | |
139 | * EAD set for extra time OR[31] = 1 | |
140 | * | |
141 | * 0 4 8 12 16 20 24 28 | |
142 | * 1111 1100 0000 0000 0110 1001 0000 0001 = FC006901 | |
143 | */ | |
144 | ||
ddc935fc MS |
145 | |
146 | /* LB sdram refresh timer, about 6us */ | |
147 | #define CONFIG_SYS_LBC_LSRT 0x32000000 | |
148 | /* LB refresh timer prescal, 266MHz/32 */ | |
149 | #define CONFIG_SYS_LBC_MRTPR 0x20000000 | |
150 | ||
151 | #define CONFIG_SYS_LBC_LSDMR_COMMON (LSDMR_RFEN \ | |
152 | | LSDMR_BSMA1516 \ | |
153 | | LSDMR_RFCR8 \ | |
154 | | LSDMR_PRETOACT6 \ | |
155 | | LSDMR_ACTTORW3 \ | |
156 | | LSDMR_BL8 \ | |
157 | | LSDMR_WRC3 \ | |
158 | | LSDMR_CL3) | |
159 | ||
160 | /* | |
161 | * SDRAM Controller configuration sequence. | |
162 | */ | |
163 | #define CONFIG_SYS_LBC_LSDMR_1 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_PCHALL) | |
164 | #define CONFIG_SYS_LBC_LSDMR_2 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH) | |
165 | #define CONFIG_SYS_LBC_LSDMR_3 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH) | |
166 | #define CONFIG_SYS_LBC_LSDMR_4 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_MRW) | |
167 | #define CONFIG_SYS_LBC_LSDMR_5 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_NORMAL) | |
168 | ||
169 | /* | |
170 | * Serial Port | |
171 | */ | |
172 | #define CONFIG_SYS_NS16550_SERIAL | |
173 | #define CONFIG_SYS_NS16550_REG_SIZE 1 | |
174 | #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) | |
175 | ||
176 | #define CONFIG_SYS_BAUDRATE_TABLE \ | |
177 | {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} | |
178 | ||
179 | #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500) | |
180 | #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600) | |
181 | ||
182 | /* I2C */ | |
ddc935fc MS |
183 | #define CONFIG_SYS_I2C_NOPROBES { {0, 0x69} } |
184 | ||
185 | /* SPI */ | |
186 | #undef CONFIG_SOFT_SPI /* SPI bit-banged */ | |
187 | ||
188 | /* GPIOs. Used as SPI chip selects */ | |
189 | #define CONFIG_SYS_GPIO1_PRELIM | |
190 | #define CONFIG_SYS_GPIO1_DIR 0xC0000000 /* SPI CS on 0, LED on 1 */ | |
191 | #define CONFIG_SYS_GPIO1_DAT 0xC0000000 /* Both are active LOW */ | |
192 | ||
193 | /* TSEC */ | |
194 | #define CONFIG_SYS_TSEC1_OFFSET 0x24000 | |
195 | #define CONFIG_SYS_TSEC1 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC1_OFFSET) | |
196 | #define CONFIG_SYS_TSEC2_OFFSET 0x25000 | |
197 | #define CONFIG_SYS_TSEC2 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC2_OFFSET) | |
198 | ||
199 | /* USB */ | |
200 | #define CONFIG_SYS_USE_MPC834XSYS_USB_PHY 1 /* Use SYS board PHY */ | |
201 | ||
202 | /* | |
203 | * General PCI | |
204 | * Addresses are mapped 1-1. | |
205 | */ | |
206 | #define CONFIG_SYS_PCI1_MEM_BASE 0x80000000 | |
207 | #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE | |
208 | #define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */ | |
209 | #define CONFIG_SYS_PCI1_MMIO_BASE 0x90000000 | |
210 | #define CONFIG_SYS_PCI1_MMIO_PHYS CONFIG_SYS_PCI1_MMIO_BASE | |
211 | #define CONFIG_SYS_PCI1_MMIO_SIZE 0x10000000 /* 256M */ | |
212 | #define CONFIG_SYS_PCI1_IO_BASE 0x00000000 | |
213 | #define CONFIG_SYS_PCI1_IO_PHYS 0xE2000000 | |
214 | #define CONFIG_SYS_PCI1_IO_SIZE 0x00100000 /* 1M */ | |
215 | ||
216 | #define CONFIG_SYS_PCI2_MEM_BASE 0xA0000000 | |
217 | #define CONFIG_SYS_PCI2_MEM_PHYS CONFIG_SYS_PCI2_MEM_BASE | |
218 | #define CONFIG_SYS_PCI2_MEM_SIZE 0x10000000 /* 256M */ | |
219 | #define CONFIG_SYS_PCI2_MMIO_BASE 0xB0000000 | |
220 | #define CONFIG_SYS_PCI2_MMIO_PHYS CONFIG_SYS_PCI2_MMIO_BASE | |
221 | #define CONFIG_SYS_PCI2_MMIO_SIZE 0x10000000 /* 256M */ | |
222 | #define CONFIG_SYS_PCI2_IO_BASE 0x00000000 | |
223 | #define CONFIG_SYS_PCI2_IO_PHYS 0xE2100000 | |
224 | #define CONFIG_SYS_PCI2_IO_SIZE 0x00100000 /* 1M */ | |
225 | ||
226 | #if defined(CONFIG_PCI) | |
227 | ||
ddc935fc MS |
228 | #if !defined(CONFIG_PCI_PNP) |
229 | #define PCI_ENET0_IOADDR 0xFIXME | |
230 | #define PCI_ENET0_MEMADDR 0xFIXME | |
231 | #define PCI_IDSEL_NUMBER 0x0c /* slot0->3(IDSEL)=12->15 */ | |
232 | #endif | |
233 | ||
234 | #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ | |
ddc935fc MS |
235 | |
236 | #endif /* CONFIG_PCI */ | |
237 | ||
238 | /* | |
239 | * TSEC configuration | |
240 | */ | |
241 | ||
242 | #if defined(CONFIG_TSEC_ENET) | |
243 | ||
244 | #define CONFIG_GMII 1 /* MII PHY management */ | |
245 | #define CONFIG_TSEC1 1 | |
246 | #define CONFIG_TSEC1_NAME "TSEC0" | |
247 | #define CONFIG_TSEC2 1 | |
248 | #define CONFIG_TSEC2_NAME "TSEC1" | |
249 | #define TSEC1_PHY_ADDR 0 | |
250 | #define TSEC2_PHY_ADDR 1 | |
251 | #define TSEC1_PHYIDX 0 | |
252 | #define TSEC2_PHYIDX 0 | |
253 | #define TSEC1_FLAGS TSEC_GIGABIT | |
254 | #define TSEC2_FLAGS TSEC_GIGABIT | |
255 | ||
256 | /* Options are: TSEC[0-1] */ | |
257 | #define CONFIG_ETHPRIME "TSEC0" | |
258 | ||
259 | #endif /* CONFIG_TSEC_ENET */ | |
260 | ||
261 | /* | |
262 | * Configure on-board RTC | |
263 | */ | |
264 | #define CONFIG_RTC_DS1374 /* use ds1374 rtc via i2c */ | |
265 | #define CONFIG_SYS_I2C_RTC_ADDR 0x68 /* at address 0x68 */ | |
266 | ||
267 | /* | |
268 | * Environment | |
269 | */ | |
270 | #ifndef CONFIG_SYS_RAMBOOT | |
ddc935fc | 271 | /* Address and size of Redundant Environment Sector */ |
ddc935fc MS |
272 | #endif |
273 | ||
274 | #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ | |
275 | #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ | |
276 | ||
277 | /* | |
278 | * BOOTP options | |
279 | */ | |
280 | #define CONFIG_BOOTP_BOOTFILESIZE | |
281 | ||
ddc935fc MS |
282 | #undef CONFIG_WATCHDOG /* watchdog disabled */ |
283 | ||
284 | /* | |
285 | * Miscellaneous configurable options | |
286 | */ | |
ddc935fc MS |
287 | |
288 | /* | |
289 | * For booting Linux, the board info and command line data | |
290 | * have to be in the first 256 MB of memory, since this is | |
291 | * the maximum mapped by the Linux kernel during initialization. | |
292 | */ | |
293 | /* Initial Memory map for Linux*/ | |
294 | #define CONFIG_SYS_BOOTMAPSZ (256 << 20) | |
295 | #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ | |
296 | ||
297 | #define CONFIG_SYS_RCWH_PCIHOST 0x80000000 /* PCIHOST */ | |
298 | ||
ddc935fc MS |
299 | /* |
300 | * System performance | |
301 | */ | |
ddc935fc MS |
302 | #define CONFIG_SYS_SPCR_TSEC1EP 3 /* TSEC1 emergency priority (0-3) */ |
303 | #define CONFIG_SYS_SPCR_TSEC2EP 3 /* TSEC2 emergency priority (0-3) */ | |
304 | #define CONFIG_SYS_SCCR_TSEC1CM 1 /* TSEC1 clock mode (0-3) */ | |
305 | #define CONFIG_SYS_SCCR_TSEC2CM 1 /* TSEC2 & I2C0 clock mode (0-3) */ | |
306 | ||
307 | /* System IO Config */ | |
308 | #define CONFIG_SYS_SICRH 0 | |
309 | #define CONFIG_SYS_SICRL SICRL_LDP_A | |
310 | ||
ddc935fc MS |
311 | #ifdef CONFIG_PCI |
312 | #define CONFIG_PCI_INDIRECT_BRIDGE | |
ddc935fc MS |
313 | #endif |
314 | ||
ddc935fc MS |
315 | #if defined(CONFIG_CMD_KGDB) |
316 | #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ | |
317 | #endif | |
318 | ||
319 | /* | |
320 | * Environment Configuration | |
321 | */ | |
ddc935fc MS |
322 | |
323 | #if defined(CONFIG_TSEC_ENET) | |
324 | #define CONFIG_HAS_ETH1 | |
325 | #define CONFIG_HAS_ETH0 | |
326 | #endif | |
327 | ||
328 | #define CONFIG_HOSTNAME "mpc8349emds" | |
329 | #define CONFIG_ROOTPATH "/nfsroot/rootfs" | |
330 | #define CONFIG_BOOTFILE "uImage" | |
331 | ||
ddc935fc MS |
332 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
333 | "netdev=eth0\0" \ | |
334 | "hostname=mpc8349emds\0" \ | |
335 | "nfsargs=setenv bootargs root=/dev/nfs rw " \ | |
336 | "nfsroot=${serverip}:${rootpath}\0" \ | |
337 | "ramargs=setenv bootargs root=/dev/ram rw\0" \ | |
338 | "addip=setenv bootargs ${bootargs} " \ | |
339 | "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ | |
340 | ":${hostname}:${netdev}:off panic=1\0" \ | |
341 | "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\ | |
342 | "flash_nfs=run nfsargs addip addtty;" \ | |
343 | "bootm ${kernel_addr}\0" \ | |
344 | "flash_self=run ramargs addip addtty;" \ | |
345 | "bootm ${kernel_addr} ${ramdisk_addr}\0" \ | |
346 | "net_nfs=tftp 200000 ${bootfile};run nfsargs addip addtty;" \ | |
347 | "bootm\0" \ | |
348 | "load=tftp 100000 /tftpboot/mpc8349emds/u-boot.bin\0" \ | |
349 | "update=protect off fe000000 fe03ffff; " \ | |
350 | "era fe000000 fe03ffff; cp.b 100000 fe000000 ${filesize}\0"\ | |
351 | "upd=run load update\0" \ | |
352 | "fdtaddr=780000\0" \ | |
353 | "fdtfile=mpc834x_mds.dtb\0" \ | |
354 | "" | |
355 | ||
7ae1b080 | 356 | #define NFSBOOTCOMMAND \ |
ddc935fc MS |
357 | "setenv bootargs root=/dev/nfs rw " \ |
358 | "nfsroot=$serverip:$rootpath " \ | |
359 | "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:" \ | |
360 | "$netdev:off " \ | |
361 | "console=$consoledev,$baudrate $othbootargs;" \ | |
362 | "tftp $loadaddr $bootfile;" \ | |
363 | "tftp $fdtaddr $fdtfile;" \ | |
364 | "bootm $loadaddr - $fdtaddr" | |
365 | ||
7ae1b080 | 366 | #define RAMBOOTCOMMAND \ |
ddc935fc MS |
367 | "setenv bootargs root=/dev/ram rw " \ |
368 | "console=$consoledev,$baudrate $othbootargs;" \ | |
369 | "tftp $ramdiskaddr $ramdiskfile;" \ | |
370 | "tftp $loadaddr $bootfile;" \ | |
371 | "tftp $fdtaddr $fdtfile;" \ | |
372 | "bootm $loadaddr $ramdiskaddr $fdtaddr" | |
373 | ||
374 | #define CONFIG_BOOTCOMMAND "run flash_self" | |
375 | ||
376 | #endif /* __CONFIG_H */ |