Re: [PATCH v4 3/3] dt-bindings: touchscreen: Add binding for Novatek NT36xxx series driver

From: AngeloGioacchino Del Regno
Date: Thu Oct 08 2020 - 16:30:49 EST


Il giorno gio 8 ott 2020 alle ore 20:21 Krzysztof Kozlowski
<krzk@xxxxxxxxxx> ha scritto:
>
> On Thu, 8 Oct 2020 at 20:15, <kholk11@xxxxxxxxx> wrote:
> >
> > From: AngeloGioacchino Del Regno <kholk11@xxxxxxxxx>
> >
> > Add binding for the Novatek NT36xxx series touchscreen driver.
> >
> > Signed-off-by: AngeloGioacchino Del Regno <kholk11@xxxxxxxxx>
> > ---
> > .../input/touchscreen/novatek,nt36xxx.yaml | 59 +++++++++++++++++++
> > 1 file changed, 59 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/novatek,nt36xxx.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/input/touchscreen/novatek,nt36xxx.yaml b/Documentation/devicetree/bindings/input/touchscreen/novatek,nt36xxx.yaml
> > new file mode 100644
> > index 000000000000..e747cacae036
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/input/touchscreen/novatek,nt36xxx.yaml
> > @@ -0,0 +1,59 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/input/touchscreen/novatek,nt36xxx.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Novatek NT36xxx series touchscreen controller Bindings
> > +
> > +maintainers:
> > + - Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > +
> > +allOf:
> > + - $ref: touchscreen.yaml#
> > +
> > +properties:
> > + compatible:
> > + const: novatek,nt36xxx
>
> Thanks for the changes, they look good except this part here which I
> missed before. The compatible should not contain wildcards. If all
> devices are really compatible, just add here one const, e.g. "const:
> novatek,nt36525". If they are different, you could add multiple
> compatibles in enum.
>
> Best regards,
> Krzysztof

They are all managed the same way, but the page addresses are
changing between all of them... the driver is reading the chip ID
while the TS MCU is in "boot mode", then checking in a ID table
if the chip is supported and finally assigning a page address table.
This is done for the entire NT36*** series.

If wildcards are not permitted, perhaps I can change it to something
like "novatek,nt36" or "novatek,nt36-ts"... as then specifying the
specific IC model into the DT means that I would have to logically
change the driver itself to also crosscheck a DT-specified model
with whatever gets recognized by reading the chip (which then would
be a triple check of what's going on, imo overcomplicating the logic).

What would you propose, at this point?