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