ARM: dts: nomadik: add DMA engine and some channels
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 6 Oct 2015 10:03:27 +0000 (12:03 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 14 Apr 2016 19:47:10 +0000 (21:47 +0200)
This adds the DMA engine to the Nomadik and assigns the UART
DMA channels. Both slave DMA for UARTs and the memcpy engine
works fine, tested on the Nomadik NHK15.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/boot/dts/ste-nomadik-stn8815.dtsi

index e2be533..d2d532a 100644 (file)
                        clocks = <&uart0clk>, <&pclkuart0>;
                        clock-names = "uartclk", "apb_pclk";
                        status = "disabled";
+                       dmas = <&dmac0 14 1>,
+                              <&dmac0 15 1>;
+                       dma-names = "rx", "tx";
                };
 
                uart1: uart@101fb000 {
                        clock-names = "uartclk", "apb_pclk";
                        pinctrl-names = "default";
                        pinctrl-0 = <&uart1_default_mux>;
+                       dmas = <&dmac1 22 1>,
+                              <&dmac1 23 1>;
+                       dma-names = "rx", "tx";
                };
 
                uart2: uart@101f2000 {
                        clocks = <&uart2clk>, <&pclkuart2>;
                        clock-names = "uartclk", "apb_pclk";
                        status = "disabled";
+                       dmas = <&dmac1 30 1>,
+                              <&dmac1 31 1>;
+                       dma-names = "rx", "tx";
                };
 
                rng: rng@101b0000 {
                        pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
                        vmmc-supply = <&vmmc_regulator>;
                };
+
+               dmac0: dma-controller@10130000 {
+                       compatible = "arm,pl080", "arm,primecell";
+                       reg = <0x10130000 0x1000>;
+                       interrupt-parent = <&vica>;
+                       interrupts = <15>;
+                       clocks = <&hclkdma0>;
+                       clock-names = "apb_pclk";
+                       lli-bus-interface-ahb1;
+                       lli-bus-interface-ahb2;
+                       mem-bus-interface-ahb2;
+                       memcpy-burst-size = <256>;
+                       memcpy-bus-width = <32>;
+                       #dma-cells = <2>;
+               };
+               dmac1: dma-controller@10150000 {
+                       compatible = "arm,pl080", "arm,primecell";
+                       reg = <0x10150000 0x1000>;
+                       interrupt-parent = <&vica>;
+                       interrupts = <13>;
+                       clocks = <&hclkdma1>;
+                       clock-names = "apb_pclk";
+                       lli-bus-interface-ahb1;
+                       lli-bus-interface-ahb2;
+                       mem-bus-interface-ahb2;
+                       memcpy-burst-size = <256>;
+                       memcpy-bus-width = <32>;
+                       #dma-cells = <2>;
+               };
        };
 };