summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMagnus Damm <magnus.damm@gmail.com>2008-07-05 12:32:44 +0900
committerPaul Mundt <lethal@linux-sh.org>2008-07-28 18:10:33 +0900
commit026953db56e6244c8c80be8e211e244ff6015992 (patch)
treeb1ccf51211190bec89d26eb02b84cbda72c2c811 /arch
parent0fff76f2da9dd0cd1918822cdc99d0191f9b78cf (diff)
sh: enable I2C on the ap325rxa board
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/boards/renesas/ap325rxa/setup.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/sh/boards/renesas/ap325rxa/setup.c b/arch/sh/boards/renesas/ap325rxa/setup.c
index e33340cafa01..f8d6d41893a3 100644
--- a/arch/sh/boards/renesas/ap325rxa/setup.c
+++ b/arch/sh/boards/renesas/ap325rxa/setup.c
@@ -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 = {