Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: touchscreen: ti,am3359-tsc: New yaml description

This touchscreen controller is already described in a text file:
Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt

After introducing a proper description of the MFD, this is the second
step. The file cannot be removed yet as it also contains an ADC
description.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20211015081506.933180-4-miquel.raynal@bootlin.com

authored by

Miquel Raynal and committed by
Lee Jones
8c4838a8 96f4799a

+76
+76
Documentation/devicetree/bindings/input/touchscreen/ti,am3359-tsc.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/input/touchscreen/ti,am3359-tsc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: TI AM3359 Touchscreen controller 8 + 9 + maintainers: 10 + - Miquel Raynal <miquel.raynal@bootlin.com> 11 + 12 + properties: 13 + compatible: 14 + const: ti,am3359-tsc 15 + 16 + ti,wires: 17 + description: Wires refer to application modes i.e. 4/5/8 wire touchscreen 18 + support on the platform. 19 + $ref: /schemas/types.yaml#/definitions/uint32 20 + enum: [4, 5, 8] 21 + 22 + ti,x-plate-resistance: 23 + description: X plate resistance 24 + $ref: /schemas/types.yaml#/definitions/uint32 25 + 26 + ti,coordinate-readouts: 27 + description: The sequencer supports a total of 16 programmable steps. Each 28 + step is used to read a single coordinate. A single readout is enough but 29 + multiple reads can increase the quality. A value of 5 means, 5 reads for 30 + X, 5 for Y and 2 for Z (always). This utilises 12 of the 16 software steps 31 + available. The remaining 4 can be used by the ADC. 32 + $ref: /schemas/types.yaml#/definitions/uint32 33 + minimum: 1 34 + maximum: 6 35 + 36 + ti,wire-config: 37 + description: Different boards could have a different order for connecting 38 + wires on touchscreen. We need to provide an 8-bit number where the 39 + first four bits represent the analog lines and the next 4 bits represent 40 + positive/negative terminal on that input line. Notations to represent the 41 + input lines and terminals respectively are as follows, AIN0 = 0, AIN1 = 1 42 + and so on until AIN7 = 7. XP = 0, XN = 1, YP = 2, YN = 3. 43 + $ref: /schemas/types.yaml#/definitions/uint32-array 44 + minItems: 4 45 + maxItems: 8 46 + 47 + ti,charge-delay: 48 + description: Length of touch screen charge delay step in terms of ADC clock 49 + cycles. Charge delay value should be large in order to avoid false pen-up 50 + events. This value effects the overall sampling speed, hence need to be 51 + kept as low as possible, while avoiding false pen-up event. Start from a 52 + lower value, say 0x400, and increase value until false pen-up events are 53 + avoided. The pen-up detection happens immediately after the charge step, 54 + so this does in fact function as a hardware knob for adjusting the amount 55 + of "settling time". 56 + $ref: /schemas/types.yaml#/definitions/uint32 57 + 58 + required: 59 + - compatible 60 + - ti,wires 61 + - ti,x-plate-resistance 62 + - ti,coordinate-readouts 63 + - ti,wire-config 64 + 65 + additionalProperties: false 66 + 67 + examples: 68 + - | 69 + tsc { 70 + compatible = "ti,am3359-tsc"; 71 + ti,wires = <4>; 72 + ti,x-plate-resistance = <200>; 73 + ti,coordinate-readouts = <5>; 74 + ti,wire-config = <0x00 0x11 0x22 0x33>; 75 + ti,charge-delay = <0x400>; 76 + };