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