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

From: Nick Dyer
Date: Tue Jun 19 2012 - 06:26:03 EST


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.

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/