On 12/04/2015 03:25 AM, Tony Lindgren wrote:
> The edma is the same as on am33xx, except it has four tptc
> instances. And we need the edma_xbar for at least mmc3, so
> let's use the edma_xbar and the new binding as suggested by
> Peter Ujfalusi .
>
> Cc: Peter Ujfalusi
> Signed-off-by: Tony Lindgren
Reviewed-by: Peter Ujfalusi
> ---
> arch/arm/boot/dts/dm814x.dtsi | 68
> ---
> 1 file changed, 58 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/boot/dts/dm814x.dtsi b/arch/arm/boot/dts/dm814x.dtsi
> index ca92346..9d81980e 100644
> --- a/arch/arm/boot/dts/dm814x.dtsi
> +++ b/arch/arm/boot/dts/dm814x.dtsi
> @@ -126,8 +126,8 @@
> interrupts = <65>;
> ti,spi-num-cs = <4>;
> ti,hwmods = "mcspi1";
> - dmas = < 16 17
> - 18 19>;
> + dmas = < 16 0 17 0
> + 18 0 19 0>;
> dma-names = "tx0", "rx0", "tx1", "rx1";
> };
>
> @@ -145,7 +145,7 @@
> reg = <0x2 0x2000>;
> clock-frequency = <4800>;
> interrupts = <72>;
> - dmas = < 26 27>;
> + dmas = < 26 0 27 0>;
> dma-names = "tx", "rx";
> };
>
> @@ -155,7 +155,7 @@
> reg = <0x22000 0x2000>;
> clock-frequency = <4800>;
> interrupts = <73>;
> - dmas = < 28 29>;
> + dmas = < 28 0 29 0>;
> dma-names = "tx", "rx";
> };
>
> @@ -165,7 +165,7 @@
> reg = <0x24000 0x2000>;
> clock-frequency = <4800>;
> interrupts = <74>;
> - dmas = < 30 31>;
> + dmas = < 30 0 31 0>;
> dma-names = "tx", "rx";
> };
>
> @@ -205,6 +205,14 @@
> };
> };
>
> + edma_xbar: dma-router@f90 {
> + compatible = "ti,am335x-edma-crossbar";
> + reg = <0xf90 0x40>;
> + #dma-cells = <3>;
> + dma-requests = <32>;
> + dma-masters = <>;
> + };
> +
> /*
>* Note that silicon revision 2.1 and older
>* require input enabled (bit 18 set) for all
> @@ -272,12 +280,52 @@
> };
>
> edma: edma@4900 {
> - compatible = "ti,edma3";
> - ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
> - reg = <0x4900 0x1>,
> - <0x44e10f90 0x40>;
> + compatible = "ti,edma3-tpcc";
> + ti,hwmods = "tpcc";
> + reg = <0x4900 0x1>;
> + reg-names = "edma3_cc";
> interrupts = <12 13 14>;
> - #dma-cells = <1>;
> + interrupt-names = "edma3_ccint", "emda3_mperr",
> + "edma3_ccerrint";
> + dma-requests = <64>;
> + #dma-cells = <2>;
> +
> + ti,tptcs = <_tptc0 7>, <_tptc1 5>,
> +<_tptc2 3>, <_tptc3 0>;
> +
> + ti,edma-memcpy-channels = /bits/ 16 <20 21>;
> + };
> +
> + edma_tptc0: tptc@4980 {
> + compatible = "ti,edma3-tptc";
> + ti,hwmods = "tptc0";
> + reg = <0x4980 0x10>;
> + interrupts = <112>;
> + interrupt-names = "edma3_tcerrint";
> + };
> +
> + edma_tptc1: tptc@4990 {
> + compatible = "ti,edma3-tptc";
> + ti,hwmods = "tptc1";
> + reg = <0x4990 0x10>;
> + interrupts = <113>;
> + interrupt-names = "edma3_tcerrint";
> + };
> +
> + edma_tptc2: tptc@49a0 {
> + compatible = "ti,edma3-tptc";
> + ti,hwmods = "tptc2";
> + reg = <0x49a0 0x10>;
> +