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. 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' Signed-off-by: Frank Li <Frank.Li@xxxxxxx> --- There are warning: Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'} hint: Standard unit suffix properties don't need a type $ref I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is uint32 --- .../bindings/input/touchscreen/ads7846.txt | 107 ----------- .../input/touchscreen/ti,ads7843.yaml | 170 ++++++++++++++++++ 2 files changed, 170 insertions(+), 107 deletions(-) delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/ads7846.txt create mode 100644 Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml diff --git a/Documentation/devicetree/bindings/input/touchscreen/ads7846.txt b/Documentation/devicetree/bindings/input/touchscreen/ads7846.txt deleted file mode 100644 index 399c87782935c..0000000000000 --- a/Documentation/devicetree/bindings/input/touchscreen/ads7846.txt +++ /dev/null @@ -1,107 +0,0 @@ -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 = <®_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; - }; - }; diff --git a/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml b/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml new file mode 100644 index 0000000000000..b8239491c747a --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml @@ -0,0 +1,170 @@ +# 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: + - Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> + - Marek Vasut <marex@xxxxxxx> + - Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> + +description: + 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 + +properties: + compatible: + enum: + - ti,tsc2046 + - ti,ads7843 + - ti,ads7845 + - ti,ads7846 + - ti,ads7873 + + interrupts: + maxItems: 1 + + vcc-supply: + description: A regulator node for the supply voltage. + + ti,vref-delay-usecs: + $ref: /schemas/types.yaml#/definitions/uint16 + description: vref supply delay in usecs, 0 for external vref (u16). + + ti,vref-mv: + $ref: /schemas/types.yaml#/definitions/uint16 + description: + The VREF voltage, in millivolts (u16). + Set to 0 to use internal references (ADS7846). + + ti,keep-vref-on: + $ref: /schemas/types.yaml#/definitions/flag + description: set to keep vref on for differential measurements as well. + + 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 (u16). + + 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 (u16). + + ti,x-plate-ohms: + $ref: /schemas/types.yaml#/definitions/uint16 + description: Resistance of the X-plate, in Ohms (u16). + + ti,y-plate-ohms: + $ref: /schemas/types.yaml#/definitions/uint16 + description: Resistance of the Y-plate, in Ohms (u16). + + ti,x-min: + $ref: /schemas/types.yaml#/definitions/uint16 + description: Minimum value on the X axis (u16). + + ti,y-min: + $ref: /schemas/types.yaml#/definitions/uint16 + description: Minimum value on the Y axis (u16). + + ti,debounce-tol: + $ref: /schemas/types.yaml#/definitions/uint16 + description: Tolerance used for filtering (u16). + + ti,debounce-rep: + $ref: /schemas/types.yaml#/definitions/uint16 + description: + Additional consecutive good readings required after the first two (u16). + + ti,pendown-gpio-debounce: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Platform specific debounce time for the pendown-gpio (u32). + + pendown-gpio: + description: + GPIO handle describing the pin the !PENIRQ line is connected to. + + ti,hsync-gpios: + description: + GPIO line to poll for hsync + + wakeup-source: true + + ti,swap-xy: + deprecated: true + $ref: /schemas/types.yaml#/definitions/flag + description: swap x and y axis + + ti,x-max: + deprecated: true + $ref: /schemas/types.yaml#/definitions/uint16 + description: Maximum value on the X axis (u16). + + ti,y-max: + deprecated: true + $ref: /schemas/types.yaml#/definitions/uint16 + description: Maximum value on the Y axis (u16). + + ti,pressure-min: + deprecated: true + $ref: /schemas/types.yaml#/definitions/uint16 + description: Minimum reported pressure value (threshold) - u16. + + ti,pressure-max: + deprecated: true + $ref: /schemas/types.yaml#/definitions/uint16 + description: Maximum reported pressure value (u16). + + ti,debounce-max: + deprecated: true + $ref: /schemas/types.yaml#/definitions/uint16 + description: Max number of additional readings per sample (u16). + +required: + - compatible + - reg + - vcc-supply + +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 */ + spi-max-frequency = <1000000>; + pendown-gpio = <&gpio1 8 0>; + vcc-supply = <®_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; + }; + }; + -- 2.34.1