xref: /freebsd/sys/contrib/device-tree/Bindings/input/touchscreen/stmpe.txt (revision af23369a6deaaeb612ab266eb88b8bb8d560c322)
1STMPE Touchscreen
2----------------
3
4Required properties:
5 - compatible: "st,stmpe-ts"
6
7Optional properties:
8- st,ave-ctrl		: Sample average control
9				0 -> 1 sample
10				1 -> 2 samples
11				2 -> 4 samples
12				3 -> 8 samples
13- st,touch-det-delay	: Touch detect interrupt delay (recommended is 3)
14				0 -> 10 us
15				1 -> 50 us
16				2 -> 100 us
17				3 -> 500 us
18				4 -> 1 ms
19				5 -> 5 ms
20				6 -> 10 ms
21				7 -> 50 ms
22- st,settling		: Panel driver settling time (recommended is 2)
23				0 -> 10 us
24				1 -> 100 us
25				2 -> 500 us
26				3 -> 1 ms
27				4 -> 5 ms
28				5 -> 10 ms
29				6 -> 50 ms
30				7 -> 100 ms
31- st,fraction-z		: Length of the fractional part in z (recommended is 7)
32			  (fraction-z ([0..7]) = Count of the fractional part)
33- st,i-drive		: current limit value of the touchscreen drivers
34				0 -> 20 mA (typical 35mA max)
35				1 -> 50 mA (typical 80 mA max)
36
37Optional properties common with MFD (deprecated):
38 - st,sample-time	: ADC conversion time in number of clock.
39				0 -> 36 clocks
40				1 -> 44 clocks
41				2 -> 56 clocks
42				3 -> 64 clocks
43				4 -> 80 clocks (recommended)
44				5 -> 96 clocks
45				6 -> 124 clocks
46 - st,mod-12b		: ADC Bit mode
47				0 -> 10bit ADC
48				1 -> 12bit ADC
49 - st,ref-sel		: ADC reference source
50				0 -> internal
51				1 -> external
52 - st,adc-freq		: ADC Clock speed
53				0 -> 1.625 MHz
54				1 -> 3.25 MHz
55				2 || 3 -> 6.5 MHz
56
57Node name must be stmpe_touchscreen and should be child node of stmpe node to
58which it belongs.
59
60Note that common ADC settings of stmpe_touchscreen (child) will take precedence
61over the settings done in MFD.
62
63Example:
64
65stmpe811@41 {
66	compatible = "st,stmpe811";
67	pinctrl-names = "default";
68	pinctrl-0 = <&pinctrl_touch_int>;
69	#address-cells = <1>;
70	#size-cells = <0>;
71	reg = <0x41>;
72	interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
73	interrupt-parent = <&gpio4>;
74	interrupt-controller;
75	id = <0>;
76	blocks = <0x5>;
77	irq-trigger = <0x1>;
78	/* Common ADC settings */
79	/* 3.25 MHz ADC clock speed */
80	st,adc-freq = <1>;
81	/* 12-bit ADC */
82	st,mod-12b = <1>;
83	/* internal ADC reference */
84	st,ref-sel = <0>;
85	/* ADC converstion time: 80 clocks */
86	st,sample-time = <4>;
87
88	stmpe_touchscreen {
89		compatible = "st,stmpe-ts";
90		reg = <0>;
91		/* 8 sample average control */
92		st,ave-ctrl = <3>;
93		/* 5 ms touch detect interrupt delay */
94		st,touch-det-delay = <5>;
95		/* 1 ms panel driver settling time */
96		st,settling = <3>;
97		/* 7 length fractional part in z */
98		st,fraction-z = <7>;
99		/*
100		 * 50 mA typical 80 mA max touchscreen drivers
101		 * current limit value
102		 */
103		st,i-drive = <1>;
104	};
105	stmpe_adc {
106		compatible = "st,stmpe-adc";
107		st,norequest-mask = <0x0F>;
108	};
109};
110