forked from Minki/linux
48ead50c1d
The Colibri Vybrid VF50 module supports 4-wire touchscreens using FETs and ADC inputs. This driver uses the IIO consumer interface and relies on the vf610_adc driver based on the IIO framework. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
* Toradex Colibri VF50 Touchscreen driver
|
|
|
|
Required Properties:
|
|
- compatible must be toradex,vf50-touchscreen
|
|
- io-channels: adc channels being used by the Colibri VF50 module
|
|
- xp-gpios: FET gate driver for input of X+
|
|
- xm-gpios: FET gate driver for input of X-
|
|
- yp-gpios: FET gate driver for input of Y+
|
|
- ym-gpios: FET gate driver for input of Y-
|
|
- interrupt-parent: phandle for the interrupt controller
|
|
- interrupts: pen irq interrupt for touch detection
|
|
- pinctrl-names: "idle", "default", "gpios"
|
|
- pinctrl-0: pinctrl node for pen/touch detection state pinmux
|
|
- pinctrl-1: pinctrl node for X/Y and pressure measurement (ADC) state pinmux
|
|
- pinctrl-2: pinctrl node for gpios functioning as FET gate drivers
|
|
- vf50-ts-min-pressure: pressure level at which to stop measuring X/Y values
|
|
|
|
Example:
|
|
|
|
touchctrl: vf50_touchctrl {
|
|
compatible = "toradex,vf50-touchscreen";
|
|
io-channels = <&adc1 0>,<&adc0 0>,
|
|
<&adc0 1>,<&adc1 2>;
|
|
xp-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
|
|
xm-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
|
|
yp-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
|
|
ym-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "idle","default","gpios";
|
|
pinctrl-0 = <&pinctrl_touchctrl_idle>;
|
|
pinctrl-1 = <&pinctrl_touchctrl_default>;
|
|
pinctrl-2 = <&pinctrl_touchctrl_gpios>;
|
|
vf50-ts-min-pressure = <200>;
|
|
status = "disabled";
|
|
};
|