Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / arch / ppc / platforms / 4xx / walnut.h
1 /*
2  * arch/ppc/platforms/4xx/walnut.h
3  *
4  * Macros, definitions, and data structures specific to the IBM PowerPC
5  * 405GP "Walnut" evaluation board.
6  *
7  * Authors: Grant Erickson <grant@lcse.umn.edu>, Frank Rowand
8  * <frank_rowand@mvista.com>, Debbie Chu <debbie_chu@mvista.com> or
9  * source@mvista.com
10  *
11  * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu>
12  *
13  * 2000 (c) MontaVista, Software, Inc.  This file is licensed under
14  * the terms of the GNU General Public License version 2.  This program
15  * is licensed "as is" without any warranty of any kind, whether express
16  * or implied.
17  */
18
19 #ifdef __KERNEL__
20 #ifndef __ASM_WALNUT_H__
21 #define __ASM_WALNUT_H__
22
23 /* We have a 405GP core */
24 #include <platforms/4xx/ibm405gp.h>
25
26 #ifndef __ASSEMBLY__
27 /*
28  * Data structure defining board information maintained by the boot
29  * ROM on IBM's "Walnut" evaluation board. An effort has been made to
30  * keep the field names consistent with the 8xx 'bd_t' board info
31  * structures.
32  */
33
34 typedef struct board_info {
35         unsigned char    bi_s_version[4];       /* Version of this structure */
36         unsigned char    bi_r_version[30];      /* Version of the IBM ROM */
37         unsigned int     bi_memsize;            /* DRAM installed, in bytes */
38         unsigned char    bi_enetaddr[6];        /* Local Ethernet MAC address */
39         unsigned char    bi_pci_enetaddr[6];    /* PCI Ethernet MAC address */
40         unsigned int     bi_intfreq;            /* Processor speed, in Hz */
41         unsigned int     bi_busfreq;            /* PLB Bus speed, in Hz */
42         unsigned int     bi_pci_busfreq;        /* PCI Bus speed, in Hz */
43 } bd_t;
44
45 /* Some 4xx parts use a different timebase frequency from the internal clock.
46 */
47 #define bi_tbfreq bi_intfreq
48
49
50 /* Memory map for the IBM "Walnut" 405GP evaluation board.
51  * Generic 4xx plus RTC.
52  */
53
54 extern void *walnut_rtc_base;
55 #define WALNUT_RTC_PADDR        ((uint)0xf0000000)
56 #define WALNUT_RTC_VADDR        WALNUT_RTC_PADDR
57 #define WALNUT_RTC_SIZE         ((uint)8*1024)
58
59 #ifdef CONFIG_PPC405GP_INTERNAL_CLOCK
60 #define BASE_BAUD               201600
61 #else
62 #define BASE_BAUD               691200
63 #endif
64
65 #define WALNUT_PS2_BASE         0xF0100000
66 #define WALNUT_FPGA_BASE        0xF0300000
67
68 #define PPC4xx_MACHINE_NAME     "IBM Walnut"
69
70 #endif /* !__ASSEMBLY__ */
71 #endif /* __ASM_WALNUT_H__ */
72 #endif /* __KERNEL__ */