diff mbox series

[2/2] dt-bindings: touchscreen: ad7877: add bindings

Message ID 20240829092007.25850-2-antoniu.miclaus@analog.com (mailing list archive)
State Superseded
Headers show
Series [1/2] input: touchscreem: ad7877: add match table | expand

Commit Message

Antoniu Miclaus Aug. 29, 2024, 9:19 a.m. UTC
Add device tree bindings for the ad7877 driver.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
---
 .../input/touchscreen/adi,ad7877.yaml         | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml

Comments

Conor Dooley Aug. 29, 2024, 4:16 p.m. UTC | #1
On Thu, Aug 29, 2024 at 12:19:36PM +0300, Antoniu Miclaus wrote:
> Add device tree bindings for the ad7877 driver.
> 
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> ---
>  .../input/touchscreen/adi,ad7877.yaml         | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> 
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> new file mode 100644
> index 000000000000..5fc5124c5999
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/touchscreen/adi,ad7877.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD7877 Touch Screen Controller
> +
> +maintainers:
> +  - Antoniu Miclaus <antoniu.miclaus@analog.com>
> +
> +description: |
> +  Analog Devices Touch Screen Controller
> +  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7877.pdf
> +
> +allOf:
> +  - $ref: touchscreen.yaml#
> +  - $ref: /schemas/spi/spi-peripheral-props.yaml#

> +
> +unevaluatedProperties: false

So, all of the properties in those two files are valid for this
touchscreen controller?
Dmitry Torokhov Aug. 29, 2024, 6:07 p.m. UTC | #2
On Thu, Aug 29, 2024 at 05:16:30PM +0100, Conor Dooley wrote:
> On Thu, Aug 29, 2024 at 12:19:36PM +0300, Antoniu Miclaus wrote:
> > Add device tree bindings for the ad7877 driver.
> > 
> > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> > ---
> >  .../input/touchscreen/adi,ad7877.yaml         | 58 +++++++++++++++++++
> >  1 file changed, 58 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> > new file mode 100644
> > index 000000000000..5fc5124c5999
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> > @@ -0,0 +1,58 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/input/touchscreen/adi,ad7877.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Analog Devices AD7877 Touch Screen Controller
> > +
> > +maintainers:
> > +  - Antoniu Miclaus <antoniu.miclaus@analog.com>
> > +
> > +description: |
> > +  Analog Devices Touch Screen Controller
> > +  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7877.pdf
> > +
> > +allOf:
> > +  - $ref: touchscreen.yaml#
> > +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> 
> > +
> > +unevaluatedProperties: false
> 
> So, all of the properties in those two files are valid for this
> touchscreen controller?

No, the driver does not support transformations (swapping axes,
inverting, etc) but that is driver limitation, not property of the
hardware, which DT supposed to be, right?

Still I think we need to extend the driver to do that before adding DT
match tables and adding DT bindings (or maybe together with it).

The driver also need to have proper GPIO controller support instead of
having ad-hoc sysfs attributes, and converting in now before there are
mainline users would be a good time.

Thanks.
Conor Dooley Aug. 30, 2024, 2:26 p.m. UTC | #3
On Thu, Aug 29, 2024 at 11:07:45AM -0700, Dmitry Torokhov wrote:
> On Thu, Aug 29, 2024 at 05:16:30PM +0100, Conor Dooley wrote:
> > On Thu, Aug 29, 2024 at 12:19:36PM +0300, Antoniu Miclaus wrote:
> > > Add device tree bindings for the ad7877 driver.
> > > 
> > > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> > > ---
> > >  .../input/touchscreen/adi,ad7877.yaml         | 58 +++++++++++++++++++
> > >  1 file changed, 58 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> > > new file mode 100644
> > > index 000000000000..5fc5124c5999
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
> > > @@ -0,0 +1,58 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/input/touchscreen/adi,ad7877.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Analog Devices AD7877 Touch Screen Controller
> > > +
> > > +maintainers:
> > > +  - Antoniu Miclaus <antoniu.miclaus@analog.com>
> > > +
> > > +description: |
> > > +  Analog Devices Touch Screen Controller
> > > +  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7877.pdf
> > > +
> > > +allOf:
> > > +  - $ref: touchscreen.yaml#
> > > +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> > 
> > > +
> > > +unevaluatedProperties: false
> > 
> > So, all of the properties in those two files are valid for this
> > touchscreen controller?
> 
> No, the driver does not support transformations (swapping axes,
> inverting, etc) but that is driver limitation, not property of the
> hardware, which DT supposed to be, right?

Yeah, I'm only interested in whether or not the properties are actually
applicable to the hardware. In particular, if there are properties in
spi-peripheral-props required for functionality (eg active high cs) I
would like to see them required.

> 
> Still I think we need to extend the driver to do that before adding DT
> match tables and adding DT bindings (or maybe together with it).
> 
> The driver also need to have proper GPIO controller support instead of
> having ad-hoc sysfs attributes, and converting in now before there are
> mainline users would be a good time.

Do you mean that this device is a provider of GPIOs? If so, then
absolutely I would want to see gpio controller properties in the binding
here before adding support.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
new file mode 100644
index 000000000000..5fc5124c5999
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml
@@ -0,0 +1,58 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/adi,ad7877.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD7877 Touch Screen Controller
+
+maintainers:
+  - Antoniu Miclaus <antoniu.miclaus@analog.com>
+
+description: |
+  Analog Devices Touch Screen Controller
+  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7877.pdf
+
+allOf:
+  - $ref: touchscreen.yaml#
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+  compatible:
+    enum:
+      - adi,ad7877
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  spi-max-frequency:
+    description: AD7877 SPI bus clock frequency.
+    minimum: 10000
+    maximum: 20000000
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    spi {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      touchscreen@0 {
+        compatible = "adi,ad7877";
+        reg = <0>;
+        spi-max-frequency = <20000000>;
+        interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
+        interrupt-parent = <&gpio>;
+      };
+    };
+...