sh: Add I2C support to MigoR
authorMagnus Damm <magnus.damm@gmail.com>
Tue, 25 Mar 2008 08:20:24 +0000 (17:20 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 18 Apr 2008 16:50:06 +0000 (09:50 -0700)
Enable the sh7722 I2C controller on the MigoR board.

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

index bc7a4cec12772eacd7779c7aeae8914b4d867dc2..ac8d4151dc8af9f339d64cf3119429ffe9d114dd 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/input.h>
 #include <linux/mtd/physmap.h>
 #include <linux/mtd/nand.h>
+#include <linux/i2c.h>
 #include <asm/machvec.h>
 #include <asm/io.h>
 #include <asm/sh_keysc.h>
@@ -196,8 +197,14 @@ static struct platform_device *migor_devices[] __initdata = {
        &migor_nand_flash_device,
 };
 
+static struct i2c_board_info __initdata migor_i2c_devices[] = {
+};
+
 static int __init migor_devices_setup(void)
 {
+       i2c_register_board_info(0, migor_i2c_devices,
+                               ARRAY_SIZE(migor_i2c_devices));
        return platform_add_devices(migor_devices, ARRAY_SIZE(migor_devices));
 }
 __initcall(migor_devices_setup);
@@ -219,6 +226,9 @@ static void __init migor_setup(char **cmdline_p)
        ctrl_outw(ctrl_inw(PORT_PXCR) & 0x0fff, PORT_PXCR);
        ctrl_outl((ctrl_inl(BSC_CS6ABCR) & ~0x00000600) | 0x00000200,
                  BSC_CS6ABCR);
+
+       /* I2C */
+       ctrl_outl(ctrl_inl(MSTPCR1) & ~0x00000200, MSTPCR1);
 }
 
 static struct sh_machine_vector mv_migor __initmv = {