18c2ecf20Sopenharmony_ci* Cypress cyttsp touchscreen controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci - compatible		: must be "cypress,cyttsp-i2c" or "cypress,cyttsp-spi"
58c2ecf20Sopenharmony_ci - reg			: Device I2C address or SPI chip select number
68c2ecf20Sopenharmony_ci - spi-max-frequency	: Maximum SPI clocking speed of the device (for cyttsp-spi)
78c2ecf20Sopenharmony_ci - interrupts		: (gpio) interrupt to which the chip is connected
88c2ecf20Sopenharmony_ci			  (see interrupt binding[0]).
98c2ecf20Sopenharmony_ci - bootloader-key	: the 8-byte bootloader key that is required to switch
108c2ecf20Sopenharmony_ci			  the chip from bootloader mode (default mode) to
118c2ecf20Sopenharmony_ci			  application mode.
128c2ecf20Sopenharmony_ci			  This property has to be specified as an array of 8
138c2ecf20Sopenharmony_ci			  '/bits/ 8' values.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciOptional properties:
168c2ecf20Sopenharmony_ci - reset-gpios		: the reset gpio the chip is connected to
178c2ecf20Sopenharmony_ci			  (see GPIO binding[1] for more details).
188c2ecf20Sopenharmony_ci - touchscreen-size-x	: horizontal resolution of touchscreen (in pixels)
198c2ecf20Sopenharmony_ci - touchscreen-size-y	: vertical resolution of touchscreen (in pixels)
208c2ecf20Sopenharmony_ci - touchscreen-fuzz-x	: horizontal noise value of the absolute input device
218c2ecf20Sopenharmony_ci			  (in pixels)
228c2ecf20Sopenharmony_ci - touchscreen-fuzz-y	: vertical noise value of the absolute input device
238c2ecf20Sopenharmony_ci			  (in pixels)
248c2ecf20Sopenharmony_ci - active-distance	: the distance in pixels beyond which a touch must move
258c2ecf20Sopenharmony_ci			  before movement is detected and reported by the device.
268c2ecf20Sopenharmony_ci			  Valid values: 0-15.
278c2ecf20Sopenharmony_ci - active-interval-ms	: the minimum period in ms between consecutive
288c2ecf20Sopenharmony_ci			  scanning/processing cycles when the chip is in active mode.
298c2ecf20Sopenharmony_ci			  Valid values: 0-255.
308c2ecf20Sopenharmony_ci - lowpower-interval-ms	: the minimum period in ms between consecutive
318c2ecf20Sopenharmony_ci			  scanning/processing cycles when the chip is in low-power mode.
328c2ecf20Sopenharmony_ci			  Valid values: 0-2550
338c2ecf20Sopenharmony_ci - touch-timeout-ms	: minimum time in ms spent in the active power state while no
348c2ecf20Sopenharmony_ci			  touches are detected before entering low-power mode.
358c2ecf20Sopenharmony_ci			  Valid values: 0-2550
368c2ecf20Sopenharmony_ci - use-handshake	: enable register-based handshake (boolean). This should
378c2ecf20Sopenharmony_ci			  only be used if the chip is configured to use 'blocking
388c2ecf20Sopenharmony_ci			  communication with timeout' (in this case the device
398c2ecf20Sopenharmony_ci			  generates an interrupt at the end of every
408c2ecf20Sopenharmony_ci			  scanning/processing cycle).
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
438c2ecf20Sopenharmony_ci[1]: Documentation/devicetree/bindings/gpio/gpio.txt
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciExample:
468c2ecf20Sopenharmony_ci	&i2c1 {
478c2ecf20Sopenharmony_ci		/* ... */
488c2ecf20Sopenharmony_ci		cyttsp@a {
498c2ecf20Sopenharmony_ci			compatible = "cypress,cyttsp-i2c";
508c2ecf20Sopenharmony_ci			reg = <0xa>;
518c2ecf20Sopenharmony_ci			interrupt-parent = <&gpio0>;
528c2ecf20Sopenharmony_ci			interrupts = <28 0>;
538c2ecf20Sopenharmony_ci			reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci			touchscreen-size-x = <800>;
568c2ecf20Sopenharmony_ci			touchscreen-size-y = <480>;
578c2ecf20Sopenharmony_ci			touchscreen-fuzz-x = <4>;
588c2ecf20Sopenharmony_ci			touchscreen-fuzz-y = <7>;
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci			bootloader-key = /bits/ 8 <0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08>;
618c2ecf20Sopenharmony_ci			active-distance = <8>;
628c2ecf20Sopenharmony_ci			active-interval-ms = <0>;
638c2ecf20Sopenharmony_ci			lowpower-interval-ms = <200>;
648c2ecf20Sopenharmony_ci			touch-timeout-ms = <100>;
658c2ecf20Sopenharmony_ci		};
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci		/* ... */
688c2ecf20Sopenharmony_ci	};
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	&mcspi1 {
718c2ecf20Sopenharmony_ci		/* ... */
728c2ecf20Sopenharmony_ci		cyttsp@0 {
738c2ecf20Sopenharmony_ci			compatible = "cypress,cyttsp-spi";
748c2ecf20Sopenharmony_ci			spi-max-frequency = <6000000>;
758c2ecf20Sopenharmony_ci			reg = <0>;
768c2ecf20Sopenharmony_ci			interrupt-parent = <&gpio0>;
778c2ecf20Sopenharmony_ci			interrupts = <28 0>;
788c2ecf20Sopenharmony_ci			reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci			touchscreen-size-x = <800>;
818c2ecf20Sopenharmony_ci			touchscreen-size-y = <480>;
828c2ecf20Sopenharmony_ci			touchscreen-fuzz-x = <4>;
838c2ecf20Sopenharmony_ci			touchscreen-fuzz-y = <7>;
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci			bootloader-key = /bits/ 8 <0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08>;
868c2ecf20Sopenharmony_ci			active-distance = <8>;
878c2ecf20Sopenharmony_ci			active-interval-ms = <0>;
888c2ecf20Sopenharmony_ci			lowpower-interval-ms = <200>;
898c2ecf20Sopenharmony_ci			touch-timeout-ms = <100>;
908c2ecf20Sopenharmony_ci		};
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci		/* ... */
938c2ecf20Sopenharmony_ci	};
94