From patchwork Mon Oct 8 17:46:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emil Renner Berthing X-Patchwork-Id: 10631115 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 941FF174A for ; Mon, 8 Oct 2018 17:47:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8599C2993E for ; Mon, 8 Oct 2018 17:47:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 79A0029967; Mon, 8 Oct 2018 17:47:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id BA9082994D for ; Mon, 8 Oct 2018 17:47:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=rvXbJpWpx5HnYEbCec2735kgcykWWEJk49/WmUAmlPg=; b=omwf6WCl/LGXGT pA5x7CSzZOId5iogsD5JDnInaTEx8et7EShybsH1+M7p9epYjAfjrHSPs2jf2YFMxcsduvkHl3aWC EsHY1OU6P+HVFfruxPD0LUUpDNruDxTh6rov3y+Rhh1sPmPYWKO+65BRv7TszUphQCQbDqesXFKzJ utpV+Rh910h4amu29f0XakSxOpsv7XxV+6LgLofwqTHTFVXd5A2c7Bn9+D8k+1Flbh6zH0zQrMtQx 3zKcyuyQtrIOVfkKHwgyi2grjrGmufULlq+S8+WGmHTDd71xABCBvU63PzxfbUMa++Uy6tW1PQL9F g8XXTSTkcvbkzQPSESbg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1g9Zce-0005cU-AR; Mon, 08 Oct 2018 17:47:12 +0000 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1g9Zcb-0005bU-0a for linux-rockchip@lists.infradead.org; Mon, 08 Oct 2018 17:47:10 +0000 Received: by mail-ed1-x543.google.com with SMTP id z21-v6so13931666edb.11 for ; Mon, 08 Oct 2018 10:46:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vVGhpwNWRaLSs5Gr/o5kn4SvQcYTC+ONkWUW8/F5aa0=; b=NiSFhI1MbwT86+2ttnJDt82HXXBdbI1pUAzsvV6SrzZRJ7FrmuMxG3q7gmSv19K20I 5bJSGJ7rKZ56HHhhUM6VTjDf1MnEVUFm5tVAs+2mPFFXksPPD/7aznEFu3QgCn0IlxGa 9iA46T0468BRuwe3s/3VFG1o5+/aUoSgokDCBIYQKcEwqn9BCH/nwdXDQWDI75Jaq2gs p6jWj9PE14G4S1+uvaoGykHX2A6rccJdVYNYAWo09r2alHwc8Qp0rMPXF+qGmbTe0WWm AJ9WMeP7ccpy7IyPZ0DwVjryVIfB2R2ShPVypW8OBdXPB6UHMp7ej2TRSau2Gp8MDAyB Su+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=vVGhpwNWRaLSs5Gr/o5kn4SvQcYTC+ONkWUW8/F5aa0=; b=Ybuju8S/9hFQ87RbH7/F4kMpkZbRALq2IdtAw8VaTsC0Ny4+V05xd9cdXW+8sIqXqM 5xlp0Xo3nxkw+/nvrkbc2DOCAiuwY623FWvfOmI3blBlk1dJ6Y/G7Wdt5BCrsIwtm0Bz JaxYjAJfUUZQZ6mONzSjYf6nW3k2GF82D41XpS0pVQbsulBgFD1+P7Pgew/TvFyCXytL SyRj5cba+KAmXh3s4x4/LCeoVxgZQuvBXLw8PsJJNzVvYGYkt/+ay5e0Qgd+HRq/Fn5Q MxAJCfinVpNVK0iTZC7ksMgHCzr5KBDwcQ3t1uWzxuVLi57S4SIVr0nNPZjL3LPRxXXB bMtQ== X-Gm-Message-State: ABuFfoj12EWUxP6FQ4gRjNJqbZgKCzKG3Q/RyV+2BcDM9iaOKGwQ9RrZ y1lpk9dIi0V5K4O4X/Oqg/OPmyVI X-Google-Smtp-Source: ACcGV62134gQipmOp6IY5UWhLvMveixrQgpb/0mn82h5OtOr0yQFCkiRhNAQNGQ9pwc0jWr8x1me7w== X-Received: by 2002:a50:9622:: with SMTP id y31-v6mr29978737eda.282.1539020816115; Mon, 08 Oct 2018 10:46:56 -0700 (PDT) Received: from localhost.localdomain ([2a01:4260:1ab:c:7537:7412:db7b:5a32]) by smtp.gmail.com with ESMTPSA id s40-v6sm9551eda.60.2018.10.08.10.46.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 10:46:55 -0700 (PDT) From: Emil Renner Berthing To: linux-rockchip@lists.infradead.org Subject: [RFC] arm64: dts: rockchip: add rk3399 spi dmas Date: Mon, 8 Oct 2018 19:46:44 +0200 Message-Id: <20181008174644.5856-1-kernel@esmil.dk> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181008_104709_353945_9B22CCAE X-CRM114-Status: GOOD ( 16.33 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Addy Ke , Emil Renner Berthing Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+patchwork-linux-rockchip=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP My rk3399-gru-kevin complains loudly at boot: rockchip-spi ff1d0000.spi: Failed to request TX DMA channel rockchip-spi ff1d0000.spi: Failed to request RX DMA channel rockchip-spi ff1e0000.spi: Failed to request TX DMA channel rockchip-spi ff1e0000.spi: Failed to request RX DMA channel rockchip-spi ff200000.spi: Failed to request TX DMA channel rockchip-spi ff200000.spi: Failed to request RX DMA channel ..so I tried adding the proper dma channels as show below. Unfortunately the rockchip-spi driver doesn't seem to work properly with dma on rk3399. The first problem seems to be that when using dma transfers the driver expects to get callbacks both when the tx and rx dma requests finish, but only the rx callback fires. Before digging deeper it'd be nice to know if someone has looked at this before or if I'm doing something obviously wrong. /Emil --- arch/arm64/boot/dts/rockchip/rk3399.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index c61826c257c4..699fdbe36de7 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -649,66 +649,76 @@ spi0: spi@ff1c0000 { compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; reg = <0x0 0xff1c0000 0x0 0x1000>; clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; clock-names = "spiclk", "apb_pclk"; interrupts = ; + dmas = <&dmac_peri 10>, <&dmac_peri 11>; + dma-names = "tx", "rx"; pinctrl-names = "default"; pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; spi1: spi@ff1d0000 { compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; reg = <0x0 0xff1d0000 0x0 0x1000>; clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; clock-names = "spiclk", "apb_pclk"; interrupts = ; + dmas = <&dmac_peri 12>, <&dmac_peri 13>; + dma-names = "tx", "rx"; pinctrl-names = "default"; pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; spi2: spi@ff1e0000 { compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; reg = <0x0 0xff1e0000 0x0 0x1000>; clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; clock-names = "spiclk", "apb_pclk"; interrupts = ; + dmas = <&dmac_peri 14>, <&dmac_peri 15>; + dma-names = "tx", "rx"; pinctrl-names = "default"; pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; spi4: spi@ff1f0000 { compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; reg = <0x0 0xff1f0000 0x0 0x1000>; clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>; clock-names = "spiclk", "apb_pclk"; interrupts = ; + dmas = <&dmac_peri 18>, <&dmac_peri 19>; + dma-names = "tx", "rx"; pinctrl-names = "default"; pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; spi5: spi@ff200000 { compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; reg = <0x0 0xff200000 0x0 0x1000>; clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>; clock-names = "spiclk", "apb_pclk"; interrupts = ; + dmas = <&dmac_bus 8>, <&dmac_bus 9>; + dma-names = "tx", "rx"; pinctrl-names = "default"; pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>; power-domains = <&power RK3399_PD_SDIOAUDIO>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; };