diff mbox series

[v4,2/3] dt-bindings: input: Add TouchNetix axiom touchscreen

Message ID 20231204140505.2838916-3-kamel.bouhara@bootlin.com
State Changes Requested
Headers show
Series Input: Add TouchNetix axiom touchscreen driver | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Kamel BOUHARA Dec. 4, 2023, 2:05 p.m. UTC
Add the TouchNetix axiom I2C touchscreen device tree bindings
documentation.

Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
 .../input/touchscreen/touchnetix,ax54a.yaml   | 56 +++++++++++++++++++
 MAINTAINERS                                   |  6 ++
 2 files changed, 62 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml

Comments

Krzysztof Kozlowski Dec. 5, 2023, 8:15 a.m. UTC | #1
On 04/12/2023 15:05, Kamel Bouhara wrote:
> Add the TouchNetix axiom I2C touchscreen device tree bindings
> documentation.
> 
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>

> +$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 <kamel.bouhara@bootlin.com>
> +

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
Kamel BOUHARA Dec. 5, 2023, 9:17 a.m. UTC | #2
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 <kamel.bouhara@bootlin.com>
> 
>> +$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 <kamel.bouhara@bootlin.com>
>> +
> 
> 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
Krzysztof Kozlowski Dec. 5, 2023, 9:26 a.m. UTC | #3
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 <kamel.bouhara@bootlin.com>
>>
>>> +$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 <kamel.bouhara@bootlin.com>
>>> +
>>
>> 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
diff mbox series

Patch

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 <kamel.bouhara@bootlin.com>
+
+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 <kamel.bouhara@bootlin.com>
+L:	linux-input@vger.kernel.org
+S:	Maintained
+F:	Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml
+
 THUNDERBOLT DMA TRAFFIC TEST DRIVER
 M:	Isaac Hazan <isaac.hazan@intel.com>
 L:	linux-usb@vger.kernel.org