Re: [PATCH v2 1/9] dt-bindings: iio: dac: ad3552r: add io-backend property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 08, 2024 at 01:29:25PM +0100, Jonathan Cameron wrote:
> On Thu, 05 Sep 2024 17:17:31 +0200
> Angelo Dureghello <adureghello@xxxxxxxxxxxx> wrote:
> 
> > From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
> > 
> > There is a version AXI DAC IP block (for FPGAs) that provides
> > a physical bus for AD3552R and similar chips. This can be used
> > instead of a typical SPI controller to be able to use the chip
> > in ways that typical SPI controllers are not capable of.
> > 
> > The binding is modified so that either the device is a SPI
> > peripheral or it uses an io-backend.
> > 
> > Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
> 
> >  
> >  required:
> >    - compatible
> > -  - reg
> > -  - spi-max-frequency
> Sort of feels like both reg and spi-max-frequency
> are valid things to specify. 
> 
> Maybe we have an excellent IP and dodgy wiring so want
> to clamp the frequency (long term - don't need to support
> in the driver today).
> 
> Maybe we have an axi_dac IP that supports multiple
> front end devices?  So maybe just keep reg?

I'd like to be convinced that this incarnation of the AXI DAC IP is not
a spi controller and that a ref to spi-controller.yaml is not out of
place here. It may not be something that you'd ever use generally, given
the "weird" interface to it, but it does seem to be one regardless.

I'd also really like to know how this fits in with spi-offloads. It
/feels/, and I'd like to reiterate the word feels, like a rather similar
idea just applied to a DAC instead of an ADC. We kinda hit a dead end
with generalising the spi-offload stuff due to lack of similar devices,
but maybe we were looking for other ADCs when instead it should have
been at all other types of IIO device?

> >  
> >  additionalProperties: false
> >  
> > @@ -238,4 +254,26 @@ examples:
> >              };
> >          };
> >      };
> > +
> > +  - |
> > +    backend: axi_dac@44a70000 {

"axi_dac":
- no underscores in node names please
- shouldn't it be "io-backend@" or something like that? Or even
  spi@? axi_dac isn't a class of device, and this device is not, AFAICT
  a DAC at all since the ad3552r is what actually does the conversion.

Cheers,
Conor.

> > +        compatible = "adi,axi-dac-ad3552r";
> > +        reg = <0x44a70000 0x1000>;
> > +        dmas = <&dac_tx_dma 0>;
> > +        dma-names = "tx";
> > +        #io-backend-cells = <0>;
> > +        clocks = <&ref_clk>;
> > +        dac {
> > +            compatible = "adi,ad3552r";
> > +            reset-gpios = <&gpio0 92 1>;
> > +            io-backends = <&backend>;
> > +            #address-cells = <1>;
> > +            #size-cells = <0>;
> > +            channel@0 {
> > +                reg = <0>;
> > +                adi,output-range-microvolt = <(-10000000) (10000000)>;
> > +            };
> > +        };
> > +    };
> > +
> >  ...
> > 
> 

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux