1*4882a593SmuzhiyunDevice tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046 2*4882a593SmuzhiyunSPI driven touch screen controllers. 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThe node for this driver must be a child node of a SPI controller, hence 5*4882a593Smuzhiyunall mandatory properties described in 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun Documentation/devicetree/bindings/spi/spi-bus.txt 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmust be specified. 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunAdditional required properties: 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun compatible Must be one of the following, depending on the 14*4882a593Smuzhiyun model: 15*4882a593Smuzhiyun "ti,tsc2046" 16*4882a593Smuzhiyun "ti,ads7843" 17*4882a593Smuzhiyun "ti,ads7845" 18*4882a593Smuzhiyun "ti,ads7846" 19*4882a593Smuzhiyun "ti,ads7873" 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun interrupts An interrupt node describing the IRQ line the chip's 22*4882a593Smuzhiyun !PENIRQ pin is connected to. 23*4882a593Smuzhiyun vcc-supply A regulator node for the supply voltage. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunOptional properties: 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun ti,vref-delay-usecs vref supply delay in usecs, 0 for 29*4882a593Smuzhiyun external vref (u16). 30*4882a593Smuzhiyun ti,vref-mv The VREF voltage, in millivolts (u16). 31*4882a593Smuzhiyun Set to 0 to use internal references 32*4882a593Smuzhiyun (ADS7846). 33*4882a593Smuzhiyun ti,keep-vref-on set to keep vref on for differential 34*4882a593Smuzhiyun measurements as well 35*4882a593Smuzhiyun ti,settle-delay-usec Settling time of the analog signals; 36*4882a593Smuzhiyun a function of Vcc and the capacitance 37*4882a593Smuzhiyun on the X/Y drivers. If set to non-zero, 38*4882a593Smuzhiyun two samples are taken with settle_delay 39*4882a593Smuzhiyun us apart, and the second one is used. 40*4882a593Smuzhiyun ~150 uSec with 0.01uF caps (u16). 41*4882a593Smuzhiyun ti,penirq-recheck-delay-usecs If set to non-zero, after samples are 42*4882a593Smuzhiyun taken this delay is applied and penirq 43*4882a593Smuzhiyun is rechecked, to help avoid false 44*4882a593Smuzhiyun events. This value is affected by the 45*4882a593Smuzhiyun material used to build the touch layer 46*4882a593Smuzhiyun (u16). 47*4882a593Smuzhiyun ti,x-plate-ohms Resistance of the X-plate, 48*4882a593Smuzhiyun in Ohms (u16). 49*4882a593Smuzhiyun ti,y-plate-ohms Resistance of the Y-plate, 50*4882a593Smuzhiyun in Ohms (u16). 51*4882a593Smuzhiyun ti,x-min Minimum value on the X axis (u16). 52*4882a593Smuzhiyun ti,y-min Minimum value on the Y axis (u16). 53*4882a593Smuzhiyun ti,debounce-tol Tolerance used for filtering (u16). 54*4882a593Smuzhiyun ti,debounce-rep Additional consecutive good readings 55*4882a593Smuzhiyun required after the first two (u16). 56*4882a593Smuzhiyun ti,pendown-gpio-debounce Platform specific debounce time for the 57*4882a593Smuzhiyun pendown-gpio (u32). 58*4882a593Smuzhiyun pendown-gpio GPIO handle describing the pin the !PENIRQ 59*4882a593Smuzhiyun line is connected to. 60*4882a593Smuzhiyun wakeup-source use any event on touchscreen as wakeup event. 61*4882a593Smuzhiyun (Legacy property support: "linux,wakeup") 62*4882a593Smuzhiyun touchscreen-size-x General touchscreen binding, see [1]. 63*4882a593Smuzhiyun touchscreen-size-y General touchscreen binding, see [1]. 64*4882a593Smuzhiyun touchscreen-max-pressure General touchscreen binding, see [1]. 65*4882a593Smuzhiyun touchscreen-min-pressure General touchscreen binding, see [1]. 66*4882a593Smuzhiyun touchscreen-average-samples General touchscreen binding, see [1]. 67*4882a593Smuzhiyun touchscreen-inverted-x General touchscreen binding, see [1]. 68*4882a593Smuzhiyun touchscreen-inverted-y General touchscreen binding, see [1]. 69*4882a593Smuzhiyun touchscreen-swapped-x-y General touchscreen binding, see [1]. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun[1] All general touchscreen properties are described in 72*4882a593Smuzhiyun Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt. 73*4882a593Smuzhiyun 74*4882a593SmuzhiyunDeprecated properties: 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun ti,swap-xy swap x and y axis 77*4882a593Smuzhiyun ti,x-max Maximum value on the X axis (u16). 78*4882a593Smuzhiyun ti,y-max Maximum value on the Y axis (u16). 79*4882a593Smuzhiyun ti,pressure-min Minimum reported pressure value 80*4882a593Smuzhiyun (threshold) - u16. 81*4882a593Smuzhiyun ti,pressure-max Maximum reported pressure value (u16). 82*4882a593Smuzhiyun ti,debounce-max Max number of additional readings per 83*4882a593Smuzhiyun sample (u16). 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunExample for a TSC2046 chip connected to an McSPI controller of an OMAP SoC:: 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun spi_controller { 88*4882a593Smuzhiyun tsc2046@0 { 89*4882a593Smuzhiyun reg = <0>; /* CS0 */ 90*4882a593Smuzhiyun compatible = "ti,tsc2046"; 91*4882a593Smuzhiyun interrupt-parent = <&gpio1>; 92*4882a593Smuzhiyun interrupts = <8 0>; /* BOOT6 / GPIO 8 */ 93*4882a593Smuzhiyun spi-max-frequency = <1000000>; 94*4882a593Smuzhiyun pendown-gpio = <&gpio1 8 0>; 95*4882a593Smuzhiyun vcc-supply = <®_vcc3>; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun ti,x-min = /bits/ 16 <0>; 98*4882a593Smuzhiyun ti,x-max = /bits/ 16 <8000>; 99*4882a593Smuzhiyun ti,y-min = /bits/ 16 <0>; 100*4882a593Smuzhiyun ti,y-max = /bits/ 16 <4800>; 101*4882a593Smuzhiyun ti,x-plate-ohms = /bits/ 16 <40>; 102*4882a593Smuzhiyun ti,pressure-max = /bits/ 16 <255>; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun wakeup-source; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun }; 107