Re: [PATCH v6 00/10] ARM: dts: exynos: Prepare Spring
From: Javier Martinez Canillas <hidden>
Date: 2014-08-07 08:40:36
Also in:
linux-arm-kernel, linux-samsung-soc
Hello, On 08/04/2014 05:42 PM, Doug Anderson wrote:
quoted
For the touchpad it seems DT support has landed in the input tree as "atmel,maxtouch". Backporting just that patch does not make it work though. (Tried the rejected pinctrl approach to be on the safe side.) https://code.google.com/p/chromium/issues/detail?id=371114 https://patchwork.kernel.org/patch/3976801/This is the same work as needed for pit and pi, I believe. Perhaps Javier or Dmitry has this on their todo list?
I posted a couple of patches that allowed me to have the atmel touchpad working on Peach Pit. I found two issues while testing the driver: a) The device keycode event capabilities are hardcoded in the downstream Chrome OS driver while the mainline driver expect these to be defined in the DT. The property is called "linux,gpio-keymap" since it seems that the actual implementation is using a set of GPIOs. But this is handled by the firmware since the kernel just read a status register from the atmel T9 object. I found the property confusing at first since it didn't have anything to do with Linux GPIO so posted a patch to add an example to the DT binding doc in order to make it easier to understand [0]. b) The driver overwrites the edge/level flags parsed by OF core and expects that the IRQ type will be passed using platform data. The downstream Chrome OS driver defaults the type to IRQF_TRIGGER_FALLING if this is not provided while the mainline does not have a default so it's just 0 (IRQ_TYPE_NONE). This is fixed by reading back the IRQ type from the struct irq_data when parsing the DT data [1]. The DTS changes to make the atmel touchpad work on Peach Pit were posted in [2]. Changes for Pi were included as well since it should be the same but it was not tested since I don't have access to that machine, testing will be highly appreciated.
-Doug
Thanks a lot and best regards, Javier [0]: https://lkml.org/lkml/2014/8/6/584 [1]: https://lkml.org/lkml/2014/8/7/82 [2]: https://lkml.org/lkml/2014/8/6/589