]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
5d108ac8 SP |
2 | /* |
3 | * (C) Copyright 2008 | |
4 | * Sergei Poselenov, Emcraft Systems, [email protected]. | |
5 | * | |
6 | * Wolfgang Denk <[email protected]> | |
7 | * Copyright 2004 Freescale Semiconductor. | |
8 | * (C) Copyright 2002,2003 Motorola,Inc. | |
9 | * Xianghua Xiao <[email protected]> | |
5d108ac8 SP |
10 | */ |
11 | ||
12 | /* | |
13 | * Socrates | |
14 | */ | |
15 | ||
16 | #ifndef __CONFIG_H | |
17 | #define __CONFIG_H | |
18 | ||
19 | /* High Level Configuration Options */ | |
5d108ac8 SP |
20 | #define CONFIG_SOCRATES 1 |
21 | ||
5d108ac8 SP |
22 | /* |
23 | * Only possible on E500 Version 2 or newer cores. | |
24 | */ | |
25 | #define CONFIG_ENABLE_36BIT_PHYS 1 | |
26 | ||
27 | /* | |
28 | * sysclk for MPC85xx | |
29 | * | |
30 | * Two valid values are: | |
31 | * 33000000 | |
32 | * 66000000 | |
33 | * | |
34 | * Most PCI cards are still 33Mhz, so in the presence of PCI, 33MHz | |
35 | * is likely the desired value here, so that is now the default. | |
36 | * The board, however, can run at 66MHz. In any event, this value | |
37 | * must match the settings of some switches. Details can be found | |
38 | * in the README.mpc85xxads. | |
39 | */ | |
40 | ||
5d108ac8 SP |
41 | /* |
42 | * These can be toggled for performance analysis, otherwise use default. | |
43 | */ | |
44 | #define CONFIG_L2_CACHE /* toggle L2 cache */ | |
5d108ac8 | 45 | |
6d0f6bcf | 46 | #define CONFIG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */ |
5d108ac8 | 47 | |
6d0f6bcf | 48 | #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ |
5d108ac8 | 49 | |
e46fedfe TT |
50 | #define CONFIG_SYS_CCSRBAR 0xE0000000 |
51 | #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR | |
5d108ac8 | 52 | |
be0bd823 | 53 | /* DDR Setup */ |
be0bd823 | 54 | #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */ |
be0bd823 | 55 | |
be0bd823 KG |
56 | #define CONFIG_MEM_INIT_VALUE 0xDeadBeef |
57 | ||
6d0f6bcf JCPV |
58 | #define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 |
59 | #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE | |
be0bd823 KG |
60 | #define CONFIG_VERY_BIG_RAM |
61 | ||
be0bd823 | 62 | /* I2C addresses of SPD EEPROMs */ |
562788b0 | 63 | #define SPD_EEPROM_ADDRESS 0x50 /* CTLR 0 DIMM 0 */ |
5d108ac8 | 64 | |
5d108ac8 SP |
65 | |
66 | /* Hardcoded values, to use instead of SPD */ | |
6d0f6bcf JCPV |
67 | #define CONFIG_SYS_DDR_CS0_BNDS 0x0000000f |
68 | #define CONFIG_SYS_DDR_CS0_CONFIG 0x80010102 | |
69 | #define CONFIG_SYS_DDR_TIMING_0 0x00260802 | |
70 | #define CONFIG_SYS_DDR_TIMING_1 0x3935D322 | |
71 | #define CONFIG_SYS_DDR_TIMING_2 0x14904CC8 | |
72 | #define CONFIG_SYS_DDR_MODE 0x00480432 | |
73 | #define CONFIG_SYS_DDR_INTERVAL 0x030C0100 | |
74 | #define CONFIG_SYS_DDR_CONFIG_2 0x04400000 | |
75 | #define CONFIG_SYS_DDR_CONFIG 0xC3008000 | |
76 | #define CONFIG_SYS_DDR_CLK_CONTROL 0x03800000 | |
77 | #define CONFIG_SYS_SDRAM_SIZE 256 /* in Megs */ | |
5d108ac8 | 78 | |
5d108ac8 SP |
79 | /* |
80 | * Flash on the LocalBus | |
81 | */ | |
6d0f6bcf | 82 | #define CONFIG_SYS_LBC_CACHE_BASE 0xf0000000 /* Localbus cacheable */ |
5d108ac8 | 83 | |
e4ee459e | 84 | #define CONFIG_SYS_FLASH_QUIET_TEST |
6d0f6bcf JCPV |
85 | #define CONFIG_SYS_FLASH0 0xFE000000 |
86 | #define CONFIG_SYS_FLASH1 0xFC000000 | |
87 | #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH1, CONFIG_SYS_FLASH0 } | |
5d108ac8 | 88 | |
6d0f6bcf JCPV |
89 | #define CONFIG_SYS_LBC_FLASH_BASE CONFIG_SYS_FLASH1 /* Localbus flash start */ |
90 | #define CONFIG_SYS_FLASH_BASE CONFIG_SYS_LBC_FLASH_BASE /* start of FLASH */ | |
5d108ac8 | 91 | |
6d0f6bcf JCPV |
92 | #define CONFIG_SYS_MAX_FLASH_SECT 256 /* sectors per device */ |
93 | #undef CONFIG_SYS_FLASH_CHECKSUM | |
94 | #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ | |
95 | #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ | |
5d108ac8 | 96 | |
6d0f6bcf JCPV |
97 | #define CONFIG_SYS_LBC_LCRR 0x00030004 /* LB clock ratio reg */ |
98 | #define CONFIG_SYS_LBC_LBCR 0x00000000 /* LB config reg */ | |
99 | #define CONFIG_SYS_LBC_LSRT 0x20000000 /* LB sdram refresh timer */ | |
100 | #define CONFIG_SYS_LBC_MRTPR 0x20000000 /* LB refresh timer presc.*/ | |
5d108ac8 | 101 | |
6d0f6bcf JCPV |
102 | #define CONFIG_SYS_INIT_RAM_LOCK 1 |
103 | #define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */ | |
553f0982 | 104 | #define CONFIG_SYS_INIT_RAM_SIZE 0x4000 /* Size used area in RAM*/ |
5d108ac8 | 105 | |
25ddd1fb | 106 | #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) |
6d0f6bcf | 107 | #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET |
5d108ac8 | 108 | |
47106ce1 | 109 | #define CONFIG_SYS_MONITOR_LEN (384 * 1024) /* Reserve 384KiB for Mon */ |
3e79b588 DZ |
110 | |
111 | /* FPGA and NAND */ | |
6d0f6bcf JCPV |
112 | #define CONFIG_SYS_FPGA_BASE 0xc0000000 |
113 | #define CONFIG_SYS_FPGA_SIZE 0x00100000 /* 1 MB */ | |
114 | #define CONFIG_SYS_HMI_BASE 0xc0010000 | |
6d0f6bcf JCPV |
115 | |
116 | #define CONFIG_SYS_NAND_BASE (CONFIG_SYS_FPGA_BASE + 0x70) | |
117 | #define CONFIG_SYS_MAX_NAND_DEVICE 1 | |
5d108ac8 | 118 | |
e64987a8 | 119 | /* LIME GDC */ |
6d0f6bcf JCPV |
120 | #define CONFIG_SYS_LIME_BASE 0xc8000000 |
121 | #define CONFIG_SYS_LIME_SIZE 0x04000000 /* 64 MB */ | |
e64987a8 | 122 | |
92746bac | 123 | #define CONFIG_SYS_SPD_BUS_NUM 0 |
e64987a8 | 124 | |
5d108ac8 SP |
125 | /* |
126 | * General PCI | |
127 | * Memory space is mapped 1-1. | |
128 | */ | |
5d108ac8 | 129 | |
5e1882df SP |
130 | /* PCI is clocked by the external source at 33 MHz */ |
131 | #define CONFIG_PCI_CLK_FREQ 33000000 | |
6d0f6bcf JCPV |
132 | #define CONFIG_SYS_PCI1_MEM_BASE 0x80000000 |
133 | #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE | |
134 | #define CONFIG_SYS_PCI1_MEM_SIZE 0x20000000 /* 512M */ | |
135 | #define CONFIG_SYS_PCI1_IO_BASE 0xE2000000 | |
136 | #define CONFIG_SYS_PCI1_IO_PHYS CONFIG_SYS_PCI1_IO_BASE | |
137 | #define CONFIG_SYS_PCI1_IO_SIZE 0x01000000 /* 16M */ | |
5d108ac8 | 138 | |
5d108ac8 SP |
139 | #define CONFIG_TSEC1 1 |
140 | #define CONFIG_TSEC1_NAME "TSEC0" | |
2f845dc2 SP |
141 | #define CONFIG_TSEC3 1 |
142 | #define CONFIG_TSEC3_NAME "TSEC1" | |
5d108ac8 SP |
143 | #undef CONFIG_MPC85XX_FEC |
144 | ||
145 | #define TSEC1_PHY_ADDR 0 | |
2f845dc2 | 146 | #define TSEC3_PHY_ADDR 1 |
5d108ac8 SP |
147 | |
148 | #define TSEC1_PHYIDX 0 | |
2f845dc2 | 149 | #define TSEC3_PHYIDX 0 |
5d108ac8 | 150 | #define TSEC1_FLAGS TSEC_GIGABIT |
2f845dc2 | 151 | #define TSEC3_FLAGS TSEC_GIGABIT |
5d108ac8 | 152 | |
2f845dc2 | 153 | /* Options are: TSEC[0,1] */ |
5d108ac8 SP |
154 | |
155 | /* | |
156 | * Environment | |
157 | */ | |
5d108ac8 SP |
158 | |
159 | #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ | |
6d0f6bcf | 160 | #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ |
5d108ac8 | 161 | |
5d108ac8 SP |
162 | /* |
163 | * Miscellaneous configurable options | |
164 | */ | |
5d108ac8 | 165 | |
5d108ac8 SP |
166 | /* |
167 | * For booting Linux, the board info and command line data | |
168 | * have to be in the first 8 MB of memory, since this is | |
169 | * the maximum mapped by the Linux kernel during initialization. | |
170 | */ | |
6d0f6bcf | 171 | #define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ |
5d108ac8 | 172 | |
5d108ac8 | 173 | |
5d108ac8 | 174 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
5d108ac8 SP |
175 | "netdev=eth0\0" \ |
176 | "consdev=ttyS0\0" \ | |
3e79b588 DZ |
177 | "uboot_file=/home/tftp/syscon3/u-boot.bin\0" \ |
178 | "bootfile=/home/tftp/syscon3/uImage\0" \ | |
179 | "fdt_file=/home/tftp/syscon3/socrates.dtb\0" \ | |
180 | "initrd_file=/home/tftp/syscon3/uinitrd.gz\0" \ | |
39642abf | 181 | "uboot_addr=FFF60000\0" \ |
3e79b588 DZ |
182 | "kernel_addr=FE000000\0" \ |
183 | "fdt_addr=FE1E0000\0" \ | |
184 | "ramdisk_addr=FE200000\0" \ | |
185 | "fdt_addr_r=B00000\0" \ | |
186 | "kernel_addr_r=200000\0" \ | |
187 | "ramdisk_addr_r=400000\0" \ | |
188 | "rootpath=/opt/eldk/ppc_85xxDP\0" \ | |
189 | "ramargs=setenv bootargs root=/dev/ram rw\0" \ | |
5d108ac8 SP |
190 | "nfsargs=setenv bootargs root=/dev/nfs rw " \ |
191 | "nfsroot=$serverip:$rootpath\0" \ | |
3e79b588 DZ |
192 | "addcons=setenv bootargs $bootargs " \ |
193 | "console=$consdev,$baudrate\0" \ | |
5d108ac8 SP |
194 | "addip=setenv bootargs $bootargs " \ |
195 | "ip=$ipaddr:$serverip:$gatewayip:$netmask" \ | |
196 | ":$hostname:$netdev:off panic=1\0" \ | |
3e79b588 | 197 | "boot_nor=run ramargs addcons;" \ |
e18575d5 | 198 | "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \ |
e18575d5 SP |
199 | "net_nfs=tftp ${kernel_addr_r} ${bootfile}; " \ |
200 | "tftp ${fdt_addr_r} ${fdt_file}; " \ | |
201 | "run nfsargs addip addcons;" \ | |
202 | "bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \ | |
3e79b588 | 203 | "update_uboot=tftp 100000 ${uboot_file};" \ |
39642abf HS |
204 | "protect off fff60000 ffffffff;" \ |
205 | "era fff60000 ffffffff;" \ | |
206 | "cp.b 100000 fff60000 ${filesize};" \ | |
3e79b588 DZ |
207 | "setenv filesize;saveenv\0" \ |
208 | "update_kernel=tftp 100000 ${bootfile};" \ | |
209 | "era fe000000 fe1dffff;" \ | |
210 | "cp.b 100000 fe000000 ${filesize};" \ | |
5d108ac8 | 211 | "setenv filesize;saveenv\0" \ |
0cf207ec | 212 | "update_fdt=tftp 100000 ${fdt_file};" \ |
3e79b588 DZ |
213 | "era fe1e0000 fe1fffff;" \ |
214 | "cp.b 100000 fe1e0000 ${filesize};" \ | |
215 | "setenv filesize;saveenv\0" \ | |
0cf207ec | 216 | "update_initrd=tftp 100000 ${initrd_file};" \ |
3e79b588 DZ |
217 | "era fe200000 fe9fffff;" \ |
218 | "cp.b 100000 fe200000 ${filesize};" \ | |
219 | "setenv filesize;saveenv\0" \ | |
220 | "clean_data=era fea00000 fff5ffff\0" \ | |
0cf207ec WD |
221 | "usbargs=setenv bootargs root=/dev/sda1 rw\0" \ |
222 | "load_usb=usb start;" \ | |
3e79b588 DZ |
223 | "ext2load usb 0:1 ${kernel_addr_r} /boot/uImage\0" \ |
224 | "boot_usb=run load_usb usbargs addcons;" \ | |
225 | "bootm ${kernel_addr_r} - ${fdt_addr};" \ | |
226 | "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \ | |
5d108ac8 | 227 | "" |
5d108ac8 | 228 | |
e18575d5 | 229 | /* pass open firmware flat tree */ |
e18575d5 | 230 | |
791e1dba SP |
231 | /* USB support */ |
232 | #define CONFIG_USB_OHCI_NEW 1 | |
233 | #define CONFIG_PCI_OHCI 1 | |
6d0f6bcf JCPV |
234 | #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 15 |
235 | #define CONFIG_SYS_USB_OHCI_SLOT_NAME "ohci_pci" | |
236 | #define CONFIG_SYS_OHCI_SWAP_REG_ACCESS 1 | |
791e1dba | 237 | |
5d108ac8 | 238 | #endif /* __CONFIG_H */ |