blob: 86bfa01cb25430cb39dd7785a6febd3ca44ffb73 [file] [log] [blame]
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +01001/*
2 * Configuration settings for the iDMR board
3 *
4 * Based on MC5272C3, r5200 and M5271EVB board configs
5 * (C) Copyright 2006 Wolfgang Denk, DENX Software Engineering, wd@denx.de.
6 * (C) Copyright 2006 Lab X Technologies <zachary.landau@labxtechnologies.com>
7 * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.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 _IDMR_H
29#define _IDMR_H
30
31
32/*
33 * High Level Configuration Options (easy to change)
34 */
35
36#define CONFIG_MCF52x2 /* define processor family */
37#define CONFIG_M5271 /* define processor type */
38#define CONFIG_IDMR /* define board type */
39
40#undef CONFIG_WATCHDOG /* disable watchdog */
41
42/*
43 * Default environment settings
44 */
45#define CONFIG_BOOTCOMMAND "run net_nfs"
46#define CONFIG_BOOTDELAY 5
TsiChungLiew6cfd3c72007-08-15 19:43:20 -050047#define CONFIG_MCFUART
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020048#define CONFIG_SYS_UART_PORT (0)
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +010049#define CONFIG_BAUDRATE 19200
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +010050#define CONFIG_ETHADDR 00:06:3b:01:41:55
51#define CONFIG_ETHPRIME
52#define CONFIG_IPADDR 192.168.30.1
53#define CONFIG_SERVERIP 192.168.1.1
Joe Hershberger8b3637c2011-10-13 13:03:47 +000054#define CONFIG_ROOTPATH ""
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +010055#define CONFIG_GATEWAYIP 192.168.1.1
56#define CONFIG_NETMASK 255.255.0.0
57#define CONFIG_HOSTNAME idmr
Joe Hershbergerb3f44c22011-10-13 13:03:48 +000058#define CONFIG_BOOTFILE "/tftpboot/idmr/uImage"
Wolfgang Denk32bf3d12008-03-03 12:16:44 +010059#define CONFIG_PREBOOT "echo;echo Type \\\"run flash_nfs\\\" to mount root " \
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +010060 "filesystem over NFS; echo"
61
TsiChungLiew6cfd3c72007-08-15 19:43:20 -050062#define CONFIG_MCFTMR
63
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +010064#define CONFIG_EXTRA_ENV_SETTINGS \
65 "netdev=eth0\0" \
66 "ramargs=setenv bootargs root=/dev/ram rw\0" \
67 "addip=setenv bootargs $(bootargs) " \
68 "ip=$(ipaddr):$(serverip):$(gatewayip):" \
69 "$(netmask):$(hostname):$(netdev):off panic=1\0" \
70 "flash_nfs=run nfsargs addip;bootm $(kernel_addr)\0" \
71 "flash_self=run ramargs addip;bootm $(kernel_addr) " \
72 "$(ramdisk_addr)\0" \
73 "net_nfs=tftp 200000 $(bootfile);run nfsargs addip;bootm\0" \
74 "nfsargs=setenv bootargs root=/dev/nfs rw " \
75 "nfsroot=$(serverip):$(rootpath)\0" \
Heiko Schocher48690d82010-07-20 17:45:02 +020076 "ethact=FEC\0 " \
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +010077 "update=prot off ff800000 ff81ffff; era ff800000 ff81ffff; " \
78 "cp.b 200000 ff800000 $(filesize);" \
79 "prot on ff800000 ff81ffff\0" \
80 "load=tftp 200000 $(u-boot)\0" \
81 "u-boot=/tftpboot/idmr/u-boot.bin\0" \
82 ""
83
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +010084
Jon Loeliger1d2c6bc2007-07-04 22:32:32 -050085/*
Jon Loeliger7f5c0152007-07-10 09:38:02 -050086 * BOOTP options
87 */
88#define CONFIG_BOOTP_BOOTFILESIZE
89#define CONFIG_BOOTP_BOOTPATH
90#define CONFIG_BOOTP_GATEWAY
91#define CONFIG_BOOTP_HOSTNAME
92
93
94/*
Jon Loeliger1d2c6bc2007-07-04 22:32:32 -050095 * Command line configuration.
96 */
97#include <config_cmd_default.h>
98
99#define CONFIG_CMD_PING
100#define CONFIG_CMD_JFFS2
101#define CONFIG_CMD_NET
102
103#undef CONFIG_CMD_LOADS
104#undef CONFIG_CMD_LOADB
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100105
106
107/*
108 * Low Level Configuration Settings
109 * (address mappings, register initial values, etc.)
110 * You should know what you are doing if you make changes here.
111 */
112
113/*
114 * Configuration for environment, which occupies third sector in flash.
115 */
116#ifndef CONFIG_MONITOR_IS_IN_RAM
Jean-Christophe PLAGNIOL-VILLARD0e8d1582008-09-10 22:48:06 +0200117#define CONFIG_ENV_ADDR 0xff820000
118#define CONFIG_ENV_SECT_SIZE 0x10000
119#define CONFIG_ENV_SIZE 0x2000
Jean-Christophe PLAGNIOL-VILLARD5a1aceb2008-09-10 22:48:04 +0200120#define CONFIG_ENV_IS_IN_FLASH
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100121#else /* CONFIG_MONITOR_IS_IN_RAM */
Jean-Christophe PLAGNIOL-VILLARD0e8d1582008-09-10 22:48:06 +0200122#define CONFIG_ENV_OFFSET 0x4000
123#define CONFIG_ENV_SECT_SIZE 0x2000
Jean-Christophe PLAGNIOL-VILLARD5a1aceb2008-09-10 22:48:04 +0200124#define CONFIG_ENV_IS_IN_FLASH
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100125#endif /* !CONFIG_MONITOR_IS_IN_RAM */
126
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200127#define CONFIG_SYS_USE_PPCENV /* Environment embedded in sect .ppcenv */
Wolfgang Denk67c31032007-09-16 17:10:04 +0200128
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200129#define CONFIG_SYS_PROMPT "=> "
130#define CONFIG_SYS_LONGHELP /* undef to save memory */
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100131
Jon Loeliger1d2c6bc2007-07-04 22:32:32 -0500132#if defined(CONFIG_CMD_KGDB)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200133#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
Jon Loeliger1d2c6bc2007-07-04 22:32:32 -0500134#else
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200135#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
Jon Loeliger1d2c6bc2007-07-04 22:32:32 -0500136#endif
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100137
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200138#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
139#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
140#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100141
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200142#define CONFIG_SYS_LOAD_ADDR 0x00100000
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100143
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200144#define CONFIG_SYS_MEMTEST_START 0x400
145#define CONFIG_SYS_MEMTEST_END 0x380000
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100146
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200147#define CONFIG_SYS_HZ (50000000 / 64)
148#define CONFIG_SYS_CLK 100000000
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100149
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200150#define CONFIG_SYS_MBAR 0x40000000 /* Register Base Addrs */
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100151
152/*
153 * Ethernet
154 */
TsiChungLiew6cfd3c72007-08-15 19:43:20 -0500155#define CONFIG_MCFFEC
156#ifdef CONFIG_MCFFEC
TsiChung Liew0f3ba7e2008-03-30 01:22:13 -0500157# define CONFIG_MII 1
158# define CONFIG_MII_INIT 1
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200159# define CONFIG_SYS_DISCOVER_PHY
160# define CONFIG_SYS_RX_ETH_BUFFER 8
161# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
TsiChungLiew6cfd3c72007-08-15 19:43:20 -0500162
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200163# define CONFIG_SYS_FEC0_PINMUX 0
164# define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE
Wolfgang Denk53677ef2008-05-20 16:00:29 +0200165# define MCFFEC_TOUT_LOOP 50000
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200166/* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
167# ifndef CONFIG_SYS_DISCOVER_PHY
TsiChungLiew6cfd3c72007-08-15 19:43:20 -0500168# define FECDUPLEX FULL
169# define FECSPEED _100BASET
170# else
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200171# ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
172# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
TsiChungLiew6cfd3c72007-08-15 19:43:20 -0500173# endif
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200174# endif /* CONFIG_SYS_DISCOVER_PHY */
TsiChungLiew6cfd3c72007-08-15 19:43:20 -0500175#endif
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100176
177/*
178 * Definitions for initial stack pointer and data area (in DPRAM)
179 */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200180#define CONFIG_SYS_INIT_RAM_ADDR 0x20000000
Wolfgang Denk553f0982010-10-26 13:32:32 +0200181#define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in internal SRAM */
Wolfgang Denk25ddd1f2010-10-26 14:34:52 +0200182#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200183#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100184
185/*
186 * Start addresses for the final memory configuration
187 * (Set up by the startup code)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200188 * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100189 */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200190#define CONFIG_SYS_SDRAM_BASE 0x00000000
191#define CONFIG_SYS_SDRAM_SIZE 16 /* SDRAM size in MB */
192#define CONFIG_SYS_FLASH_BASE 0xff800000
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100193
194#ifdef CONFIG_MONITOR_IS_IN_RAM
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200195#define CONFIG_SYS_MONITOR_BASE 0x20000
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100196#else /* !CONFIG_MONITOR_IS_IN_RAM */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200197#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400)
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100198#endif /* CONFIG_MONITOR_IS_IN_RAM */
199
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200200#define CONFIG_SYS_MONITOR_LEN 0x20000
201#define CONFIG_SYS_MALLOC_LEN (256 << 10)
202#define CONFIG_SYS_BOOTPARAMS_LEN (64*1024)
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100203
204/*
205 * For booting Linux, the board info and command line data
206 * have to be in the first 8 MB of memory, since this is
207 * the maximum mapped by the Linux kernel during initialization ??
208 */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200209#define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20))
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100210
211/* FLASH organization */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200212#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
213#define CONFIG_SYS_MAX_FLASH_SECT 128 /* max number of sectors on one chip */
214#define CONFIG_SYS_FLASH_ERASE_TOUT 1000
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100215
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200216#define CONFIG_SYS_FLASH_SIZE 0x800000
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100217/*
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200218 * #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100219 */
220
221/* Cache Configuration */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200222#define CONFIG_SYS_CACHELINE_SIZE 16
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100223
TsiChung Liewdd9f0542010-03-11 22:12:53 -0600224#define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \
Wolfgang Denk553f0982010-10-26 13:32:32 +0200225 CONFIG_SYS_INIT_RAM_SIZE - 8)
TsiChung Liewdd9f0542010-03-11 22:12:53 -0600226#define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \
Wolfgang Denk553f0982010-10-26 13:32:32 +0200227 CONFIG_SYS_INIT_RAM_SIZE - 4)
TsiChung Liewdd9f0542010-03-11 22:12:53 -0600228#define CONFIG_SYS_ICACHE_INV (CF_CACR_CINV | CF_CACR_INVI)
229#define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \
230 CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \
231 CF_ACR_EN | CF_ACR_SM_ALL)
232#define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_CINV | \
233 CF_CACR_DISD | CF_CACR_INVI | \
234 CF_CACR_CEIB | CF_CACR_DCM | \
235 CF_CACR_EUSP)
236
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100237/* Port configuration */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200238#define CONFIG_SYS_FECI2C 0xF0
Bartlomiej Sieka0ed47bb2007-01-23 14:11:22 +0100239
Bartlomiej Sieka2daf0462007-01-23 17:22:06 +0100240
241/* Dynamic MTD partition support */
Stefan Roese68d7d652009-03-19 13:30:36 +0100242#define CONFIG_CMD_MTDPARTS
Stefan Roese942556a2009-05-12 14:32:58 +0200243#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
244#define CONFIG_FLASH_CFI_MTD
Bartlomiej Sieka2daf0462007-01-23 17:22:06 +0100245#define MTDIDS_DEFAULT "nor0=idmr-0"
246
247#define MTDPARTS_DEFAULT "mtdparts=idmr-0:128k(u-boot)," \
248 "64k(env)," \
249 "640k(kernel)," \
250 "2m(rootfs)," \
251 "-(user)";
252
Stefan Roese26667b72007-08-18 14:37:52 +0200253#if defined(CONFIG_CMD_MII)
254#error "MII commands don't work on iDMR board and should not be enabled."
255#endif
Bartlomiej Sieka0ed47bb2007-01-23 14:11:22 +0100256
Bartlomiej Siekadaa6e412006-12-20 00:27:32 +0100257#endif /* _IDMR_H */