14b48d935SLinus Walleij# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 24b48d935SLinus Walleij%YAML 1.2 34b48d935SLinus Walleij--- 44b48d935SLinus Walleij$id: http://devicetree.org/schemas/input/touchscreen/cypress,cy8ctma340.yaml# 54b48d935SLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml# 64b48d935SLinus Walleij 7*84e85359SKrzysztof Kozlowskititle: Cypress CY8CTMA340 series touchscreen controller 84b48d935SLinus Walleij 94b48d935SLinus Walleijdescription: The Cypress CY8CTMA340 series (also known as "CYTTSP" after 104b48d935SLinus Walleij the marketing name Cypress TrueTouch Standard Product) touchscreens can 114b48d935SLinus Walleij be connected to either I2C or SPI buses. 124b48d935SLinus Walleij 134b48d935SLinus Walleijmaintainers: 144b48d935SLinus Walleij - Javier Martinez Canillas <javier@dowhile0.org> 154b48d935SLinus Walleij - Linus Walleij <linus.walleij@linaro.org> 164b48d935SLinus Walleij 174b48d935SLinus WalleijallOf: 184b48d935SLinus Walleij - $ref: touchscreen.yaml# 194b48d935SLinus Walleij 204b48d935SLinus Walleijproperties: 214b48d935SLinus Walleij $nodename: 224b48d935SLinus Walleij pattern: "^touchscreen(@.*)?$" 234b48d935SLinus Walleij 244b48d935SLinus Walleij compatible: 254b48d935SLinus Walleij oneOf: 264b48d935SLinus Walleij - const: cypress,cy8ctma340 274b48d935SLinus Walleij - const: cypress,cy8ctst341 284b48d935SLinus Walleij - const: cypress,cyttsp-spi 294b48d935SLinus Walleij description: Legacy compatible for SPI connected CY8CTMA340 304b48d935SLinus Walleij deprecated: true 314b48d935SLinus Walleij - const: cypress,cyttsp-i2c 324b48d935SLinus Walleij description: Legacy compatible for I2C connected CY8CTMA340 334b48d935SLinus Walleij deprecated: true 344b48d935SLinus Walleij 354b48d935SLinus Walleij reg: 364b48d935SLinus Walleij description: I2C address when used on the I2C bus, or the SPI chip 374b48d935SLinus Walleij select index when used on the SPI bus 384b48d935SLinus Walleij 394b48d935SLinus Walleij clock-frequency: 404b48d935SLinus Walleij description: I2C client clock frequency, defined for host when using 414b48d935SLinus Walleij the device on the I2C bus 424b48d935SLinus Walleij minimum: 0 434b48d935SLinus Walleij maximum: 400000 444b48d935SLinus Walleij 454b48d935SLinus Walleij spi-max-frequency: 464b48d935SLinus Walleij description: SPI clock frequency, defined for host, defined when using 474b48d935SLinus Walleij the device on the SPI bus. The throughput is maximum 2 Mbps so the 484b48d935SLinus Walleij typical value is 2000000, if higher rates are used the total throughput 494b48d935SLinus Walleij needs to be restricted to 2 Mbps. 504b48d935SLinus Walleij minimum: 0 514b48d935SLinus Walleij maximum: 6000000 524b48d935SLinus Walleij 534b48d935SLinus Walleij interrupts: 544b48d935SLinus Walleij description: Interrupt to host 554b48d935SLinus Walleij maxItems: 1 564b48d935SLinus Walleij 574b48d935SLinus Walleij vcpin-supply: 584b48d935SLinus Walleij description: Analog power supply regulator on VCPIN pin 594b48d935SLinus Walleij 604b48d935SLinus Walleij vdd-supply: 614b48d935SLinus Walleij description: Digital power supply regulator on VDD pin 624b48d935SLinus Walleij 634b48d935SLinus Walleij reset-gpios: 644b48d935SLinus Walleij description: Reset line for the touchscreen, should be tagged 654b48d935SLinus Walleij as GPIO_ACTIVE_LOW 664b48d935SLinus Walleij 674b48d935SLinus Walleij bootloader-key: 684b48d935SLinus Walleij description: the 8-byte bootloader key that is required to switch 694b48d935SLinus Walleij the chip from bootloader mode (default mode) to application mode 704b48d935SLinus Walleij $ref: /schemas/types.yaml#/definitions/uint8-array 714b48d935SLinus Walleij minItems: 8 724b48d935SLinus Walleij maxItems: 8 734b48d935SLinus Walleij 744b48d935SLinus Walleij touchscreen-size-x: true 754b48d935SLinus Walleij touchscreen-size-y: true 764b48d935SLinus Walleij touchscreen-fuzz-x: true 774b48d935SLinus Walleij touchscreen-fuzz-y: true 784b48d935SLinus Walleij 794b48d935SLinus Walleij active-distance: 804b48d935SLinus Walleij description: the distance in pixels beyond which a touch must move 814b48d935SLinus Walleij before movement is detected and reported by the device 824b48d935SLinus Walleij $ref: /schemas/types.yaml#/definitions/uint32 834b48d935SLinus Walleij minimum: 0 844b48d935SLinus Walleij maximum: 15 854b48d935SLinus Walleij 864b48d935SLinus Walleij active-interval-ms: 874b48d935SLinus Walleij description: the minimum period in ms between consecutive 884b48d935SLinus Walleij scanning/processing cycles when the chip is in active mode 894b48d935SLinus Walleij minimum: 0 904b48d935SLinus Walleij maximum: 255 914b48d935SLinus Walleij 924b48d935SLinus Walleij lowpower-interval-ms: 934b48d935SLinus Walleij description: the minimum period in ms between consecutive 944b48d935SLinus Walleij scanning/processing cycles when the chip is in low-power mode 954b48d935SLinus Walleij minimum: 0 964b48d935SLinus Walleij maximum: 2550 974b48d935SLinus Walleij 984b48d935SLinus Walleij touch-timeout-ms: 994b48d935SLinus Walleij description: minimum time in ms spent in the active power state while no 1004b48d935SLinus Walleij touches are detected before entering low-power mode 1014b48d935SLinus Walleij minimum: 0 1024b48d935SLinus Walleij maximum: 2550 1034b48d935SLinus Walleij 1044b48d935SLinus Walleij use-handshake: 1054b48d935SLinus Walleij description: enable register-based handshake (boolean). This should only 1064b48d935SLinus Walleij be used if the chip is configured to use 'blocking communication with 1074b48d935SLinus Walleij timeout' (in this case the device generates an interrupt at the end of 1084b48d935SLinus Walleij every scanning/processing cycle) 1094b48d935SLinus Walleij $ref: /schemas/types.yaml#/definitions/flag 1104b48d935SLinus Walleij 1114b48d935SLinus WalleijadditionalProperties: false 1124b48d935SLinus Walleij 1134b48d935SLinus Walleijrequired: 1144b48d935SLinus Walleij - compatible 1154b48d935SLinus Walleij - reg 1164b48d935SLinus Walleij - interrupts 1174b48d935SLinus Walleij - bootloader-key 1184b48d935SLinus Walleij - touchscreen-size-x 1194b48d935SLinus Walleij - touchscreen-size-y 1204b48d935SLinus Walleij 1214b48d935SLinus Walleijexamples: 1224b48d935SLinus Walleij - | 1234b48d935SLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 1244b48d935SLinus Walleij #include <dt-bindings/gpio/gpio.h> 1254b48d935SLinus Walleij spi { 1264b48d935SLinus Walleij #address-cells = <1>; 1274b48d935SLinus Walleij #size-cells = <0>; 1284b48d935SLinus Walleij num-cs = <1>; 1294b48d935SLinus Walleij cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; 1304b48d935SLinus Walleij 1314b48d935SLinus Walleij touchscreen@0 { 1324b48d935SLinus Walleij compatible = "cypress,cy8ctma340"; 1334b48d935SLinus Walleij reg = <0>; 1344b48d935SLinus Walleij interrupt-parent = <&gpio>; 1354b48d935SLinus Walleij interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 1364b48d935SLinus Walleij reset-gpios = <&gpio 21 GPIO_ACTIVE_LOW>; 1374b48d935SLinus Walleij vdd-supply = <&ldo_aux1_reg>; 1384b48d935SLinus Walleij vcpin-supply = <&ldo_aux2_reg>; 1394b48d935SLinus Walleij bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>; 1404b48d935SLinus Walleij touchscreen-size-x = <480>; 1414b48d935SLinus Walleij touchscreen-size-y = <800>; 1424b48d935SLinus Walleij active-interval-ms = <0>; 1434b48d935SLinus Walleij touch-timeout-ms = <255>; 1444b48d935SLinus Walleij lowpower-interval-ms = <10>; 1454b48d935SLinus Walleij }; 1464b48d935SLinus Walleij }; 1474b48d935SLinus Walleij 1484b48d935SLinus Walleij... 149