fix to allow usb modules to compile
[linux-2.4.21-pre4.git] / arch / ppc / platforms / sycamore.h
1 /*
2  *
3  *    Copyright 2000 MontaVista Software Inc.
4  *      Author: Armin Kuster <akuster@mvista.com>
5  *              MontaVista Software, Inc.
6  *
7  *    Module name: sycamore.h
8  *
9  *    Description:
10  *      Macros, definitions, and data structures specific to the IBM PowerPC
11  *      based boards.
12  *
13  *      This includes:
14  *
15  *         405GP "Sycamore" evaluation board
16  *
17  * Please read the COPYING file for all license details.
18  */
19
20 #ifdef __KERNEL__
21 #ifndef __ASM_SYCAMORE_H__
22 #define __ASM_SYCAMORE_H__
23
24 #include <platforms/ibm405gpr.h>
25
26 #ifndef __ASSEMBLY__
27 /*
28  * Data structure defining board information maintained by the boot
29  * ROM on IBM's "Sycamore" 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 "Sycamore" 405GP evaluation board.
51  * Generic 4xx plus RTC.
52  */
53
54 extern void *walnut_rtc_base;
55 #define SYCAMORE_RTC_PADDR      ((uint)0xf0000000)
56 #define SYCAMORE_RTC_VADDR      SYCAMORE_RTC_PADDR
57 #define SYCAMORE_RTC_SIZE               ((uint)8*1024)
58
59 /* ps2 keyboard and mouse */
60 #define KEYBOARD_IRQ            25
61 #define AUX_IRQ                 26
62
63 #ifdef CONFIG_PPC405GP_INTERNAL_CLOCK
64 #define BASE_BAUD               201600
65 #else
66 #define BASE_BAUD               691200
67 #endif
68
69 #define SYCAMORE_PS2_BASE               0xF0100000
70 #define SYCAMORE_FPGA_BASE      0xF0300000
71
72
73 extern void *kb_cs;
74 extern void *kb_data;
75 #define kbd_read_input()        readb(kb_data)
76 #define kbd_read_status()       readb(kb_cs)
77 #define kbd_write_output(val)   writeb(val, kb_data)
78 #define kbd_write_command(val)  writeb(val, kb_cs)
79
80 #define PPC4xx_MACHINE_NAME     "IBM Sycamore"
81
82 #endif /* !__ASSEMBLY__ */
83 #endif /* __ASM_SYCAMORE_H__ */
84 #endif /* __KERNEL__ */