提交 1cda2394 编写于 作者: V Viresh Kumar 提交者: Samuel Ortiz

mfd: Add support for stmpe variant 610

STMPE610 is very much like STMPE811, except the number of gpio pins, which is 8
in 811 and 6 in 610. This patch adds support for variant 610. STMPE610 will
share most of the code with STMPE811.
Signed-off-by: NViresh Kumar <viresh.kumar@st.com>
Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
上级 e789995d
...@@ -71,6 +71,7 @@ static int __devexit stmpe_i2c_remove(struct i2c_client *i2c) ...@@ -71,6 +71,7 @@ static int __devexit stmpe_i2c_remove(struct i2c_client *i2c)
} }
static const struct i2c_device_id stmpe_i2c_id[] = { static const struct i2c_device_id stmpe_i2c_id[] = {
{ "stmpe610", STMPE610 },
{ "stmpe811", STMPE811 }, { "stmpe811", STMPE811 },
{ "stmpe1601", STMPE1601 }, { "stmpe1601", STMPE1601 },
{ "stmpe2401", STMPE2401 }, { "stmpe2401", STMPE2401 },
......
...@@ -109,6 +109,7 @@ static int __devexit stmpe_spi_remove(struct spi_device *spi) ...@@ -109,6 +109,7 @@ static int __devexit stmpe_spi_remove(struct spi_device *spi)
} }
static const struct spi_device_id stmpe_spi_id[] = { static const struct spi_device_id stmpe_spi_id[] = {
{ "stmpe610", STMPE610 },
{ "stmpe811", STMPE811 }, { "stmpe811", STMPE811 },
{ "stmpe1601", STMPE1601 }, { "stmpe1601", STMPE1601 },
{ "stmpe2401", STMPE2401 }, { "stmpe2401", STMPE2401 },
......
...@@ -321,7 +321,7 @@ static struct mfd_cell stmpe_keypad_cell = { ...@@ -321,7 +321,7 @@ static struct mfd_cell stmpe_keypad_cell = {
}; };
/* /*
* Touchscreen (STMPE811) * Touchscreen (STMPE811 or STMPE610)
*/ */
static struct resource stmpe_ts_resources[] = { static struct resource stmpe_ts_resources[] = {
...@@ -346,7 +346,7 @@ static struct mfd_cell stmpe_ts_cell = { ...@@ -346,7 +346,7 @@ static struct mfd_cell stmpe_ts_cell = {
}; };
/* /*
* STMPE811 * STMPE811 or STMPE610
*/ */
static const u8 stmpe811_regs[] = { static const u8 stmpe811_regs[] = {
...@@ -417,6 +417,21 @@ static struct stmpe_variant_info stmpe811 = { ...@@ -417,6 +417,21 @@ static struct stmpe_variant_info stmpe811 = {
.get_altfunc = stmpe811_get_altfunc, .get_altfunc = stmpe811_get_altfunc,
}; };
/* Similar to 811, except number of gpios */
static struct stmpe_variant_info stmpe610 = {
.name = "stmpe610",
.id_val = 0x0811,
.id_mask = 0xffff,
.num_gpios = 6,
.af_bits = 1,
.regs = stmpe811_regs,
.blocks = stmpe811_blocks,
.num_blocks = ARRAY_SIZE(stmpe811_blocks),
.num_irqs = STMPE811_NR_INTERNAL_IRQS,
.enable = stmpe811_enable,
.get_altfunc = stmpe811_get_altfunc,
};
/* /*
* STMPE1601 * STMPE1601
*/ */
...@@ -651,6 +666,7 @@ static struct stmpe_variant_info stmpe2403 = { ...@@ -651,6 +666,7 @@ static struct stmpe_variant_info stmpe2403 = {
}; };
static struct stmpe_variant_info *stmpe_variant_info[] = { static struct stmpe_variant_info *stmpe_variant_info[] = {
[STMPE610] = &stmpe610,
[STMPE811] = &stmpe811, [STMPE811] = &stmpe811,
[STMPE1601] = &stmpe1601, [STMPE1601] = &stmpe1601,
[STMPE2401] = &stmpe2401, [STMPE2401] = &stmpe2401,
......
...@@ -20,6 +20,7 @@ enum stmpe_block { ...@@ -20,6 +20,7 @@ enum stmpe_block {
}; };
enum stmpe_partnum { enum stmpe_partnum {
STMPE610,
STMPE811, STMPE811,
STMPE1601, STMPE1601,
STMPE2401, STMPE2401,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册