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