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@xxxxxxxxxx> > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> > Signed-off-by: Ramona Gradinariu <ramona.gradinariu@xxxxxxxxxx> > Signed-off-by: Robert Budai <robert.budai@xxxxxxxxxx> > --- > > 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@xxxxxxxxxx> > + - Ramona Gradinariu <ramona.gradinariu@xxxxxxxxxx> > + - Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> 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@xxxxxxxxxx> > +M: Ramona Gradinariu <ramona.gradinariu@xxxxxxxxxx> > +M: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> > +L: linux-iio@xxxxxxxxxxxxxxx > +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@xxxxxxxxxx> > L: linux-hwmon@xxxxxxxxxxxxxxx > -- > 2.43.0 >