brintos

brintos / linux-shallow public Read only

0
0
Text · 3.3 KiB · f127a21 Raw
88 lines · plain
1* Broadcom's IPROC Touchscreen Controller2 3Required properties:4- compatible: must be "brcm,iproc-touchscreen"5- ts_syscon: handler of syscon node defining physical base6  address of the controller and length of memory mapped region.7  If this property is selected please make sure MFD_SYSCON config8  is enabled in the defconfig file.9- clocks:  The clock provided by the SOC to driver the tsc10- clock-names:  name for the clock11- interrupts: The touchscreen controller's interrupt12- address-cells: Specify the number of u32 entries needed in child nodes.13  Should set to 1.14- size-cells: Specify number of u32 entries needed to specify child nodes size15  in reg property. Should set to 1.16 17Optional properties:18- scanning_period: Time between scans. Each step is 1024 us.  Valid 1-256.19- debounce_timeout: Each step is 512 us.  Valid 0-25520- settling_timeout: The settling duration (in ms) is the amount of time21                    the tsc waits to allow the voltage to settle after22                    turning on the drivers in detection mode.23                    Valid values: 0-1124                    0 =  0.008 ms25                    1 =  0.01 ms26                    2 =  0.02 ms27                    3 =  0.04 ms28                    4 =  0.08 ms29                    5 =  0.16 ms30                    6 =  0.32 ms31                    7 =  0.64 ms32                    8 =  1.28 ms33                    9 =  2.56 ms34                   10 =  5.12 ms35                   11 = 10.24 ms36- touch_timeout: The continuous number of scan periods in which touch is37                not detected before the controller returns to idle state.38                Valid values 0-255.39- average_data: Number of data samples which are averaged before a final40                data point is placed into the FIFO41                Valid values 0-742                0 =   1 sample43                1 =   2 samples44                2 =   4 samples45                3 =   8 samples46                4 =  16 samples47                5 =  32 samples48                6 =  64 samples49                7 = 128 samples50- fifo_threshold: Interrupt is generated whenever the number of fifo51                entries exceeds this value52                Valid values 0-3153- touchscreen-size-x: horizontal resolution of touchscreen (in pixels)54- touchscreen-size-y: vertical resolution of touchscreen (in pixels)55- touchscreen-fuzz-x: horizontal noise value of the absolute input56                      device (in pixels)57- touchscreen-fuzz-y: vertical noise value of the absolute input58                      device (in pixels)59- touchscreen-inverted-x: X axis is inverted (boolean)60- touchscreen-inverted-y: Y axis is inverted (boolean)61 62Example: An example of touchscreen node63 64	ts_adc_syscon: ts_adc_syscon@180a6000 {65		compatible = "brcm,iproc-ts-adc-syscon","syscon";66		reg = <0x180a6000 0xc30>;67	};68 69	touchscreen: touchscreen@180a6000 {70		compatible = "brcm,iproc-touchscreen";71		#address-cells = <1>;72		#size-cells = <1>;73		ts_syscon = <&ts_adc_syscon>;74		clocks = <&adc_clk>;75		clock-names = "tsc_clk";76		interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;77 78		scanning_period = <5>;79		debounce_timeout = <40>;80		settling_timeout = <7>;81		touch_timeout = <10>;82		average_data = <5>;83		fifo_threshold = <1>;84		/* Touchscreen is rotated 180 degrees. */85		touchscreen-inverted-x;86		touchscreen-inverted-y;87	};88