2021-07-12 15:03:35

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCHv6 1/3] dt-bindings: misc: ge-achc: Convert to DT schema format

Convert the binding to DT schema format. Also update the binding
to fix shortcomings

* Add "nxp,kinetis-k20" fallback compatible
* add programming SPI interface and reset GPIO
* add main clock
* add voltage supplies
* drop spi-max-frequency from required properties,
driver will setup max. frequency

Reviewed-by: Rob Herring <[email protected]>
Signed-off-by: Sebastian Reichel <[email protected]>
---
.../devicetree/bindings/misc/ge-achc.txt | 26 --------
.../devicetree/bindings/misc/ge-achc.yaml | 65 +++++++++++++++++++
2 files changed, 65 insertions(+), 26 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/misc/ge-achc.txt
create mode 100644 Documentation/devicetree/bindings/misc/ge-achc.yaml

diff --git a/Documentation/devicetree/bindings/misc/ge-achc.txt b/Documentation/devicetree/bindings/misc/ge-achc.txt
deleted file mode 100644
index 77df94d7a32f..000000000000
--- a/Documentation/devicetree/bindings/misc/ge-achc.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-* GE Healthcare USB Management Controller
-
-A device which handles data aquisition from compatible USB based peripherals.
-SPI is used for device management.
-
-Note: This device does not expose the peripherals as USB devices.
-
-Required properties:
-
-- compatible : Should be "ge,achc"
-
-Required SPI properties:
-
-- reg : Should be address of the device chip select within
- the controller.
-
-- spi-max-frequency : Maximum SPI clocking speed of device in Hz, should be
- 1MHz for the GE ACHC.
-
-Example:
-
-spidev0: spi@0 {
- compatible = "ge,achc";
- reg = <0>;
- spi-max-frequency = <1000000>;
-};
diff --git a/Documentation/devicetree/bindings/misc/ge-achc.yaml b/Documentation/devicetree/bindings/misc/ge-achc.yaml
new file mode 100644
index 000000000000..ff07aa62ed57
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/ge-achc.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+# Copyright (C) 2021 GE Inc.
+# Copyright (C) 2021 Collabora Ltd.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/ge-achc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: GE Healthcare USB Management Controller
+
+description: |
+ A device which handles data acquisition from compatible USB based peripherals.
+ SPI is used for device management.
+
+ Note: This device does not expose the peripherals as USB devices.
+
+maintainers:
+ - Sebastian Reichel <[email protected]>
+
+properties:
+ compatible:
+ items:
+ - const: ge,achc
+ - const: nxp,kinetis-k20
+
+ clocks:
+ maxItems: 1
+
+ vdd-supply:
+ description: Digital power supply regulator on VDD pin
+
+ vdda-supply:
+ description: Analog power supply regulator on VDDA pin
+
+ reg:
+ items:
+ - description: Control interface
+ - description: Firmware programming interface
+
+ reset-gpios:
+ description: GPIO used for hardware reset.
+ maxItems: 1
+
+required:
+ - compatible
+ - clocks
+ - reg
+ - reset-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ spi@1 {
+ compatible = "ge,achc", "nxp,kinetis-k20";
+ reg = <1>, <0>;
+ clocks = <&achc_24M>;
+ reset-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
+ };
+ };
--
2.30.2


2021-07-13 14:04:40

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCHv6 1/3] dt-bindings: misc: ge-achc: Convert to DT schema format

On Mon, 12 Jul 2021 17:02:40 +0200, Sebastian Reichel wrote:
> Convert the binding to DT schema format. Also update the binding
> to fix shortcomings
>
> * Add "nxp,kinetis-k20" fallback compatible
> * add programming SPI interface and reset GPIO
> * add main clock
> * add voltage supplies
> * drop spi-max-frequency from required properties,
> driver will setup max. frequency
>
> Reviewed-by: Rob Herring <[email protected]>
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---
> .../devicetree/bindings/misc/ge-achc.txt | 26 --------
> .../devicetree/bindings/misc/ge-achc.yaml | 65 +++++++++++++++++++
> 2 files changed, 65 insertions(+), 26 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/misc/ge-achc.txt
> create mode 100644 Documentation/devicetree/bindings/misc/ge-achc.yaml
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/ge-achc.example.dt.yaml: spi: spi@1:reg: [[1], [0]] is too long
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/spi-controller.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/ge-achc.example.dt.yaml: spi: spi@1:reg: Additional items are not allowed ([0] was unexpected)
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/spi-controller.yaml
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1504037

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

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.

2021-07-13 15:09:51

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCHv6 1/3] dt-bindings: misc: ge-achc: Convert to DT schema format

On Tue, Jul 13, 2021 at 8:03 AM Rob Herring <[email protected]> wrote:
>
> On Mon, 12 Jul 2021 17:02:40 +0200, Sebastian Reichel wrote:
> > Convert the binding to DT schema format. Also update the binding
> > to fix shortcomings
> >
> > * Add "nxp,kinetis-k20" fallback compatible
> > * add programming SPI interface and reset GPIO
> > * add main clock
> > * add voltage supplies
> > * drop spi-max-frequency from required properties,
> > driver will setup max. frequency
> >
> > Reviewed-by: Rob Herring <[email protected]>
> > Signed-off-by: Sebastian Reichel <[email protected]>
> > ---
> > .../devicetree/bindings/misc/ge-achc.txt | 26 --------
> > .../devicetree/bindings/misc/ge-achc.yaml | 65 +++++++++++++++++++
> > 2 files changed, 65 insertions(+), 26 deletions(-)
> > delete mode 100644 Documentation/devicetree/bindings/misc/ge-achc.txt
> > create mode 100644 Documentation/devicetree/bindings/misc/ge-achc.yaml
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/ge-achc.example.dt.yaml: spi: spi@1:reg: [[1], [0]] is too long
> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/spi-controller.yaml
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/misc/ge-achc.example.dt.yaml: spi: spi@1:reg: Additional items are not allowed ([0] was unexpected)
> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/spi-controller.yaml

Ignore this. The necessary change is in v5.14-rc1.

Rob