1* Broadcom's IPROC Touchscreen Controller 2 3Required properties: 4- compatible: must be "brcm,iproc-touchscreen" 5- reg: physical base address of the controller and length of memory mapped 6 region. 7- clocks: The clock provided by the SOC to driver the tsc 8- clock-name: name for the clock 9- interrupts: The touchscreen controller's interrupt 10 11Optional properties: 12- scanning_period: Time between scans. Each step is 1024 us. Valid 1-256. 13- debounce_timeout: Each step is 512 us. Valid 0-255 14- settling_timeout: The settling duration (in ms) is the amount of time 15 the tsc waits to allow the voltage to settle after 16 turning on the drivers in detection mode. 17 Valid values: 0-11 18 0 = 0.008 ms 19 1 = 0.01 ms 20 2 = 0.02 ms 21 3 = 0.04 ms 22 4 = 0.08 ms 23 5 = 0.16 ms 24 6 = 0.32 ms 25 7 = 0.64 ms 26 8 = 1.28 ms 27 9 = 2.56 ms 28 10 = 5.12 ms 29 11 = 10.24 ms 30- touch_timeout: The continuous number of scan periods in which touch is 31 not detected before the controller returns to idle state. 32 Valid values 0-255. 33- average_data: Number of data samples which are averaged before a final 34 data point is placed into the FIFO 35 Valid values 0-7 36 0 = 1 sample 37 1 = 2 samples 38 2 = 4 samples 39 3 = 8 samples 40 4 = 16 samples 41 5 = 32 samples 42 6 = 64 samples 43 7 = 128 samples 44- fifo_threshold: Interrupt is generated whenever the number of fifo 45 entries exceeds this value 46 Valid values 0-31 47- touchscreen-size-x: horizontal resolution of touchscreen (in pixels) 48- touchscreen-size-y: vertical resolution of touchscreen (in pixels) 49- touchscreen-fuzz-x: horizontal noise value of the absolute input 50 device (in pixels) 51- touchscreen-fuzz-y: vertical noise value of the absolute input 52 device (in pixels) 53- touchscreen-inverted-x: X axis is inverted (boolean) 54- touchscreen-inverted-y: Y axis is inverted (boolean) 55 56Example: 57 58 touchscreen: tsc@0x180A6000 { 59 compatible = "brcm,iproc-touchscreen"; 60 #address-cells = <1>; 61 #size-cells = <1>; 62 reg = <0x180A6000 0x40>; 63 clocks = <&adc_clk>; 64 clock-names = "tsc_clk"; 65 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 66 67 scanning_period = <5>; 68 debounce_timeout = <40>; 69 settling_timeout = <7>; 70 touch_timeout = <10>; 71 average_data = <5>; 72 fifo_threshold = <1>; 73 /* Touchscreen is rotated 180 degrees. */ 74 touchscreen-inverted-x; 75 touchscreen-inverted-y; 76 }; 77