Message ID | 20241125133520.24328-6-robert.budai@analog.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | adis16550-v2 | expand |
On 25/11/2024 14:35, 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> > --- > > v2: > - signed of by submitter > > .../bindings/iio/imu/adi,adis16550.yaml | 97 +++++++++++++++++++ > MAINTAINERS | 9 ++ > 2 files changed, 106 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..767b500afbaa > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml > @@ -0,0 +1,97 @@ > +# 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 What is the difference between them? You have description and commit msg for this. > + > + 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, Do not describe DT syntax. s/Must be the device tree identifier of the// Instead something like "RESET active low pin". > + it will be asserted during driver probe. As the line is active low, > + it should be marked GPIO_ACTIVE_LOW. This is false. It should not. Instead, it should be marked according to the board design. You can have there inverter. > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + description: If not provided, then the internal clock is used. > + > + adi,sync-mode: > + $ref: /schemas/types.yaml#/definitions/string Do not redefine properties. You are stuck with what is there already :/ > + description: | > + Configures the device SYNC pin. > + scaled_sync: Device handles internally custom scaled > + sync mode. It is stored in a designated register. > + enum: > + - direct_sync > + - scaled_sync > + > +required: > + - compatible > + - reg > + - interrupts > + - spi-cpha > + - spi-cpol > + - spi-max-frequency > + - vdd-supply > + > +allOf: > + - if: > + properties: > + adi,sync-mode: > + enum: [direct_sync, scaled_sync] This does not make sense. There is no other option in this enum. Not sure what you wanted to achieve here. If dependency on property then required, see example-schema. > + > + then: > + dependencies: > + adi,sync-mode: [ clocks ] > + > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > + > +additionalProperties: false unevaluatedProperties false Best regards, Krzysztof
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..767b500afbaa --- /dev/null +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml @@ -0,0 +1,97 @@ +# 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: + maxItems: 1 + description: If not provided, then the internal clock is used. + + adi,sync-mode: + $ref: /schemas/types.yaml#/definitions/string + description: | + Configures the device SYNC pin. + scaled_sync: Device handles internally custom scaled + sync mode. It is stored in a designated register. + enum: + - direct_sync + - scaled_sync + +required: + - compatible + - reg + - interrupts + - spi-cpha + - spi-cpol + - spi-max-frequency + - vdd-supply + +allOf: + - if: + properties: + adi,sync-mode: + enum: [direct_sync, scaled_sync] + + then: + dependencies: + adi,sync-mode: [ clocks ] + + - $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 a4628d566e98..b8ea8c9af74a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1412,6 +1412,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