1 /* 2 * (C) Copyright 2003-2007 3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4 * 5 * Based on PRO Motion board config file by Andy Joseph, andy@promessdev.com 6 * 7 * See file CREDITS for list of people who contributed to this 8 * project. 9 * 10 * This program is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License as 12 * published by the Free Software Foundation; either version 2 of 13 * the License, or (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 23 * MA 02111-1307 USA 24 */ 25 26 #ifndef __CONFIG_H 27 #define __CONFIG_H 28 29 /* 30 * High Level Configuration Options 31 */ 32 33 /* CPU and board */ 34 #define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */ 35 #define CONFIG_MPC5200 1 /* More exactly a MPC5200 */ 36 #define CONFIG_MOTIONPRO 1 /* ... on Promess Motion-PRO board */ 37 38 #define CONFIG_HIGH_BATS 1 /* High BATs supported */ 39 40 /* 41 * BOOTP options 42 */ 43 #define CONFIG_BOOTP_BOOTFILESIZE 44 #define CONFIG_BOOTP_BOOTPATH 45 #define CONFIG_BOOTP_GATEWAY 46 #define CONFIG_BOOTP_HOSTNAME 47 48 49 /* 50 * Command line configuration. 51 */ 52 #include <config_cmd_default.h> 53 54 #define CONFIG_CMD_ASKENV 55 #define CONFIG_CMD_DHCP 56 #define CONFIG_CMD_REGINFO 57 #define CONFIG_CMD_IMMAP 58 #define CONFIG_CMD_ELF 59 #define CONFIG_CMD_MII 60 #define CONFIG_CMD_BEDBUG 61 #define CONFIG_CMD_NET 62 #define CONFIG_CMD_PING 63 #define CONFIG_CMD_IDE 64 #define CONFIG_CMD_FAT 65 #define CONFIG_CMD_JFFS2 66 #define CONFIG_CMD_I2C 67 #define CONFIG_CMD_DATE 68 #define CONFIG_CMD_EEPROM 69 #define CONFIG_CMD_DTT 70 71 72 /* 73 * Serial console configuration 74 */ 75 #define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */ 76 #define CONFIG_NETCONSOLE 1 /* network console */ 77 #define CONFIG_BAUDRATE 115200 78 #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 } 79 80 81 /* 82 * Ethernet configuration 83 */ 84 #define CONFIG_MPC5xxx_FEC 1 85 #define CONFIG_MPC5xxx_FEC_MII100 86 #define CONFIG_PHY_ADDR 0x2 87 #define CONFIG_PHY_TYPE 0x79c874 88 #define CONFIG_RESET_PHY_R 1 89 90 /* 91 * Autobooting 92 */ 93 #define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */ 94 #define CONFIG_AUTOBOOT_KEYED 95 #define CONFIG_AUTOBOOT_STOP_STR "\x1b\x1b" 96 #define DEBUG_BOOTKEYS 0 97 #undef CONFIG_AUTOBOOT_DELAY_STR 98 #undef CONFIG_BOOTARGS 99 #define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds, " \ 100 "press \"<Esc><Esc>\" to stop\n", bootdelay 101 102 #define CONFIG_ETHADDR 00:50:C2:40:10:00 103 #define CONFIG_OVERWRITE_ETHADDR_ONCE 1 104 #define CONFIG_VERSION_VARIABLE 1 /* include version env variable */ 105 106 107 /* 108 * Default environment settings 109 */ 110 #define CONFIG_EXTRA_ENV_SETTINGS \ 111 "netdev=eth0\0" \ 112 "hostname=motionpro\0" \ 113 "netmask=255.255.0.0\0" \ 114 "ipaddr=192.168.160.22\0" \ 115 "serverip=192.168.1.1\0" \ 116 "gatewayip=192.168.1.1\0" \ 117 "console=ttyPSC0,115200\0" \ 118 "u-boot_addr=100000\0" \ 119 "kernel_addr=200000\0" \ 120 "fdt_addr=400000\0" \ 121 "ramdisk_addr=500000\0" \ 122 "multi_image_addr=800000\0" \ 123 "rootpath=/opt/eldk-4.1/ppc_6xx\0" \ 124 "u-boot=/tftpboot/motionpro/u-boot.bin\0" \ 125 "bootfile=/tftpboot/motionpro/uImage\0" \ 126 "fdt_file=/tftpboot/motionpro/motionpro.dtb\0" \ 127 "ramdisk_file=/tftpboot/motionpro/uRamdisk\0" \ 128 "multi_image_file=kernel+initrd+dtb.img\0" \ 129 "load=tftp ${u-boot_addr} ${u-boot}\0" \ 130 "update=prot off fff00000 fff3ffff; era fff00000 fff3ffff; " \ 131 "cp.b ${u-boot_addr} fff00000 ${filesize};" \ 132 "prot on fff00000 fff3ffff\0" \ 133 "ramargs=setenv bootargs root=/dev/ram rw\0" \ 134 "nfsargs=setenv bootargs root=/dev/nfs rw " \ 135 "nfsroot=${serverip}:${rootpath}\0" \ 136 "fat_args=setenv bootargs rw\0" \ 137 "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \ 138 "addip=setenv bootargs ${bootargs} " \ 139 "ip=${ipaddr}:${serverip}:${gatewayip}:" \ 140 "${netmask}:${hostname}:${netdev}:off panic=1 " \ 141 "console=${console}\0" \ 142 "net_nfs=tftp ${kernel_addr} ${bootfile}; " \ 143 "tftp ${fdt_addr} ${fdt_file}; run nfsargs addip; " \ 144 "bootm ${kernel_addr} - ${fdt_addr}\0" \ 145 "net_self=tftp ${kernel_addr} ${bootfile}; " \ 146 "tftp ${fdt_addr} ${fdt_file}; " \ 147 "tftp ${ramdisk_addr} ${ramdisk_file}; " \ 148 "run ramargs addip; " \ 149 "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \ 150 "fat_multi=run fat_args addip; fatload ide 0:1 " \ 151 "${multi_image_addr} ${multi_image_file}; " \ 152 "bootm ${multi_image_addr}\0" \ 153 "" 154 #define CONFIG_BOOTCOMMAND "run net_nfs" 155 156 /* 157 * do board-specific init 158 */ 159 #define CONFIG_BOARD_EARLY_INIT_R 1 160 161 162 /* 163 * Low level configuration 164 */ 165 166 167 /* 168 * Clock configuration: SYS_XTALIN = 33MHz 169 */ 170 #define CONFIG_SYS_MPC5XXX_CLKIN 33000000 171 172 173 /* 174 * Set IPB speed to 100MHz 175 */ 176 #define CONFIG_SYS_IPBCLK_EQUALS_XLBCLK 177 178 179 /* 180 * Memory map 181 */ 182 /* 183 * Warning!!! with the current BestComm Task, MBAR MUST BE set to 0xf0000000. 184 * Setting MBAR to otherwise will cause system hang when using SmartDMA such 185 * as network commands. 186 */ 187 #define CONFIG_SYS_MBAR 0xf0000000 188 #define CONFIG_SYS_SDRAM_BASE 0x00000000 189 190 /* 191 * If building for running out of SDRAM, then MBAR has been set up beforehand 192 * (e.g., by the BDI). Otherwise we must specify the default boot-up value of 193 * MBAR, as given in the doccumentation. 194 */ 195 #if TEXT_BASE == 0x00100000 196 #define CONFIG_SYS_DEFAULT_MBAR 0xf0000000 197 #else /* TEXT_BASE != 0x00100000 */ 198 #define CONFIG_SYS_DEFAULT_MBAR 0x80000000 199 #define CONFIG_SYS_LOWBOOT 1 200 #endif /* TEXT_BASE == 0x00100000 */ 201 202 /* Use SRAM until RAM will be available */ 203 #define CONFIG_SYS_INIT_RAM_ADDR MPC5XXX_SRAM 204 #define CONFIG_SYS_INIT_RAM_END MPC5XXX_SRAM_SIZE 205 206 #define CONFIG_SYS_GBL_DATA_SIZE 128 /* size in bytes for initial data */ 207 #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE) 208 #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 209 210 #define CONFIG_SYS_MONITOR_BASE TEXT_BASE 211 #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) 212 #define CONFIG_SYS_RAMBOOT 1 213 #endif 214 215 #define CONFIG_SYS_MONITOR_LEN (256 << 10) /* 256 kB for Monitor */ 216 #define CONFIG_SYS_MALLOC_LEN (1024 << 10) /* 1 MiB for malloc() */ 217 #define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* initial mem map for Linux */ 218 219 220 /* 221 * Chip selects configuration 222 */ 223 /* Boot Chipselect */ 224 #define CONFIG_SYS_BOOTCS_START CONFIG_SYS_FLASH_BASE 225 #define CONFIG_SYS_BOOTCS_SIZE CONFIG_SYS_FLASH_SIZE 226 #define CONFIG_SYS_BOOTCS_CFG 0x00045D00 227 228 /* Flash memory addressing */ 229 #define CONFIG_SYS_CS0_START CONFIG_SYS_FLASH_BASE 230 #define CONFIG_SYS_CS0_SIZE CONFIG_SYS_FLASH_SIZE 231 #define CONFIG_SYS_CS0_CFG CONFIG_SYS_BOOTCS_CFG 232 233 /* Dual Port SRAM -- Kollmorgen Drive memory addressing */ 234 #define CONFIG_SYS_CS1_START 0x50000000 235 #define CONFIG_SYS_CS1_SIZE 0x10000 236 #define CONFIG_SYS_CS1_CFG 0x05055800 237 238 /* Local register access */ 239 #define CONFIG_SYS_CS2_START 0x50010000 240 #define CONFIG_SYS_CS2_SIZE 0x10000 241 #define CONFIG_SYS_CS2_CFG 0x05055800 242 243 /* Anybus CompactCom Module memory addressing */ 244 #define CONFIG_SYS_CS3_START 0x50020000 245 #define CONFIG_SYS_CS3_SIZE 0x10000 246 #define CONFIG_SYS_CS3_CFG 0x05055800 247 248 /* No burst and dead cycle = 2 for all CSs */ 249 #define CONFIG_SYS_CS_BURST 0x00000000 250 #define CONFIG_SYS_CS_DEADCYCLE 0x22222222 251 252 253 /* 254 * SDRAM configuration 255 */ 256 /* 2 x MT48LC16M16A2BG-75 IT:D, CASL 3, 32 bit data bus */ 257 #define SDRAM_CONFIG1 0x62322900 258 #define SDRAM_CONFIG2 0x88c70000 259 #define SDRAM_CONTROL 0x504f0000 260 #define SDRAM_MODE 0x00cd0000 261 262 263 /* 264 * Flash configuration 265 */ 266 #define CONFIG_SYS_FLASH_CFI 1 /* Flash is CFI conformant */ 267 #define CONFIG_FLASH_CFI_DRIVER 1 268 #define CONFIG_SYS_FLASH_BASE 0xff000000 269 #define CONFIG_SYS_FLASH_SIZE 0x01000000 270 #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max num of memory banks */ 271 #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE } 272 #define CONFIG_SYS_MAX_FLASH_SECT 128 /* max num of sects on one chip */ 273 #define CONFIG_FLASH_16BIT /* Flash is 16-bit */ 274 275 /* 276 * MTD configuration 277 */ 278 #define CONFIG_CMD_MTDPARTS 279 #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ 280 #define CONFIG_FLASH_CFI_MTD 281 #define MTDIDS_DEFAULT "nor0=motionpro-0" 282 #define MTDPARTS_DEFAULT "mtdparts=motionpro-0:" \ 283 "13m(fs),2m(kernel),256k(uboot)," \ 284 "128k(env),128k(redund_env)," \ 285 "128k(dtb),-(user_data)" 286 287 /* 288 * IDE/ATA configuration 289 */ 290 #define CONFIG_SYS_ATA_BASE_ADDR MPC5XXX_ATA 291 #define CONFIG_SYS_IDE_MAXBUS 1 292 #define CONFIG_SYS_IDE_MAXDEVICE 1 293 #define CONFIG_IDE_PREINIT 294 295 #define CONFIG_SYS_ATA_DATA_OFFSET 0x0060 296 #define CONFIG_SYS_ATA_REG_OFFSET CONFIG_SYS_ATA_DATA_OFFSET 297 #define CONFIG_SYS_ATA_STRIDE 4 298 #define CONFIG_DOS_PARTITION 299 300 301 /* 302 * I2C configuration 303 */ 304 #define CONFIG_HARD_I2C 1 /* I2C with hardware support */ 305 #define CONFIG_SYS_I2C_MODULE 2 /* select I2C module #2 */ 306 #define CONFIG_SYS_I2C_SPEED 100000 /* 100 kHz */ 307 #define CONFIG_SYS_I2C_SLAVE 0x7F 308 309 310 /* 311 * EEPROM configuration 312 */ 313 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 314 #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 1 /* 2 bytes per write cycle */ 315 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 /* 2ms/cycle + 3ms extra */ 316 #define CONFIG_SYS_I2C_MULTI_EEPROMS 1 /* 2 EEPROMs (addr:50,52) */ 317 318 319 /* 320 * RTC configuration 321 */ 322 #define CONFIG_RTC_DS1337 1 323 #define CONFIG_SYS_I2C_RTC_ADDR 0x68 324 325 326 /* 327 * Status LED configuration 328 */ 329 #define CONFIG_STATUS_LED /* Status LED enabled */ 330 #define CONFIG_BOARD_SPECIFIC_LED 331 332 #define ENABLE_GPIO_OUT 0x00000024 333 #define LED_ON 0x00000010 334 335 #ifndef __ASSEMBLY__ 336 /* 337 * In case of Motion-PRO, a LED is identified by its corresponding 338 * GPT Enable and Mode Select Register. 339 */ 340 typedef volatile unsigned long * led_id_t; 341 342 extern void __led_init(led_id_t id, int state); 343 extern void __led_toggle(led_id_t id); 344 extern void __led_set(led_id_t id, int state); 345 #endif /* __ASSEMBLY__ */ 346 347 348 /* 349 * Temperature sensor 350 */ 351 #define CONFIG_DTT_LM75 1 352 #define CONFIG_DTT_SENSORS { 0x49 } 353 354 355 /* 356 * Environment settings 357 */ 358 #define CONFIG_ENV_IS_IN_FLASH 1 359 /* This has to be a multiple of the Flash sector size */ 360 #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 361 #define CONFIG_ENV_SIZE 0x1000 362 #define CONFIG_ENV_SECT_SIZE 0x20000 363 364 /* Configuration of redundant environment */ 365 #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) 366 #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) 367 368 /* 369 * Pin multiplexing configuration 370 */ 371 372 /* PSC1: UART1 373 * PSC2: GPIO (default) 374 * PSC3: GPIO (default) 375 * USB: 2xUART4/5 376 * Ethernet: Ethernet 100Mbit with MD 377 * Timer: CAN2/GPIO 378 * PSC6/IRDA: GPIO (default) 379 */ 380 #define CONFIG_SYS_GPS_PORT_CONFIG 0x1105a004 381 382 383 /* 384 * Motion-PRO's CPLD revision control register 385 */ 386 #define CPLD_REV_REGISTER (CONFIG_SYS_CS2_START + 0x06) 387 388 389 /* 390 * Miscellaneous configurable options 391 */ 392 #define CONFIG_SYS_LONGHELP /* undef to save memory */ 393 #define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */ 394 #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 395 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ 396 #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 397 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ 398 399 #define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */ 400 #define CONFIG_SYS_MEMTEST_END 0x03e00000 /* 1 ... 62 MiB in DRAM */ 401 #define CONFIG_SYS_ALT_MEMTEST 402 403 #define CONFIG_SYS_LOAD_ADDR 0x200000 /* default kernel load addr */ 404 405 #define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */ 406 407 408 /* 409 * Various low-level settings 410 */ 411 #define CONFIG_SYS_HID0_INIT HID0_ICE | HID0_ICFI 412 #define CONFIG_SYS_HID0_FINAL HID0_ICE 413 414 #define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ 415 #define BOOTFLAG_WARM 0x02 /* Software reboot */ 416 417 #define CONFIG_SYS_CACHELINE_SIZE 32 /* For MPC5xxx CPUs */ 418 419 420 /* Not needed for MPC 5xxx U-Boot, but used by tools/updater */ 421 #define CONFIG_SYS_RESET_ADDRESS 0xfff00100 422 423 /* pass open firmware flat tree */ 424 #define CONFIG_OF_LIBFDT 1 425 #define CONFIG_OF_BOARD_SETUP 1 426 427 #define OF_CPU "PowerPC,5200@0" 428 #define OF_SOC "soc5200@f0000000" 429 #define OF_TBCLK (bd->bi_busfreq / 4) 430 #define OF_STDOUT_PATH "/soc5200@f0000000/serial@2000" 431 432 #endif /* __CONFIG_H */ 433