]> git.ipfire.org Git - people/ms/u-boot.git/blame - include/configs/MIP405.h
sparse: Simplify multiple logic
[people/ms/u-boot.git] / include / configs / MIP405.h
CommitLineData
7d393aed
WD
1/*
2 * (C) Copyright 2001, 2002
3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 *
3765b3e7 5 * SPDX-License-Identifier: GPL-2.0+
7d393aed
WD
6 */
7
8/*
9 * board/config.h - configuration options, board specific
10 */
11
12#ifndef __CONFIG_H
13#define __CONFIG_H
14
15/***********************************************************
16 * High Level Configuration Options
17 * (easy to change)
18 ***********************************************************/
19#define CONFIG_405GP 1 /* This is a PPC405 CPU */
7d393aed 20#define CONFIG_MIP405 1 /* ...on a MIP405 board */
2ae18241
WD
21
22#define CONFIG_SYS_TEXT_BASE 0xFFF80000
23
d3b88405 24
f3e0de60
WD
25/***********************************************************
26 * Note that it may also be a MIP405T board which is a subset of the
27 * MIP405
28 ***********************************************************/
29/***********************************************************
30 * WARNING:
31 * CONFIG_BOOT_PCI is only used for first boot-up and should
32 * NOT be enabled for production bootloader
33 ***********************************************************/
8bde7f77 34/*#define CONFIG_BOOT_PCI 1*/
7d393aed
WD
35/***********************************************************
36 * Clock
37 ***********************************************************/
38#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
39
7d393aed 40
659e2f67
JL
41/*
42 * BOOTP options
43 */
44#define CONFIG_BOOTP_BOOTFILESIZE
45#define CONFIG_BOOTP_BOOTPATH
46#define CONFIG_BOOTP_GATEWAY
47#define CONFIG_BOOTP_HOSTNAME
48
49
8353e139
JL
50/*
51 * Command line configuration.
52 */
8353e139
JL
53#define CONFIG_CMD_CACHE
54#define CONFIG_CMD_DATE
55#define CONFIG_CMD_DHCP
56#define CONFIG_CMD_EEPROM
8353e139
JL
57#define CONFIG_CMD_FAT
58#define CONFIG_CMD_I2C
59#define CONFIG_CMD_IDE
60#define CONFIG_CMD_IRQ
61#define CONFIG_CMD_JFFS2
62#define CONFIG_CMD_MII
63#define CONFIG_CMD_PCI
64#define CONFIG_CMD_PING
65#define CONFIG_CMD_REGINFO
66#define CONFIG_CMD_SAVES
67#define CONFIG_CMD_BSP
f3e0de60 68
8353e139
JL
69#if !defined(CONFIG_MIP405T)
70 #define CONFIG_CMD_USB
f3e0de60
WD
71#endif
72
7d393aed 73
6d0f6bcf 74#define CONFIG_SYS_HUSH_PARSER
7d393aed
WD
75/**************************************************************
76 * I2C Stuff:
77 * the MIP405 is equiped with an Atmel 24C128/256 EEPROM at address
78 * 0x53.
79 * The Atmel EEPROM uses 16Bit addressing.
80 ***************************************************************/
81
880540de
DE
82#define CONFIG_SYS_I2C
83#define CONFIG_SYS_I2C_PPC4XX
84#define CONFIG_SYS_I2C_PPC4XX_CH0
85#define CONFIG_SYS_I2C_PPC4XX_SPEED_0 50000
86#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0 0x7F
7d393aed 87
6d0f6bcf
JCPV
88#define CONFIG_SYS_I2C_EEPROM_ADDR 0x53 /* EEPROM 24C128/256 */
89#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 /* Bytes of address */
7d393aed 90/* mask of address bits that overflow into the "EEPROM chip address" */
6d0f6bcf
JCPV
91#undef CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW
92#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6 /* The Atmel 24C128/256 has */
7d393aed
WD
93 /* 64 byte page write mode using*/
94 /* last 6 bits of the address */
6d0f6bcf 95#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
7d393aed
WD
96
97
bb1f8b4f 98#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
0e8d1586
JCPV
99#define CONFIG_ENV_OFFSET 0x00000 /* environment starts at the beginning of the EEPROM */
100#define CONFIG_ENV_SIZE 0x00800 /* 2k bytes may be used for env vars */
7d393aed
WD
101
102/***************************************************************
103 * Definitions for Serial Presence Detect EEPROM address
104 * (to get SDRAM settings)
105 ***************************************************************/
f3e0de60 106/*#define SDRAM_EEPROM_WRITE_ADDRESS 0xA0
53677ef1 107#define SDRAM_EEPROM_READ_ADDRESS 0xA1
f3e0de60 108*/
7d393aed
WD
109/**************************************************************
110 * Environment definitions
111 **************************************************************/
112#define CONFIG_BAUDRATE 9600 /* STD Baudrate */
113#define CONFIG_BOOTDELAY 5
114/* autoboot (do NOT change this set environment variable "bootdelay" to -1 instead) */
2afbe4ed 115/* #define CONFIG_BOOT_RETRY_TIME -10 /XXX* feature is available but not enabled */
53677ef1 116#define CONFIG_ZERO_BOOTDELAY_CHECK /* check console even if bootdelay = 0 */
7d393aed 117
3e38691e 118#define CONFIG_BOOTCOMMAND "diskboot 400000 0:1; bootm" /* autoboot command */
7d393aed
WD
119#define CONFIG_BOOTARGS "console=ttyS0,9600 root=/dev/hda5" /* boot arguments */
120
121#define CONFIG_IPADDR 10.0.0.100
122#define CONFIG_SERVERIP 10.0.0.1
123#define CONFIG_PREBOOT
124/***************************************************************
125 * defines if the console is stored in the environment
126 ***************************************************************/
6d0f6bcf 127#define CONFIG_SYS_CONSOLE_IS_IN_ENV /* stdin, stdout and stderr are in evironment */
7d393aed
WD
128/***************************************************************
129 * defines if an overwrite_console function exists
130 *************************************************************/
6d0f6bcf
JCPV
131#define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
132#define CONFIG_SYS_CONSOLE_INFO_QUIET
7d393aed
WD
133/***************************************************************
134 * defines if the overwrite_console should be stored in the
135 * environment
136 **************************************************************/
6d0f6bcf 137#undef CONFIG_SYS_CONSOLE_ENV_OVERWRITE
7d393aed
WD
138
139/**************************************************************
140 * loads config
141 *************************************************************/
142#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
6d0f6bcf 143#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
7d393aed
WD
144
145#define CONFIG_MISC_INIT_R
146/***********************************************************
147 * Miscellaneous configurable options
148 **********************************************************/
6d0f6bcf 149#define CONFIG_SYS_LONGHELP /* undef to save memory */
8353e139 150#if defined(CONFIG_CMD_KGDB)
6d0f6bcf 151#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
7d393aed 152#else
6d0f6bcf 153#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
7d393aed 154#endif
6d0f6bcf
JCPV
155#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
156#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
157#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
7d393aed 158
6d0f6bcf
JCPV
159#define CONFIG_SYS_MEMTEST_START 0x0100000 /* memtest works on */
160#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 1 ... 12 MB in DRAM */
7d393aed 161
550650dd
SR
162#define CONFIG_CONS_INDEX 1 /* Use UART0 */
163#define CONFIG_SYS_NS16550
164#define CONFIG_SYS_NS16550_SERIAL
165#define CONFIG_SYS_NS16550_REG_SIZE 1
166#define CONFIG_SYS_NS16550_CLK get_serial_clock()
167
6d0f6bcf
JCPV
168#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
169#define CONFIG_SYS_BASE_BAUD 916667
7d393aed
WD
170
171/* The following table includes the supported baudrates */
6d0f6bcf 172#define CONFIG_SYS_BAUDRATE_TABLE \
7d393aed
WD
173 { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
174 57600, 115200, 230400, 460800, 921600 }
175
6d0f6bcf
JCPV
176#define CONFIG_SYS_LOAD_ADDR 0x400000 /* default load address */
177#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
7d393aed 178
7d393aed
WD
179/*-----------------------------------------------------------------------
180 * PCI stuff
181 *-----------------------------------------------------------------------
182 */
183#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
184#define PCI_HOST_FORCE 1 /* configure as pci host */
185#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
186
187#define CONFIG_PCI /* include pci support */
842033e6 188#define CONFIG_PCI_INDIRECT_BRIDGE /* indirect PCI bridge support */
7d393aed
WD
189#define CONFIG_PCI_HOST PCI_HOST_FORCE /* configure as pci-host */
190#define CONFIG_PCI_PNP /* pci plug-and-play */
191 /* resource configuration */
6d0f6bcf
JCPV
192#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x0000 /* PCI Vendor ID: to-do!!! */
193#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0000 /* PCI Device ID: to-do!!! */
194#define CONFIG_SYS_PCI_PTM1LA 0x00000000 /* point to sdram */
195#define CONFIG_SYS_PCI_PTM1MS 0x80000001 /* 2GB, enable hard-wired to 1 */
196#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
197#define CONFIG_SYS_PCI_PTM2LA 0x00000000 /* disabled */
198#define CONFIG_SYS_PCI_PTM2MS 0x00000000 /* disabled */
199#define CONFIG_SYS_PCI_PTM2PCI 0x00000000 /* Host: use this pci address */
7d393aed
WD
200
201/*-----------------------------------------------------------------------
202 * Start addresses for the final memory configuration
203 * (Set up by the startup code)
6d0f6bcf 204 * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
7d393aed 205 */
6d0f6bcf
JCPV
206#define CONFIG_SYS_SDRAM_BASE 0x00000000
207#define CONFIG_SYS_FLASH_BASE 0xFFF80000
208#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
209#define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Monitor */
210#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserve 1024 kB for malloc() */
7d393aed
WD
211
212/*
213 * For booting Linux, the board info and command line data
214 * have to be in the first 8 MB of memory, since this is
215 * the maximum mapped by the Linux kernel during initialization.
216 */
6d0f6bcf 217#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
7d393aed
WD
218/*-----------------------------------------------------------------------
219 * FLASH organization
220 */
39441b35
DM
221#define CONFIG_SYS_UPDATE_FLASH_SIZE
222#define CONFIG_SYS_FLASH_PROTECTION
223#define CONFIG_SYS_FLASH_EMPTY_INFO
7d393aed 224
39441b35
DM
225#define CONFIG_SYS_FLASH_CFI
226#define CONFIG_FLASH_CFI_DRIVER
227
228#define CONFIG_FLASH_SHOW_PROGRESS 45
229
230#define CONFIG_SYS_MAX_FLASH_BANKS 1
231#define CONFIG_SYS_MAX_FLASH_SECT 256
7d393aed 232
700a0c64
WD
233/*
234 * JFFS2 partitions
235 *
236 */
237/* No command line, one static partition, whole device */
68d7d651 238#undef CONFIG_CMD_MTDPARTS
700a0c64
WD
239#define CONFIG_JFFS2_DEV "nor0"
240#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
241#define CONFIG_JFFS2_PART_OFFSET 0x00000000
242
243/* mtdparts command line support */
244/* Note: fake mtd_id used, no linux mtd map file */
245/*
68d7d651 246#define CONFIG_CMD_MTDPARTS
700a0c64
WD
247#define MTDIDS_DEFAULT "nor0=mip405-0"
248#define MTDPARTS_DEFAULT "mtdparts=mip405-0:-(jffs2)"
249*/
7d393aed 250
63e73c9a
WD
251/*-----------------------------------------------------------------------
252 * Logbuffer Configuration
253 */
53677ef1 254#undef CONFIG_LOGBUFFER /* supported but not enabled */
63e73c9a
WD
255/*-----------------------------------------------------------------------
256 * Bootcountlimit Configuration
257 */
258#undef CONFIG_BOOTCOUNT_LIMIT /* supported but not enabled */
259
260/*-----------------------------------------------------------------------
261 * POST Configuration
262 */
263#if 0 /* enable this if POST is desired (is supported but not enabled) */
6d0f6bcf
JCPV
264#define CONFIG_POST (CONFIG_SYS_POST_MEMORY | \
265 CONFIG_SYS_POST_CPU | \
266 CONFIG_SYS_POST_RTC | \
267 CONFIG_SYS_POST_I2C)
63e73c9a
WD
268
269#endif
7d393aed
WD
270/*
271 * Init Memory Controller:
272 */
7205e407
WD
273#define FLASH_MAX_SIZE 0x00800000 /* 8MByte max */
274#define FLASH_BASE_PRELIM 0xFF800000 /* open the flash CS */
275/* Size: 0=1MB, 1=2MB, 2=4MB, 3=8MB, 4=16MB, 5=32MB, 6=64MB, 7=128MB */
276#define FLASH_SIZE_PRELIM 3 /* maximal flash FLASH size bank #0 */
7d393aed 277
c837dcb1 278#define CONFIG_BOARD_EARLY_INIT_F 1
39441b35 279#define CONFIG_BOARD_EARLY_INIT_R
7d393aed
WD
280
281/* Peripheral Bus Mapping */
282#define PER_PLD_ADDR 0xF4000000 /* smallest window is 1MByte 0x10 0000*/
283#define PER_UART0_ADDR 0xF4100000 /* smallest window is 1MByte 0x10 0000*/
284#define PER_UART1_ADDR 0xF4200000 /* smallest window is 1MByte 0x10 0000*/
285
286#define MULTI_PURPOSE_SOCKET_ADDR 0xF8000000
53677ef1 287#define CONFIG_PORT_ADDR PER_PLD_ADDR + 5
7d393aed
WD
288
289
7d393aed
WD
290/*-----------------------------------------------------------------------
291 * Definitions for initial stack pointer and data area (in On Chip SRAM)
292 */
6d0f6bcf
JCPV
293#define CONFIG_SYS_TEMP_STACK_OCM 1
294#define CONFIG_SYS_OCM_DATA_ADDR 0xF0000000
295#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
296#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of On Chip SRAM */
553f0982 297#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of On Chip SRAM */
25ddd1fb 298#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
63e73c9a 299/* reserve some memory for POST and BOOT limit info */
6d0f6bcf 300#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_GBL_DATA_OFFSET - 32)
63e73c9a 301
63e73c9a 302#ifdef CONFIG_BOOTCOUNT_LIMIT /* reserve 2 word for bootcount limit */
6d0f6bcf 303#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SYS_GBL_DATA_OFFSET - 12)
63e73c9a 304#endif
7d393aed 305
7d393aed
WD
306/***********************************************************************
307 * External peripheral base address
308 ***********************************************************************/
6d0f6bcf 309#define CONFIG_SYS_ISA_IO_BASE_ADDRESS 0xE8000000
7d393aed
WD
310
311/***********************************************************************
312 * Last Stage Init
313 ***********************************************************************/
314#define CONFIG_LAST_STAGE_INIT
315/************************************************************
316 * Ethernet Stuff
317 ***********************************************************/
96e21f86 318#define CONFIG_PPC4xx_EMAC
7d393aed
WD
319#define CONFIG_MII 1 /* MII PHY management */
320#define CONFIG_PHY_ADDR 1 /* PHY address */
63e73c9a
WD
321#define CONFIG_PHY_RESET_DELAY 300 /* Intel LXT971A needs this */
322#define CONFIG_PHY_CMD_DELAY 40 /* Intel LXT971A needs this */
7d393aed
WD
323/************************************************************
324 * RTC
325 ***********************************************************/
326#define CONFIG_RTC_MC146818
327#undef CONFIG_WATCHDOG /* watchdog disabled */
328
329/************************************************************
330 * IDE/ATA stuff
331 ************************************************************/
f3e0de60 332#if defined(CONFIG_MIP405T)
6d0f6bcf 333#define CONFIG_SYS_IDE_MAXBUS 1 /* MIP405T has only one IDE bus */
f3e0de60 334#else
6d0f6bcf 335#define CONFIG_SYS_IDE_MAXBUS 2 /* max. 2 IDE busses */
f3e0de60
WD
336#endif
337
6d0f6bcf 338#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS*2) /* max. 2 drives per IDE bus */
7d393aed 339
6d0f6bcf
JCPV
340#define CONFIG_SYS_ATA_BASE_ADDR CONFIG_SYS_ISA_IO_BASE_ADDRESS /* base address */
341#define CONFIG_SYS_ATA_IDE0_OFFSET 0x01F0 /* ide0 offste */
342#define CONFIG_SYS_ATA_IDE1_OFFSET 0x0170 /* ide1 offset */
343#define CONFIG_SYS_ATA_DATA_OFFSET 0 /* data reg offset */
344#define CONFIG_SYS_ATA_REG_OFFSET 0 /* reg offset */
345#define CONFIG_SYS_ATA_ALT_OFFSET 0x200 /* alternate register offset */
7d393aed
WD
346
347#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
348#undef CONFIG_IDE_LED /* no led for ide supported */
349#define CONFIG_IDE_RESET /* reset for ide supported... */
350#define CONFIG_IDE_RESET_ROUTINE /* with a special reset function */
7205e407 351#define CONFIG_SUPPORT_VFAT
7d393aed
WD
352/************************************************************
353 * ATAPI support (experimental)
354 ************************************************************/
355#define CONFIG_ATAPI /* enable ATAPI Support */
356
7d393aed
WD
357/************************************************************
358 * DISK Partition support
359 ************************************************************/
360#define CONFIG_DOS_PARTITION
361#define CONFIG_MAC_PARTITION
362#define CONFIG_ISO_PARTITION /* Experimental */
363
7d393aed
WD
364/************************************************************
365 * Keyboard support
366 ************************************************************/
367#undef CONFIG_ISA_KEYBOARD
368
369/************************************************************
370 * Video support
371 ************************************************************/
372#define CONFIG_VIDEO /*To enable video controller support */
373#define CONFIG_VIDEO_CT69000
374#define CONFIG_CFB_CONSOLE
375#define CONFIG_VIDEO_LOGO
376#define CONFIG_CONSOLE_EXTRA_INFO
377#define CONFIG_VGA_AS_SINGLE_DEVICE
378#define CONFIG_VIDEO_SW_CURSOR
379#undef CONFIG_VIDEO_ONBOARD
380/************************************************************
381 * USB support EXPERIMENTAL
382 ************************************************************/
f3e0de60 383#if !defined(CONFIG_MIP405T)
7d393aed
WD
384#define CONFIG_USB_UHCI
385#define CONFIG_USB_KEYBOARD
386#define CONFIG_USB_STORAGE
387
388/* Enable needed helper functions */
52cb4d4f 389#define CONFIG_SYS_STDIO_DEREGISTER /* needs stdio_deregister */
f3e0de60 390#endif
7d393aed
WD
391/************************************************************
392 * Debug support
393 ************************************************************/
8353e139 394#if defined(CONFIG_CMD_KGDB)
7d393aed 395#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
7d393aed
WD
396#endif
397
a2663ea4
WD
398/************************************************************
399 * support BZIP2 compression
400 ************************************************************/
401#define CONFIG_BZIP2 1
402
7d393aed
WD
403/************************************************************
404 * Ident
405 ************************************************************/
f3e0de60 406
7d393aed 407#define VERSION_TAG "released"
f3e0de60
WD
408#if !defined(CONFIG_MIP405T)
409#define CONFIG_ISO_STRING "MEV-10072-001"
410#else
411#define CONFIG_ISO_STRING "MEV-10082-001"
412#endif
413
414#if !defined(CONFIG_BOOT_PCI)
415#define CONFIG_IDENT_STRING "\n(c) 2003 by MPL AG Switzerland, " CONFIG_ISO_STRING " " VERSION_TAG
416#else
417#define CONFIG_IDENT_STRING "\n(c) 2003 by MPL AG Switzerland, PCI_BOOT Version"
418#endif
7d393aed
WD
419
420
421#endif /* __CONFIG_H */