Message ID | 20250204143612.85939-5-robert.budai@analog.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add support for ADIS16550 | expand |
On Tue, Feb 04, 2025 at 04:36:08PM +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> > --- > > v6: > - applied blank line suggestions > - added clock-frequency dependency change suggestions > - yamllint corrections > > .../bindings/iio/imu/adi,adis16550.yaml | 83 +++++++++++++++++++ > MAINTAINERS | 9 ++ > 2 files changed, 92 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..8750bb937979 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml > @@ -0,0 +1,83 @@ > +# 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 > + > + 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: > + - minimum: 1 > + maximum: 128 > + - minimum: 3000 > + maximum: 4500 I don't get why this is a property, to be honest. When you've got an external clock, why isn't the frequency obtained from the clock provider node? > + > +required: > + - compatible > + - reg > + - interrupts > + - spi-cpha > + - spi-cpol > + - spi-max-frequency > + - vdd-supply > + > +dependentRequired: > + clock: [clock-frequency] ^ typo, missing s. > + > +allOf: > + - $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 6247500cf427..8913e13dcaef 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1452,6 +1452,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.39.5 >
On Tue, 2025-02-04 at 19:25 +0000, Conor Dooley wrote: > On Tue, Feb 04, 2025 at 04:36:08PM +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> > > --- > > > > v6: > > - applied blank line suggestions > > - added clock-frequency dependency change suggestions > > - yamllint corrections > > > > .../bindings/iio/imu/adi,adis16550.yaml | 83 +++++++++++++++++++ > > MAINTAINERS | 9 ++ > > 2 files changed, 92 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..8750bb937979 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml > > @@ -0,0 +1,83 @@ > > +# 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 > > + > > + 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: > > + - minimum: 1 > > + maximum: 128 > > + - minimum: 3000 > > + maximum: 4500 > > I don't get why this is a property, to be honest. When you've got an > external clock, why isn't the frequency obtained from the clock provider > node? > The main purpose of this property is actually to show/document the constrains of the external clock. We can very well just error out in the driver (and we do that) and not have this property. I mentioned this property to Robert some revisions ago and I also pointed out that I wasn't really sure if it should be used or not (I guess this is more for fixed clock providers...). IIRC, I did asked for some advice/comments but we got none so I assume Robert just decided to use it and see what you guys had to say about it. - Nuno Sá > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - spi-cpha > > + - spi-cpol > > + - spi-max-frequency > > + - vdd-supply > > + > > +dependentRequired: > > + clock: [clock-frequency] > ^ > typo, missing s. > > > + > > +allOf: > > + - $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 6247500cf427..8913e13dcaef 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -1452,6 +1452,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.39.5 > >
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..8750bb937979 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml @@ -0,0 +1,83 @@ +# 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 + + 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: + - minimum: 1 + maximum: 128 + - minimum: 3000 + maximum: 4500 + +required: + - compatible + - reg + - interrupts + - spi-cpha + - spi-cpol + - spi-max-frequency + - vdd-supply + +dependentRequired: + clock: [clock-frequency] + +allOf: + - $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 6247500cf427..8913e13dcaef 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1452,6 +1452,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