HID: i2c-hid: elan: Add ili2901 timing
authorZhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com>
Wed, 27 Dec 2023 08:50:13 +0000 (16:50 +0800)
committerJiri Kosina <jkosina@suse.com>
Tue, 2 Jan 2024 10:30:55 +0000 (11:30 +0100)
ILI2901 requires reset to pull down time greater than 10ms,
so the configuration post_power_delay_ms is 10, and the chipset
initial time is required to be greater than 100ms,
so the post_gpio_reset_on_delay_ms is set to 100.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/i2c-hid/i2c-hid-of-elan.c

index 31abab57ad443eda28e43eff3be147d0ca4f92ad..5b91fb106cfc3c77a7d23ad5d17894917e3ee937 100644 (file)
@@ -130,9 +130,17 @@ static const struct elan_i2c_hid_chip_data ilitek_ili9882t_chip_data = {
        .main_supply_name = NULL,
 };
 
+static const struct elan_i2c_hid_chip_data ilitek_ili2901_chip_data = {
+       .post_power_delay_ms = 10,
+       .post_gpio_reset_on_delay_ms = 100,
+       .hid_descriptor_address = 0x0001,
+       .main_supply_name = "vcc33",
+};
+
 static const struct of_device_id elan_i2c_hid_of_match[] = {
        { .compatible = "elan,ekth6915", .data = &elan_ekth6915_chip_data },
        { .compatible = "ilitek,ili9882t", .data = &ilitek_ili9882t_chip_data },
+       { .compatible = "ilitek,ili2901", .data = &ilitek_ili2901_chip_data },
        { }
 };
 MODULE_DEVICE_TABLE(of, elan_i2c_hid_of_match);