Pull sparsemem-v5 into release branch
[linux-2.6] / arch / ppc / platforms / spruce.h
1 /*
2  * include/asm-ppc/platforms/spruce.h
3  *
4  * Definitions for IBM Spruce reference board support
5  *
6  * Authors: Matt Porter and Johnnie Peters
7  *          mporter@mvista.com
8  *          jpeters@mvista.com
9  *
10  * 2001 (c) MontaVista, Software, Inc.  This file is licensed under
11  * the terms of the GNU General Public License version 2.  This program
12  * is licensed "as is" without any warranty of any kind, whether express
13  * or implied.
14  */
15
16 #ifdef __KERNEL__
17 #ifndef __ASM_SPRUCE_H__
18 #define __ASM_SPRUCE_H__
19
20 #define SPRUCE_PCI_CONFIG_ADDR  0xfec00000
21 #define SPRUCE_PCI_CONFIG_DATA  0xfec00004
22
23 #define SPRUCE_PCI_PHY_IO_BASE  0xf8000000
24 #define SPRUCE_PCI_IO_BASE      SPRUCE_PCI_PHY_IO_BASE
25
26 #define SPRUCE_PCI_SYS_MEM_BASE 0x00000000
27
28 #define SPRUCE_PCI_LOWER_MEM    0x80000000
29 #define SPRUCE_PCI_UPPER_MEM    0x9fffffff
30 #define SPRUCE_PCI_LOWER_IO     0x00000000
31 #define SPRUCE_PCI_UPPER_IO     0x03ffffff
32
33 #define SPRUCE_ISA_IO_BASE      SPRUCE_PCI_IO_BASE
34
35 #define SPRUCE_MEM_SIZE         0x04000000
36 #define SPRUCE_BUS_SPEED        66666667
37
38 #define SPRUCE_NVRAM_BASE_ADDR  0xff800000
39 #define SPRUCE_RTC_BASE_ADDR    SPRUCE_NVRAM_BASE_ADDR
40
41 /*
42  * Serial port defines
43  */
44 #define SPRUCE_FPGA_REG_A       0xff820000
45 #define SPRUCE_UARTCLK_33M      0x02
46 #define SPRUCE_UARTCLK_IS_33M(reg)      (reg & SPRUCE_UARTCLK_33M)
47
48 #define UART0_IO_BASE   0xff600300
49 #define UART1_IO_BASE   0xff600400
50
51 #define RS_TABLE_SIZE   2
52
53 #define SPRUCE_BAUD_33M (33000000/64)
54 #define SPRUCE_BAUD_30M (30000000/64)
55 #define BASE_BAUD       SPRUCE_BAUD_33M
56
57 #define UART0_INT       3
58 #define UART1_INT       4
59
60 #define STD_UART_OP(num)                                                \
61         { 0, BASE_BAUD, 0, UART##num##_INT,                             \
62                 ASYNC_BOOT_AUTOCONF,                                    \
63                 iomem_base: (unsigned char *) UART##num##_IO_BASE,      \
64                 io_type: SERIAL_IO_MEM},
65
66 #define SERIAL_PORT_DFNS        \
67         STD_UART_OP(0)          \
68         STD_UART_OP(1)
69
70 #endif /* __ASM_SPRUCE_H__ */
71 #endif /* __KERNEL__ */