2023-12-04 14:06:10

by Kamel Bouhara

[permalink] [raw]
Subject: [PATCH v4 2/3] dt-bindings: input: Add TouchNetix axiom touchscreen

Add the TouchNetix axiom I2C touchscreen device tree bindings
documentation.

Signed-off-by: Kamel Bouhara <[email protected]>
---
.../input/touchscreen/touchnetix,ax54a.yaml | 56 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 62 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml

diff --git a/Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml b/Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml
new file mode 100644
index 000000000000..ff216a2bacc5
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/touchnetix,ax54a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TouchNetix Axiom series touchscreen controller
+
+maintainers:
+ - Kamel Bouhara <[email protected]>
+
+properties:
+ compatible:
+ const: touchnetix,ax54a
+
+ reg:
+ const: 0x66
+
+ interrupts:
+ maxItems: 1
+
+ reset-gpios:
+ maxItems: 1
+
+ poll-interval:
+ description: Poll interval time in milliseconds.
+
+ VDDA-supply:
+ description: Analog power supply regulator on VDDA pin
+
+ VDDI-supply:
+ description: I/O power supply regulator on VDDI pin
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ touchscreen@66 {
+ compatible = "touchnetix,ax54a";
+ reg = <0x66>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 7608b714653f..4752d8436dbb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -21431,6 +21431,12 @@ S: Maintained
F: Documentation/ABI/testing/sysfs-class-firmware-attributes
F: drivers/platform/x86/think-lmi.?

+TOUCHNETIX AXIOM I2C TOUCHSCREEN DRIVER
+M: Kamel Bouhara <[email protected]>
+L: [email protected]
+S: Maintained
+F: Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml
+
THUNDERBOLT DMA TRAFFIC TEST DRIVER
M: Isaac Hazan <[email protected]>
L: [email protected]
--
2.25.1


2023-12-05 08:15:47

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v4 2/3] dt-bindings: input: Add TouchNetix axiom touchscreen

On 04/12/2023 15:05, Kamel Bouhara wrote:
> Add the TouchNetix axiom I2C touchscreen device tree bindings
> documentation.
>
> Signed-off-by: Kamel Bouhara <[email protected]>

> +$id: http://devicetree.org/schemas/input/touchscreen/touchnetix,ax54a.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TouchNetix Axiom series touchscreen controller
> +
> +maintainers:
> + - Kamel Bouhara <[email protected]>
> +

Why you do not have ref to touchscreen? Is it not a touchscreen?


> +properties:
> + compatible:
> + const: touchnetix,ax54a
> +
> + reg:
> + const: 0x66
> +
> + interrupts:
> + maxItems: 1
> +
> + reset-gpios:
> + maxItems: 1
> +
> + poll-interval:
> + description: Poll interval time in milliseconds.

Missing type or missing ref to input. It seems you want to use existing
property thus no type, but you did not reference input.yaml

> +
> + VDDA-supply:

lowercase

> + description: Analog power supply regulator on VDDA pin
> +
> + VDDI-supply:

lowercase

> + description: I/O power supply regulator on VDDI pin
> +
> +required:
> + - compatible
> + - reg

Supplies are usually required. Devices rarely can operate without power.

> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;

Blank line

> + touchscreen@66 {
> + compatible = "touchnetix,ax54a";
> + reg = <0x66>;
> + interrupt-parent = <&gpio2>;
> + interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> + reset-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
> + };

Best regards,
Krzysztof

2023-12-05 09:18:15

by Kamel Bouhara

[permalink] [raw]
Subject: Re: [PATCH v4 2/3] dt-bindings: input: Add TouchNetix axiom touchscreen

Le 2023-12-05 09:15, Krzysztof Kozlowski a écrit :
> On 04/12/2023 15:05, Kamel Bouhara wrote:
>> Add the TouchNetix axiom I2C touchscreen device tree bindings
>> documentation.
>>
>> Signed-off-by: Kamel Bouhara <[email protected]>
>
>> +$id:
>> http://devicetree.org/schemas/input/touchscreen/touchnetix,ax54a.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: TouchNetix Axiom series touchscreen controller
>> +
>> +maintainers:
>> + - Kamel Bouhara <[email protected]>
>> +
>
> Why you do not have ref to touchscreen? Is it not a touchscreen?

The common properties are not used or applicable here, should I still
ref touchscreen ?

>
>
>> +properties:
>> + compatible:
>> + const: touchnetix,ax54a
>> +
>> + reg:
>> + const: 0x66
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + reset-gpios:
>> + maxItems: 1
>> +
>> + poll-interval:
>> + description: Poll interval time in milliseconds.
>
> Missing type or missing ref to input. It seems you want to use existing
> property thus no type, but you did not reference input.yaml
>

Ok is this the right way to do it :

allOf:
- $ref: input.yaml#

properties:

poll-interval: true

>> +
>> + VDDA-supply:
>
> lowercase
>
>> + description: Analog power supply regulator on VDDA pin
>> +
>> + VDDI-supply:
>
> lowercase
>

Ack.

>> + description: I/O power supply regulator on VDDI pin
>> +
>> +required:
>> + - compatible
>> + - reg
>
> Supplies are usually required. Devices rarely can operate without
> power.

Indeed, can I still have them optional in the driver ?

I have fixed regulators and Im testing on x86 hence I
would like to avoid having extra acpi code to supply them.

>
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>
> Blank line

Ack.

>
>> + touchscreen@66 {
>> + compatible = "touchnetix,ax54a";
>> + reg = <0x66>;
>> + interrupt-parent = <&gpio2>;
>> + interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
>> + reset-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
>> + };
>
> Best regards,
> Krzysztof

Thanks
--
Kamel Bouhara, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

2023-12-05 09:27:08

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v4 2/3] dt-bindings: input: Add TouchNetix axiom touchscreen

On 05/12/2023 10:17, Kamel BOUHARA wrote:
> Le 2023-12-05 09:15, Krzysztof Kozlowski a écrit :
>> On 04/12/2023 15:05, Kamel Bouhara wrote:
>>> Add the TouchNetix axiom I2C touchscreen device tree bindings
>>> documentation.
>>>
>>> Signed-off-by: Kamel Bouhara <[email protected]>
>>
>>> +$id:
>>> http://devicetree.org/schemas/input/touchscreen/touchnetix,ax54a.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: TouchNetix Axiom series touchscreen controller
>>> +
>>> +maintainers:
>>> + - Kamel Bouhara <[email protected]>
>>> +
>>
>> Why you do not have ref to touchscreen? Is it not a touchscreen?
>
> The common properties are not used or applicable here, should I still
> ref touchscreen ?

Why they are not applicable? Do you get the panel coordinates and sizes
from device registers or are they fixed somehow in the controller?


...

>
>>> + description: I/O power supply regulator on VDDI pin
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>
>> Supplies are usually required. Devices rarely can operate without
>> power.
>
> Indeed, can I still have them optional in the driver ?

Yes, I comment here only about the bindings. Bindings are not related to
your driver, but to hardware.


Best regards,
Krzysztof