From patchwork Wed Apr 23 23:46:21 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shilimkar X-Patchwork-Id: 28948 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ie0-f198.google.com (mail-ie0-f198.google.com [209.85.223.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id C42612057C for ; Wed, 23 Apr 2014 23:47:44 +0000 (UTC) Received: by mail-ie0-f198.google.com with SMTP id to1sf9738694ieb.1 for ; Wed, 23 Apr 2014 16:47:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:sender:precedence:list-id :x-original-sender:x-original-authentication-results:mailing-list :list-post:list-help:list-archive:list-unsubscribe:content-type; bh=mX9zgPP6NSS+wkFjbKiKqTtv26E/l+dtCTLUlLbWlRM=; b=DTMSlhKYkX9cqRi/diysgF10G3hBUQvGwf0Dx7sK6P0/bovzqAA3riRAWhicDho+pf Mor2NKIBqivf3G8zJngDthaCC01wCYzIrb+etT40Bswas0Jop7gKqRWjNZtymYSk21SM rdSFtxZAKgqHZPZJb74ZmgC90sQBp1LnaYTwNpmqgYVAJANnyPjKOm4kWe5Nzkqpw9iO pjsZTerGEG+JGXoG8MLUVr8DXq8cetm5iEk75pndDl3LuUvQ97FqMsSS1J4O+R2CIOys gp69YGGiIMfnWH+q8FIj1X7Shw/0zBEtacL4fSzBOxaQJyLfwi7lHC+vKB59wI8AePG6 +Qsw== X-Gm-Message-State: ALoCoQlIGz+2Vak/5UDfoKSia7DwHn+8JgWx1KOPXuvsWhVZITukt5lAJmZSMRdq7j/iVa3dZFfH X-Received: by 10.182.22.133 with SMTP id d5mr28328353obf.27.1398296864265; Wed, 23 Apr 2014 16:47:44 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.93.11 with SMTP id c11ls884428qge.55.gmail; Wed, 23 Apr 2014 16:47:44 -0700 (PDT) X-Received: by 10.220.161.8 with SMTP id p8mr43841847vcx.4.1398296864089; Wed, 23 Apr 2014 16:47:44 -0700 (PDT) Received: from mail-ve0-f177.google.com (mail-ve0-f177.google.com [209.85.128.177]) by mx.google.com with ESMTPS id y7si528708veb.144.2014.04.23.16.47.44 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 23 Apr 2014 16:47:44 -0700 (PDT) Received-SPF: none (google.com: patch+caf_=patchwork-forward=linaro.org@linaro.org does not designate permitted sender hosts) client-ip=209.85.128.177; Received: by mail-ve0-f177.google.com with SMTP id sa20so2014046veb.36 for ; Wed, 23 Apr 2014 16:47:44 -0700 (PDT) X-Received: by 10.58.1.97 with SMTP id 1mr16155305vel.23.1398296864004; Wed, 23 Apr 2014 16:47:44 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.220.221.72 with SMTP id ib8csp141190vcb; Wed, 23 Apr 2014 16:47:43 -0700 (PDT) X-Received: by 10.69.0.198 with SMTP id ba6mr60249136pbd.16.1398296863189; Wed, 23 Apr 2014 16:47:43 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ps1si1475708pbc.508.2014.04.23.16.47.42; Wed, 23 Apr 2014 16:47:42 -0700 (PDT) Received-SPF: none (google.com: linux-kernel-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752736AbaDWXrg (ORCPT + 27 others); Wed, 23 Apr 2014 19:47:36 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:57801 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752599AbaDWXrb (ORCPT ); Wed, 23 Apr 2014 19:47:31 -0400 Received: from dflxv15.itg.ti.com ([128.247.5.124]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id s3NNkt5s016747; Wed, 23 Apr 2014 18:46:55 -0500 Received: from DLEE70.ent.ti.com (dlemailx.itg.ti.com [157.170.170.113]) by dflxv15.itg.ti.com (8.14.3/8.13.8) with ESMTP id s3NNktf8028225; Wed, 23 Apr 2014 18:46:55 -0500 Received: from dlep32.itg.ti.com (157.170.170.100) by DLEE70.ent.ti.com (157.170.170.113) with Microsoft SMTP Server id 14.3.174.1; Wed, 23 Apr 2014 18:46:55 -0500 Received: from ula0393909.am.dhcp.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by dlep32.itg.ti.com (8.14.3/8.13.8) with ESMTP id s3NNkUMe020547; Wed, 23 Apr 2014 18:46:55 -0500 From: Santosh Shilimkar To: CC: , , Santosh Shilimkar , Greg Kroah-Hartman , Kumar Gala , Olof Johansson , Arnd Bergmann , Grant Likely , Rob Herring , Mark Rutland , Sandeep Nair Subject: [PATCH v2 5/6] Documentation: dt: soc: add Keystone Navigator DMA bindings Date: Wed, 23 Apr 2014 19:46:21 -0400 Message-ID: <1398296783-1176-6-git-send-email-santosh.shilimkar@ti.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1398296783-1176-1-git-send-email-santosh.shilimkar@ti.com> References: <1398296783-1176-1-git-send-email-santosh.shilimkar@ti.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: santosh.shilimkar@ti.com X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: patch+caf_=patchwork-forward=linaro.org@linaro.org does not designate permitted sender hosts) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , The Keystone Navigator DMA driver sets up the dma channels and flows for the QMSS(Queue Manager SubSystem) who triggers the actual data movements across clients using destination queues. Every client modules like NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO Engines has its own instance of packet dma hardware. QMSS has also an internal packet DMA module which is used as an infrastructure DMA with zero copy. Initially this driver was proposed as DMA engine driver but since the hardware is not typical DMA engine and hence doesn't comply with typical DMA engine driver needs, that approach was naked. Link to that discussion - https://lkml.org/lkml/2014/3/18/340 As aligned, now we pair the Navigator DMA with its companion Navigator QMSS subsystem driver. Cc: Greg Kroah-Hartman Cc: Kumar Gala Cc: Olof Johansson Cc: Arnd Bergmann Cc: Grant Likely Cc: Rob Herring Cc: Mark Rutland Signed-off-by: Sandeep Nair Signed-off-by: Santosh Shilimkar --- .../bindings/soc/keystone-navigator-dma.txt | 101 ++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/keystone-navigator-dma.txt diff --git a/Documentation/devicetree/bindings/soc/keystone-navigator-dma.txt b/Documentation/devicetree/bindings/soc/keystone-navigator-dma.txt new file mode 100644 index 0000000..4b7d9a7 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/keystone-navigator-dma.txt @@ -0,0 +1,101 @@ +Keystone Navigator DMA Controller + +This document explains the device tree bindings for the packet dma +on keystone devices. The Keystone Navigator DMA driver sets up the dma +channels and flows for the QMSS(Queue Manager SubSystem) who triggers +the actual data movements across clients using destination queues. Every +client modules like NETCP(Network Coprocessor), SRIO(Serial Rapid IO), +CRYPTO Engines etc has its own instance of dma hardware. QMSS has also +an internal packet DMA module which is used as an infrastructure DMA +with zero copy. + +Navigator DMA cloud layout: + ------------------ + | Navigator DMAs | + ------------------ + | + |-> DMA instance #0 + | + |-> DMA instance #1 + . + . + | + |-> DMA instance #n + +Navigator DMA properties: +Required properties: + - compatible: Should be "ti,keystone-navigator-dma" + - clocks: phandle to dma instances clocks + +DMA instance properties: +Required properties: + - reg: Should contain register location and length of the following dma + register regions. Register regions should be specified in the following + order. + - Global control register region (global). + - Tx DMA channel configuration register region (txchan). + - Rx DMA channel configuration register region (rxchan). + - Tx DMA channel Scheduler configuration register region (txsched). + - Rx DMA flow configuration register region (rxflow). + - qm-base-address: Base address of the logical queue managers for dma. + - #dma-cells: Has to be 1. Keystone DMA doesn't support anything else. + +Optional properties: + - reg-names: Names for the register regions. + - enable-all: Enable all DMA channels. + - loop-back: To loopback Tx streaming I/F to Rx streaming I/F. Used for + infrastructure transfers. + - rx-retry-timeout: Number of dma cycles to wait before retry on buffer + starvation. +Example: + + knav_dmas: knav_dmas@0 { + compatible = "ti,keystone-navigator-dma"; + clocks = <&papllclk>, <&clkxge>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + dma_gbe { + dma-id = <0>; + reg = <0x2004000 0x100>, + <0x2004400 0x120>, + <0x2004800 0x300>, + <0x2004c00 0x120>, + <0x2005000 0x400>; + reg-names = "global", "txchan", "rxchan", + "txsched", "rxflow"; + + qm-base-address = <0x23a80000 0x23a90000 + 0x23aa0000 0x23ab0000>; + }; + + dma_xgbe { + dma-id = <1>; + reg = <0x2fa1000 0x100>, + <0x2fa1400 0x200>, + <0x2fa1800 0x200>, + <0x2fa1c00 0x200>, + <0x2fa2000 0x400>; + reg-names = "global", "txchan", "rxchan", + "txsched", "rxflow"; + + qm-base-address = <0x23a80000 0x23a90000 + 0x23aa0000 0x23ab0000>; + }; + }; + +Navigator DMA client: +Required properties: +- dma-id: DMA instance number +- rx-channel: DMA receive channel number +- tx-channel: DMA transmit channel number + +Example: + + netcp: netcp@2090000 { + dma-id = <0>; + tx-channel = <8>; + rx-channel = <22>; + ... + };