* [PATCH 4/6] dmaengine: rcar-dmac: Add device tree bindings documentation [not found] <cover.1406766014.git.horms+renesas@verge.net.au> @ 2014-07-31 0:34 ` Simon Horman 2014-08-04 8:05 ` Geert Uytterhoeven 0 siblings, 1 reply; 5+ messages in thread From: Simon Horman @ 2014-07-31 0:34 UTC (permalink / raw) To: Vinod Koul Cc: dmaengine, linux-sh, Magnus Damm, Laurent Pinchart, devicetree, Simon Horman From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Document the device tree bindings for the R-Car Generation 2 DMA Controller (DMAC). Cc: devicetree@vger.kernel.org Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- .../devicetree/bindings/dma/renesas,rcar-dmac.txt | 98 ++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt diff --git a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt new file mode 100644 index 0000000..df0f48b --- /dev/null +++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt @@ -0,0 +1,98 @@ +* Renesas R-Car DMA Controller Device Tree bindings + +Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA +controller instances named DMAC capable of serving multiple clients. Channels +can be dedicated to specific clients or shared between a large number of +clients. + +DMA clients are connected to the DMAC ports referenced by an 8-bit identifier +called MID/RID. + +Each DMA client is connected to one dedicated port of the DMAC, identified by +an 8-bit port number called the MID/RID. A DMA controller can thus serve up to +256 clients in total. When the number of hardware channels is lower than the +number of clients to be served, channels must be shared between multiple DMA +clients. The association of DMA clients to DMAC channels is fully dynamic and +not described in these device tree bindings. + +Required Properties: + +- compatible: must contain "renesas,rcar-dmac" + +- reg: base address and length of the registers block for the DMAC + +- interrupts: interrupt specifiers for the DMAC, one for each entry in + interrupt-names. +- interrupt-names: one entry per channel, named "ch%u", where %u is the + channel number ranging from zero to the number of channels minus one. + +- clock-names: "fck" for the functional clock +- clocks: a list of phandle + clock-specifier pairs, one for each entry + in clock-names. +- clock-names: must contain "fck" for the functional clock. + +- #dma-cells: must be <1>, the cell specifies the MID/RID of the DMAC port + connected to the DMA client +- dma-channels: number of DMA channels + +Example: R8A7790 (R-Car H2) SYS-DMACs + + dmac0: dma-controller@e6700000 { + compatible = "renesas,rcar-dmac"; + reg = <0 0xe6700000 0 0x20000>; + interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH + 0 200 IRQ_TYPE_LEVEL_HIGH + 0 201 IRQ_TYPE_LEVEL_HIGH + 0 202 IRQ_TYPE_LEVEL_HIGH + 0 203 IRQ_TYPE_LEVEL_HIGH + 0 204 IRQ_TYPE_LEVEL_HIGH + 0 205 IRQ_TYPE_LEVEL_HIGH + 0 206 IRQ_TYPE_LEVEL_HIGH + 0 207 IRQ_TYPE_LEVEL_HIGH + 0 208 IRQ_TYPE_LEVEL_HIGH + 0 209 IRQ_TYPE_LEVEL_HIGH + 0 210 IRQ_TYPE_LEVEL_HIGH + 0 211 IRQ_TYPE_LEVEL_HIGH + 0 212 IRQ_TYPE_LEVEL_HIGH + 0 213 IRQ_TYPE_LEVEL_HIGH + 0 214 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "error", + "ch0", "ch1", "ch2", "ch3", + "ch4", "ch5", "ch6", "ch7", + "ch8", "ch9", "ch10", "ch11", + "ch12", "ch13", "ch14"; + clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC0>; + clock-names = "fck"; + #dma-cells = <1>; + dma-channels = <15>; + }; + + dmac1: dma-controller@e6720000 { + compatible = "renesas,rcar-dmac"; + reg = <0 0xe6720000 0 0x20000>; + interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH + 0 216 IRQ_TYPE_LEVEL_HIGH + 0 217 IRQ_TYPE_LEVEL_HIGH + 0 218 IRQ_TYPE_LEVEL_HIGH + 0 219 IRQ_TYPE_LEVEL_HIGH + 0 308 IRQ_TYPE_LEVEL_HIGH + 0 309 IRQ_TYPE_LEVEL_HIGH + 0 310 IRQ_TYPE_LEVEL_HIGH + 0 311 IRQ_TYPE_LEVEL_HIGH + 0 312 IRQ_TYPE_LEVEL_HIGH + 0 313 IRQ_TYPE_LEVEL_HIGH + 0 314 IRQ_TYPE_LEVEL_HIGH + 0 315 IRQ_TYPE_LEVEL_HIGH + 0 316 IRQ_TYPE_LEVEL_HIGH + 0 317 IRQ_TYPE_LEVEL_HIGH + 0 318 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "error", + "ch0", "ch1", "ch2", "ch3", + "ch4", "ch5", "ch6", "ch7", + "ch8", "ch9", "ch10", "ch11", + "ch12", "ch13", "ch14"; + clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC1>; + clock-names = "fck"; + #dma-cells = <1>; + dma-channels = <15>; + }; -- 2.0.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 4/6] dmaengine: rcar-dmac: Add device tree bindings documentation 2014-07-31 0:34 ` [PATCH 4/6] dmaengine: rcar-dmac: Add device tree bindings documentation Simon Horman @ 2014-08-04 8:05 ` Geert Uytterhoeven 2014-08-04 14:01 ` Laurent Pinchart 0 siblings, 1 reply; 5+ messages in thread From: Geert Uytterhoeven @ 2014-08-04 8:05 UTC (permalink / raw) To: Simon Horman Cc: Vinod Koul, dmaengine, Linux-sh list, Magnus Damm, Laurent Pinchart, devicetree@vger.kernel.org On Thu, Jul 31, 2014 at 2:34 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > --- /dev/null > +++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt > @@ -0,0 +1,98 @@ > +* Renesas R-Car DMA Controller Device Tree bindings > + > +Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA > +controller instances named DMAC capable of serving multiple clients. Channels > +can be dedicated to specific clients or shared between a large number of > +clients. > + > +DMA clients are connected to the DMAC ports referenced by an 8-bit identifier > +called MID/RID. I think the above sentence can be removed, as it's superseded by the first sentence of the successive paragraph: > + > +Each DMA client is connected to one dedicated port of the DMAC, identified by > +an 8-bit port number called the MID/RID. A DMA controller can thus serve up to > +256 clients in total. When the number of hardware channels is lower than the > +number of clients to be served, channels must be shared between multiple DMA > +clients. The association of DMA clients to DMAC channels is fully dynamic and > +not described in these device tree bindings. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 4/6] dmaengine: rcar-dmac: Add device tree bindings documentation 2014-08-04 8:05 ` Geert Uytterhoeven @ 2014-08-04 14:01 ` Laurent Pinchart 2014-08-05 1:46 ` Simon Horman 0 siblings, 1 reply; 5+ messages in thread From: Laurent Pinchart @ 2014-08-04 14:01 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Simon Horman, Vinod Koul, dmaengine, Linux-sh list, Magnus Damm, Laurent Pinchart, devicetree@vger.kernel.org Hi Geert, Thank you for the review. On Monday 04 August 2014 10:05:49 Geert Uytterhoeven wrote: > On Thu, Jul 31, 2014 at 2:34 AM, Simon Horman wrote: > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt > > @@ -0,0 +1,98 @@ > > +* Renesas R-Car DMA Controller Device Tree bindings > > + > > +Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA > > +controller instances named DMAC capable of serving multiple clients. > > Channels +can be dedicated to specific clients or shared between a large > > number of +clients. > > + > > +DMA clients are connected to the DMAC ports referenced by an 8-bit > > identifier +called MID/RID. > > I think the above sentence can be removed, as it's superseded by the first > sentence of the successive paragraph: I've probably just forgotten to remove the sentence while reworking the documentation. Thanks for reporting it, I'll fix that in the next version. > > + > > +Each DMA client is connected to one dedicated port of the DMAC, > > identified by +an 8-bit port number called the MID/RID. A DMA controller > > can thus serve up to +256 clients in total. When the number of hardware > > channels is lower than the +number of clients to be served, channels must > > be shared between multiple DMA +clients. The association of DMA clients > > to DMAC channels is fully dynamic and +not described in these device tree > > bindings. -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 4/6] dmaengine: rcar-dmac: Add device tree bindings documentation 2014-08-04 14:01 ` Laurent Pinchart @ 2014-08-05 1:46 ` Simon Horman 2014-08-05 13:33 ` Laurent Pinchart 0 siblings, 1 reply; 5+ messages in thread From: Simon Horman @ 2014-08-05 1:46 UTC (permalink / raw) To: Laurent Pinchart Cc: Geert Uytterhoeven, Vinod Koul, dmaengine, Linux-sh list, Magnus Damm, Laurent Pinchart, devicetree@vger.kernel.org On Mon, Aug 04, 2014 at 04:01:42PM +0200, Laurent Pinchart wrote: > Hi Geert, > > Thank you for the review. > > On Monday 04 August 2014 10:05:49 Geert Uytterhoeven wrote: > > On Thu, Jul 31, 2014 at 2:34 AM, Simon Horman wrote: > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt > > > @@ -0,0 +1,98 @@ > > > +* Renesas R-Car DMA Controller Device Tree bindings > > > + > > > +Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA > > > +controller instances named DMAC capable of serving multiple clients. > > > Channels +can be dedicated to specific clients or shared between a large > > > number of +clients. > > > + > > > +DMA clients are connected to the DMAC ports referenced by an 8-bit > > > identifier +called MID/RID. > > > > I think the above sentence can be removed, as it's superseded by the first > > sentence of the successive paragraph: > > I've probably just forgotten to remove the sentence while reworking the > documentation. Thanks for reporting it, I'll fix that in the next version. BTW, I believe Vinod has already applied this and the previous three patches of this series to his tree. As he applied then rather than pulling the pull-request I sent I intend to drop the entire series from my tree for now. > > > + > > > +Each DMA client is connected to one dedicated port of the DMAC, > > > identified by +an 8-bit port number called the MID/RID. A DMA controller > > > can thus serve up to +256 clients in total. When the number of hardware > > > channels is lower than the +number of clients to be served, channels must > > > be shared between multiple DMA +clients. The association of DMA clients > > > to DMAC channels is fully dynamic and +not described in these device tree > > > bindings. > > -- > Regards, > > Laurent Pinchart > > -- > To unsubscribe from this list: send the line "unsubscribe linux-sh" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 4/6] dmaengine: rcar-dmac: Add device tree bindings documentation 2014-08-05 1:46 ` Simon Horman @ 2014-08-05 13:33 ` Laurent Pinchart 0 siblings, 0 replies; 5+ messages in thread From: Laurent Pinchart @ 2014-08-05 13:33 UTC (permalink / raw) To: Simon Horman Cc: Geert Uytterhoeven, Vinod Koul, dmaengine, Linux-sh list, Magnus Damm, Laurent Pinchart, devicetree@vger.kernel.org Hi Simon, On Tuesday 05 August 2014 10:46:42 Simon Horman wrote: > On Mon, Aug 04, 2014 at 04:01:42PM +0200, Laurent Pinchart wrote: > > On Monday 04 August 2014 10:05:49 Geert Uytterhoeven wrote: > >> On Thu, Jul 31, 2014 at 2:34 AM, Simon Horman wrote: > >>> --- /dev/null > >>> +++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt > >>> @@ -0,0 +1,98 @@ > >>> +* Renesas R-Car DMA Controller Device Tree bindings > >>> + > >>> +Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA > >>> +controller instances named DMAC capable of serving multiple clients. > >>> Channels > >>> +can be dedicated to specific clients or shared between a large number > >>> of > >>> +clients. > >>> + > >>> +DMA clients are connected to the DMAC ports referenced by an 8-bit > >>> identifier +called MID/RID. > >> > >> I think the above sentence can be removed, as it's superseded by the > >> first sentence of the successive paragraph: > >> > > I've probably just forgotten to remove the sentence while reworking the > > documentation. Thanks for reporting it, I'll fix that in the next version. > > BTW, I believe Vinod has already applied this and the previous three > patches of this series to his tree. Indeed. I'm surprised to see the DT bindings being merged without the driver, but given that they seem to be OK, that's not a problem. > As he applied then rather than pulling the pull-request I sent I intend > to drop the entire series from my tree for now. Please do. I'll resubmit the remaining patches. -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-08-05 13:33 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <cover.1406766014.git.horms+renesas@verge.net.au> 2014-07-31 0:34 ` [PATCH 4/6] dmaengine: rcar-dmac: Add device tree bindings documentation Simon Horman 2014-08-04 8:05 ` Geert Uytterhoeven 2014-08-04 14:01 ` Laurent Pinchart 2014-08-05 1:46 ` Simon Horman 2014-08-05 13:33 ` Laurent Pinchart
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).