linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Griffin <peter.griffin@linaro.org>
To: Lee Jones <lee.jones@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, srinivas.kandagatla@gmail.com,
	maxime.coquelin@st.com, patrice.chotard@st.com,
	vinod.koul@intel.com, dan.j.williams@intel.com,
	devicetree@vger.kernel.org, dmaengine@vger.kernel.org,
	ludovic.barre@st.com
Subject: Re: [PATCH 5/7] ARM: STi: DT: STiH407: Add FDMA driver and xbar driver dt nodes.
Date: Thu, 3 Sep 2015 15:12:11 +0100	[thread overview]
Message-ID: <20150903141211.GA5120@griffinp-ThinkPad-X1-Carbon-2nd> (raw)
In-Reply-To: <20150826074620.GV19409@x1>

Hi Lee,

On Wed, 26 Aug 2015, Lee Jones wrote:

> On Wed, 08 Jul 2015, Peter Griffin wrote:
> 
> > These nodes are required to get the fdma and xbar driver working
> > on STiH407 based silicon.
> > 
> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > ---
> >  arch/arm/boot/dts/stih407-family.dtsi | 59 +++++++++++++++++++++++++++++++++++
> >  1 file changed, 59 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
> > index 838b812..b6d9e20 100644
> > --- a/arch/arm/boot/dts/stih407-family.dtsi
> > +++ b/arch/arm/boot/dts/stih407-family.dtsi
> > @@ -565,5 +565,64 @@
> >  						  <&phy_port2 PHY_TYPE_USB3>;
> >  			};
> >  		};
> > +
> > +		xbar0: fdma-xbar-mpe@0 {
> 
> The unit address should match the one in the reg property.

Will fix in v2.

> 
> > +			compatible = "st,fdma-xbar-1.0";
> 
> Is that a version number in the compatible string?

Yes it is the version number of the IP.

> 
> > +			reg = <0x8e80000 0x1000>;
> > +			dma-requests = <79>;
> > +			#st,fdma-xbar-cells = <1>;
> 
> Why can't FDMA use the generic DMA properties?

Well the FDMA controller does, but this is a seperate piece of hw
which is really a router rather than a controller.

However I plan on temporarily removing xbar from this series,
as I think it should be re-worked to use the of_dma_router_register
and friends provided by the TI xbar driver.

It looks like the two xbar hw are serving a very similar purpose,
so once that re-work is done it can also use generic DMA propoerties
as I believe using that framework it will get registered as a controller.
> 
> > +		};
> > +
> > +		fdma0: fdma-audio@0 {
> 
> Same comment as above.

Will fix in v2.

> 
> > +			compatible = "st,fdma_mpe31";
> 
> DT doesn't usually like underscores.

Obviously I can trivially change it, but out of interest is there
a technical reason for doing so? Clearly it works OK with
an underscore and a quick grep reveals a lot of ste, and some tegra
and vexpress compatibles using underscore as well.

> 
> > +			reg = <0x8e20000 0x20000>;
> > +			interrupts = <GIC_SPI 5 IRQ_TYPE_NONE>;
> > +			dma-channels = <16>;
> > +			#dma-cells = <3>;
> > +			st,fw-name = "fdma_STiH407_0.elf";
> 
> I've bought this up before somewhere (although there doesn't appear to
> be a Firmware Maintainer), surely we should define a generic binding
> for passing firmware names?  Many vendors are going to require it.

A generic binding would certainly be useful.

>From what I can see TI are using: -

    ti,pm-firmware in wkup_m3_rproc.c

and Freescale are using: -

fsl,sdma-ram-script-name in imx-sdma.c

So other platforms are putting it in device tree, there are probably other
examples.

Most other STi drivers keep the firmware name in the C code, which is
usually my first preference. However with fdma it is more comlicated
as there is a seperate firmware file for each instance of the IP block.

I will see if there is a way to remove this from DT and keep it in
the driver.

> 
> > +			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
> > +				 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
> > +				 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
> > +				 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
> > +			clock-names = "fdma_slim",
> > +				      "fdma_hi",
> > +				      "fdma_low",
> > +				      "fdma_ic";
> > +		};
> > +
> > +		fdma1: fdma-app@1 {
> 
> As above.

Will fix
> 
> > +			compatible = "st,fdma_mpe31";
> 
> As above.

Will fix
> 
> > +			reg = <0x8e40000 0x20000>;
> > +			interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>;
> > +			dma-channels = <16>;
> > +			#dma-cells = <3>;
> > +			st,fdma-xbar = <&xbar0 0>;
> > +			st,fw-name = "fdma_STiH407_1.elf";
> > +			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
> > +				 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
> > +				 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
> > +				 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
> > +			clock-names = "fdma_slim",
> > +				      "fdma_hi",
> > +				      "fdma_low",
> > +				      "fdma_ic";
> > +		};
> > +
> > +		fdma2: fdma-free_running@2 {
> > +			compatible = "st,fdma_mpe31";
> > +			reg = <0x8e60000 0x20000>;
> > +			interrupts = <GIC_SPI 9 IRQ_TYPE_NONE>;
> > +			dma-channels = <16>;
> > +			#dma-cells = <3>;
> > +			st,fw-name = "fdma_STiH407_2.elf";
> > +			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
> > +				 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
> > +				 <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> > +				 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
> > +			clock-names = "fdma_slim",
> > +				      "fdma_hi",
> > +				      "fdma_low",
> > +				      "fdma_ic";
> > +		};
> >  	};
> >  };
> 
> -- 
> Lee Jones
> Linaro STMicroelectronics Landing Team Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog

regards,

Peter.

  reply	other threads:[~2015-09-03 14:12 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-08 16:11 [PATCH 0/7] Add support for FDMA DMA controller found on STi chipsets Peter Griffin
2015-07-08 16:11 ` [PATCH 1/7] dmaengine: st_fdma: Add STMicroelectronics FDMA DT binding documentation Peter Griffin
2015-08-19 15:06   ` Vinod Koul
2015-08-25 17:08     ` Peter Griffin
2015-08-26  7:12       ` Lee Jones
2015-09-03  9:18         ` Peter Griffin
2015-07-08 16:11 ` [PATCH 2/7] dmaengine: st_fdma: Add STMicroelectronics FDMA xbar " Peter Griffin
2015-07-08 16:11 ` [PATCH 3/7] dmaengine: st_fdma: Add STMicroelectronics FDMA engine driver support Peter Griffin
2015-07-09  8:17   ` Paul Bolle
2015-08-28 17:59     ` Peter Griffin
2015-08-31  7:49     ` Maxime Coquelin
2015-08-31  8:08       ` Paul Bolle
2015-08-31  8:44         ` Maxime Coquelin
2015-08-19 15:40   ` Vinod Koul
2015-09-02 17:42     ` Peter Griffin
2015-07-08 16:11 ` [PATCH 4/7] dmaengine: st_fdma: Add xbar support Peter Griffin
2015-07-09  8:27   ` Paul Bolle
2015-07-08 16:11 ` [PATCH 5/7] ARM: STi: DT: STiH407: Add FDMA driver and xbar driver dt nodes Peter Griffin
2015-08-26  7:46   ` Lee Jones
2015-09-03 14:12     ` Peter Griffin [this message]
2015-07-08 16:11 ` [PATCH 6/7] MAINTAINERS: Add FDMA driver files to STi section Peter Griffin
2015-08-26  7:33   ` Lee Jones
2015-09-02 15:14     ` Peter Griffin
2015-07-08 16:11 ` [PATCH 7/7] ARM: multi_v7_defconfig: Enable STi FDMA driver Peter Griffin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150903141211.GA5120@griffinp-ThinkPad-X1-Carbon-2nd \
    --to=peter.griffin@linaro.org \
    --cc=dan.j.williams@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ludovic.barre@st.com \
    --cc=maxime.coquelin@st.com \
    --cc=patrice.chotard@st.com \
    --cc=srinivas.kandagatla@gmail.com \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).