Re: [PATCH v4 4/6] dt-bindings: iio: Add adis16550 bindings
From: Nuno Sá <hidden>
Date: 2025-01-14 08:19:20
Also in:
linux-doc, linux-iio, lkml
On Mon, 2025-01-13 at 14:22 +0000, Budai, Robert wrote:
quoted
-----Original Message----- From: Nuno Sá <redacted> Sent: Monday, January 13, 2025 11:30 AM To: Jonathan Cameron <jic23@kernel.org>; Budai, Robert [off-list ref] Cc: Sa, Nuno <Nuno.Sa@analog.com>; Gradinariu, Ramona [off-list ref]; Miclaus, Antoniu [off-list ref]; Lars-Peter Clausen [off-list ref]; Hennerich, Michael [off-list ref]; Rob Herring [off-list ref]; Krzysztof Kozlowski [off-list ref]; Conor Dooley [off-list ref]; Jonathan Corbet [off-list ref]; Alex Lanzano [off-list ref]; 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:quoted
On Fri, 10 Jan 2025 09:42:52 +0200 Robert Budai [off-list ref] wrote:quoted
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 --gita/Documentation/devicetree/bindings/iio/imu/adi,adis16550.yamlquoted
quoted
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$quoted
quoted
+$schema: https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!A3Ni8CS0y2Y!74KHajr7iKZQ7Ld5deb4LytVFckO_ Og8tIGUkf233OLregM6AqtN-v-IBRfAn-4Z1tC0bwbcEpNO7GlvNAV5ERI$quoted
quoted
+ +title: Analog Devices ADIS16550 and similar IMUs + +maintainers: + - Nuno Sa [off-list ref] + - Ramona Gradinariu [off-list ref] + - Antoniu Miclaus [off-list ref] + +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_syncA 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 canelectquoted
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).quoted
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á