aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards
diff options
context:
space:
mode:
authorMagnus Damm <magnus.damm@gmail.com>2008-07-04 23:32:44 -0400
committerPaul Mundt <lethal@linux-sh.org>2008-07-28 05:10:33 -0400
commit026953db56e6244c8c80be8e211e244ff6015992 (patch)
treeb1ccf51211190bec89d26eb02b84cbda72c2c811 /arch/sh/boards
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/sh/boards')
-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 @@
15#include <linux/platform_device.h> 15#include <linux/platform_device.h>
16#include <linux/mtd/physmap.h> 16#include <linux/mtd/physmap.h>
17#include <linux/delay.h> 17#include <linux/delay.h>
18#include <linux/i2c.h>
18#include <asm/io.h> 19#include <asm/io.h>
19 20
20static struct resource smc9118_resources[] = { 21static struct resource smc9118_resources[] = {
@@ -83,14 +84,21 @@ static struct platform_device *ap325rxa_devices[] __initdata = {
83 &ap325rxa_nor_flash_device 84 &ap325rxa_nor_flash_device
84}; 85};
85 86
87static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = {
88};
89
86static int __init ap325rxa_devices_setup(void) 90static int __init ap325rxa_devices_setup(void)
87{ 91{
92 i2c_register_board_info(0, ap325rxa_i2c_devices,
93 ARRAY_SIZE(ap325rxa_i2c_devices));
94
88 return platform_add_devices(ap325rxa_devices, 95 return platform_add_devices(ap325rxa_devices,
89 ARRAY_SIZE(ap325rxa_devices)); 96 ARRAY_SIZE(ap325rxa_devices));
90} 97}
91device_initcall(ap325rxa_devices_setup); 98device_initcall(ap325rxa_devices_setup);
92 99
93#define MSTPCR0 (0xA4150030) 100#define MSTPCR0 (0xA4150030)
101#define MSTPCR1 (0xA4150034)
94#define MSTPCR2 (0xA4150038) 102#define MSTPCR2 (0xA4150038)
95 103
96static void __init ap325rxa_setup(char **cmdline_p) 104static void __init ap325rxa_setup(char **cmdline_p)
@@ -100,6 +108,9 @@ static void __init ap325rxa_setup(char **cmdline_p)
100 108
101 /* enable MERAM */ 109 /* enable MERAM */
102 ctrl_outl(ctrl_inl(MSTPCR0) & ~0x00000001, MSTPCR0); /* bit 0 */ 110 ctrl_outl(ctrl_inl(MSTPCR0) & ~0x00000001, MSTPCR0); /* bit 0 */
111
112 /* I2C */
113 ctrl_outl(ctrl_inl(MSTPCR1) & ~0x00000200, MSTPCR1);
103} 114}
104 115
105static struct sh_machine_vector mv_ap325rxa __initmv = { 116static struct sh_machine_vector mv_ap325rxa __initmv = {