Fixed tools/env utilities
[u-boot-openmoko/mini2440.git] / board / bmw / bmw.h
blobdd9756930310c6b2909410f1f0c4f40f38c47234
1 /*
2 * BMW/MPC8245 Board definitions.
3 * For more info, see http://www.vooha.com/
5 * (C) Copyright 2000
6 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
8 * (C) Copyright 2002
9 * James Dougherty (jfd@broadcom.com)
11 * See file CREDITS for list of people who contributed to this
12 * project.
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of
17 * the License, or (at your option) any later version.
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
27 * MA 02111-1307 USA
30 #ifndef __BMW_H
31 #define __BMW_H
33 /* System addresses */
35 #define PCI_SPECIAL_BASE 0xfe000000
36 #define PCI_SPECIAL_SIZE 0x01000000
38 #define EUMBBAR_VAL 0x80500000 /* Location of EUMB region */
39 #define EUMBSIZE 0x00100000 /* Size of EUMB region */
41 /* Extended ROM space devices */
42 #define DOC_BASE_ADDR 0xff000000 /* Onboard DOC TSOP 16MB */
43 #define DOC2_BASE_ADDR 0x70000000 /* DIP32 socket -> 1GB */
44 #define XROM_BASE_ADDR 0x7c000000 /* RCS2 (PAL / Satellite IO) */
45 #define PLD_REG_BASE XROM_BASE_ADDR
46 #define LED_REG_BASE (XROM_BASE_ADDR | 0x2000)
47 #define TOD_BASE (XROM_BASE_ADDR | 0x4000)
48 #define LED_REG(x) (*(volatile unsigned char *) \
49 (LED_REG_BASE + (x)))
50 #define XROM_DEV_SIZE 0x00006000
52 #define ENET_DEV_BASE 0x80000000
54 #define PLD_REG(off) (*(volatile unsigned char *)\
55 (PLD_REG_BASE + (off)))
57 #define PLD_REVID_B1 0x7f /* Fix me */
58 #define PLD_REVID_B2 0x01 /* Fix me */
60 #define SYS_HARD_RESET() { for (;;) PLD_REG(0) = 0; } /* clr 0x80 bit */
61 #define SYS_REVID_GET() ((int) PLD_REG(0) & 0x7f)
62 #define SYS_LED_OFF() (PLD_REG(1) |= 0x80)
63 #define SYS_LED_ON() (PLD_REG(1) &= ~0x80)
64 #define SYS_WATCHDOG_IRQ3() (PLD_REG(2) |= 0x80)
65 #define SYS_WATCHDOG_RESET() (PLD_REG(2) &= ~0x80)
66 #define SYS_TOD_PROTECT() (PLD_REG(3) |= 0x80)
67 #define SYS_TOD_UNPROTECT() (PLD_REG(3) &= ~0x80)
69 #define TOD_REG_BASE (TOD_BASE | 0x1ff0)
70 #define TOD_NVRAM_BASE TOD_BASE
71 #define TOD_NVRAM_SIZE 0x1ff0
72 #define TOD_NVRAM_LIMIT (TOD_NVRAM_BASE + TOD_NVRAM_SIZE)
73 #define RTC(r) (TOD_BASE + r)
75 /* Onboard BCM570x device */
76 #define PCI_ENET_IOADDR 0x80000000
77 #define PCI_ENET_MEMADDR 0x80000000
80 #ifndef __ASSEMBLY__
81 /* C Function prototypes */
82 void sys_led_msg(char* msg);
84 #endif /* !__ASSEMBLY__ */
86 #endif /* __BMW_H */