On Fri, Sep 23, 2016 at 02:41:09PM +0200, H. Nikolaus Schaller wrote: > commit b98abe52fa8e ("Input: add common DT binding for touchscreens") > introduced common DT bindings for touchscreens [1] and a helper function to > parse the DT. > > commit ed7c9870c9bc ("Input: of_touchscreen - add support for inverted / swapped axes") > added another helper for parsing axis inversion and swapping > and applying them to x and y coordinates. > > Both helpers have been integrated to accommodate any orientation of the > touch panel in relation to the LCD. > > A new feature is to introduce scaling the min/max ADC values to the screen > size. > > This makes it possible to pre-calibrate the touch so that is (almost) > exactly matches the LCD pixel coordinates it is glued onto. This allows to > well enough operate the touch before a user space calibration step can > improve the precision. > > Finally, calculate_pressure has been renamed to calculate_resistance > because that is what it is doing. Seems like you are breaking compatibility with old DTs. I can't tell for sure though. > > [1]: Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt > > Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> > --- > .../bindings/input/touchscreen/tsc2007.txt | 20 ++-- > drivers/input/touchscreen/tsc2007.c | 126 +++++++++++++++++---- > include/linux/i2c/tsc2007.h | 8 ++ > 3 files changed, 123 insertions(+), 31 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt b/Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt > index ec365e1..6e9fd55 100644 > --- a/Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt > +++ b/Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt > @@ -6,6 +6,7 @@ Required properties: > - ti,x-plate-ohms: X-plate resistance in ohms. > > Optional properties: > +- generic touch screen properties: see touchscreen binding [2]. > - gpios: the interrupt gpio the chip is connected to (trough the penirq pin). > The penirq pin goes to low when the panel is touched. > (see GPIO binding[1] for more details). > @@ -13,17 +14,20 @@ Optional properties: > (see interrupt binding[0]). > - interrupts: (gpio) interrupt to which the chip is connected > (see interrupt binding[0]). > -- ti,max-rt: maximum pressure. > -- ti,fuzzx: specifies the absolute input fuzz x value. > - If set, it will permit noise in the data up to +- the value given to the fuzz > - parameter, that is used to filter noise from the event stream. > -- ti,fuzzy: specifies the absolute input fuzz y value. > -- ti,fuzzz: specifies the absolute input fuzz z value. > +- ti,max-rt: maximum pressure resistance above which samples are ignored > + (default: 4095). > +- ti,report-resistance: report resistance (no pressure = max_rt) instead > + of pressure (no pressure = 0). > +- ti,min-x: minimum value reported by X axis ADC (default 0). > +- ti,max-x: maximum value reported by X axis ADC (default 4095). > +- ti,min-y: minimum value reported by Y axis ADC (default 0). > +- ti,max-y: maximum value reported by Y axis ADC (default 4095). Seems like these could be common too. They make more sense than giving x and y sizes in pixel units which really should come from the panel. > - ti,poll-period: how much time to wait (in milliseconds) before reading again the > - values from the tsc2007. > + values from the tsc2007 (default 1). > > [0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt > [1]: Documentation/devicetree/bindings/gpio/gpio.txt > +[2]: Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt > > Example: > &i2c1 { > @@ -35,6 +39,8 @@ Example: > interrupts = <0x0 0x8>; > gpios = <&gpio4 0 0>; > ti,x-plate-ohms = <180>; > + touchscreen-size-x = <640>; > + touchscreen-size-y = <480>; > }; > > /* ... */ -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html