mrst: process atmel_mxt224 from SFI table
authorHari Kanigeri <hari.k.kanigeri@intel.com>
Thu, 8 Dec 2011 15:52:47 +0000 (07:52 -0800)
committerbuildbot <buildbot@intel.com>
Mon, 12 Dec 2011 09:36:58 +0000 (01:36 -0800)
BZ:16879

At present the atmel_mxt224 value is hard coded in blackbay_pr2.c
file. This value is already part of SFI table, and should make use
of this instead of using hard coded values.

changed the name of Atmel_mxt224 to mxt224 to match with the
name used in SFI table.

Change-Id: Ic86dbfc306cf28ef534bd8f6dd1e28da486af885
Signed-off-by: Hari Kanigeri <hari.k.kanigeri@intel.com>
Signed-off-by: Prabu Renganathan <prabu.renganathan@intel.com>
Reviewed-on: http://android.intel.com:8080/26863
Reviewed-by: Liu, Hong <hong.liu@intel.com>
Reviewed-by: Du, Alek <alek.du@intel.com>
Tested-by: Wang, Zhifeng <zhifeng.wang@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
arch/x86/platform/mfld/blackbay_pr2.c
arch/x86/platform/mrst/mrst.c
include/linux/atmel_mxt224.h

index 5e1fbb4..9edb786 100644 (file)
 #include <asm/mrst.h>
 #include <linux/input/lis3dh.h>
 #include <linux/ms5607.h>
-#include <linux/atmel_mxt224.h>
 #include <linux/a1026.h>
 
-static u8 mxt_valid_interrupt(void)
-{
-       return 1;
-}
-
-static void mxt_init_platform_hw(void)
-{
-       /* maXTouch wants 40mSec minimum after reset to get organized */
-       /*
-       gpio_set_value(mxt_reset_gpio, 1);
-       msleep(40);
-       */
-}
-
-static void mxt_exit_platform_hw(void)
-{
-       /*
-       printk(KERN_INFO "In %s.", __func__);
-       gpio_set_value(mxt_reset_gpio, 0);
-       gpio_set_value(mxt_intr_gpio, 0);
-       */
-}
-
-static struct mxt_platform_data mxt_pdata = {
-       .numtouch       = 2,
-       .init_platform_hw = &mxt_init_platform_hw,
-       .exit_platform_hw = &mxt_exit_platform_hw,
-       .max_x          = 1023,
-       .max_y          = 975,
-       .orientation    = MXT_MSGB_T9_ORIENT_HORZ_FLIP,
-       .valid_interrupt = &mxt_valid_interrupt,
-       .reset          = 129,
-       .irq            = 62,
-};
-
-static struct i2c_board_info pr2_i2c_bus0_devs[] = {
-       {
-               .type       = "atmel_mxt224",
-               .addr       = 0x4A,
-               .platform_data = &mxt_pdata,
-       },
-};
 
 static struct lis3dh_acc_platform_data lis3dh_pdata = {
        .poll_interval = 200,
@@ -236,8 +193,6 @@ static void bkbpr2_gpio_keys_init()
 
 static void register_board_i2c_devs()
 {
-       i2c_register_board_info(0, pr2_i2c_bus0_devs,
-                               ARRAY_SIZE(pr2_i2c_bus0_devs));
        i2c_register_board_info(5, pr2_i2c_bus5_devs,
                                ARRAY_SIZE(pr2_i2c_bus5_devs));
 }
index 8c594c1..6bb98cf 100644 (file)
@@ -44,6 +44,7 @@
 #include <linux/wl12xx.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/fixed.h>
+#include <linux/atmel_mxt224.h>
 
 #include <linux/atomisp_platform.h>
 #include <media/v4l2-subdev.h>
@@ -1428,6 +1429,45 @@ void *wl12xx_platform_data_init(void *info)
        return NULL;
 }
 #endif
+static u8 mxt_valid_interrupt(void)
+{
+       return 1;
+}
+
+static void mxt_init_platform_hw(void)
+{
+       /* maXTouch wants 40mSec minimum after reset to get organized */
+       /*
+       gpio_set_value(mxt_reset_gpio, 1);
+       msleep(40);
+       */
+}
+
+static void mxt_exit_platform_hw(void)
+{
+       /*
+       printk(KERN_INFO "In %s.", __func__);
+       gpio_set_value(mxt_reset_gpio, 0);
+       gpio_set_value(mxt_intr_gpio, 0);
+       */
+}
+
+void *atmel_mxt224_platform_data_init(void *info)
+{
+       static struct mxt_platform_data mxt_pdata;
+
+       mxt_pdata.numtouch       = 2;
+       mxt_pdata.init_platform_hw = mxt_init_platform_hw;
+       mxt_pdata.exit_platform_hw = mxt_exit_platform_hw;
+       mxt_pdata.max_x          = 1023;
+       mxt_pdata.max_y          = 975;
+       mxt_pdata.orientation    = MXT_MSGB_T9_ORIENT_HORZ_FLIP;
+       mxt_pdata.valid_interrupt = mxt_valid_interrupt;
+       mxt_pdata.reset          = get_gpio_by_name("ts_rst");
+       mxt_pdata.irq            = get_gpio_by_name("ts_int");
+
+       return &mxt_pdata;
+}
 
 static const struct devs_id __initconst device_ids[] = {
        {"pmic_gpio", SFI_DEV_TYPE_SPI, 1, &pmic_gpio_platform_data},
@@ -1461,6 +1501,7 @@ static const struct devs_id __initconst device_ids[] = {
        {"lm3554", SFI_DEV_TYPE_I2C, 0, &no_platform_data},
        {"mt9e013", SFI_DEV_TYPE_I2C, 0, &mt9e013_platform_data_init},
        {"mt9m114", SFI_DEV_TYPE_I2C, 0, &mt9m114_platform_data_init},
+       {"mxt224", SFI_DEV_TYPE_I2C, 0, &atmel_mxt224_platform_data_init},
 
        {},
 };
@@ -1863,17 +1904,17 @@ static int __init sfi_parse_devs(struct sfi_table_header *table)
                                i2c_info.type,
                                i2c_info.irq,
                                i2c_info.addr);
-                       if (!strcmp(i2c_info.type, "mxt224"))
-                               break;
+
                        /* Ignore all sensors info for PR2 and PR3 */
                        if (mfld_board_id() == MFLD_BID_PR2_PROTO ||
                                        mfld_board_id() == MFLD_BID_PR2_PNP ||
                                        mfld_board_id() == MFLD_BID_PR2_VOLUME ||
                                        mfld_board_id() == MFLD_BID_PR3 ||
                                        mfld_board_id() == MFLD_BID_PR3_PNP)
-                               if (bus == 5 || bus == 0)
+                               if (bus == 5)
                                        break;
 
+
                        sfi_handle_i2c_dev(bus, &i2c_info);
                        break;
                case SFI_DEV_TYPE_SD:
index 7a3b99c..d14570e 100644 (file)
@@ -335,7 +335,7 @@ struct mxt_platform_data {
 
 void   mxt_hw_reset(void);
 
-#define TOUCH_DEVICE_NAME                              "atmel_mxt224"
+#define TOUCH_DEVICE_NAME                              "mxt224"
 #define FALSE                           0
 #define TRUE                            1
 #define TS_MAX_X                                               1023