Re: [PATCH 00/15] atmel_mxt_ts - device tree, bootloader, etc

From: Stephen Warren
Date: Wed Jul 23 2014 - 13:23:07 EST


On 07/23/2014 09:30 AM, Nick Dyer wrote:
> On 22/07/14 21:34, Stephen Warren wrote:
>> Unfortunately, I still can't get these to work on my system.
>>
>> Per your "Re: atmel_mxt_ts: defaulting irqflags to
>> IRQF_TRIGGER_FALLING", I set up the IRQ type in the Tegra DT file, and
>> then applied this series on top of next-20140721. The driver appears to
>> initialize OK, but neither X nor evtest see any events from the device.
>> The IRQ count in /proc/interrupts doesn't increase when I touch the
>> touchpad, but does when I press it hard enough to trigger the physical
>> button.
>
> You're using the T19/GPIO support, then? In which case, there appears to be
> something wrong on the touch controller rather than the driver itself.

I assume I'm using T19, since there's a physical click action on the
touchpad along with the normal touch detection.

>> A boot log with debug enabled follows. No additional kernel log
>> messages are generated by touches or clicks.
>
> Perhaps I should add some debug to mxt_input_button() - currently it will
> not debug the fact that a click is received, although I guess that you will
> see it in getevent.
>
>> Do you have any idea what I should try?
>
> I am suspicious that it may be that the power sequencing isn't quite right,
> which sometimes leads to parts of the chip not working properly (eg GPIO
> buttons working, but no touch).
>
> The patch "use deep sleep when stopped" removes the reset on every resume
> (which would otherwise kill resume performance). But that reset tends to
> paper over a device which hasn't been powered up properly in the first place.
>
> Could you try issuing a manual reset and see if the touch starts working? I
> would normally do this by compiling our obp-utils software from
> https://github.com/atmel-maxtouch/obp-utils using ndk-build and doing
> something like:
>
> mxt-app -d i2c-dev:1-004b --reset
>
> (you need CONFIG_I2C_DEBUG to make /dev/i2c-1 appear)

That didn't make any difference.

I also tried the tool interactively. the "Display raw (M)essages" option
never displayed anything, and the couple of self-tests I tried just
timed out. "Read (I)nfo block" did display some values that seemed like
they might be correct rather than random data.

Interestingly though, I did bisect the series and found "Input:
atmel_mxt_ts - use deep sleep mode when stopped" causes the problem. If
I apply the whole series and revert that one patch, the touchpad works
for mouse movement, but interestingly not for taps or physical clicks.

...
>>> [ 1.831998] atmel_mxt_ts 1-004b: Interrupt triggered but zero messages
>
> FWIW, this warning generally means you should be using the CHG line mode 1
> in T18 COMMSCONFIG. It's benign, though.

I'm not sure how I would adjust this; all firmware/config/... was
flashed into the touchpad device itself before I received the system,
and I don't have any firmware files on my host system.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/