mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git
synced 2026-04-18 06:34:27 -04:00
This converts the Zinitix BT4xx and BT5xx touchscreen bindings to YAML, fix them up a bit and extends them. We list all the existing BT4xx and BT5xx components with compatible strings. These are all similar, use the same bindings and work in similar ways. We rename the supplies from the erroneous vdd/vddo to the actual supply names vcca/vdd as specified on the actual component. It is long established that supplies shall be named after the supply pin names of a component. The confusion probably stems from that in a certain product the rails to the component were named vdd/vddo. Drop some notes on how OS implementations should avoid confusion by first looking for vddo, and if that exists assume the legacy binding pair and otherwise use vcca/vdd. Add reset-gpios as sometimes manufacturers pulls a GPIO line to the reset line on the chip. Add optional touchscreen-fuzz-x and touchscreen-fuzz-y properties. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [Fixed dt_schema_check] Signed-off-by: Nikita Travkin <nikita@trvn.ru> Link: https://lore.kernel.org/r/20220106072840.36851-3-nikita@trvn.ru Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
116 lines
3.1 KiB
YAML
116 lines
3.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/input/touchscreen/zinitix,bt400.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Zinitix BT4xx and BT5xx series touchscreen controller bindings
|
|
|
|
description: The Zinitix BT4xx and BT5xx series of touchscreen controllers
|
|
are Korea-produced touchscreens with embedded microcontrollers. The
|
|
BT4xx series was produced 2010-2013 and the BT5xx series 2013-2014.
|
|
|
|
maintainers:
|
|
- Michael Srba <Michael.Srba@seznam.cz>
|
|
- Linus Walleij <linus.walleij@linaro.org>
|
|
|
|
allOf:
|
|
- $ref: touchscreen.yaml#
|
|
|
|
properties:
|
|
$nodename:
|
|
pattern: "^touchscreen(@.*)?$"
|
|
|
|
compatible:
|
|
enum:
|
|
- zinitix,bt402
|
|
- zinitix,bt403
|
|
- zinitix,bt404
|
|
- zinitix,bt412
|
|
- zinitix,bt413
|
|
- zinitix,bt431
|
|
- zinitix,bt432
|
|
- zinitix,bt531
|
|
- zinitix,bt532
|
|
- zinitix,bt538
|
|
- zinitix,bt541
|
|
- zinitix,bt548
|
|
- zinitix,bt554
|
|
- zinitix,at100
|
|
|
|
reg:
|
|
description: I2C address on the I2C bus
|
|
|
|
clock-frequency:
|
|
description: I2C client clock frequency, defined for host when using
|
|
the device on the I2C bus
|
|
minimum: 0
|
|
maximum: 400000
|
|
|
|
interrupts:
|
|
description: Interrupt to host
|
|
maxItems: 1
|
|
|
|
vcca-supply:
|
|
description: Analog power supply regulator on the VCCA pin
|
|
|
|
vdd-supply:
|
|
description: Digital power supply regulator on the VDD pin.
|
|
In older device trees this can be the accidental name for the analog
|
|
supply on the VCCA pin, and in that case the deprecated vddo-supply is
|
|
used for the digital power supply.
|
|
|
|
vddo-supply:
|
|
description: Deprecated name for the digital power supply, use vdd-supply
|
|
as this reflects the real name of the pin. If this supply is present,
|
|
the vdd-supply represents VCCA instead of VDD. Implementers should first
|
|
check for this property, and if it is present assume that the vdd-supply
|
|
represents the analog supply.
|
|
deprecated: true
|
|
|
|
reset-gpios:
|
|
description: Reset line for the touchscreen, should be tagged
|
|
as GPIO_ACTIVE_LOW
|
|
|
|
zinitix,mode:
|
|
description: Mode of reporting touch points. Some modes may not work
|
|
with a particular ts firmware for unknown reasons. Available modes are
|
|
1 and 2. Mode 2 is the default and preferred.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [1, 2]
|
|
|
|
touchscreen-size-x: true
|
|
touchscreen-size-y: true
|
|
touchscreen-fuzz-x: true
|
|
touchscreen-fuzz-y: true
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- touchscreen-size-x
|
|
- touchscreen-size-y
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
touchscreen@20 {
|
|
compatible = "zinitix,bt541";
|
|
reg = <0x20>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
|
|
vcca-supply = <®_vcca_tsp>;
|
|
vdd-supply = <®_vdd_tsp>;
|
|
touchscreen-size-x = <540>;
|
|
touchscreen-size-y = <960>;
|
|
zinitix,mode = <2>;
|
|
};
|
|
};
|