Re: [PATCH 14/22 v4] Input: atmel_mxt_ts - don't re-read matrix afterapplying pdata

From: Yufeng Shen
Date: Tue Jun 19 2012 - 11:12:25 EST


On Tue, Jun 19, 2012 at 6:26 AM, Nick Dyer <nick.dyer@xxxxxxxxxxx> wrote:
> Yufeng Shen wrote:
>> On Mon, Jun 18, 2012 at 11:03 AM, Nick Dyer <nick.dyer@xxxxxxxxxxx> wrote:
>>> Daniel Kurtz wrote:
>>>> The matrix x/y size in the Info ID Block represents the number of x/y
>>>> trace lines on the device.  There is no need to re-read them after
>>>> applying pdata config, since pdata only configures the object table
>>>> etnries.  The matrix size read from the ID can only be updated by a
>>>> firmware update.
>>>
>>> This isn't correct. For example, mXT224 can be configured as 16x14, 17x13,
>>> 18x12, etc. This only takes effect when the chip is reset, which is why it
>>> is necessary to re-read them after applying the config.
>>
>> so look at structure mxt_info
>>
>>  struct mxt_info {
>>           u8 family_id;
>>           u8 variant_id;
>>           u8 version;
>>           u8 build;
>>           u8 matrix_xsize;
>>           u8 matrix_ysize;
>>           u8 object_num;
>> };
>>
>> I think it is meant to be corresponding to Information Block of the
>> device, of which
>> the matrix_xsize and matrix_ysize mean "The size of the matrix the
>> device supports",
>> which should be fixed for a certain chip.
>
> As I said, it's not fixed, there is a mode setting (T28 byte 2) which
> alters the matrix size. This is documented in the protocol guide, if you
> have it.
>
> You can also verify this if you want: change mode setting, backup, reset,
> and read the information block, you'll see the matrix size changes. I've
> just checked that myself on an mXT224.
>

Ah, you are correct. I was looking at the wrong protocol guide. mXT224(E) does
have the mode setting option.

> I also asked the guys at Atmel that I work with, and they confirm that this
> behaviour is as designed.
>
>> The configurable matrix size is in T9 XSIZE/YSIZE, which, if ever
>> needed to be read back,
>> probably read back into something other than mxt_info struct.
>
> The position of the touchscreen within the matrix is a separate
> configurable setting, you're confusing the two.
>
> cheers
>
> --
> Nick Dyer
> Software Engineer, ITDev Ltd
> Hardware and Software Development Consultancy
> Website: http://www.itdev.co.uk
--
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/