Re: [PATCH v2 3/4] dt-bindings:iio:filter: add admv8818 doc

From: Jonathan Cameron
Date: Sat Nov 27 2021 - 11:39:19 EST


On Tue, 23 Nov 2021 15:38:59 +0200
Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> wrote:

> Add device tree bindings for the ADMV8818 Filter.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx>

This looks good to me. The clocks things does leave me a little
nervous though, so let's see what Rob thinks.

Key thing here is that these aren't typically clocks being used or
generated in an SoC, but rather high microwave signals that
we are filtering... It's useful to treat them as clocks to get
the filters to automatically adjust if the input frequency changes.

Jonathan

> ---
> changes in v2:
> - remove `bw-hz` dt property
> .../bindings/iio/filter/adi,admv8818.yaml | 69 +++++++++++++++++++
> 1 file changed, 69 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml b/Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
> new file mode 100644
> index 000000000000..93e08bcd8cb4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
> @@ -0,0 +1,69 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/filter/adi,admv8818.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ADMV8818 Digitally Tunable, High-Pass and Low-Pass Filter
> +
> +maintainers:
> + - Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx>
> +
> +description: |
> + Fully monolithic microwave integrated circuit (MMIC) that
> + features a digitally selectable frequency of operation.
> + The device features four independently controlled high-pass
> + filters (HPFs) and four independently controlled low-pass filters
> + (LPFs) that span the 2 GHz to 18 GHz frequency range.
> +
> + https://www.analog.com/en/products/admv8818.html
> +
> +properties:
> + compatible:
> + enum:
> + - adi,admv8818
> +
> + reg:
> + maxItems: 1
> +
> + spi-max-frequency:
> + maximum: 10000000
> +
> + clocks:
> + description:
> + Definition of the external clock.
> + minItems: 1
> +
> + clock-names:
> + items:
> + - const: rf_in
> +
> + clock-output-names:
> + maxItems: 1
> +
> + '#clock-cells':
> + const: 0
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + admv8818@0 {
> + compatible = "adi,admv8818";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> + clocks = <&admv8818_rfin>;
> + clock-names = "rf_in";
> + };
> + };
> +...
> +