1 * Broadcom's IPROC Touchscreen Controller 1 * Broadcom's IPROC Touchscreen Controller 2 2 3 Required properties: 3 Required properties: 4 - compatible: must be "brcm,iproc-touchscreen" 4 - compatible: must be "brcm,iproc-touchscreen" 5 - ts_syscon: handler of syscon node defining p 5 - ts_syscon: handler of syscon node defining physical base 6 address of the controller and length of memo 6 address of the controller and length of memory mapped region. 7 If this property is selected please make sur 7 If this property is selected please make sure MFD_SYSCON config 8 is enabled in the defconfig file. 8 is enabled in the defconfig file. 9 - clocks: The clock provided by the SOC to dr 9 - clocks: The clock provided by the SOC to driver the tsc 10 - clock-names: name for the clock 10 - clock-names: name for the clock 11 - interrupts: The touchscreen controller's int 11 - interrupts: The touchscreen controller's interrupt 12 - address-cells: Specify the number of u32 ent 12 - address-cells: Specify the number of u32 entries needed in child nodes. 13 Should set to 1. 13 Should set to 1. 14 - size-cells: Specify number of u32 entries ne 14 - size-cells: Specify number of u32 entries needed to specify child nodes size 15 in reg property. Should set to 1. 15 in reg property. Should set to 1. 16 16 17 Optional properties: 17 Optional properties: 18 - scanning_period: Time between scans. Each st 18 - scanning_period: Time between scans. Each step is 1024 us. Valid 1-256. 19 - debounce_timeout: Each step is 512 us. Vali 19 - debounce_timeout: Each step is 512 us. Valid 0-255 20 - settling_timeout: The settling duration (in 20 - settling_timeout: The settling duration (in ms) is the amount of time 21 the tsc waits to allow the 21 the tsc waits to allow the voltage to settle after 22 turning on the drivers in 22 turning on the drivers in detection mode. 23 Valid values: 0-11 23 Valid values: 0-11 24 0 = 0.008 ms 24 0 = 0.008 ms 25 1 = 0.01 ms 25 1 = 0.01 ms 26 2 = 0.02 ms 26 2 = 0.02 ms 27 3 = 0.04 ms 27 3 = 0.04 ms 28 4 = 0.08 ms 28 4 = 0.08 ms 29 5 = 0.16 ms 29 5 = 0.16 ms 30 6 = 0.32 ms 30 6 = 0.32 ms 31 7 = 0.64 ms 31 7 = 0.64 ms 32 8 = 1.28 ms 32 8 = 1.28 ms 33 9 = 2.56 ms 33 9 = 2.56 ms 34 10 = 5.12 ms 34 10 = 5.12 ms 35 11 = 10.24 ms 35 11 = 10.24 ms 36 - touch_timeout: The continuous number of scan 36 - touch_timeout: The continuous number of scan periods in which touch is 37 not detected before the contro 37 not detected before the controller returns to idle state. 38 Valid values 0-255. 38 Valid values 0-255. 39 - average_data: Number of data samples which a 39 - average_data: Number of data samples which are averaged before a final 40 data point is placed into the 40 data point is placed into the FIFO 41 Valid values 0-7 41 Valid values 0-7 42 0 = 1 sample 42 0 = 1 sample 43 1 = 2 samples 43 1 = 2 samples 44 2 = 4 samples 44 2 = 4 samples 45 3 = 8 samples 45 3 = 8 samples 46 4 = 16 samples 46 4 = 16 samples 47 5 = 32 samples 47 5 = 32 samples 48 6 = 64 samples 48 6 = 64 samples 49 7 = 128 samples 49 7 = 128 samples 50 - fifo_threshold: Interrupt is generated whene 50 - fifo_threshold: Interrupt is generated whenever the number of fifo 51 entries exceeds this value 51 entries exceeds this value 52 Valid values 0-31 52 Valid values 0-31 53 - touchscreen-size-x: horizontal resolution of 53 - touchscreen-size-x: horizontal resolution of touchscreen (in pixels) 54 - touchscreen-size-y: vertical resolution of t 54 - touchscreen-size-y: vertical resolution of touchscreen (in pixels) 55 - touchscreen-fuzz-x: horizontal noise value o 55 - touchscreen-fuzz-x: horizontal noise value of the absolute input 56 device (in pixels) 56 device (in pixels) 57 - touchscreen-fuzz-y: vertical noise value of 57 - touchscreen-fuzz-y: vertical noise value of the absolute input 58 device (in pixels) 58 device (in pixels) 59 - touchscreen-inverted-x: X axis is inverted ( 59 - touchscreen-inverted-x: X axis is inverted (boolean) 60 - touchscreen-inverted-y: Y axis is inverted ( 60 - touchscreen-inverted-y: Y axis is inverted (boolean) 61 61 62 Example: An example of touchscreen node 62 Example: An example of touchscreen node 63 63 64 ts_adc_syscon: ts_adc_syscon@180a6000 64 ts_adc_syscon: ts_adc_syscon@180a6000 { 65 compatible = "brcm,iproc-ts-ad 65 compatible = "brcm,iproc-ts-adc-syscon","syscon"; 66 reg = <0x180a6000 0xc30>; 66 reg = <0x180a6000 0xc30>; 67 }; 67 }; 68 68 69 touchscreen: touchscreen@180a6000 { 69 touchscreen: touchscreen@180a6000 { 70 compatible = "brcm,iproc-touch 70 compatible = "brcm,iproc-touchscreen"; 71 #address-cells = <1>; 71 #address-cells = <1>; 72 #size-cells = <1>; 72 #size-cells = <1>; 73 ts_syscon = <&ts_adc_syscon>; 73 ts_syscon = <&ts_adc_syscon>; 74 clocks = <&adc_clk>; 74 clocks = <&adc_clk>; 75 clock-names = "tsc_clk"; 75 clock-names = "tsc_clk"; 76 interrupts = <GIC_SPI 164 IRQ_ 76 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 77 77 78 scanning_period = <5>; 78 scanning_period = <5>; 79 debounce_timeout = <40>; 79 debounce_timeout = <40>; 80 settling_timeout = <7>; 80 settling_timeout = <7>; 81 touch_timeout = <10>; 81 touch_timeout = <10>; 82 average_data = <5>; 82 average_data = <5>; 83 fifo_threshold = <1>; 83 fifo_threshold = <1>; 84 /* Touchscreen is rotated 180 84 /* Touchscreen is rotated 180 degrees. */ 85 touchscreen-inverted-x; 85 touchscreen-inverted-x; 86 touchscreen-inverted-y; 86 touchscreen-inverted-y; 87 }; 87 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.