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