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 |
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?
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.
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 --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>; + }; + }; +...
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