Commit 45d6486d authored by Frank Li's avatar Frank Li Committed by Dmitry Torokhov
Browse files

dt-bindings: input: touchscreen: convert ads7846.txt to yaml



Convert binding doc ads7846.txt to yaml format.
Additional change:
- add ref to touchscreen.yaml and spi-peripheral-props.yaml.
- use common node name touchscreen.
- sort ti properties alphabetically.
- sort common properties alphabetically.
- sort compatible string alphabetically.
- remove vcc-supply from required list.
- deprecated ti,x-min, ti,y-min

Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
	ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'

Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Reviewed-by: default avatarMarek Vasut <marex@denx.de>
Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20240826162302.960732-1-Frank.Li@nxp.com


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent b7ffc98a
Loading
Loading
Loading
Loading
+0 −107
Original line number Diff line number Diff line
Device tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
SPI driven touch screen controllers.

The node for this driver must be a child node of a SPI controller, hence
all mandatory properties described in

	Documentation/devicetree/bindings/spi/spi-bus.txt

must be specified.

Additional required properties:

	compatible		Must be one of the following, depending on the
				model:
					"ti,tsc2046"
					"ti,ads7843"
					"ti,ads7845"
					"ti,ads7846"
					"ti,ads7873"

	interrupts		An interrupt node describing the IRQ line the chip's
				!PENIRQ pin is connected to.
	vcc-supply		A regulator node for the supply voltage.


Optional properties:

	ti,vref-delay-usecs		vref supply delay in usecs, 0 for
					external vref (u16).
	ti,vref-mv			The VREF voltage, in millivolts (u16).
					Set to 0 to use internal references
					(ADS7846).
	ti,keep-vref-on			set to keep vref on for differential
					measurements as well
	ti,settle-delay-usec		Settling time of the analog signals;
					a function of Vcc and the capacitance
					on the X/Y drivers.  If set to non-zero,
					two samples are taken with settle_delay
					us apart, and the second one is used.
					~150 uSec with 0.01uF caps (u16).
	ti,penirq-recheck-delay-usecs	If set to non-zero, after samples are
					taken this delay is applied and penirq
					is rechecked, to help avoid false
					events.  This value is affected by the
					material used to build the touch layer
					(u16).
	ti,x-plate-ohms			Resistance of the X-plate,
					in Ohms (u16).
	ti,y-plate-ohms			Resistance of the Y-plate,
					in Ohms (u16).
	ti,x-min			Minimum value on the X axis (u16).
	ti,y-min			Minimum value on the Y axis (u16).
	ti,debounce-tol			Tolerance used for filtering (u16).
	ti,debounce-rep			Additional consecutive good readings
					required after the first two (u16).
	ti,pendown-gpio-debounce	Platform specific debounce time for the
					pendown-gpio (u32).
	pendown-gpio			GPIO handle describing the pin the !PENIRQ
					line is connected to.
	ti,hsync-gpios			GPIO line to poll for hsync
	wakeup-source			use any event on touchscreen as wakeup event.
					(Legacy property support: "linux,wakeup")
	touchscreen-size-x		General touchscreen binding, see [1].
	touchscreen-size-y		General touchscreen binding, see [1].
	touchscreen-max-pressure	General touchscreen binding, see [1].
	touchscreen-min-pressure	General touchscreen binding, see [1].
	touchscreen-average-samples	General touchscreen binding, see [1].
	touchscreen-inverted-x		General touchscreen binding, see [1].
	touchscreen-inverted-y		General touchscreen binding, see [1].
	touchscreen-swapped-x-y		General touchscreen binding, see [1].

[1] All general touchscreen properties are described in
    Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt.

Deprecated properties:

	ti,swap-xy			swap x and y axis
	ti,x-max			Maximum value on the X axis (u16).
	ti,y-max			Maximum value on the Y axis (u16).
	ti,pressure-min			Minimum reported pressure value
					(threshold) - u16.
	ti,pressure-max			Maximum reported pressure value (u16).
	ti,debounce-max			Max number of additional readings per
					sample (u16).

Example for a TSC2046 chip connected to an McSPI controller of an OMAP SoC::

	spi_controller {
		tsc2046@0 {
			reg = <0>;	/* CS0 */
			compatible = "ti,tsc2046";
			interrupt-parent = <&gpio1>;
			interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
			spi-max-frequency = <1000000>;
			pendown-gpio = <&gpio1 8 0>;
			vcc-supply = <&reg_vcc3>;

			ti,x-min = /bits/ 16 <0>;
			ti,x-max = /bits/ 16 <8000>;
			ti,y-min = /bits/ 16 <0>;
			ti,y-max = /bits/ 16 <4800>;
			ti,x-plate-ohms = /bits/ 16 <40>;
			ti,pressure-max = /bits/ 16 <255>;

			wakeup-source;
		};
	};
+183 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/ti,ads7843.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI's SPI driven touch screen controllers

maintainers:
  - Alexander Stein <alexander.stein@ew.tq-group.com>
  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
  - Marek Vasut <marex@denx.de>

description:
  TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046 SPI driven touch screen
  controllers.

properties:
  compatible:
    enum:
      - ti,ads7843
      - ti,ads7845
      - ti,ads7846
      - ti,ads7873
      - ti,tsc2046

  interrupts:
    maxItems: 1

  pendown-gpio:
    maxItems: 1
    description:
      GPIO handle describing the pin the !PENIRQ line is connected to.

  vcc-supply:
    description:
      A regulator node for the supply voltage.

  wakeup-source: true

  ti,debounce-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Max number of additional readings per sample.

  ti,debounce-rep:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Additional consecutive good readings required after the first two.

  ti,debounce-tol:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Tolerance used for filtering.

  ti,hsync-gpios:
    maxItems: 1
    description:
      GPIO line to poll for hsync.

  ti,keep-vref-on:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Set to keep Vref on for differential measurements as well.

  ti,pendown-gpio-debounce:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Platform specific debounce time for the pendown-gpio.

  ti,penirq-recheck-delay-usecs:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      If set to non-zero, after samples are taken this delay is applied and
      penirq is rechecked, to help avoid false events.  This value is
      affected by the material used to build the touch layer.

  ti,pressure-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Maximum reported pressure value.

  ti,pressure-min:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Minimum reported pressure value (threshold).

  ti,settle-delay-usec:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Settling time of the analog signals; a function of Vcc and the
      capacitance on the X/Y drivers.  If set to non-zero, two samples are
      taken with settle_delay us apart, and the second one is used. ~150
      uSec with 0.01uF caps.

  ti,swap-xy:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Swap x and y axis.

  ti,vref-delay-usecs:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Vref supply delay in usecs, 0 for external Vref.

  ti,vref-mv:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      The VREF voltage, in millivolts.
      Set to 0 to use internal references (ADS7846).

  ti,x-plate-ohms:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Resistance of the X-plate, in Ohms.

  ti,x-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Maximum value on the X axis.

  ti,x-min:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Minimum value on the X axis.

  ti,y-plate-ohms:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Resistance of the Y-plate, in Ohms.

  ti,y-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Maximum value on the Y axis.

  ti,y-min:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Minimum value on the Y axis.

required:
  - compatible
  - reg

allOf:
  - $ref: touchscreen.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
    spi{
        #address-cells = <1>;
        #size-cells = <0>;

        touchscreen@0 {
           compatible = "ti,tsc2046";
           reg = <0>;	/* CS0 */
           interrupt-parent = <&gpio1>;
           interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
           pendown-gpio = <&gpio1 8 0>;
           spi-max-frequency = <1000000>;
           vcc-supply = <&reg_vcc3>;
           wakeup-source;

           ti,pressure-max = /bits/ 16 <255>;
           ti,x-max = /bits/ 16 <8000>;
           ti,x-min = /bits/ 16 <0>;
           ti,x-plate-ohms = /bits/ 16 <40>;
           ti,y-max = /bits/ 16 <4800>;
           ti,y-min = /bits/ 16 <0>;
       };
    };
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ List of legacy properties and respective binding document
2. "has-tpo"			Documentation/devicetree/bindings/rtc/rtc-opal.txt
3. "linux,wakeup"		Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
				Documentation/devicetree/bindings/mfd/tc3589x.txt
				Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
				Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
4. "linux,keypad-wakeup"	Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
5. "linux,input-wakeup"		Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml
6. "nvidia,wakeup-source"	Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt