Merge git://git.infradead.org/~dwmw2/cafe-2.6
[linux-2.6] / arch / ppc / platforms / 4xx / ibmstbx25.c
1 /*
2  * Author: Armin Kuster <akuster@mvista.com>
3  *
4  * 2000-2002 (c) MontaVista, Software, Inc.  This file is licensed under
5  * the terms of the GNU General Public License version 2.  This program
6  * is licensed "as is" without any warranty of any kind, whether express
7  * or implied.
8  */
9
10 #include <linux/init.h>
11 #include <asm/ocp.h>
12 #include <platforms/4xx/ibmstbx25.h>
13 #include <asm/ppc4xx_pic.h>
14
15 static struct ocp_func_iic_data ibmstbx25_iic0_def = {
16         .fast_mode      = 0,            /* Use standad mode (100Khz) */
17 };
18 OCP_SYSFS_IIC_DATA()
19
20 struct ocp_def core_ocp[] __initdata = {
21         { .vendor       = OCP_VENDOR_IBM,
22           .function     = OCP_FUNC_16550,
23           .index        = 0,
24           .paddr        = UART0_IO_BASE,
25           .irq          = UART0_INT,
26           .pm           = IBM_CPM_UART0,
27         },
28         { .vendor       = OCP_VENDOR_IBM,
29           .function     = OCP_FUNC_16550,
30           .index        = 1,
31           .paddr        = UART1_IO_BASE,
32           .irq          = UART1_INT,
33           .pm           = IBM_CPM_UART1,
34         },
35         { .vendor       = OCP_VENDOR_IBM,
36           .function     = OCP_FUNC_16550,
37           .index        = 2,
38           .paddr        = UART2_IO_BASE,
39           .irq          = UART2_INT,
40           .pm           = IBM_CPM_UART2,
41         },
42         { .vendor       = OCP_VENDOR_IBM,
43           .function     = OCP_FUNC_IIC,
44           .paddr        = IIC0_BASE,
45           .irq          = IIC0_IRQ,
46           .pm           = IBM_CPM_IIC0,
47           .additions    = &ibmstbx25_iic0_def,
48           .show         = &ocp_show_iic_data
49         },
50         { .vendor       = OCP_VENDOR_IBM,
51           .function     = OCP_FUNC_GPIO,
52           .paddr        = GPIO0_BASE,
53           .irq          = OCP_IRQ_NA,
54           .pm           = IBM_CPM_GPIO0,
55         },
56         { .vendor       = OCP_VENDOR_INVALID
57         }
58 };
59
60 /* Polarity and triggering settings for internal interrupt sources */
61 struct ppc4xx_uic_settings ppc4xx_core_uic_cfg[] __initdata = {
62         { .polarity     = 0xffff8f80,
63           .triggering   = 0x00000000,
64           .ext_irq_mask = 0x0000707f,   /* IRQ7 - IRQ9, IRQ0 - IRQ6 */
65         }
66 };