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