]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
ARM: mxs: add sgtl5000 i2c device
authorDong Aisheng <b29396@freescale.com>
Wed, 20 Jul 2011 03:41:43 +0000 (11:41 +0800)
committerSascha Hauer <s.hauer@pengutronix.de>
Tue, 23 Aug 2011 06:56:13 +0000 (08:56 +0200)
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
arch/arm/mach-mxs/Kconfig
arch/arm/mach-mxs/mach-mx28evk.c

index 405c28d24e153b05ac1c883ddd9998e50cda031a..2de2ea122d869d8300dbed31afb5597ee3de98ec 100644 (file)
@@ -49,6 +49,7 @@ config MACH_MX28EVK
        select MXS_HAVE_PLATFORM_MXS_MMC
        select MXS_HAVE_PLATFORM_MXSFB
        select MXS_HAVE_PLATFORM_MXS_SAIF
+       select MXS_HAVE_PLATFORM_MXS_I2C
        select MXS_OCOTP
        help
          Include support for MX28EVK platform. This includes specific
index 1e5fda94d96caeaeffc2786738e6674a51ca52f9..fe5ea4149e8b4ba82f5bbccaa763ffdacf462610 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/leds.h>
 #include <linux/irq.h>
 #include <linux/clk.h>
+#include <linux/i2c.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -184,6 +185,12 @@ static const iomux_cfg_t mx28evk_pads[] __initconst = {
        /* led */
        MX28_PAD_AUART1_TX__GPIO_3_5 | MXS_PAD_CTRL,
 
+       /* I2C */
+       MX28_PAD_I2C0_SCL__I2C0_SCL |
+               (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
+       MX28_PAD_I2C0_SDA__I2C0_SDA |
+               (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
+
        /* saif0 & saif1 */
        MX28_PAD_SAIF0_MCLK__SAIF0_MCLK |
                (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
@@ -364,6 +371,12 @@ static struct mxs_mmc_platform_data mx28evk_mmc_pdata[] __initdata = {
        },
 };
 
+static struct i2c_board_info mxs_i2c0_board_info[] __initdata = {
+       {
+               I2C_BOARD_INFO("sgtl5000", 0x0a),
+       },
+};
+
 static void __init mx28evk_init(void)
 {
        int ret;
@@ -407,6 +420,10 @@ static void __init mx28evk_init(void)
        mx28_add_saif(0);
        mx28_add_saif(1);
 
+       mx28_add_mxs_i2c(0);
+       i2c_register_board_info(0, mxs_i2c0_board_info,
+                               ARRAY_SIZE(mxs_i2c0_board_info));
+
        /* power on mmc slot by writing 0 to the gpio */
        ret = gpio_request_one(MX28EVK_MMC0_SLOT_POWER, GPIOF_OUT_INIT_LOW,
                               "mmc0-slot-power");