Skip to content

Commit

Permalink
Platform: x86: chromeos_laptop : Add basic platform data for atmel de…
Browse files Browse the repository at this point in the history
…vices

Add basic platform data to get the current upstream driver working
with the 224s touchpad and 1664s touchscreen.
We will be using NULL config so we will use the settings from the
devices' NVRAMs.

Signed-off-by: Benson Leung <bleung@chromium.org>
Tested-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Benson Leung authored and Linus Torvalds committed Mar 9, 2013
1 parent 22dfab7 commit 2ef3920
Showing 1 changed file with 39 additions and 2 deletions.
41 changes: 39 additions & 2 deletions drivers/platform/x86/chromeos_laptop.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@

#include <linux/dmi.h>
#include <linux/i2c.h>
#include <linux/i2c/atmel_mxt_ts.h>
#include <linux/input.h>
#include <linux/interrupt.h>
#include <linux/module.h>

#define ATMEL_TP_I2C_ADDR 0x4b
Expand Down Expand Up @@ -67,15 +70,49 @@ static struct i2c_board_info __initdata tsl2563_als_device = {
I2C_BOARD_INFO("tsl2563", TAOS_ALS_I2C_ADDR),
};

static struct mxt_platform_data atmel_224s_tp_platform_data = {
.x_line = 18,
.y_line = 12,
.x_size = 102*20,
.y_size = 68*20,
.blen = 0x80, /* Gain setting is in upper 4 bits */
.threshold = 0x32,
.voltage = 0, /* 3.3V */
.orient = MXT_VERTICAL_FLIP,
.irqflags = IRQF_TRIGGER_FALLING,
.is_tp = true,
.key_map = { KEY_RESERVED,
KEY_RESERVED,
KEY_RESERVED,
BTN_LEFT },
.config = NULL,
.config_length = 0,
};

static struct i2c_board_info __initdata atmel_224s_tp_device = {
I2C_BOARD_INFO("atmel_mxt_tp", ATMEL_TP_I2C_ADDR),
.platform_data = NULL,
.platform_data = &atmel_224s_tp_platform_data,
.flags = I2C_CLIENT_WAKE,
};

static struct mxt_platform_data atmel_1664s_platform_data = {
.x_line = 32,
.y_line = 50,
.x_size = 1700,
.y_size = 2560,
.blen = 0x89, /* Gain setting is in upper 4 bits */
.threshold = 0x28,
.voltage = 0, /* 3.3V */
.orient = MXT_ROTATED_90_COUNTER,
.irqflags = IRQF_TRIGGER_FALLING,
.is_tp = false,
.config = NULL,
.config_length = 0,
};

static struct i2c_board_info __initdata atmel_1664s_device = {
I2C_BOARD_INFO("atmel_mxt_ts", ATMEL_TS_I2C_ADDR),
.platform_data = NULL,
.platform_data = &atmel_1664s_platform_data,
.flags = I2C_CLIENT_WAKE,
};

Expand Down

0 comments on commit 2ef3920

Please sign in to comment.