On Thu, May 19, 2022 at 04:00:03PM -0700, Douglas Anderson wrote: > Like many i2c-hid touchscreen controllers, the Elan eKTH6915 has a > reset GPIO hooked up to it. According to the datasheet, the way we're > supposed to turn the touchscreen on is: > > 1. Turn on the 3.3V supply. > 2. Turn on the IO supply. It's OK if this is hardwired to the 3.3V > supply, but if it's not then it must be turned on _after_ the 3.3V > supply. > 3. Wait >= 1 ms. > 4. Deassert the reset GPIO (reset GPIO is active low, so there would > be a leakage path if this was deasserted _before_ the IO supply). > 5. Wait 300 ms. > > Much of the above can be handled by the generic i2c-hid-of driver, but > the "reset" GPIO is not supported by that driver. Thus we'll do the > same as we did for Goodix and add a new tiny driver that uses the > i2c-hid core. > > NOTE: support for this new touchscreen could theorically fit into the > Goodix driver. I've made it a separate driver because the Elan driver > supports _two_ regulators and it's unclear exactly how that would fit > in with commit 18eeef46d359 ("HID: i2c-hid: goodix: Tie the reset line > to true state of the regulator"). > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > + > + return i2c_hid_core_probe(client, &ihid_elan->ops, 0x0001, 0); Maybe #define for the descriptor address, or rename elan_i2c_hid_timing_data into elan_i2c_hid_chip_data and put it there? Thanks. -- Dmitry