Message ID | 1360131529-2847-5-git-send-email-padma.v@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/06/2013 12:18 AM, Padmavathi Venna wrote: > This patch adds #dma-cells property to PL330 DMA controller > nodes for supporting generic dma dt bindings on samsung > exynos5250 platform. The subject doesn't reflect this is for pl330. > > Signed-off-by: Padmavathi Venna <padma.v@samsung.com> > Acked-by: Arnd Bergmann <arnd@arndb.de> > --- > .../devicetree/bindings/dma/arm-pl330.txt | 15 +++++++++++---- > arch/arm/boot/dts/exynos5250.dtsi | 4 ++++ > 2 files changed, 15 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/dma/arm-pl330.txt b/Documentation/devicetree/bindings/dma/arm-pl330.txt > index 36e27d5..1fdbff6 100644 > --- a/Documentation/devicetree/bindings/dma/arm-pl330.txt > +++ b/Documentation/devicetree/bindings/dma/arm-pl330.txt > @@ -8,6 +8,8 @@ Required properties: > - reg: physical base address of the controller and length of memory mapped > region. > - interrupts: interrupt number to the cpu. > + - #dma-cells: must be <1>. used to represent the number of integer > + cells in the dmas property of client device. This should be optional in the case of platforms supporting only memory to memory xfers. Rob > > Optional properties: > - dma-coherent : Present if dma operations are coherent > @@ -18,16 +20,21 @@ Example: > compatible = "arm,pl330", "arm,primecell"; > reg = <0x12680000 0x1000>; > interrupts = <99>; > + #dma-cells = <1>; > }; > > Client drivers (device nodes requiring dma transfers from dev-to-mem or > -mem-to-dev) should specify the DMA channel numbers using a two-value pair > +mem-to-dev) should specify the DMA channel numbers and dma channel names > as shown below. > > [property name] = <[phandle of the dma controller] [dma request id]>; > + [property name] = <[dma channel name]> > > where 'dma request id' is the dma request number which is connected > - to the client controller. The 'property name' is recommended to be > - of the form <name>-dma-channel. > + to the client controller. The 'property name' 'dmas' and 'dma-names' > + as required by the generic dma device tree binding helpers. The dma > + names correspond 1:1 with the dma request ids in the dmas property. > > - Example: tx-dma-channel = <&pdma0 12>; > + Example: dmas = <&pdma0 12 > + &pdma1 11>; > + dma-names = "tx", "rx"; > diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi > index f50b4e8..724f5bd 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -312,24 +312,28 @@ > compatible = "arm,pl330", "arm,primecell"; > reg = <0x121A0000 0x1000>; > interrupts = <0 34 0>; > + #dma-cells = <1>; > }; > > pdma1: pdma@121B0000 { > compatible = "arm,pl330", "arm,primecell"; > reg = <0x121B0000 0x1000>; > interrupts = <0 35 0>; > + #dma-cells = <1>; > }; > > mdma0: mdma@10800000 { > compatible = "arm,pl330", "arm,primecell"; > reg = <0x10800000 0x1000>; > interrupts = <0 33 0>; > + #dma-cells = <1>; > }; > > mdma1: mdma@11C10000 { > compatible = "arm,pl330", "arm,primecell"; > reg = <0x11C10000 0x1000>; > interrupts = <0 124 0>; > + #dma-cells = <1>; > }; > }; > >
Hi Rob, On Wed, Feb 6, 2013 at 8:54 PM, Rob Herring <robherring2@gmail.com> wrote: > On 02/06/2013 12:18 AM, Padmavathi Venna wrote: >> This patch adds #dma-cells property to PL330 DMA controller >> nodes for supporting generic dma dt bindings on samsung >> exynos5250 platform. > > The subject doesn't reflect this is for pl330. OK. I will fix this. > >> >> Signed-off-by: Padmavathi Venna <padma.v@samsung.com> >> Acked-by: Arnd Bergmann <arnd@arndb.de> >> --- >> .../devicetree/bindings/dma/arm-pl330.txt | 15 +++++++++++---- >> arch/arm/boot/dts/exynos5250.dtsi | 4 ++++ >> 2 files changed, 15 insertions(+), 4 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/dma/arm-pl330.txt b/Documentation/devicetree/bindings/dma/arm-pl330.txt >> index 36e27d5..1fdbff6 100644 >> --- a/Documentation/devicetree/bindings/dma/arm-pl330.txt >> +++ b/Documentation/devicetree/bindings/dma/arm-pl330.txt >> @@ -8,6 +8,8 @@ Required properties: >> - reg: physical base address of the controller and length of memory mapped >> region. >> - interrupts: interrupt number to the cpu. >> + - #dma-cells: must be <1>. used to represent the number of integer >> + cells in the dmas property of client device. > > This should be optional in the case of platforms supporting only memory > to memory xfers. In Exynos we have support for both peripheral to peripheral and memory to memory. So I made it as required property. Should I make this as optional? > > Rob > >> >> Optional properties: >> - dma-coherent : Present if dma operations are coherent >> @@ -18,16 +20,21 @@ Example: >> compatible = "arm,pl330", "arm,primecell"; >> reg = <0x12680000 0x1000>; >> interrupts = <99>; >> + #dma-cells = <1>; >> }; >> >> Client drivers (device nodes requiring dma transfers from dev-to-mem or >> -mem-to-dev) should specify the DMA channel numbers using a two-value pair >> +mem-to-dev) should specify the DMA channel numbers and dma channel names >> as shown below. >> >> [property name] = <[phandle of the dma controller] [dma request id]>; >> + [property name] = <[dma channel name]> >> >> where 'dma request id' is the dma request number which is connected >> - to the client controller. The 'property name' is recommended to be >> - of the form <name>-dma-channel. >> + to the client controller. The 'property name' 'dmas' and 'dma-names' >> + as required by the generic dma device tree binding helpers. The dma >> + names correspond 1:1 with the dma request ids in the dmas property. >> >> - Example: tx-dma-channel = <&pdma0 12>; >> + Example: dmas = <&pdma0 12 >> + &pdma1 11>; >> + dma-names = "tx", "rx"; >> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi >> index f50b4e8..724f5bd 100644 >> --- a/arch/arm/boot/dts/exynos5250.dtsi >> +++ b/arch/arm/boot/dts/exynos5250.dtsi >> @@ -312,24 +312,28 @@ >> compatible = "arm,pl330", "arm,primecell"; >> reg = <0x121A0000 0x1000>; >> interrupts = <0 34 0>; >> + #dma-cells = <1>; >> }; >> >> pdma1: pdma@121B0000 { >> compatible = "arm,pl330", "arm,primecell"; >> reg = <0x121B0000 0x1000>; >> interrupts = <0 35 0>; >> + #dma-cells = <1>; >> }; >> >> mdma0: mdma@10800000 { >> compatible = "arm,pl330", "arm,primecell"; >> reg = <0x10800000 0x1000>; >> interrupts = <0 33 0>; >> + #dma-cells = <1>; >> }; >> >> mdma1: mdma@11C10000 { >> compatible = "arm,pl330", "arm,primecell"; >> reg = <0x11C10000 0x1000>; >> interrupts = <0 124 0>; >> + #dma-cells = <1>; >> }; >> }; >> >> > Thanks Padma
On 02/07/2013 10:20 PM, Padma Venkat wrote: > Hi Rob, > > On Wed, Feb 6, 2013 at 8:54 PM, Rob Herring <robherring2@gmail.com> wrote: >> On 02/06/2013 12:18 AM, Padmavathi Venna wrote: >>> This patch adds #dma-cells property to PL330 DMA controller >>> nodes for supporting generic dma dt bindings on samsung >>> exynos5250 platform. >> >> The subject doesn't reflect this is for pl330. > OK. I will fix this. >> >>> >>> Signed-off-by: Padmavathi Venna <padma.v@samsung.com> >>> Acked-by: Arnd Bergmann <arnd@arndb.de> >>> --- >>> .../devicetree/bindings/dma/arm-pl330.txt | 15 +++++++++++---- >>> arch/arm/boot/dts/exynos5250.dtsi | 4 ++++ >>> 2 files changed, 15 insertions(+), 4 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/dma/arm-pl330.txt b/Documentation/devicetree/bindings/dma/arm-pl330.txt >>> index 36e27d5..1fdbff6 100644 >>> --- a/Documentation/devicetree/bindings/dma/arm-pl330.txt >>> +++ b/Documentation/devicetree/bindings/dma/arm-pl330.txt >>> @@ -8,6 +8,8 @@ Required properties: >>> - reg: physical base address of the controller and length of memory mapped >>> region. >>> - interrupts: interrupt number to the cpu. >>> + - #dma-cells: must be <1>. used to represent the number of integer >>> + cells in the dmas property of client device. >> >> This should be optional in the case of platforms supporting only memory >> to memory xfers. > > In Exynos we have support for both peripheral to peripheral and memory > to memory. > So I made it as required property. Should I make this as optional? I believe that is what I said. Highbank has the pl330 and only supports mem to mem transfers. Rob > >> >> Rob >> >>> >>> Optional properties: >>> - dma-coherent : Present if dma operations are coherent >>> @@ -18,16 +20,21 @@ Example: >>> compatible = "arm,pl330", "arm,primecell"; >>> reg = <0x12680000 0x1000>; >>> interrupts = <99>; >>> + #dma-cells = <1>; >>> }; >>> >>> Client drivers (device nodes requiring dma transfers from dev-to-mem or >>> -mem-to-dev) should specify the DMA channel numbers using a two-value pair >>> +mem-to-dev) should specify the DMA channel numbers and dma channel names >>> as shown below. >>> >>> [property name] = <[phandle of the dma controller] [dma request id]>; >>> + [property name] = <[dma channel name]> >>> >>> where 'dma request id' is the dma request number which is connected >>> - to the client controller. The 'property name' is recommended to be >>> - of the form <name>-dma-channel. >>> + to the client controller. The 'property name' 'dmas' and 'dma-names' >>> + as required by the generic dma device tree binding helpers. The dma >>> + names correspond 1:1 with the dma request ids in the dmas property. >>> >>> - Example: tx-dma-channel = <&pdma0 12>; >>> + Example: dmas = <&pdma0 12 >>> + &pdma1 11>; >>> + dma-names = "tx", "rx"; >>> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi >>> index f50b4e8..724f5bd 100644 >>> --- a/arch/arm/boot/dts/exynos5250.dtsi >>> +++ b/arch/arm/boot/dts/exynos5250.dtsi >>> @@ -312,24 +312,28 @@ >>> compatible = "arm,pl330", "arm,primecell"; >>> reg = <0x121A0000 0x1000>; >>> interrupts = <0 34 0>; >>> + #dma-cells = <1>; >>> }; >>> >>> pdma1: pdma@121B0000 { >>> compatible = "arm,pl330", "arm,primecell"; >>> reg = <0x121B0000 0x1000>; >>> interrupts = <0 35 0>; >>> + #dma-cells = <1>; >>> }; >>> >>> mdma0: mdma@10800000 { >>> compatible = "arm,pl330", "arm,primecell"; >>> reg = <0x10800000 0x1000>; >>> interrupts = <0 33 0>; >>> + #dma-cells = <1>; >>> }; >>> >>> mdma1: mdma@11C10000 { >>> compatible = "arm,pl330", "arm,primecell"; >>> reg = <0x11C10000 0x1000>; >>> interrupts = <0 124 0>; >>> + #dma-cells = <1>; >>> }; >>> }; >>> >>> >> > > Thanks > Padma >
diff --git a/Documentation/devicetree/bindings/dma/arm-pl330.txt b/Documentation/devicetree/bindings/dma/arm-pl330.txt index 36e27d5..1fdbff6 100644 --- a/Documentation/devicetree/bindings/dma/arm-pl330.txt +++ b/Documentation/devicetree/bindings/dma/arm-pl330.txt @@ -8,6 +8,8 @@ Required properties: - reg: physical base address of the controller and length of memory mapped region. - interrupts: interrupt number to the cpu. + - #dma-cells: must be <1>. used to represent the number of integer + cells in the dmas property of client device. Optional properties: - dma-coherent : Present if dma operations are coherent @@ -18,16 +20,21 @@ Example: compatible = "arm,pl330", "arm,primecell"; reg = <0x12680000 0x1000>; interrupts = <99>; + #dma-cells = <1>; }; Client drivers (device nodes requiring dma transfers from dev-to-mem or -mem-to-dev) should specify the DMA channel numbers using a two-value pair +mem-to-dev) should specify the DMA channel numbers and dma channel names as shown below. [property name] = <[phandle of the dma controller] [dma request id]>; + [property name] = <[dma channel name]> where 'dma request id' is the dma request number which is connected - to the client controller. The 'property name' is recommended to be - of the form <name>-dma-channel. + to the client controller. The 'property name' 'dmas' and 'dma-names' + as required by the generic dma device tree binding helpers. The dma + names correspond 1:1 with the dma request ids in the dmas property. - Example: tx-dma-channel = <&pdma0 12>; + Example: dmas = <&pdma0 12 + &pdma1 11>; + dma-names = "tx", "rx"; diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index f50b4e8..724f5bd 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -312,24 +312,28 @@ compatible = "arm,pl330", "arm,primecell"; reg = <0x121A0000 0x1000>; interrupts = <0 34 0>; + #dma-cells = <1>; }; pdma1: pdma@121B0000 { compatible = "arm,pl330", "arm,primecell"; reg = <0x121B0000 0x1000>; interrupts = <0 35 0>; + #dma-cells = <1>; }; mdma0: mdma@10800000 { compatible = "arm,pl330", "arm,primecell"; reg = <0x10800000 0x1000>; interrupts = <0 33 0>; + #dma-cells = <1>; }; mdma1: mdma@11C10000 { compatible = "arm,pl330", "arm,primecell"; reg = <0x11C10000 0x1000>; interrupts = <0 124 0>; + #dma-cells = <1>; }; };