Re: [PATCH v2 05/12] dt-bindings: dma: Convert fsl,elo*-dma to YAML

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

 



On Fri, Feb 14, 2025 at 12:35:41PM +0000, J. Neuschäfer wrote:
> On Mon, Feb 10, 2025 at 02:39:13PM -0500, Frank Li wrote:
> > On Fri, Feb 07, 2025 at 10:30:22PM +0100, J. Neuschäfer via B4 Relay wrote:
> > > From: "J. Neuschäfer" <j.ne@xxxxxxxxxx>
> > >
> > > The devicetree bindings for Freescale DMA engines have so far existed as
> > > a text file. This patch converts them to YAML, and specifies all the
> > > compatible strings currently in use in arch/powerpc/boot/dts.
> > >
> > > Signed-off-by: J. Neuschäfer <j.ne@xxxxxxxxxx>
> > > ---
[...]
> > Need ref to dma-common.yaml?
> 
> Sounds good, but I'm not sure what to do about the #dma-cells property,
> which is required by dma-common.yaml.
> 
> There aren't many examples of DMA channels being explicitly declared in
> device trees. One example that I could find is the the xilinx_dma.txt
> binding:
> 
> 
> 	axi_vdma_0: axivdma@40030000 {
> 		compatible = "xlnx,axi-vdma-1.00.a";
> 		#dma_cells = <1>;
> 		reg = < 0x40030000 0x10000 >;
> 		dma-ranges = <0x00000000 0x00000000 0x40000000>;
> 		xlnx,num-fstores = <0x8>;
> 		xlnx,flush-fsync = <0x1>;
> 		xlnx,addrwidth = <0x20>;
> 		clocks = <&clk 0>, <&clk 1>, <&clk 2>, <&clk 3>, <&clk 4>;
> 		clock-names = "s_axi_lite_aclk", "m_axi_mm2s_aclk", "m_axi_s2mm_aclk",
> 			      "m_axis_mm2s_aclk", "s_axis_s2mm_aclk";
> 		dma-channel@40030000 {
> 			compatible = "xlnx,axi-vdma-mm2s-channel";
> 			interrupts = < 0 54 4 >;
> 			xlnx,datawidth = <0x40>;
> 		};
> 		dma-channel@40030030 {
> 			compatible = "xlnx,axi-vdma-s2mm-channel";
> 			interrupts = < 0 53 4 >;
> 			xlnx,datawidth = <0x40>;
> 		};
> 	};
> 
> 	...
> 
> 	vdmatest_0: vdmatest@0 {
> 		compatible ="xlnx,axi-vdma-test-1.00.a";
> 		dmas = <&axi_vdma_0 0
> 			&axi_vdma_0 1>;
> 		dma-names = "vdma0", "vdma1";
> 	};
> 
> It has #dma_cells (I'm sure #dma-cells was intended) on the controller.
> 
> 
> Another example is in arch/powerpc/boot/dts/fsl/p1022si-post.dtsi:
> 
> 	dma@c300 {
> 		dma00: dma-channel@0 {
> 			compatible = "fsl,ssi-dma-channel";
> 		};
> 		dma01: dma-channel@80 {
> 			compatible = "fsl,ssi-dma-channel";
> 		};
> 	};
> 
> 	...
> 
> 	ssi@15000 {
> 		compatible = "fsl,mpc8610-ssi";
> 		cell-index = <0>;
> 		reg = <0x15000 0x100>;
> 		interrupts = <75 2 0 0>;
> 		fsl,playback-dma = <&dma00>;
> 		fsl,capture-dma = <&dma01>;
> 		fsl,fifo-depth = <15>;
> 	};
> 
> 
> There, the DMA channels are used directly and without additional
> information (i.e. #dma-cells = <0>, althought it isn't specified).

I had another look at dma-common.yaml and it explicitly requires
#dma-cells to have a value of at least 1, so this second idea won't
work.


Best regards,
J. Neuschäfer




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux