From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751323AbdLZTws (ORCPT ); Tue, 26 Dec 2017 14:52:48 -0500 Received: from mail-it0-f67.google.com ([209.85.214.67]:40813 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750822AbdLZTwq (ORCPT ); Tue, 26 Dec 2017 14:52:46 -0500 X-Google-Smtp-Source: ACJfBosF0C9GIUyJqbx26Vfy6XXVUgz0zw54uRrvom4ZAxYVIGA3L+ObPcBY044j586wXMA6DCl4lg== From: Adam Ford To: nicolas.ferre@microchip.com Cc: linux-kernel@vger.kernel.org, Adam Ford Subject: [RFC] ARM: dts: sama5d2: qspi DMA fixes spi DMA Date: Tue, 26 Dec 2017 13:52:40 -0600 Message-Id: <1514317960-27094-1-git-send-email-aford173@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For some reason without this patch, using SPI0 with DMA yields the following message: atmel_spi f8000000.spi: DMA TX channel not available, SPI unable to use DMA With the patch, trying to use SPI0 yields the following: atmel_spi f8000000.spi: Using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers The QSPI driver doesn't appear to me to be using the DMA but the datasheet seems indicate the DMA is supported. I am not sure why patch would fix the errors, so I'm posting it as RFC. Signed-off-by: Adam Ford diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi index 61f68e5..fd55e91 100644 --- a/arch/arm/boot/dts/sama5d2.dtsi +++ b/arch/arm/boot/dts/sama5d2.dtsi @@ -999,6 +999,13 @@ reg = <0xf0020000 0x100>, <0xd0000000 0x08000000>; reg-names = "qspi_base", "qspi_mmap"; interrupts = <52 IRQ_TYPE_LEVEL_HIGH 7>; + dmas = <&dma0 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | + AT91_XDMAC_DT_PERID(4))>, + <&dma0 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | + AT91_XDMAC_DT_PERID(5))>; + dma-names = "tx", "rx"; clocks = <&qspi0_clk>; #address-cells = <1>; #size-cells = <0>; @@ -1010,6 +1017,13 @@ reg = <0xf0024000 0x100>, <0xd8000000 0x08000000>; reg-names = "qspi_base", "qspi_mmap"; interrupts = <53 IRQ_TYPE_LEVEL_HIGH 7>; + dmas = <&dma1 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | + AT91_XDMAC_DT_PERID(48))>, + <&dma0 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | + AT91_XDMAC_DT_PERID(49))>; + dma-names = "tx", "rx"; clocks = <&qspi1_clk>; #address-cells = <1>; #size-cells = <0>; -- 2.7.4