| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/input/touchscreen/ti,tsc2005.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Texas Instruments TSC2004 and TSC2005 touchscreen controller | |
| maintainers: | |
| - Marek Vasut <marex@denx.de> | |
| - Michael Welling <mwelling@ieee.org> | |
| properties: | |
| $nodename: | |
| pattern: "^touchscreen(@.*)?$" | |
| compatible: | |
| enum: | |
| - ti,tsc2004 | |
| - ti,tsc2005 | |
| reg: | |
| maxItems: 1 | |
| description: | | |
| I2C address when used on the I2C bus, or the SPI chip select index | |
| when used on the SPI bus | |
| interrupts: | |
| maxItems: 1 | |
| reset-gpios: | |
| maxItems: 1 | |
| description: GPIO specifier for the controller reset line | |
| spi-max-frequency: | |
| description: TSC2005 SPI bus clock frequency. | |
| maximum: 25000000 | |
| ti,x-plate-ohms: | |
| description: resistance of the touchscreen's X plates in ohm (defaults to 280) | |
| ti,esd-recovery-timeout-ms: | |
| description: | | |
| if the touchscreen does not respond after the configured time | |
| (in milli seconds), the driver will reset it. This is disabled | |
| by default. | |
| vio-supply: | |
| description: Regulator specifier | |
| touchscreen-fuzz-pressure: true | |
| touchscreen-fuzz-x: true | |
| touchscreen-fuzz-y: true | |
| touchscreen-max-pressure: true | |
| touchscreen-size-x: true | |
| touchscreen-size-y: true | |
| allOf: | |
| - $ref: touchscreen.yaml# | |
| - if: | |
| properties: | |
| compatible: | |
| contains: | |
| const: ti,tsc2004 | |
| then: | |
| properties: | |
| spi-max-frequency: false | |
| additionalProperties: false | |
| required: | |
| - compatible | |
| - reg | |
| - interrupts | |
| examples: | |
| - | | |
| #include <dt-bindings/interrupt-controller/irq.h> | |
| #include <dt-bindings/gpio/gpio.h> | |
| i2c { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| touchscreen@48 { | |
| compatible = "ti,tsc2004"; | |
| reg = <0x48>; | |
| vio-supply = <&vio>; | |
| reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; | |
| interrupts-extended = <&gpio1 27 IRQ_TYPE_EDGE_RISING>; | |
| touchscreen-fuzz-x = <4>; | |
| touchscreen-fuzz-y = <7>; | |
| touchscreen-fuzz-pressure = <2>; | |
| touchscreen-size-x = <4096>; | |
| touchscreen-size-y = <4096>; | |
| touchscreen-max-pressure = <2048>; | |
| ti,x-plate-ohms = <280>; | |
| ti,esd-recovery-timeout-ms = <8000>; | |
| }; | |
| }; | |
| - | | |
| #include <dt-bindings/interrupt-controller/irq.h> | |
| #include <dt-bindings/gpio/gpio.h> | |
| spi { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| touchscreen@0 { | |
| compatible = "ti,tsc2005"; | |
| spi-max-frequency = <6000000>; | |
| reg = <0>; | |
| vio-supply = <&vio>; | |
| reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */ | |
| interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */ | |
| touchscreen-fuzz-x = <4>; | |
| touchscreen-fuzz-y = <7>; | |
| touchscreen-fuzz-pressure = <2>; | |
| touchscreen-size-x = <4096>; | |
| touchscreen-size-y = <4096>; | |
| touchscreen-max-pressure = <2048>; | |
| ti,x-plate-ohms = <280>; | |
| ti,esd-recovery-timeout-ms = <8000>; | |
| }; | |
| }; |