12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- * 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;
- };
|