sh: enable I2C on the ap325rxa board
authorMagnus Damm <magnus.damm@gmail.com>
Sat, 5 Jul 2008 03:32:44 +0000 (12:32 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 28 Jul 2008 09:10:33 +0000 (18:10 +0900)
This patch enables I2C on the sh7723-based ap325rxa board.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/renesas/ap325rxa/setup.c

index e33340c..f8d6d41 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/platform_device.h>
 #include <linux/mtd/physmap.h>
 #include <linux/delay.h>
+#include <linux/i2c.h>
 #include <asm/io.h>
 
 static struct resource smc9118_resources[] = {
@@ -83,14 +84,21 @@ static struct platform_device *ap325rxa_devices[] __initdata = {
        &ap325rxa_nor_flash_device
 };
 
+static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = {
+};
+
 static int __init ap325rxa_devices_setup(void)
 {
+       i2c_register_board_info(0, ap325rxa_i2c_devices,
+                               ARRAY_SIZE(ap325rxa_i2c_devices));
        return platform_add_devices(ap325rxa_devices,
                                ARRAY_SIZE(ap325rxa_devices));
 }
 device_initcall(ap325rxa_devices_setup);
 
 #define MSTPCR0                (0xA4150030)
+#define MSTPCR1                (0xA4150034)
 #define MSTPCR2                (0xA4150038)
 
 static void __init ap325rxa_setup(char **cmdline_p)
@@ -100,6 +108,9 @@ static void __init ap325rxa_setup(char **cmdline_p)
 
        /* enable MERAM */
        ctrl_outl(ctrl_inl(MSTPCR0) & ~0x00000001, MSTPCR0);    /* bit 0 */
+
+       /* I2C */
+       ctrl_outl(ctrl_inl(MSTPCR1) & ~0x00000200, MSTPCR1);
 }
 
 static struct sh_machine_vector mv_ap325rxa __initmv = {