]> git.dujemihanovic.xyz Git - linux.git/commitdiff
input/touchscreen: imagis: add support for IST3032C
authorKarel Balej <balejk@matfyz.cz>
Tue, 3 Oct 2023 11:47:23 +0000 (13:47 +0200)
committerDuje Mihanović <duje.mihanovic@skole.hr>
Sat, 20 Jan 2024 19:52:01 +0000 (20:52 +0100)
IST3032C is a touchscreen chip used for instance in the
samsung,coreprimevelte smartphone, with which this was tested. Add the
chip specific information to the driver.

Reviewed-by: Markuss Broks <markuss.broks@gmail.com>
Signed-off-by: Karel Balej <balejk@matfyz.cz>
drivers/input/touchscreen/imagis.c

index 9af8a6332ae67429890accd598f1613f7e9dba54..e1fafa561ee38e9005e0b0d9c2d7324798c4e925 100644 (file)
@@ -11,6 +11,8 @@
 #include <linux/property.h>
 #include <linux/regulator/consumer.h>
 
+#define IST3032C_WHOAMI                        0x32c
+
 #define IST3038B_REG_STATUS            0x20
 #define IST3038B_REG_CHIPID            0x30
 #define IST3038B_WHOAMI                        0x30380b
@@ -363,6 +365,13 @@ static int imagis_resume(struct device *dev)
 
 static DEFINE_SIMPLE_DEV_PM_OPS(imagis_pm_ops, imagis_suspend, imagis_resume);
 
+static const struct imagis_properties imagis_3032c_data = {
+       .interrupt_msg_cmd = IST3038C_REG_INTR_MESSAGE,
+       .touch_coord_cmd = IST3038C_REG_TOUCH_COORD,
+       .whoami_cmd = IST3038C_REG_CHIPID,
+       .whoami_val = IST3032C_WHOAMI,
+};
+
 static const struct imagis_properties imagis_3038b_data = {
        .interrupt_msg_cmd = IST3038B_REG_STATUS,
        .touch_coord_cmd = IST3038B_REG_STATUS,
@@ -380,6 +389,7 @@ static const struct imagis_properties imagis_3038c_data = {
 
 #ifdef CONFIG_OF
 static const struct of_device_id imagis_of_match[] = {
+       { .compatible = "imagis,ist3032c", .data = &imagis_3032c_data },
        { .compatible = "imagis,ist3038b", .data = &imagis_3038b_data },
        { .compatible = "imagis,ist3038c", .data = &imagis_3038c_data },
        { },