[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <gojq6ardhvt6vcs2kawdhdn2cj6qbpzp4p5mjjgwsypuatm5eo@3u6k4q7le46s>
Date: Sun, 22 Sep 2024 23:02:51 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Angelo Dureghello <adureghello@...libre.com>
Cc: Lars-Peter Clausen <lars@...afoo.de>,
Michael Hennerich <Michael.Hennerich@...log.com>, Nuno Sa <nuno.sa@...log.com>,
Jonathan Cameron <jic23@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Olivier Moysan <olivier.moysan@...s.st.com>, linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, dlechner@...libre.com
Subject: Re: [PATCH v3 04/10] dt-bindings: iio: dac: ad3552r: add io-backend
support
On Thu, Sep 19, 2024 at 11:20:00AM +0200, Angelo Dureghello wrote:
> From: Angelo Dureghello <adureghello@...libre.com>
>
> There is a version AXI DAC IP block (for FPGAs) that provides
> a physical bus for AD3552R and similar chips, and acts as
> an SPI controller.
>
> For this case, the binding is modified to include some
> additional properties.
>
> Signed-off-by: Angelo Dureghello <adureghello@...libre.com>
> ---
> .../devicetree/bindings/iio/dac/adi,ad3552r.yaml | 42 ++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
> index 41fe00034742..aca4a41c2633 100644
> --- a/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
> +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
> @@ -60,6 +60,18 @@ properties:
> $ref: /schemas/types.yaml#/definitions/uint32
> enum: [0, 1, 2, 3]
>
> + io-backends:
> + description: The iio backend reference.
> + An example backend can be found at
> + https://analogdevicesinc.github.io/hdl/library/axi_ad3552r/index.html
> + maxItems: 1
> +
> + adi,synchronous-mode:
> + description: Enable waiting for external synchronization signal.
> + Some AXI IP configuration can implement a dual-IP layout, with internal
> + wirings for streaming synchronization.
> + type: boolean
> +
> '#address-cells':
> const: 1
>
> @@ -128,6 +140,7 @@ patternProperties:
> - custom-output-range-config
>
> allOf:
> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> - if:
> properties:
> compatible:
> @@ -238,4 +251,33 @@ examples:
> };
> };
> };
> +
> + - |
> + axi_dac: spi@...70000 {
> + compatible = "adi,axi-ad3552r";
That is either redundant or entire example should go to the parent node,
if this device is fixed child of complex device (IOW, adi,ad3552r cannot
be used outside of adi,axi-ad3552r).
> + reg = <0x44a70000 0x1000>;
> + dmas = <&dac_tx_dma 0>;
> + dma-names = "tx";
> + #io-backend-cells = <0>;
> + clocks = <&ref_clk>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + dac@0 {
> + compatible = "adi,ad3552r";
> + reg = <0>;
> + reset-gpios = <&gpio0 92 0>;
Use standard defines for GPIO flags.
> + io-backends = <&axi_dac>;
Why do you need to point to the parent? How much coupled are these
devices? Child pointing to parent is not usually expected, because
that's obvious.
Best regards,
Krzysztof
Powered by blists - more mailing lists