diff mbox series

[1/1] dt-bindings: input: touchscreen: convert ads7846.txt to yaml

Message ID 20240814185140.4033029-1-Frank.Li@nxp.com (mailing list archive)
State Superseded
Headers show
Series [1/1] dt-bindings: input: touchscreen: convert ads7846.txt to yaml | expand

Commit Message

Frank Li Aug. 14, 2024, 6:51 p.m. UTC
Convert binding doc ads7846.txt to yaml format.
Additional change:
- add ref to touchscreen.yaml and spi-peripheral-props.yaml.
- use common node name touchscreen.

Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
	ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
There are warning:
Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
	hint: Standard unit suffix properties don't need a type $ref

I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
uint32
---
 .../bindings/input/touchscreen/ads7846.txt    | 107 -----------
 .../input/touchscreen/ti,ads7843.yaml         | 170 ++++++++++++++++++
 2 files changed, 170 insertions(+), 107 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml

Comments

Marek Vasut Aug. 14, 2024, 7:58 p.m. UTC | #1
On 8/14/24 8:51 PM, Frank Li wrote:

Hi,

> diff --git a/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml b/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
> new file mode 100644
> index 0000000000000..b8239491c747a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
> @@ -0,0 +1,170 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/touchscreen/ti,ads7843.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI's SPI driven touch screen controllers.
> +
> +maintainers:
> +  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
> +  - Marek Vasut <marex@denx.de>
> +  - Alexander Stein <alexander.stein@ew.tq-group.com>
>

Keep the list sorted alphabetically .

  +description:
> +  Device tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
> +  SPI driven touch screen controllers.
> +
> +  The node for this driver must be a child node of a SPI controller, hence
> +  all mandatory properties described in

... described in ... what/where ? I think part of the sentence is 
missing here.

> +properties:
> +  compatible:
> +    enum:
> +      - ti,tsc2046
> +      - ti,ads7843
> +      - ti,ads7845
> +      - ti,ads7846
> +      - ti,ads7873

Keep the list sorted alphabetically.

> +  interrupts:
> +    maxItems: 1
> +
> +  vcc-supply:
> +    description: A regulator node for the supply voltage.
> +
> +  ti,vref-delay-usecs:
> +    $ref: /schemas/types.yaml#/definitions/uint16
> +    description: vref supply delay in usecs, 0 for external vref (u16).

Maybe the (u16) is duplicate of the $ref'd type ? Drop for all the rest 
below too ?

> +  ti,vref-mv:
> +    $ref: /schemas/types.yaml#/definitions/uint16
> +    description:
> +      The VREF voltage, in millivolts (u16).
> +      Set to 0 to use internal references (ADS7846).
> +
> +  ti,keep-vref-on:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: set to keep vref on for differential measurements as well.

Vref , because V (voltage) is written with capitals ...

> +  ti,settle-delay-usec:
> +    $ref: /schemas/types.yaml#/definitions/uint16
> +    description:
> +      Settling time of the analog signals; a function of Vcc and the

... like Vcc here.

> +      capacitance on the X/Y drivers.  If set to non-zero, two samples are
> +      taken with settle_delay us apart, and the second one is used. ~150
> +      uSec with 0.01uF caps (u16).

[...]

> +  ti,pendown-gpio-debounce:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Platform specific debounce time for the pendown-gpio (u32).
> +
> +  pendown-gpio:
> +    description:
> +      GPIO handle describing the pin the !PENIRQ line is connected to.

I think the properties have to be sorted alphabetically too.

[...]

> +required:
> +  - compatible
> +  - reg
> +  - vcc-supply

Is vcc-supply really required ?

> +allOf:
> +  - $ref: touchscreen.yaml#
> +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    spi{
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        touchscreen@0 {
> +           compatible = "ti,tsc2046";
> +           reg = <0>;	/* CS0 */
> +           interrupt-parent = <&gpio1>;
> +           interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
> +           spi-max-frequency = <1000000>;
> +           pendown-gpio = <&gpio1 8 0>;
> +           vcc-supply = <&reg_vcc3>;

Sort please .

> +           ti,x-min = /bits/ 16 <0>;
> +           ti,x-max = /bits/ 16 <8000>;
> +           ti,y-min = /bits/ 16 <0>;
> +           ti,y-max = /bits/ 16 <4800>;
> +           ti,x-plate-ohms = /bits/ 16 <40>;
> +           ti,pressure-max = /bits/ 16 <255>;
> +
> +           wakeup-source;
> +       };
> +    };
> +

Thanks !
Rob Herring (Arm) Aug. 14, 2024, 8:15 p.m. UTC | #2
On Wed, 14 Aug 2024 14:51:35 -0400, Frank Li wrote:
> Convert binding doc ads7846.txt to yaml format.
> Additional change:
> - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> - use common node name touchscreen.
> 
> Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> 	ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> There are warning:
> Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> 	hint: Standard unit suffix properties don't need a type $ref
> 
> I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> uint32
> ---
>  .../bindings/input/touchscreen/ads7846.txt    | 107 -----------
>  .../input/touchscreen/ti,ads7843.yaml         | 170 ++++++++++++++++++
>  2 files changed, 170 insertions(+), 107 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
	hint: Standard unit suffix properties don't need a type $ref
	from schema $id: http://devicetree.org/meta-schemas/core.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,y-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
	hint: Standard unit suffix properties don't need a type $ref
	from schema $id: http://devicetree.org/meta-schemas/core.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.example.dtb: touchscreen@48: ti,x-plate-ohms:0: size is 16, expected 32
	from schema $id: http://devicetree.org/schemas/property-units.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.example.dtb: touchscreen@48: ti,x-plate-ohms:1: size is 16, expected 32
	from schema $id: http://devicetree.org/schemas/property-units.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.example.dtb: touchscreen@0: ti,x-plate-ohms:0: size is 16, expected 32
	from schema $id: http://devicetree.org/schemas/property-units.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.example.dtb: touchscreen@0: ti,x-plate-ohms:1: size is 16, expected 32
	from schema $id: http://devicetree.org/schemas/property-units.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.example.dtb: touchscreen@0: ti,x-plate-ohms: 40 is not of type 'array'
	from schema $id: http://devicetree.org/schemas/property-units.yaml#

doc reference errors (make refcheckdocs):
Warning: Documentation/devicetree/bindings/power/wakeup-source.txt references a file that doesn't exist: Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
Documentation/devicetree/bindings/power/wakeup-source.txt: Documentation/devicetree/bindings/input/touchscreen/ads7846.txt

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240814185140.4033029-1-Frank.Li@nxp.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Rob Herring (Arm) Aug. 14, 2024, 9:13 p.m. UTC | #3
On Wed, Aug 14, 2024 at 02:51:35PM -0400, Frank Li wrote:
> Convert binding doc ads7846.txt to yaml format.
> Additional change:
> - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> - use common node name touchscreen.
> 
> Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> 	ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> There are warning:
> Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> 	hint: Standard unit suffix properties don't need a type $ref
> 
> I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> uint32

It's going to have to be a special case in dtschema. I'll work on a fix.

Rob
Rob Herring (Arm) Aug. 14, 2024, 9:49 p.m. UTC | #4
On Wed, Aug 14, 2024 at 03:13:45PM -0600, Rob Herring wrote:
> On Wed, Aug 14, 2024 at 02:51:35PM -0400, Frank Li wrote:
> > Convert binding doc ads7846.txt to yaml format.
> > Additional change:
> > - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> > - use common node name touchscreen.
> > 
> > Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> > 	ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> > 
> > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > ---
> > There are warning:
> > Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> > 	hint: Standard unit suffix properties don't need a type $ref
> > 
> > I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> > uint32
> 
> It's going to have to be a special case in dtschema. I'll work on a fix.

Should be fixed now in dtschema main branch.

Rob
Frank Li Aug. 15, 2024, 2:01 a.m. UTC | #5
On Wed, Aug 14, 2024 at 03:49:02PM -0600, Rob Herring wrote:
> On Wed, Aug 14, 2024 at 03:13:45PM -0600, Rob Herring wrote:
> > On Wed, Aug 14, 2024 at 02:51:35PM -0400, Frank Li wrote:
> > > Convert binding doc ads7846.txt to yaml format.
> > > Additional change:
> > > - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> > > - use common node name touchscreen.
> > >
> > > Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> > > 	ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> > >
> > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > ---
> > > There are warning:
> > > Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> > > 	hint: Standard unit suffix properties don't need a type $ref
> > >
> > > I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> > > uint32
> >
> > It's going to have to be a special case in dtschema. I'll work on a fix.
>
> Should be fixed now in dtschema main branch.

Strange, dt_binding_check can pass. but

 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 CHECK_DTBS=y imx8mm-var-som-symphony.dtb
  UPD     include/config/kernel.release
  DTC [C] arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb
arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0: ti,x-plate-ohms: 180 is not of type 'array'
	from schema $id: http://devicetree.org/schemas/property-units.yaml#

anything wrong?

Frank

>
> Rob
kernel test robot Aug. 15, 2024, 6:42 a.m. UTC | #6
Hi Frank,

kernel test robot noticed the following build warnings:

[auto build test WARNING on dtor-input/next]
[also build test WARNING on dtor-input/for-linus robh/for-next krzk-dt/for-next linus/master v6.11-rc3 next-20240815]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Frank-Li/dt-bindings-input-touchscreen-convert-ads7846-txt-to-yaml/20240815-025322
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
patch link:    https://lore.kernel.org/r/20240814185140.4033029-1-Frank.Li%40nxp.com
patch subject: [PATCH 1/1] dt-bindings: input: touchscreen: convert ads7846.txt to yaml
reproduce: (https://download.01.org/0day-ci/archive/20240815/202408151407.QolOybOy-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408151407.QolOybOy-lkp@intel.com/

All warnings (new ones prefixed by >>):

   Documentation/userspace-api/netlink/netlink-raw.rst: :doc:`rt_link<../../networking/netlink_spec/rt_link>`
   Documentation/userspace-api/netlink/netlink-raw.rst: :doc:`tc<../../networking/netlink_spec/tc>`
   Documentation/userspace-api/netlink/netlink-raw.rst: :doc:`tc<../../networking/netlink_spec/tc>`
>> Warning: Documentation/devicetree/bindings/power/wakeup-source.txt references a file that doesn't exist: Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
   Warning: Documentation/devicetree/bindings/power/wakeup-source.txt references a file that doesn't exist: Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
   Warning: Documentation/devicetree/bindings/regulator/siliconmitus,sm5703-regulator.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
   Warning: Documentation/userspace-api/netlink/index.rst references a file that doesn't exist: Documentation/networking/netlink_spec/index.rst
   Warning: Documentation/userspace-api/netlink/specs.rst references a file that doesn't exist: Documentation/networking/netlink_spec/index.rst
   Warning: MAINTAINERS references a file that doesn't exist: Documentation/devicetree/bindings/reserved-memory/qcom
Rob Herring (Arm) Aug. 15, 2024, 3:17 p.m. UTC | #7
On Wed, Aug 14, 2024 at 8:01 PM Frank Li <Frank.li@nxp.com> wrote:
>
> On Wed, Aug 14, 2024 at 03:49:02PM -0600, Rob Herring wrote:
> > On Wed, Aug 14, 2024 at 03:13:45PM -0600, Rob Herring wrote:
> > > On Wed, Aug 14, 2024 at 02:51:35PM -0400, Frank Li wrote:
> > > > Convert binding doc ads7846.txt to yaml format.
> > > > Additional change:
> > > > - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> > > > - use common node name touchscreen.
> > > >
> > > > Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> > > >   ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> > > >
> > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > ---
> > > > There are warning:
> > > > Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> > > >   hint: Standard unit suffix properties don't need a type $ref
> > > >
> > > > I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> > > > uint32
> > >
> > > It's going to have to be a special case in dtschema. I'll work on a fix.
> >
> > Should be fixed now in dtschema main branch.
>
> Strange, dt_binding_check can pass. but
>
>  make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 CHECK_DTBS=y imx8mm-var-som-symphony.dtb
>   UPD     include/config/kernel.release
>   DTC [C] arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb
> arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0: ti,x-plate-ohms: 180 is not of type 'array'
>         from schema $id: http://devicetree.org/schemas/property-units.yaml#
>
> anything wrong?

Now fixed.

Rob
Frank Li Aug. 15, 2024, 3:26 p.m. UTC | #8
On Thu, Aug 15, 2024 at 09:17:48AM -0600, Rob Herring wrote:
> On Wed, Aug 14, 2024 at 8:01 PM Frank Li <Frank.li@nxp.com> wrote:
> >
> > On Wed, Aug 14, 2024 at 03:49:02PM -0600, Rob Herring wrote:
> > > On Wed, Aug 14, 2024 at 03:13:45PM -0600, Rob Herring wrote:
> > > > On Wed, Aug 14, 2024 at 02:51:35PM -0400, Frank Li wrote:
> > > > > Convert binding doc ads7846.txt to yaml format.
> > > > > Additional change:
> > > > > - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> > > > > - use common node name touchscreen.
> > > > >
> > > > > Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> > > > >   ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> > > > >
> > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > ---
> > > > > There are warning:
> > > > > Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> > > > >   hint: Standard unit suffix properties don't need a type $ref
> > > > >
> > > > > I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> > > > > uint32
> > > >
> > > > It's going to have to be a special case in dtschema. I'll work on a fix.
> > >
> > > Should be fixed now in dtschema main branch.
> >
> > Strange, dt_binding_check can pass. but
> >
> >  make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 CHECK_DTBS=y imx8mm-var-som-symphony.dtb
> >   UPD     include/config/kernel.release
> >   DTC [C] arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb
> > arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0: ti,x-plate-ohms: 180 is not of type 'array'
> >         from schema $id: http://devicetree.org/schemas/property-units.yaml#
> >
> > anything wrong?
>
> Now fixed.

Yes, thanks.

Frank

>
> Rob
Frank Li Aug. 15, 2024, 8:29 p.m. UTC | #9
On Thu, Aug 15, 2024 at 11:26:38AM -0400, Frank Li wrote:
> On Thu, Aug 15, 2024 at 09:17:48AM -0600, Rob Herring wrote:
> > On Wed, Aug 14, 2024 at 8:01 PM Frank Li <Frank.li@nxp.com> wrote:
> > >
> > > On Wed, Aug 14, 2024 at 03:49:02PM -0600, Rob Herring wrote:
> > > > On Wed, Aug 14, 2024 at 03:13:45PM -0600, Rob Herring wrote:
> > > > > On Wed, Aug 14, 2024 at 02:51:35PM -0400, Frank Li wrote:
> > > > > > Convert binding doc ads7846.txt to yaml format.
> > > > > > Additional change:
> > > > > > - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> > > > > > - use common node name touchscreen.
> > > > > >
> > > > > > Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> > > > > >   ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> > > > > >
> > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > ---
> > > > > > There are warning:
> > > > > > Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> > > > > >   hint: Standard unit suffix properties don't need a type $ref
> > > > > >
> > > > > > I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> > > > > > uint32
> > > > >
> > > > > It's going to have to be a special case in dtschema. I'll work on a fix.
> > > >
> > > > Should be fixed now in dtschema main branch.
> > >
> > > Strange, dt_binding_check can pass. but
> > >
> > >  make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 CHECK_DTBS=y imx8mm-var-som-symphony.dtb
> > >   UPD     include/config/kernel.release
> > >   DTC [C] arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb
> > > arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0: ti,x-plate-ohms: 180 is not of type 'array'
> > >         from schema $id: http://devicetree.org/schemas/property-units.yaml#
> > >
> > > anything wrong?
> >
> > Now fixed.
>
> Yes, thanks.

A new error in dt_binding_check

Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.yaml: ti,x-plate-ohms: missing type definition

>
> Frank
>
> >
> > Rob
Rob Herring (Arm) Aug. 15, 2024, 9:31 p.m. UTC | #10
On Thu, Aug 15, 2024 at 2:29 PM Frank Li <Frank.li@nxp.com> wrote:
>
> On Thu, Aug 15, 2024 at 11:26:38AM -0400, Frank Li wrote:
> > On Thu, Aug 15, 2024 at 09:17:48AM -0600, Rob Herring wrote:
> > > On Wed, Aug 14, 2024 at 8:01 PM Frank Li <Frank.li@nxp.com> wrote:
> > > >
> > > > On Wed, Aug 14, 2024 at 03:49:02PM -0600, Rob Herring wrote:
> > > > > On Wed, Aug 14, 2024 at 03:13:45PM -0600, Rob Herring wrote:
> > > > > > On Wed, Aug 14, 2024 at 02:51:35PM -0400, Frank Li wrote:
> > > > > > > Convert binding doc ads7846.txt to yaml format.
> > > > > > > Additional change:
> > > > > > > - add ref to touchscreen.yaml and spi-peripheral-props.yaml.
> > > > > > > - use common node name touchscreen.
> > > > > > >
> > > > > > > Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0:
> > > > > > >   ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null'
> > > > > > >
> > > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > > ---
> > > > > > > There are warning:
> > > > > > > Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml: properties:ti,x-plate-ohms: '$ref' should not be valid under {'const': '$ref'}
> > > > > > >   hint: Standard unit suffix properties don't need a type $ref
> > > > > > >
> > > > > > > I don't know how to fix it. ti,x-plate-ohms is 16bit, but default it is
> > > > > > > uint32
> > > > > >
> > > > > > It's going to have to be a special case in dtschema. I'll work on a fix.
> > > > >
> > > > > Should be fixed now in dtschema main branch.
> > > >
> > > > Strange, dt_binding_check can pass. but
> > > >
> > > >  make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 CHECK_DTBS=y imx8mm-var-som-symphony.dtb
> > > >   UPD     include/config/kernel.release
> > > >   DTC [C] arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb
> > > > arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0: ti,x-plate-ohms: 180 is not of type 'array'
> > > >         from schema $id: http://devicetree.org/schemas/property-units.yaml#
> > > >
> > > > anything wrong?
> > >
> > > Now fixed.
> >
> > Yes, thanks.
>
> A new error in dt_binding_check
>
> Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.yaml: ti,x-plate-ohms: missing type definition

That one is intermittent and can be ignored for now. It depends on the
order the schema get processed. 'mac-mode' is another one that shows
up sometimes.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/input/touchscreen/ads7846.txt b/Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
deleted file mode 100644
index 399c87782935c..0000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
+++ /dev/null
@@ -1,107 +0,0 @@ 
-Device tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
-SPI driven touch screen controllers.
-
-The node for this driver must be a child node of a SPI controller, hence
-all mandatory properties described in
-
-	Documentation/devicetree/bindings/spi/spi-bus.txt
-
-must be specified.
-
-Additional required properties:
-
-	compatible		Must be one of the following, depending on the
-				model:
-					"ti,tsc2046"
-					"ti,ads7843"
-					"ti,ads7845"
-					"ti,ads7846"
-					"ti,ads7873"
-
-	interrupts		An interrupt node describing the IRQ line the chip's
-				!PENIRQ pin is connected to.
-	vcc-supply		A regulator node for the supply voltage.
-
-
-Optional properties:
-
-	ti,vref-delay-usecs		vref supply delay in usecs, 0 for
-					external vref (u16).
-	ti,vref-mv			The VREF voltage, in millivolts (u16).
-					Set to 0 to use internal references
-					(ADS7846).
-	ti,keep-vref-on			set to keep vref on for differential
-					measurements as well
-	ti,settle-delay-usec		Settling time of the analog signals;
-					a function of Vcc and the capacitance
-					on the X/Y drivers.  If set to non-zero,
-					two samples are taken with settle_delay
-					us apart, and the second one is used.
-					~150 uSec with 0.01uF caps (u16).
-	ti,penirq-recheck-delay-usecs	If set to non-zero, after samples are
-					taken this delay is applied and penirq
-					is rechecked, to help avoid false
-					events.  This value is affected by the
-					material used to build the touch layer
-					(u16).
-	ti,x-plate-ohms			Resistance of the X-plate,
-					in Ohms (u16).
-	ti,y-plate-ohms			Resistance of the Y-plate,
-					in Ohms (u16).
-	ti,x-min			Minimum value on the X axis (u16).
-	ti,y-min			Minimum value on the Y axis (u16).
-	ti,debounce-tol			Tolerance used for filtering (u16).
-	ti,debounce-rep			Additional consecutive good readings
-					required after the first two (u16).
-	ti,pendown-gpio-debounce	Platform specific debounce time for the
-					pendown-gpio (u32).
-	pendown-gpio			GPIO handle describing the pin the !PENIRQ
-					line is connected to.
-	ti,hsync-gpios			GPIO line to poll for hsync
-	wakeup-source			use any event on touchscreen as wakeup event.
-					(Legacy property support: "linux,wakeup")
-	touchscreen-size-x		General touchscreen binding, see [1].
-	touchscreen-size-y		General touchscreen binding, see [1].
-	touchscreen-max-pressure	General touchscreen binding, see [1].
-	touchscreen-min-pressure	General touchscreen binding, see [1].
-	touchscreen-average-samples	General touchscreen binding, see [1].
-	touchscreen-inverted-x		General touchscreen binding, see [1].
-	touchscreen-inverted-y		General touchscreen binding, see [1].
-	touchscreen-swapped-x-y		General touchscreen binding, see [1].
-
-[1] All general touchscreen properties are described in
-    Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt.
-
-Deprecated properties:
-
-	ti,swap-xy			swap x and y axis
-	ti,x-max			Maximum value on the X axis (u16).
-	ti,y-max			Maximum value on the Y axis (u16).
-	ti,pressure-min			Minimum reported pressure value
-					(threshold) - u16.
-	ti,pressure-max			Maximum reported pressure value (u16).
-	ti,debounce-max			Max number of additional readings per
-					sample (u16).
-
-Example for a TSC2046 chip connected to an McSPI controller of an OMAP SoC::
-
-	spi_controller {
-		tsc2046@0 {
-			reg = <0>;	/* CS0 */
-			compatible = "ti,tsc2046";
-			interrupt-parent = <&gpio1>;
-			interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
-			spi-max-frequency = <1000000>;
-			pendown-gpio = <&gpio1 8 0>;
-			vcc-supply = <&reg_vcc3>;
-
-			ti,x-min = /bits/ 16 <0>;
-			ti,x-max = /bits/ 16 <8000>;
-			ti,y-min = /bits/ 16 <0>;
-			ti,y-max = /bits/ 16 <4800>;
-			ti,x-plate-ohms = /bits/ 16 <40>;
-			ti,pressure-max = /bits/ 16 <255>;
-
-			wakeup-source;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml b/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
new file mode 100644
index 0000000000000..b8239491c747a
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
@@ -0,0 +1,170 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/ti,ads7843.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI's SPI driven touch screen controllers.
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+  - Marek Vasut <marex@denx.de>
+  - Alexander Stein <alexander.stein@ew.tq-group.com>
+
+description:
+  Device tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
+  SPI driven touch screen controllers.
+
+  The node for this driver must be a child node of a SPI controller, hence
+  all mandatory properties described in
+
+properties:
+  compatible:
+    enum:
+      - ti,tsc2046
+      - ti,ads7843
+      - ti,ads7845
+      - ti,ads7846
+      - ti,ads7873
+
+  interrupts:
+    maxItems: 1
+
+  vcc-supply:
+    description: A regulator node for the supply voltage.
+
+  ti,vref-delay-usecs:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: vref supply delay in usecs, 0 for external vref (u16).
+
+  ti,vref-mv:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description:
+      The VREF voltage, in millivolts (u16).
+      Set to 0 to use internal references (ADS7846).
+
+  ti,keep-vref-on:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: set to keep vref on for differential measurements as well.
+
+  ti,settle-delay-usec:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description:
+      Settling time of the analog signals; a function of Vcc and the
+      capacitance on the X/Y drivers.  If set to non-zero, two samples are
+      taken with settle_delay us apart, and the second one is used. ~150
+      uSec with 0.01uF caps (u16).
+
+  ti,penirq-recheck-delay-usecs:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description:
+      If set to non-zero, after samples are taken this delay is applied and
+      penirq is rechecked, to help avoid false events.  This value is
+      affected by the material used to build the touch layer (u16).
+
+  ti,x-plate-ohms:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Resistance of the X-plate, in Ohms (u16).
+
+  ti,y-plate-ohms:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Resistance of the Y-plate, in Ohms (u16).
+
+  ti,x-min:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Minimum value on the X axis (u16).
+
+  ti,y-min:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Minimum value on the Y axis (u16).
+
+  ti,debounce-tol:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Tolerance used for filtering (u16).
+
+  ti,debounce-rep:
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description:
+      Additional consecutive good readings required after the first two (u16).
+
+  ti,pendown-gpio-debounce:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Platform specific debounce time for the pendown-gpio (u32).
+
+  pendown-gpio:
+    description:
+      GPIO handle describing the pin the !PENIRQ line is connected to.
+
+  ti,hsync-gpios:
+    description:
+      GPIO line to poll for hsync
+
+  wakeup-source: true
+
+  ti,swap-xy:
+    deprecated: true
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: swap x and y axis
+
+  ti,x-max:
+    deprecated: true
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Maximum value on the X axis (u16).
+
+  ti,y-max:
+    deprecated: true
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Maximum value on the Y axis (u16).
+
+  ti,pressure-min:
+    deprecated: true
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Minimum reported pressure value (threshold) - u16.
+
+  ti,pressure-max:
+    deprecated: true
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Maximum reported pressure value (u16).
+
+  ti,debounce-max:
+    deprecated: true
+    $ref: /schemas/types.yaml#/definitions/uint16
+    description: Max number of additional readings per sample (u16).
+
+required:
+  - compatible
+  - reg
+  - vcc-supply
+
+allOf:
+  - $ref: touchscreen.yaml#
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    spi{
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@0 {
+           compatible = "ti,tsc2046";
+           reg = <0>;	/* CS0 */
+           interrupt-parent = <&gpio1>;
+           interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
+           spi-max-frequency = <1000000>;
+           pendown-gpio = <&gpio1 8 0>;
+           vcc-supply = <&reg_vcc3>;
+
+           ti,x-min = /bits/ 16 <0>;
+           ti,x-max = /bits/ 16 <8000>;
+           ti,y-min = /bits/ 16 <0>;
+           ti,y-max = /bits/ 16 <4800>;
+           ti,x-plate-ohms = /bits/ 16 <40>;
+           ti,pressure-max = /bits/ 16 <255>;
+
+           wakeup-source;
+       };
+    };
+