ARM: dts: exynos: Enable DMA support for UART modules on Exynos5 SoCs
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 19 Dec 2016 10:00:48 +0000 (11:00 +0100)
committerKrzysztof Kozlowski <krzk@kernel.org>
Thu, 29 Dec 2016 14:08:22 +0000 (16:08 +0200)
UART modules can use DMA for offloading data transfers and reducing
interrupts, so enable this feature for Exynos5 boards. Tested on
Google ChromeBook Snow (Exynos5250), Odroid XU (Exynos5410) and Odroid
XU3 (Exynos5422) boards.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5410.dtsi
arch/arm/boot/dts/exynos5420.dtsi

index b6d7444..0e04460 100644 (file)
 &serial_0 {
        clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma0 13>, <&pdma0 14>;
+       dma-names = "rx", "tx";
 };
 
 &serial_1 {
        clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma1 15>, <&pdma1 16>;
+       dma-names = "rx", "tx";
 };
 
 &serial_2 {
        clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma0 15>, <&pdma0 16>;
+       dma-names = "rx", "tx";
 };
 
 &serial_3 {
        clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma1 17>, <&pdma1 18>;
+       dma-names = "rx", "tx";
 };
 
 #include "exynos5250-pinctrl.dtsi"
index 2b6adaf..7eab4bc 100644 (file)
 &serial_0 {
        clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma0 13>, <&pdma0 14>;
+       dma-names = "rx", "tx";
 };
 
 &serial_1 {
        clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma1 15>, <&pdma1 16>;
+       dma-names = "rx", "tx";
 };
 
 &serial_2 {
        clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma0 15>, <&pdma0 16>;
+       dma-names = "rx", "tx";
 };
 
 &serial_3 {
        clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma1 17>, <&pdma1 18>;
+       dma-names = "rx", "tx";
 };
 
 &sss {
index 906a1a4..0154c2e 100644 (file)
 &serial_0 {
        clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma0 13>, <&pdma0 14>;
+       dma-names = "rx", "tx";
 };
 
 &serial_1 {
        clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma1 15>, <&pdma1 16>;
+       dma-names = "rx", "tx";
 };
 
 &serial_2 {
        clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma0 15>, <&pdma0 16>;
+       dma-names = "rx", "tx";
 };
 
 &serial_3 {
        clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
        clock-names = "uart", "clk_uart_baud0";
+       dmas = <&pdma1 17>, <&pdma1 18>;
+       dma-names = "rx", "tx";
 };
 
 &sss {