diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2013-05-13 19:07:34 +0200 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-06-12 00:47:40 +0200 |
commit | 362168f86e947ace670e0f670e558994d388ed6a (patch) | |
tree | 21e9436591628e30e8bf900a539338cf689c84cd /arch/arm/mach-clps711x | |
parent | ARM: clps711x: Optimize interrupt handling (diff) | |
download | linux-362168f86e947ace670e0f670e558994d388ed6a.tar.xz linux-362168f86e947ace670e0f670e558994d388ed6a.zip |
ARM: clps711x: edb7211: Add support for I2C
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-clps711x')
-rw-r--r-- | arch/arm/mach-clps711x/board-edb7211.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-clps711x/board-edb7211.c b/arch/arm/mach-clps711x/board-edb7211.c index db804b42e912..970f4e17ba76 100644 --- a/arch/arm/mach-clps711x/board-edb7211.c +++ b/arch/arm/mach-clps711x/board-edb7211.c @@ -12,6 +12,7 @@ #include <linux/delay.h> #include <linux/memblock.h> #include <linux/types.h> +#include <linux/i2c-gpio.h> #include <linux/interrupt.h> #include <linux/backlight.h> #include <linux/platform_device.h> @@ -37,6 +38,9 @@ #define EDB7211_LCDEN CLPS711X_GPIO(3, 2) #define EDB7211_LCDBL CLPS711X_GPIO(3, 3) +#define EDB7211_I2C_SDA CLPS711X_GPIO(3, 4) +#define EDB7211_I2C_SCL CLPS711X_GPIO(3, 5) + #define EDB7211_FLASH0_BASE (CS0_PHYS_BASE) #define EDB7211_FLASH1_BASE (CS1_PHYS_BASE) @@ -46,6 +50,12 @@ /* The extra 8 lines of the keyboard matrix */ #define EDB7211_EXTKBD_BASE (CS3_PHYS_BASE) +static struct i2c_gpio_platform_data edb7211_i2c_pdata __initdata = { + .sda_pin = EDB7211_I2C_SDA, + .scl_pin = EDB7211_I2C_SCL, + .scl_is_output_only = 1, +}; + static struct resource edb7211_cs8900_resource[] __initdata = { DEFINE_RES_MEM(EDB7211_CS8900_BASE, SZ_1K), DEFINE_RES_IRQ(EDB7211_CS8900_IRQ), @@ -173,6 +183,9 @@ static void __init edb7211_init_late(void) platform_device_register_simple("video-clps711x", 0, NULL, 0); platform_device_register_simple("cs89x0", 0, edb7211_cs8900_resource, ARRAY_SIZE(edb7211_cs8900_resource)); + platform_device_register_data(&platform_bus, "i2c-gpio", 0, + &edb7211_i2c_pdata, + sizeof(edb7211_i2c_pdata)); } MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)") |