xref: /freebsd/sys/contrib/device-tree/Bindings/input/touchscreen/cyttsp.txt (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1* Cypress cyttsp touchscreen controller
2
3Required properties:
4 - compatible		: must be "cypress,cyttsp-i2c" or "cypress,cyttsp-spi"
5 - reg			: Device I2C address or SPI chip select number
6 - spi-max-frequency	: Maximum SPI clocking speed of the device (for cyttsp-spi)
7 - interrupts		: (gpio) interrupt to which the chip is connected
8			  (see interrupt binding[0]).
9 - bootloader-key	: the 8-byte bootloader key that is required to switch
10			  the chip from bootloader mode (default mode) to
11			  application mode.
12			  This property has to be specified as an array of 8
13			  '/bits/ 8' values.
14
15Optional properties:
16 - reset-gpios		: the reset gpio the chip is connected to
17			  (see GPIO binding[1] for more details).
18 - touchscreen-size-x	: horizontal resolution of touchscreen (in pixels)
19 - touchscreen-size-y	: vertical resolution of touchscreen (in pixels)
20 - touchscreen-fuzz-x	: horizontal noise value of the absolute input device
21			  (in pixels)
22 - touchscreen-fuzz-y	: vertical noise value of the absolute input device
23			  (in pixels)
24 - active-distance	: the distance in pixels beyond which a touch must move
25			  before movement is detected and reported by the device.
26			  Valid values: 0-15.
27 - active-interval-ms	: the minimum period in ms between consecutive
28			  scanning/processing cycles when the chip is in active mode.
29			  Valid values: 0-255.
30 - lowpower-interval-ms	: the minimum period in ms between consecutive
31			  scanning/processing cycles when the chip is in low-power mode.
32			  Valid values: 0-2550
33 - touch-timeout-ms	: minimum time in ms spent in the active power state while no
34			  touches are detected before entering low-power mode.
35			  Valid values: 0-2550
36 - use-handshake	: enable register-based handshake (boolean). This should
37			  only be used if the chip is configured to use 'blocking
38			  communication with timeout' (in this case the device
39			  generates an interrupt at the end of every
40			  scanning/processing cycle).
41
42[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
43[1]: Documentation/devicetree/bindings/gpio/gpio.txt
44
45Example:
46	&i2c1 {
47		/* ... */
48		cyttsp@a {
49			compatible = "cypress,cyttsp-i2c";
50			reg = <0xa>;
51			interrupt-parent = <&gpio0>;
52			interrupts = <28 0>;
53			reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
54
55			touchscreen-size-x = <800>;
56			touchscreen-size-y = <480>;
57			touchscreen-fuzz-x = <4>;
58			touchscreen-fuzz-y = <7>;
59
60			bootloader-key = /bits/ 8 <0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08>;
61			active-distance = <8>;
62			active-interval-ms = <0>;
63			lowpower-interval-ms = <200>;
64			touch-timeout-ms = <100>;
65		};
66
67		/* ... */
68	};
69
70	&mcspi1 {
71		/* ... */
72		cyttsp@0 {
73			compatible = "cypress,cyttsp-spi";
74			spi-max-frequency = <6000000>;
75			reg = <0>;
76			interrupt-parent = <&gpio0>;
77			interrupts = <28 0>;
78			reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
79
80			touchscreen-size-x = <800>;
81			touchscreen-size-y = <480>;
82			touchscreen-fuzz-x = <4>;
83			touchscreen-fuzz-y = <7>;
84
85			bootloader-key = /bits/ 8 <0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08>;
86			active-distance = <8>;
87			active-interval-ms = <0>;
88			lowpower-interval-ms = <200>;
89			touch-timeout-ms = <100>;
90		};
91
92		/* ... */
93	};
94