diff mbox series

[v5,4/6] dt-bindings: iio: Add adis16550 bindings

Message ID 20250129082053.19077-5-robert.budai@analog.com (mailing list archive)
State New
Headers show
Series Add support for ADIS16550 and ADIS16550W | expand

Commit Message

Robert Budai Jan. 29, 2025, 8:20 a.m. UTC
Document the ADIS16550 device devicetree bindings.

Co-developed-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Signed-off-by: Ramona Gradinariu <ramona.gradinariu@analog.com>
Signed-off-by: Robert Budai <robert.budai@analog.com>
---

v5:
- removed sync-mode binding
- added binding for external clock frequency
- removed adis16550w

 .../bindings/iio/imu/adi,adis16550.yaml       | 80 +++++++++++++++++++
 MAINTAINERS                                   |  9 +++
 2 files changed, 89 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml

Comments

Rob Herring Jan. 29, 2025, 9:28 a.m. UTC | #1
On Wed, 29 Jan 2025 10:20:44 +0200, Robert Budai wrote:
> Document the ADIS16550 device devicetree bindings.
> 
> Co-developed-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> Signed-off-by: Ramona Gradinariu <ramona.gradinariu@analog.com>
> Signed-off-by: Robert Budai <robert.budai@analog.com>
> ---
> 
> v5:
> - removed sync-mode binding
> - added binding for external clock frequency
> - removed adis16550w
> 
>  .../bindings/iio/imu/adi,adis16550.yaml       | 80 +++++++++++++++++++
>  MAINTAINERS                                   |  9 +++
>  2 files changed, 89 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/imu/adi,adis16550.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/iio/imu/adi,adis16550.example.dtb: imu@0: 'clock-frequency' is a required property
	from schema $id: http://devicetree.org/schemas/iio/imu/adi,adis16550.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250129082053.19077-5-robert.budai@analog.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 Jan. 29, 2025, 3:30 p.m. UTC | #2
On Wed, Jan 29, 2025 at 10:20:44AM +0200, Robert Budai wrote:
> Document the ADIS16550 device devicetree bindings.
> 
> Co-developed-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> Signed-off-by: Ramona Gradinariu <ramona.gradinariu@analog.com>
> Signed-off-by: Robert Budai <robert.budai@analog.com>
> ---
> 
> v5:
> - removed sync-mode binding
> - added binding for external clock frequency
> - removed adis16550w
> 
>  .../bindings/iio/imu/adi,adis16550.yaml       | 80 +++++++++++++++++++
>  MAINTAINERS                                   |  9 +++
>  2 files changed, 89 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml
> new file mode 100644
> index 000000000000..4e9406168782
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml
> @@ -0,0 +1,80 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/imu/adi,adis16550.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#

blank line

> +title: Analog Devices ADIS16550 and similar IMUs

blank line

> +maintainers:
> +  - Nuno Sa <nuno.sa@analog.com>
> +  - Ramona Gradinariu <ramona.gradinariu@analog.com>
> +  - Antoniu Miclaus <antoniu.miclaus@analog.com>

blank line

> +properties:
> +  compatible:
> +    enum:
> +      - adi,adis16550
> +      - adi,adis16550w

blank line

> +  reg:
> +    maxItems: 1

blank line

> +  spi-cpha: true
> +  spi-cpol: true

blank line

> +  spi-max-frequency:
> +    maximum: 15000000

blank line

> +  vdd-supply: true

blank line

> +  interrupts:
> +    maxItems: 1

blank line

And so on. IOW, follow the style you see in *every* other schema doc.


> +  reset-gpios:
> +    description:
> +      Must be the device tree identifier of the RESET pin. If specified,
> +      it will be asserted during driver probe. As the line is active low,
> +      it should be marked GPIO_ACTIVE_LOW.
> +    maxItems: 1
> +  clocks:
> +    description: If not provided, then the internal clock is used.
> +    maxItems: 1
> +  clock-frequency:
> +    description: Clock frequency in Hz when an external clock is used.
> +    oneOf:
> +      - type: integer

Drop 'type'

> +        minimum: 1
> +        maximum: 128
> +      - type: integer

Drop 'type'

> +        minimum: 3000
> +        maximum: 4500
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - spi-cpha
> +  - spi-cpol
> +  - spi-max-frequency
> +  - vdd-supply
> +
> +allOf:
> +  - if:
> +      properties:
> +        clocks:
> +          maxItems: 1

clocks doesn't have to be present for this to be true. Hence the 
failure. But this can all be expressed as:

dependentRequired:
  clock: [clock-frequency]

> +    then:
> +      required:
> +        - clock-frequency
> +
> +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +additionalProperties: false
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    spi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        imu@0 {
> +            compatible = "adi,adis16550";
> +            reg = <0>;
> +            spi-max-frequency = <15000000>;
> +            spi-cpol;
> +            spi-cpha;
> +            vdd-supply = <&vdd>;
> +            interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
> +            interrupt-parent = <&gpio>;
> +        };
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index aeb5f3cc58a1..5c59a183cd3f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1479,6 +1479,15 @@ W:	https://ez.analog.com/linux-software-drivers
>  F:	Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml
>  F:	drivers/iio/imu/adis16475.c
>  
> +ANALOG DEVICES INC ADIS16550 DRIVER
> +M:	Nuno Sa <nuno.sa@analog.com>
> +M:	Ramona Gradinariu <ramona.gradinariu@analog.com>
> +M:	Antoniu Miclaus <antoniu.miclaus@analog.com>
> +L:	linux-iio@vger.kernel.org
> +S:	Supported
> +W:	https://ez.analog.com/linux-software-drivers
> +F:	Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml
> +
>  ANALOG DEVICES INC ADM1177 DRIVER
>  M:	Michael Hennerich <Michael.Hennerich@analog.com>
>  L:	linux-hwmon@vger.kernel.org
> -- 
> 2.43.0
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml
new file mode 100644
index 000000000000..4e9406168782
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml
@@ -0,0 +1,80 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/imu/adi,adis16550.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Analog Devices ADIS16550 and similar IMUs
+maintainers:
+  - Nuno Sa <nuno.sa@analog.com>
+  - Ramona Gradinariu <ramona.gradinariu@analog.com>
+  - Antoniu Miclaus <antoniu.miclaus@analog.com>
+properties:
+  compatible:
+    enum:
+      - adi,adis16550
+      - adi,adis16550w
+  reg:
+    maxItems: 1
+  spi-cpha: true
+  spi-cpol: true
+  spi-max-frequency:
+    maximum: 15000000
+  vdd-supply: true
+  interrupts:
+    maxItems: 1
+  reset-gpios:
+    description:
+      Must be the device tree identifier of the RESET pin. If specified,
+      it will be asserted during driver probe. As the line is active low,
+      it should be marked GPIO_ACTIVE_LOW.
+    maxItems: 1
+  clocks:
+    description: If not provided, then the internal clock is used.
+    maxItems: 1
+  clock-frequency:
+    description: Clock frequency in Hz when an external clock is used.
+    oneOf:
+      - type: integer
+        minimum: 1
+        maximum: 128
+      - type: integer
+        minimum: 3000
+        maximum: 4500
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - spi-cpha
+  - spi-cpol
+  - spi-max-frequency
+  - vdd-supply
+
+allOf:
+  - if:
+      properties:
+        clocks:
+          maxItems: 1
+    then:
+      required:
+        - clock-frequency
+
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+additionalProperties: false
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        imu@0 {
+            compatible = "adi,adis16550";
+            reg = <0>;
+            spi-max-frequency = <15000000>;
+            spi-cpol;
+            spi-cpha;
+            vdd-supply = <&vdd>;
+            interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+            interrupt-parent = <&gpio>;
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index aeb5f3cc58a1..5c59a183cd3f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1479,6 +1479,15 @@  W:	https://ez.analog.com/linux-software-drivers
 F:	Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml
 F:	drivers/iio/imu/adis16475.c
 
+ANALOG DEVICES INC ADIS16550 DRIVER
+M:	Nuno Sa <nuno.sa@analog.com>
+M:	Ramona Gradinariu <ramona.gradinariu@analog.com>
+M:	Antoniu Miclaus <antoniu.miclaus@analog.com>
+L:	linux-iio@vger.kernel.org
+S:	Supported
+W:	https://ez.analog.com/linux-software-drivers
+F:	Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml
+
 ANALOG DEVICES INC ADM1177 DRIVER
 M:	Michael Hennerich <Michael.Hennerich@analog.com>
 L:	linux-hwmon@vger.kernel.org