mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 08:02:07 +00:00
Input: edt-ft5x06 - add support for FT5506
FT5506 is essentially the same as other FT5x06 devices other than supporting 10 support points. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
b1d2a3ecb9
commit
af33e0ad1b
@ -5,6 +5,7 @@ There are 3 variants of the chip for various touch panel sizes
|
|||||||
FT5206GE1 2.8" .. 3.8"
|
FT5206GE1 2.8" .. 3.8"
|
||||||
FT5306DE4 4.3" .. 7"
|
FT5306DE4 4.3" .. 7"
|
||||||
FT5406EE8 7" .. 8.9"
|
FT5406EE8 7" .. 8.9"
|
||||||
|
FT5506EEG 7" .. 8.9"
|
||||||
|
|
||||||
The software interface is identical for all those chips, so that
|
The software interface is identical for all those chips, so that
|
||||||
currently there is no need for the driver to distinguish between the
|
currently there is no need for the driver to distinguish between the
|
||||||
@ -17,6 +18,7 @@ Required properties:
|
|||||||
- compatible: "edt,edt-ft5206"
|
- compatible: "edt,edt-ft5206"
|
||||||
or: "edt,edt-ft5306"
|
or: "edt,edt-ft5306"
|
||||||
or: "edt,edt-ft5406"
|
or: "edt,edt-ft5406"
|
||||||
|
or: "edt,edt-ft5506"
|
||||||
|
|
||||||
- reg: I2C slave address of the chip (0x38)
|
- reg: I2C slave address of the chip (0x38)
|
||||||
- interrupt-parent: a phandle pointing to the interrupt controller
|
- interrupt-parent: a phandle pointing to the interrupt controller
|
||||||
|
@ -172,7 +172,7 @@ static irqreturn_t edt_ft5x06_ts_isr(int irq, void *dev_id)
|
|||||||
struct edt_ft5x06_ts_data *tsdata = dev_id;
|
struct edt_ft5x06_ts_data *tsdata = dev_id;
|
||||||
struct device *dev = &tsdata->client->dev;
|
struct device *dev = &tsdata->client->dev;
|
||||||
u8 cmd;
|
u8 cmd;
|
||||||
u8 rdbuf[31];
|
u8 rdbuf[61];
|
||||||
int i, type, x, y, id;
|
int i, type, x, y, id;
|
||||||
int offset, tplen, datalen, crclen;
|
int offset, tplen, datalen, crclen;
|
||||||
int error;
|
int error;
|
||||||
@ -1052,8 +1052,13 @@ static const struct edt_i2c_chip_data edt_ft5x06_data = {
|
|||||||
.max_support_points = 5,
|
.max_support_points = 5,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct edt_i2c_chip_data edt_ft5506_data = {
|
||||||
|
.max_support_points = 10,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct i2c_device_id edt_ft5x06_ts_id[] = {
|
static const struct i2c_device_id edt_ft5x06_ts_id[] = {
|
||||||
{ .name = "edt-ft5x06", .driver_data = (long)&edt_ft5x06_data },
|
{ .name = "edt-ft5x06", .driver_data = (long)&edt_ft5x06_data },
|
||||||
|
{ .name = "edt-ft5506", .driver_data = (long)&edt_ft5506_data },
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(i2c, edt_ft5x06_ts_id);
|
MODULE_DEVICE_TABLE(i2c, edt_ft5x06_ts_id);
|
||||||
@ -1063,6 +1068,7 @@ static const struct of_device_id edt_ft5x06_of_match[] = {
|
|||||||
{ .compatible = "edt,edt-ft5206", .data = &edt_ft5x06_data },
|
{ .compatible = "edt,edt-ft5206", .data = &edt_ft5x06_data },
|
||||||
{ .compatible = "edt,edt-ft5306", .data = &edt_ft5x06_data },
|
{ .compatible = "edt,edt-ft5306", .data = &edt_ft5x06_data },
|
||||||
{ .compatible = "edt,edt-ft5406", .data = &edt_ft5x06_data },
|
{ .compatible = "edt,edt-ft5406", .data = &edt_ft5x06_data },
|
||||||
|
{ .compatible = "edt,edt-ft5506", .data = &edt_ft5506_data },
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, edt_ft5x06_of_match);
|
MODULE_DEVICE_TABLE(of, edt_ft5x06_of_match);
|
||||||
|
Loading…
Reference in New Issue
Block a user