Re: [PATCH v2 1/1] Input: atmel_mxt_ts - Get IRQ edge/level flags on DT booting
From: Javier Martinez Canillas <hidden>
Date: 2014-08-08 22:26:35
Also in:
linux-input, linux-samsung-soc, lkml
Hello Doug, On 08/08/2014 10:54 PM, Doug Anderson wrote:
Hi,quoted
To fix the issue a variation of patch [0] will be posted that moves the IRQ pinmux setup from .irq_set_type to the .irq_request_resources function handler. That way the pin will be setup as IRQ regardless of the the trigger type [1] when someone calls request_[threaded]_irq(). Only the mentioned patch fixes the issue but Tomasz said that even a call to gpio_direction_{input,output} can change the pin configuration so he will post another patch that will add a bit mask to samsung_pin_bank to prevent any pinmux reconfiguration.Would just making a device tree change fix this? AKA for the pin, do: samsung,pin-function = <0xf>;
Yes, when configuring the pin as 0xf (GPIO interrupt) instead of 0x0 (GPIO input) the issue is not present indeed. So after Nick answer my question about what I got wrong with the "linux,gpio-keymap" property, I will change the pin function when re-posing the DTS changes for the atmel touchpad.
I have some vague recollection that I set interrupts to pin-function "0" by default for some reason (assuming they would go to 0xf when interrupts were enabled). ...but I can't for the life of me remember if it was a good reason or just seemed like the right thing to do.
It would be great to know if there is a good reason. I see indeed that all pinctrl setup in the Peach Pit/Pi and Snow DTS that involves interrupts are using 0x0 as the pin function. Since as Tomasz explained Samsung SoC makes a difference between GPIO-IRQ and GPIO input I guess that it's better to change those to 0xf instead. What do you think? Regardless of this though I think that both the patch to move the IRQ pinmux setup from .irq_set_type to the .irq_request_resources and the patch to to prevent any pinmux reconfiguration are good improvements to avoid future issues like the one we found here.
-Doug
Best regards, Javier