MX1:apf9328: Add i2c support
authorGwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Sat, 8 Oct 2011 15:19:49 +0000 (17:19 +0200)
committerSascha Hauer <s.hauer@pengutronix.de>
Tue, 3 Jan 2012 08:47:13 +0000 (09:47 +0100)
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/mach-apf9328.c

index c44aa974e79c473d123631236269bdb8c2daa8a3..d0a27303edb871a54accc3bf19b73629d8e01056 100644 (file)
@@ -98,6 +98,7 @@ config MACH_SCB9328
 config MACH_APF9328
        bool "APF9328"
        select SOC_IMX1
+       select IMX_HAVE_PLATFORM_IMX_I2C
        select IMX_HAVE_PLATFORM_IMX_UART
        help
          Say Yes here if you are using the Armadeus APF9328 development board
index 1e486e67dabbfa598a010d616fe59101d8a9406e..c71dbcc37b1138865021d932fb2c791618764098 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/platform_device.h>
 #include <linux/mtd/physmap.h>
 #include <linux/dm9000.h>
+#include <linux/i2c.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -41,6 +42,9 @@ static const int apf9328_pins[] __initconst = {
        PB29_PF_UART2_RTS,
        PB30_PF_UART2_TXD,
        PB31_PF_UART2_RXD,
+       /* I2C */
+       PA15_PF_I2C_SDA,
+       PA16_PF_I2C_SCL,
 };
 
 /*
@@ -103,6 +107,10 @@ static const struct imxuart_platform_data uart1_pdata __initconst = {
        .flags = IMXUART_HAVE_RTSCTS,
 };
 
+static const struct imxi2c_platform_data apf9328_i2c_data __initconst = {
+       .bitrate = 100000,
+};
+
 static struct platform_device *devices[] __initdata = {
        &apf9328_flash_device,
        &dm9000x_device,
@@ -119,6 +127,8 @@ static void __init apf9328_init(void)
        imx1_add_imx_uart0(NULL);
        imx1_add_imx_uart1(&uart1_pdata);
 
+       imx1_add_imx_i2c(&apf9328_i2c_data);
+
        platform_add_devices(devices, ARRAY_SIZE(devices));
 }