[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e2ca2719-538c-5110-2dde-6a18cd202be6@ti.com>
Date: Thu, 27 Oct 2016 12:54:53 -0500
From: Franklin S Cooper Jr <fcooper@...com>
To: Rob Herring <robh@...nel.org>
CC: <dmitry.torokhov@...il.com>, <hadess@...ess.net>,
<octavian.purdila@...el.com>, <irina.tirdea@...el.com>,
<merker@...ian.org>, <linux-input@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<nsekhar@...com>, <nm@...com>
Subject: Re: [PATCH 4/4] Input: goodix - Support interchanging x and y
coordinates in hardware
On 10/26/2016 06:18 PM, Rob Herring wrote:
> On Thu, Oct 20, 2016 at 02:59:17PM -0500, Franklin S Cooper Jr wrote:
>> On systems with a fixed display/touchscreen orientation it is important to
>> pass in the "correct" x and y coordinates based on the orientation.
>> Currently, to support landscape and portrait touchscreen-swapped-x-y
>> simply does the following:
>>
>> Assuming touchscreen is as follows:
>> X: 1280 Y:800 programmed in touchscreen controller and also interchange
>> bit cleared. Assuming ts mounted in portrait mode.
>>
>> 1280 (X)
>> ------
>> | |
>> | | 800 (Y)
>> | |
>> | |
>> ------
>>
>> 800 (Y)
>> ------
>> | |
>> | | 1280 (X)
>> | |
>> | |
>> ------
>>
>> However, the above isn't really what we want especially in distros that
>> assumes a fixed orientation. In this case what we really want is to
>> interchange the x and y coordinates so the Y coordinate can return a max
>> value of 1280 and X can return a max value of 800.
>>
>> 800 (X)
>> ------
>> | |
>> | | 1280 (Y)
>> | |
>> | |
>> ------
>>
>> Since the driver is limited to the value reported by the touchscreen
>> controller this issue can't be fixed purely in the driver. Therefore,
>> add a new DT property that supports interchanging X and Y coordinates
>> internally within the hardware.
>
> I'm not sure I follow why existing properties don't cover this.
>
>>
>> Signed-off-by: Franklin S Cooper Jr <fcooper@...com>
>> ---
>> .../devicetree/bindings/input/touchscreen/goodix.txt | 2 ++
>> drivers/input/touchscreen/goodix.c | 13 +++++++++++++
>> 2 files changed, 15 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix.txt b/Documentation/devicetree/bindings/input/touchscreen/goodix.txt
>> index ebc7cb7..b8be2ab 100644
>> --- a/Documentation/devicetree/bindings/input/touchscreen/goodix.txt
>> +++ b/Documentation/devicetree/bindings/input/touchscreen/goodix.txt
>> @@ -25,6 +25,8 @@ Optional properties:
>> - touchscreen-inverted-y : Y axis is inverted (boolean)
>> - touchscreen-swapped-x-y : X and Y axis are swapped (boolean)
>> (swapping is done after inverting the axis)
>> + - touchscreen-inter-x-y : X and Y maximum values programmed in the device
>> + are interchanged internally in hardware. (boolean)
>
> Minimally this should be vendor specific and have a vendor prefix I
> think.
Would "goodix,inter-x-y" work?
>
> Rob
>
Powered by blists - more mailing lists