patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / arch / ppc / platforms / 4xx / ibmstb4.c
index 2fed8f1..874d16b 100644 (file)
@@ -9,19 +9,75 @@
  * or implied.
  */
 
-#include <linux/config.h>
-#include <linux/module.h>
-#include "ibmstb4.h"
+#include <linux/init.h>
 #include <asm/ocp.h>
+#include <platforms/4xx/ibmstb4.h>
 
-struct ocp_def core_ocp[] = {
-       {UART, UART0_IO_BASE, UART0_INT,IBM_CPM_UART0},
-       {UART, UART1_IO_BASE, UART1_INT, IBM_CPM_UART1},
-       {UART, UART2_IO_BASE, UART2_INT, IBM_CPM_UART2},
-       {IIC, IIC0_BASE, IIC0_IRQ, IBM_CPM_IIC0},
-       {IIC, IIC1_BASE, IIC1_IRQ, IBM_CPM_IIC1},
-       {GPIO, GPIO0_BASE, OCP_IRQ_NA, IBM_CPM_GPIO0},
-       {IDE, IDE0_BASE, IDE0_IRQ, OCP_CPM_NA},
-       {USB, USB0_BASE, USB0_IRQ, IBM_CPM_USB0},
-       {OCP_NULL_TYPE, 0x0, OCP_IRQ_NA, OCP_CPM_NA},
+static struct ocp_func_iic_data ibmstb4_iic0_def = {
+       .fast_mode      = 0,            /* Use standad mode (100Khz) */
+};
+
+static struct ocp_func_iic_data ibmstb4_iic1_def = {
+       .fast_mode      = 0,            /* Use standad mode (100Khz) */
+};
+OCP_SYSFS_IIC_DATA()
+
+struct ocp_def core_ocp[] __initdata = {
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_16550,
+         .index        = 0,
+         .paddr        = UART0_IO_BASE,
+         .irq          = UART0_INT,
+         .pm           = IBM_CPM_UART0,
+       },
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_16550,
+         .index        = 1,
+         .paddr        = UART1_IO_BASE,
+         .irq          = UART1_INT,
+         .pm           = IBM_CPM_UART1,
+       },
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_16550,
+         .index        = 2,
+         .paddr        = UART2_IO_BASE,
+         .irq          = UART2_INT,
+         .pm           = IBM_CPM_UART2,
+       },
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_IIC,
+         .paddr        = IIC0_BASE,
+         .irq          = IIC0_IRQ,
+         .pm           = IBM_CPM_IIC0,
+         .additions    = &ibmstb4_iic0_def,
+         .show         = &ocp_show_iic_data
+       },
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_IIC,
+         .paddr        = IIC1_BASE,
+         .irq          = IIC1_IRQ,
+         .pm           = IBM_CPM_IIC1,
+         .additions    = &ibmstb4_iic1_def,
+         .show         = &ocp_show_iic_data
+       },
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_GPIO,
+         .paddr        = GPIO0_BASE,
+         .irq          = OCP_IRQ_NA,
+         .pm           = IBM_CPM_GPIO0,
+       },
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_IDE,
+         .paddr        = IDE0_BASE,
+         .irq          = IDE0_IRQ,
+         .pm           = OCP_CPM_NA,
+       },
+       { .vendor       = OCP_VENDOR_IBM,
+         .function     = OCP_FUNC_USB,
+         .paddr        = USB0_BASE,
+         .irq          = USB0_IRQ,
+         .pm           = OCP_CPM_NA,
+       },
+       { .vendor       = OCP_VENDOR_INVALID,
+       }
 };