diff options
author | Magnus Damm <magnus.damm@gmail.com> | 2008-07-05 03:32:44 (GMT) |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-07-28 09:10:33 (GMT) |
commit | 026953db56e6244c8c80be8e211e244ff6015992 (patch) | |
tree | b1ccf51211190bec89d26eb02b84cbda72c2c811 /arch | |
parent | 0fff76f2da9dd0cd1918822cdc99d0191f9b78cf (diff) | |
download | linux-026953db56e6244c8c80be8e211e244ff6015992.tar.xz |
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.c | 11 |
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 e33340c..f8d6d41 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 = { |