Message ID | 20240328-iio-backend-axi-dac-v1-6-afc808b3fde3@analog.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | iio: dac: support IIO backends on the output direction | expand |
On Thu, Mar 28, 2024 at 8:22 AM Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote: > > From: Nuno Sa <nuno.sa@analog.com> > > This adds the bindings documentation for the AXI DAC driver. > > Signed-off-by: Nuno Sa <nuno.sa@analog.com> > --- > .../devicetree/bindings/iio/dac/adi,axi-dac.yaml | 62 ++++++++++++++++++++++ > MAINTAINERS | 7 +++ > 2 files changed, 69 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > new file mode 100644 > index 000000000000..1018fd274f04 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > @@ -0,0 +1,62 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/dac/adi,axi-dac.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices AXI DAC IP core > + > +maintainers: > + - Nuno Sa <nuno.sa@analog.com> > + > +description: | > + Analog Devices Generic AXI DAC IP core for interfacing a DAC device > + with a high speed serial (JESD204B/C) or source synchronous parallel > + interface (LVDS/CMOS). > + Usually, some other interface type (i.e SPI) is used as a control > + interface for the actual DAC, while this IP core will interface > + to the data-lines of the DAC and handle the streaming of data into > + memory via DMA. Isn't it the other way around for DAC, from memory to hardware?
On Thu, Mar 28, 2024 at 02:22:30PM +0100, Nuno Sa wrote: > This adds the bindings documentation for the AXI DAC driver. Bindings are for h/w blocks, not 'drivers'. Reword the subject to only say 'bindings' once. > Signed-off-by: Nuno Sa <nuno.sa@analog.com> > --- > .../devicetree/bindings/iio/dac/adi,axi-dac.yaml | 62 ++++++++++++++++++++++ > MAINTAINERS | 7 +++ > 2 files changed, 69 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > new file mode 100644 > index 000000000000..1018fd274f04 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > @@ -0,0 +1,62 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/dac/adi,axi-dac.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices AXI DAC IP core > + > +maintainers: > + - Nuno Sa <nuno.sa@analog.com> > + > +description: | > + Analog Devices Generic AXI DAC IP core for interfacing a DAC device > + with a high speed serial (JESD204B/C) or source synchronous parallel > + interface (LVDS/CMOS). > + Usually, some other interface type (i.e SPI) is used as a control > + interface for the actual DAC, while this IP core will interface > + to the data-lines of the DAC and handle the streaming of data into > + memory via DMA. > + > + https://wiki.analog.com/resources/fpga/docs/axi_dac_ip > + > +properties: > + compatible: > + enum: > + - adi,axi-dac-9.1.b > + > + reg: > + maxItems: 1 > + > + dmas: > + maxItems: 1 > + > + dma-names: > + items: > + - const: tx You don't need *-names if there is only 1 entry. > + > + clocks: > + maxItems: 1 > + > + '#io-backend-cells': > + const: 0 > + > +required: > + - compatible > + - dmas > + - reg > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + dac@44a00000 { > + compatible = "adi,axi-dac-9.1.b"; > + reg = <0x44a00000 0x10000>; > + dmas = <&tx_dma 0>; > + dma-names = "tx"; > + #io-backend-cells = <0>; > + clocks = <&axi_clk>; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index a7287cf44869..2137eb452376 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1399,6 +1399,13 @@ F: sound/soc/codecs/adav* > F: sound/soc/codecs/sigmadsp.* > F: sound/soc/codecs/ssm* > > +ANALOG DEVICES INC AXI DAC DRIVER > +M: Nuno Sa <nuno.sa@analog.com> > +L: linux-iio@vger.kernel.org > +S: Supported > +W: https://ez.analog.com/linux-software-drivers > +F: Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > + > ANALOG DEVICES INC DMA DRIVERS > M: Lars-Peter Clausen <lars@metafoo.de> > S: Supported > > -- > 2.44.0 >
On Fri, 2024-03-29 at 13:46 -0500, David Lechner wrote: > On Thu, Mar 28, 2024 at 8:22 AM Nuno Sa via B4 Relay > <devnull+nuno.sa.analog.com@kernel.org> wrote: > > > > From: Nuno Sa <nuno.sa@analog.com> > > > > This adds the bindings documentation for the AXI DAC driver. > > > > Signed-off-by: Nuno Sa <nuno.sa@analog.com> > > --- > > .../devicetree/bindings/iio/dac/adi,axi-dac.yaml | 62 ++++++++++++++++++++++ > > MAINTAINERS | 7 +++ > > 2 files changed, 69 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > > b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > > new file mode 100644 > > index 000000000000..1018fd274f04 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > > @@ -0,0 +1,62 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/iio/dac/adi,axi-dac.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Analog Devices AXI DAC IP core > > + > > +maintainers: > > + - Nuno Sa <nuno.sa@analog.com> > > + > > +description: | > > + Analog Devices Generic AXI DAC IP core for interfacing a DAC device > > + with a high speed serial (JESD204B/C) or source synchronous parallel > > + interface (LVDS/CMOS). > > + Usually, some other interface type (i.e SPI) is used as a control > > + interface for the actual DAC, while this IP core will interface > > + to the data-lines of the DAC and handle the streaming of data into > > + memory via DMA. > > Isn't it the other way around for DAC, from memory to hardware? Good catch! Yes, copy paste from the axi-adc and obviously missed this :) - Nuno Sá
On Mon, 2024-04-01 at 08:59 -0500, Rob Herring wrote: > On Thu, Mar 28, 2024 at 02:22:30PM +0100, Nuno Sa wrote: > > This adds the bindings documentation for the AXI DAC driver. > > Bindings are for h/w blocks, not 'drivers'. > > Reword the subject to only say 'bindings' once. > > > > Signed-off-by: Nuno Sa <nuno.sa@analog.com> > > --- > > .../devicetree/bindings/iio/dac/adi,axi-dac.yaml | 62 > > ++++++++++++++++++++++ > > MAINTAINERS | 7 +++ > > 2 files changed, 69 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > > b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > > new file mode 100644 > > index 000000000000..1018fd274f04 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml > > @@ -0,0 +1,62 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/iio/dac/adi,axi-dac.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Analog Devices AXI DAC IP core > > + > > +maintainers: > > + - Nuno Sa <nuno.sa@analog.com> > > + > > +description: | > > + Analog Devices Generic AXI DAC IP core for interfacing a DAC device > > + with a high speed serial (JESD204B/C) or source synchronous parallel > > + interface (LVDS/CMOS). > > + Usually, some other interface type (i.e SPI) is used as a control > > + interface for the actual DAC, while this IP core will interface > > + to the data-lines of the DAC and handle the streaming of data into > > + memory via DMA. > > + > > + https://wiki.analog.com/resources/fpga/docs/axi_dac_ip > > + > > +properties: > > + compatible: > > + enum: > > + - adi,axi-dac-9.1.b > > + > > + reg: > > + maxItems: 1 > > + > > + dmas: > > + maxItems: 1 > > + > > + dma-names: > > + items: > > + - const: tx > > You don't need *-names if there is only 1 entry. Looking at the dmaengine code [1], it actually looks like I should have this property required, no? [1]: https://elixir.bootlin.com/linux/v6.9-rc2/source/drivers/dma/of-dma.c#L270 - Nuno Sá
diff --git a/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml new file mode 100644 index 000000000000..1018fd274f04 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/dac/adi,axi-dac.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices AXI DAC IP core + +maintainers: + - Nuno Sa <nuno.sa@analog.com> + +description: | + Analog Devices Generic AXI DAC IP core for interfacing a DAC device + with a high speed serial (JESD204B/C) or source synchronous parallel + interface (LVDS/CMOS). + Usually, some other interface type (i.e SPI) is used as a control + interface for the actual DAC, while this IP core will interface + to the data-lines of the DAC and handle the streaming of data into + memory via DMA. + + https://wiki.analog.com/resources/fpga/docs/axi_dac_ip + +properties: + compatible: + enum: + - adi,axi-dac-9.1.b + + reg: + maxItems: 1 + + dmas: + maxItems: 1 + + dma-names: + items: + - const: tx + + clocks: + maxItems: 1 + + '#io-backend-cells': + const: 0 + +required: + - compatible + - dmas + - reg + - clocks + +additionalProperties: false + +examples: + - | + dac@44a00000 { + compatible = "adi,axi-dac-9.1.b"; + reg = <0x44a00000 0x10000>; + dmas = <&tx_dma 0>; + dma-names = "tx"; + #io-backend-cells = <0>; + clocks = <&axi_clk>; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index a7287cf44869..2137eb452376 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1399,6 +1399,13 @@ F: sound/soc/codecs/adav* F: sound/soc/codecs/sigmadsp.* F: sound/soc/codecs/ssm* +ANALOG DEVICES INC AXI DAC DRIVER +M: Nuno Sa <nuno.sa@analog.com> +L: linux-iio@vger.kernel.org +S: Supported +W: https://ez.analog.com/linux-software-drivers +F: Documentation/devicetree/bindings/iio/dac/adi,axi-dac.yaml + ANALOG DEVICES INC DMA DRIVERS M: Lars-Peter Clausen <lars@metafoo.de> S: Supported