Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3fc7055 authored by Himanshu Aggarwal's avatar Himanshu Aggarwal Committed by Sudhakar Manapati
Browse files

input: synaptics_i2c_rmi4: add ability to identify controller



The touchscreen controllers are field-swappable on both customer
devices and internal reference devices. Current touch driver
architecture for Synaptics does not support dynamic detection
of two Synaptics touchscreens with the same slave address. The
patch provides a solution for the scenario in which it is required
to swap two Synaptics touchscreens without changing DT. Support of
this is added in driver as follows:

1. During driver probe, touch controller is identified by reading
the Package Id from controller. Package ID in F01_RMI_Query register
comprises of a 16-bit Package ID and a 16-bit Package ID Revision
of which both are unique for a touch controller part. If Package ID
is present,then a RMI read operation in UI Mode at seventeenth
register from F01 Query base returns it. First two bytes of this
Package ID base are used to select the correct Synaptics touch
controller from device tree.

2. Add a new property synaptics,detect-device in DT files which
will allow software to enable this logic to detect correct
touchscreen slave.

3. All such devices are placed as child nodes of Synaptics
Touchpanel node. These child nodes are parsed only if the property
synaptics,detect-device is defined in DT file.

This patch is propagated from msm-3.10 kernel
(commit: 07f733b47550c625d04cf954ae27de22a793f3a0
input: synaptics_i2c_rmi4: add ability to identify controller)

Change-Id: Iac0eaef1b8cd301da763ef980a33ba27ccfb858d
Signed-off-by: default avatarHimanshu Aggarwal <haggarwa@codeaurora.org>
parent 51436926
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment