Message ID | 20250110074254.38966-5-robert.budai@analog.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Add support for ADIS16550 and ADIS16550W | expand |
On Fri, 10 Jan 2025 09:42:52 +0200 Robert Budai <robert.budai@analog.com> 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> > --- > > 4: > - applied styling changes to the bindings file > - restricted sync-mode to intervals 1-2 > > .../bindings/iio/imu/adi,adis16550.yaml | 96 +++++++++++++++++++ > MAINTAINERS | 9 ++ > 2 files changed, 105 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..e7ccf3883e55 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml > @@ -0,0 +1,96 @@ > +# 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: > + RESET active low pin. > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + description: If not provided, then the internal clock is used. > + > + adi,sync-mode: > + description: > + Configures the device SYNC pin. The following modes are supported > + 0 - output_sync > + 1 - direct_sync > + 2 - scaled_sync A little more on these would be good. They are 'weird' options that are not commonly seen so help the reader out. For scaled_sync don't we need information on the scale for it to be useful? If we had that then a value of 1 would mean direct sync and wouldn't need another control. I'm not fully understanding the usecases for this. If we have a say a pulse per second input, the control of the scale should be userspace anyway. So maybe this maps to the input clock that we can elect to use and control the effective frequency of by using scaled sync? I'm not sure what pulse sync is. Grepping the datasheet didn't give me anything that seemed related. The sync pin is input only so I'm also not sure on output sync. > + 3 - pulse_sync > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 1 > + maximum: 2 You describe 0 to 3 but only allow 1 or 2? > + > +required: > + - compatible > + - reg > + - interrupts > + - spi-cpha > + - spi-cpol > + - spi-max-frequency > + - vdd-supply > + > +allOf: > + - if: > + properties: > + adi,sync-mode: > + const: 2 > + > + then: > + dependencies: > + adi,sync-mode: [ clocks ] > + > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > + > +unevaluatedProperties: 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>; > + }; > + }; > +...
On Fri, Jan 10, 2025 at 09:42:52AM +0200, Robert Budai wrote: > +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 Where is the answer for my questions at v1? No responses on email, nothing improved in the patchset. Go back to my comments and respond to them or implement them. > + > + reg: > + maxItems: 1 > + > + spi-cpha: true > + > + spi-cpol: true > + > + spi-max-frequency: > + maximum: 15000000 > + > + vdd-supply: true > + > + interrupts: > + maxItems: 1 > + > + reset-gpios: > + description: > + RESET active low pin. > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + description: If not provided, then the internal clock is used. > + > + adi,sync-mode: > + description: > + Configures the device SYNC pin. The following modes are supported > + 0 - output_sync > + 1 - direct_sync > + 2 - scaled_sync > + 3 - pulse_sync > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 1 > + maximum: 2 So what does the "3" mean? Why documenting something impossible? Anyway, use strings for these and drop "_sync" suffixes. Best regards, Krzysztof
On Sun, 2025-01-12 at 15:48 +0000, Jonathan Cameron wrote: > On Fri, 10 Jan 2025 09:42:52 +0200 > Robert Budai <robert.budai@analog.com> 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> > > --- > > > > 4: > > - applied styling changes to the bindings file > > - restricted sync-mode to intervals 1-2 > > > > .../bindings/iio/imu/adi,adis16550.yaml | 96 +++++++++++++++++++ > > MAINTAINERS | 9 ++ > > 2 files changed, 105 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..e7ccf3883e55 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml > > @@ -0,0 +1,96 @@ > > +# 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: > > + RESET active low pin. > > + maxItems: 1 > > + > > + clocks: > > + maxItems: 1 > > + description: If not provided, then the internal clock is used. > > + > > + adi,sync-mode: > > + description: > > + Configures the device SYNC pin. The following modes are supported > > + 0 - output_sync > > + 1 - direct_sync > > + 2 - scaled_sync > > A little more on these would be good. They are 'weird' options > that are not commonly seen so help the reader out. > > For scaled_sync don't we need information on the scale for it to be useful? > If we had that then a value of 1 would mean direct sync and wouldn't need > another control. > > I'm not fully understanding the usecases for this. > > If we have a say a pulse per second input, the control of the scale should > be userspace anyway. So maybe this maps to the input clock that we can elect > to > use and control the effective frequency of by using scaled sync? I guess you likely already saw it in the driver. The scale value is automatically set by the driver depending on the desired ODR (sampling frequency). > > I'm not sure what pulse sync is. Grepping the datasheet didn't give me > anything that seemed related. The sync pin is input only so I'm also > not sure on output sync. I think this is a copy paste from the adis16475 bindings. For this device, it seems we only have: * internal clock; * external: * direct mode * scaled mode But yeah, as you pointed out I think we do not need the binding. The presence of an optional input clock plus the frequency should be all we need in order to set the desired configuration. It should also be possible to add the allowed ranges to the external input clock in the bindings... - Nuno Sá
> -----Original Message----- > From: Nuno Sá <noname.nuno@gmail.com> > Sent: Monday, January 13, 2025 11:30 AM > To: Jonathan Cameron <jic23@kernel.org>; Budai, Robert > <Robert.Budai@analog.com> > Cc: Sa, Nuno <Nuno.Sa@analog.com>; Gradinariu, Ramona > <Ramona.Gradinariu@analog.com>; Miclaus, Antoniu > <Antoniu.Miclaus@analog.com>; Lars-Peter Clausen <lars@metafoo.de>; > Hennerich, Michael <Michael.Hennerich@analog.com>; Rob Herring > <robh@kernel.org>; Krzysztof Kozlowski <krzk+dt@kernel.org>; Conor Dooley > <conor+dt@kernel.org>; Jonathan Corbet <corbet@lwn.net>; Alex Lanzano > <lanzano.alex@gmail.com>; linux-iio@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; linux- > doc@vger.kernel.org > Subject: Re: [PATCH v4 4/6] dt-bindings: iio: Add adis16550 bindings > > [External] > > On Sun, 2025-01-12 at 15:48 +0000, Jonathan Cameron wrote: > > On Fri, 10 Jan 2025 09:42:52 +0200 > > Robert Budai <robert.budai@analog.com> 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> > > > --- > > > > > > 4: > > > - applied styling changes to the bindings file > > > - restricted sync-mode to intervals 1-2 > > > > > > .../bindings/iio/imu/adi,adis16550.yaml | 96 +++++++++++++++++++ > > > MAINTAINERS | 9 ++ > > > 2 files changed, 105 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..e7ccf3883e55 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml > > > @@ -0,0 +1,96 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: > https://urldefense.com/v3/__http://devicetree.org/schemas/iio/imu/adi,adis > 16550.yaml*__;Iw!!A3Ni8CS0y2Y!74KHajr7iKZQ7Ld5deb4LytVFckO_Og8tIG > Ukf233OLregM6AqtN-v-IBRfAn-4Z1tC0bwbcEpNO7Glv8YjiXWI$ > > > +$schema: https://urldefense.com/v3/__http://devicetree.org/meta- > schemas/core.yaml*__;Iw!!A3Ni8CS0y2Y!74KHajr7iKZQ7Ld5deb4LytVFckO_ > Og8tIGUkf233OLregM6AqtN-v-IBRfAn-4Z1tC0bwbcEpNO7GlvNAV5ERI$ > > > + > > > +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: > > > + RESET active low pin. > > > + maxItems: 1 > > > + > > > + clocks: > > > + maxItems: 1 > > > + description: If not provided, then the internal clock is used. > > > + > > > + adi,sync-mode: > > > + description: > > > + Configures the device SYNC pin. The following modes are supported > > > + 0 - output_sync > > > + 1 - direct_sync > > > + 2 - scaled_sync > > > > A little more on these would be good. They are 'weird' options > > that are not commonly seen so help the reader out. > > > > For scaled_sync don't we need information on the scale for it to be useful? > > If we had that then a value of 1 would mean direct sync and wouldn't need > > another control. > > > > I'm not fully understanding the usecases for this. > > > > If we have a say a pulse per second input, the control of the scale should > > be userspace anyway. So maybe this maps to the input clock that we can > elect > > to > > use and control the effective frequency of by using scaled sync? > > I guess you likely already saw it in the driver. The scale value is > automatically set by the driver depending on the desired ODR (sampling > frequency). > > > > > I'm not sure what pulse sync is. Grepping the datasheet didn't give me > > anything that seemed related. The sync pin is input only so I'm also > > not sure on output sync. > > I think this is a copy paste from the adis16475 bindings. For this device, it > seems we only have: > * internal clock; > * external: > * direct mode > * scaled mode > > But yeah, as you pointed out I think we do not need the binding. The presence > of > an optional input clock plus the frequency should be all we need in order to set > the desired configuration. It should also be possible to add the allowed ranges > to the external input clock in the bindings... > > > - Nuno Sá > Will drop this binding than and add a frequency one that is dependent on clock with specified ranges. - Robert Budai
On Mon, 2025-01-13 at 14:22 +0000, Budai, Robert wrote: > > > > -----Original Message----- > > From: Nuno Sá <noname.nuno@gmail.com> > > Sent: Monday, January 13, 2025 11:30 AM > > To: Jonathan Cameron <jic23@kernel.org>; Budai, Robert > > <Robert.Budai@analog.com> > > Cc: Sa, Nuno <Nuno.Sa@analog.com>; Gradinariu, Ramona > > <Ramona.Gradinariu@analog.com>; Miclaus, Antoniu > > <Antoniu.Miclaus@analog.com>; Lars-Peter Clausen <lars@metafoo.de>; > > Hennerich, Michael <Michael.Hennerich@analog.com>; Rob Herring > > <robh@kernel.org>; Krzysztof Kozlowski <krzk+dt@kernel.org>; Conor Dooley > > <conor+dt@kernel.org>; Jonathan Corbet <corbet@lwn.net>; Alex Lanzano > > <lanzano.alex@gmail.com>; linux-iio@vger.kernel.org; > > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; linux- > > doc@vger.kernel.org > > Subject: Re: [PATCH v4 4/6] dt-bindings: iio: Add adis16550 bindings > > > > [External] > > > > On Sun, 2025-01-12 at 15:48 +0000, Jonathan Cameron wrote: > > > On Fri, 10 Jan 2025 09:42:52 +0200 > > > Robert Budai <robert.budai@analog.com> 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> > > > > --- > > > > > > > > 4: > > > > - applied styling changes to the bindings file > > > > - restricted sync-mode to intervals 1-2 > > > > > > > > .../bindings/iio/imu/adi,adis16550.yaml | 96 +++++++++++++++++++ > > > > MAINTAINERS | 9 ++ > > > > 2 files changed, 105 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..e7ccf3883e55 > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml > > > > @@ -0,0 +1,96 @@ > > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > > +%YAML 1.2 > > > > +--- > > > > +$id: > > https://urldefense.com/v3/__http://devicetree.org/schemas/iio/imu/adi,adis > > 16550.yaml*__;Iw!!A3Ni8CS0y2Y!74KHajr7iKZQ7Ld5deb4LytVFckO_Og8tIG > > Ukf233OLregM6AqtN-v-IBRfAn-4Z1tC0bwbcEpNO7Glv8YjiXWI$ > > > > +$schema: https://urldefense.com/v3/__http://devicetree.org/meta- > > schemas/core.yaml*__;Iw!!A3Ni8CS0y2Y!74KHajr7iKZQ7Ld5deb4LytVFckO_ > > Og8tIGUkf233OLregM6AqtN-v-IBRfAn-4Z1tC0bwbcEpNO7GlvNAV5ERI$ > > > > + > > > > +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: > > > > + RESET active low pin. > > > > + maxItems: 1 > > > > + > > > > + clocks: > > > > + maxItems: 1 > > > > + description: If not provided, then the internal clock is used. > > > > + > > > > + adi,sync-mode: > > > > + description: > > > > + Configures the device SYNC pin. The following modes are supported > > > > + 0 - output_sync > > > > + 1 - direct_sync > > > > + 2 - scaled_sync > > > > > > A little more on these would be good. They are 'weird' options > > > that are not commonly seen so help the reader out. > > > > > > For scaled_sync don't we need information on the scale for it to be > > > useful? > > > If we had that then a value of 1 would mean direct sync and wouldn't need > > > another control. > > > > > > I'm not fully understanding the usecases for this. > > > > > > If we have a say a pulse per second input, the control of the scale should > > > be userspace anyway. So maybe this maps to the input clock that we can > > elect > > > to > > > use and control the effective frequency of by using scaled sync? > > > > I guess you likely already saw it in the driver. The scale value is > > automatically set by the driver depending on the desired ODR (sampling > > frequency). > > > > > > > > I'm not sure what pulse sync is. Grepping the datasheet didn't give me > > > anything that seemed related. The sync pin is input only so I'm also > > > not sure on output sync. > > > > I think this is a copy paste from the adis16475 bindings. For this device, > > it > > seems we only have: > > * internal clock; > > * external: > > * direct mode > > * scaled mode > > > > But yeah, as you pointed out I think we do not need the binding. The > > presence > > of > > an optional input clock plus the frequency should be all we need in order to > > set > > the desired configuration. It should also be possible to add the allowed > > ranges > > to the external input clock in the bindings... > > > > > > - Nuno Sá > > > Will drop this binding than and add a frequency one that is dependent on clock > with specified ranges. > Note I would not add a new binding if there's no standard one. My previous comment can be misleading... I see there is a 'clock-frequency' property in the clock schema but descriptions says it's legacy and apparently for fixed-clocks. So maybe not suitable for this case? - Nuno Sá
> -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: Monday, January 13, 2025 10:44 AM > To: Budai, Robert <Robert.Budai@analog.com> > Cc: Sa, Nuno <Nuno.Sa@analog.com>; Gradinariu, Ramona > <Ramona.Gradinariu@analog.com>; Miclaus, Antoniu > <Antoniu.Miclaus@analog.com>; Lars-Peter Clausen <lars@metafoo.de>; > Hennerich, Michael <Michael.Hennerich@analog.com>; Jonathan Cameron > <jic23@kernel.org>; Rob Herring <robh@kernel.org>; Krzysztof Kozlowski > <krzk+dt@kernel.org>; Conor Dooley <conor+dt@kernel.org>; Jonathan > Corbet <corbet@lwn.net>; Alex Lanzano <lanzano.alex@gmail.com>; linux- > iio@vger.kernel.org; devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; > linux-doc@vger.kernel.org > Subject: Re: [PATCH v4 4/6] dt-bindings: iio: Add adis16550 bindings > > [External] > > On Fri, Jan 10, 2025 at 09:42:52AM +0200, Robert Budai wrote: > > +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 > > Where is the answer for my questions at v1? No responses on email, > nothing improved in the patchset. Go back to my comments and respond to > them or implement them. > [Robert Budai
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..e7ccf3883e55 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yaml @@ -0,0 +1,96 @@ +# 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: + RESET active low pin. + maxItems: 1 + + clocks: + maxItems: 1 + description: If not provided, then the internal clock is used. + + adi,sync-mode: + description: + Configures the device SYNC pin. The following modes are supported + 0 - output_sync + 1 - direct_sync + 2 - scaled_sync + 3 - pulse_sync + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 1 + maximum: 2 + +required: + - compatible + - reg + - interrupts + - spi-cpha + - spi-cpol + - spi-max-frequency + - vdd-supply + +allOf: + - if: + properties: + adi,sync-mode: + const: 2 + + then: + dependencies: + adi,sync-mode: [ clocks ] + + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +unevaluatedProperties: 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 30cbc3d44cd5..89ef9571e025 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1453,6 +1453,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