| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/input/touchscreen/cypress,cy8ctma340.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Cypress CY8CTMA340 series touchscreen controller |
| |
| description: The Cypress CY8CTMA340 series (also known as "CYTTSP" after |
| the marketing name Cypress TrueTouch Standard Product) touchscreens can |
| be connected to either I2C or SPI buses. |
| |
| maintainers: |
| - Javier Martinez Canillas <javier@dowhile0.org> |
| - Linus Walleij <linus.walleij@linaro.org> |
| |
| allOf: |
| - $ref: touchscreen.yaml# |
| |
| properties: |
| $nodename: |
| pattern: "^touchscreen(@.*)?$" |
| |
| compatible: |
| oneOf: |
| - const: cypress,cy8ctma340 |
| - const: cypress,cy8ctst341 |
| - const: cypress,cyttsp-spi |
| description: Legacy compatible for SPI connected CY8CTMA340 |
| deprecated: true |
| - const: cypress,cyttsp-i2c |
| description: Legacy compatible for I2C connected CY8CTMA340 |
| deprecated: true |
| |
| reg: |
| description: I2C address when used on the I2C bus, or the SPI chip |
| select index when used on the SPI bus |
| |
| clock-frequency: |
| description: I2C client clock frequency, defined for host when using |
| the device on the I2C bus |
| minimum: 0 |
| maximum: 400000 |
| |
| spi-max-frequency: |
| description: SPI clock frequency, defined for host, defined when using |
| the device on the SPI bus. The throughput is maximum 2 Mbps so the |
| typical value is 2000000, if higher rates are used the total throughput |
| needs to be restricted to 2 Mbps. |
| minimum: 0 |
| maximum: 6000000 |
| |
| interrupts: |
| description: Interrupt to host |
| maxItems: 1 |
| |
| vcpin-supply: |
| description: Analog power supply regulator on VCPIN pin |
| |
| vdd-supply: |
| description: Digital power supply regulator on VDD pin |
| |
| reset-gpios: |
| description: Reset line for the touchscreen, should be tagged |
| as GPIO_ACTIVE_LOW |
| |
| bootloader-key: |
| description: the 8-byte bootloader key that is required to switch |
| the chip from bootloader mode (default mode) to application mode |
| $ref: /schemas/types.yaml#/definitions/uint8-array |
| minItems: 8 |
| maxItems: 8 |
| |
| touchscreen-size-x: true |
| touchscreen-size-y: true |
| touchscreen-fuzz-x: true |
| touchscreen-fuzz-y: true |
| |
| active-distance: |
| description: the distance in pixels beyond which a touch must move |
| before movement is detected and reported by the device |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 15 |
| |
| active-interval-ms: |
| description: the minimum period in ms between consecutive |
| scanning/processing cycles when the chip is in active mode |
| minimum: 0 |
| maximum: 255 |
| |
| lowpower-interval-ms: |
| description: the minimum period in ms between consecutive |
| scanning/processing cycles when the chip is in low-power mode |
| minimum: 0 |
| maximum: 2550 |
| |
| touch-timeout-ms: |
| description: minimum time in ms spent in the active power state while no |
| touches are detected before entering low-power mode |
| minimum: 0 |
| maximum: 2550 |
| |
| use-handshake: |
| description: enable register-based handshake (boolean). This should only |
| be used if the chip is configured to use 'blocking communication with |
| timeout' (in this case the device generates an interrupt at the end of |
| every scanning/processing cycle) |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| additionalProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - bootloader-key |
| - touchscreen-size-x |
| - touchscreen-size-y |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/gpio/gpio.h> |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| num-cs = <1>; |
| cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; |
| |
| touchscreen@0 { |
| compatible = "cypress,cy8ctma340"; |
| reg = <0>; |
| interrupt-parent = <&gpio>; |
| interrupts = <20 IRQ_TYPE_EDGE_FALLING>; |
| reset-gpios = <&gpio 21 GPIO_ACTIVE_LOW>; |
| vdd-supply = <&ldo_aux1_reg>; |
| vcpin-supply = <&ldo_aux2_reg>; |
| bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>; |
| touchscreen-size-x = <480>; |
| touchscreen-size-y = <800>; |
| active-interval-ms = <0>; |
| touch-timeout-ms = <255>; |
| lowpower-interval-ms = <10>; |
| }; |
| }; |
| |
| ... |