Hi Pavel, > Am 18.02.2017 um 10:15 schrieb Pavel Machek : > > Hi! > >>> Well, there is some historic confusion wether this driver reports resistance >>> or pressure. >>> >>> The unpatched tsc2007 driver does it wrong (please test!) and we fix it on >>> the fly (because a separate patch is much more complex than doing it right >>> immediately). >>> >>> This ti,report-resistance property is a means to get the old (wrong) meaning back >>> in case someone urgently needs it and can't fix the user-space workaround which >>> he must be using. >>> >>> >>> AFAIK there is no mainline board using the DT except ours (and the upcoming >>> OMAP5-Pyra), so we shouldn't care too much. If you prefer, you can remove this >>> compatibility property. We don't need it for our devices. > > N900 is mainline and uses DT. Yes, but it does not use the tsc2007 and will not be influenced at all by this patch. > >>> That the function name is wrong is a second issue and this double negation might >>> confuse a litte. >>> >>> Please test on a real device if the patched driver reports pressure now (unless >>> ti,report-resistance is specified). >> >> I unfortunately can not test this driver as I do not have the hardware. >> So all my observations are from code and data sheets. >> >> That said, what is the values emitted as ABS_PRESSURE when finger is not >> touching the device, barely touching the device, or pressing firmly? >> It seems that between TSC2007, TSC2004, TSC2005, and ADS7846, we have >> confusion as to what is being reported. >> >> I am adding a few more folks to the CC so we can try and soft this out. >> Sebastian, Pali, Pavel, any input here? > > X work ok on N900. Nikolaus wrote rather long email, but I'm not what > the meaning is and what is supposed to be broken there. IMHO it is broken that you have to do a subtle calibration step in user-space and repeat it for different GUI toolkits. > > I do this on X startup: > > xinput --set-prop --type=float "TSC200X touchscreen" "Coordinate Transformation Matrix" 1.10 0.00 -0.05 0.00 1.18 -0.10 0.00 0.00 1.00 > xinput --set-prop --type=int "TSC200X touchscreen" "Evdev Axis Inversion" 0 1 > xinput --set-prop --type=float "TSC2005 touchscreen" "Coordinate Transformation Matrix" 1\ > .10 0.00 -0.05 0.00 1.18 -0.10 0.00 0.00 1.00 > xinput --set-prop --type=int "TSC2005 touchscreen" "Evdev Axis Inversion" 0 1 Wouldn't it be nice to get rid of this completely, because the DT/kernel knows these factors? Especially since they are well defined by the hardware? > > And I agree that kernel should _not_ attempt rescaling itself, as it > would lose precision. With an almost 1:1 mapping you won't loose precision. > Providing default calibration info is ok. IMHO it is missing one step of automation. BR and thanks, Nikolaus