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