From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
Santosh Shilimkar <santosh.shilimkar@ti.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Kumar Gala <galak@codeaurora.org>,
Olof Johansson <olof@lixom.net>, Arnd Bergmann <arnd@arndb.de>,
Grant Likely <grant.likely@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Sandeep Nair <sandeep_n@ti.com>
Subject: [PATCH v2 5/6] Documentation: dt: soc: add Keystone Navigator DMA bindings
Date: Wed, 23 Apr 2014 19:46:21 -0400 [thread overview]
Message-ID: <1398296783-1176-6-git-send-email-santosh.shilimkar@ti.com> (raw)
In-Reply-To: <1398296783-1176-1-git-send-email-santosh.shilimkar@ti.com>
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 <gregkh@linuxfoundation.org>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
.../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>;
+ ...
+ };
--
1.7.9.5
next prev parent reply other threads:[~2014-04-23 23:46 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-23 23:46 [PATCH v2 0/6] soc: ti: Add Keystone Navigator drivers Santosh Shilimkar
[not found] ` <1398296783-1176-1-git-send-email-santosh.shilimkar-l0cyMroinI0@public.gmane.org>
2014-04-23 23:46 ` [PATCH v2 1/6] soc: Introduce drivers/soc place-holder for SOC specific drivers Santosh Shilimkar
2014-04-23 23:46 ` [PATCH v2 2/6] firmware: add Keystone QMSS PDSP accumulator firmware blob Santosh Shilimkar
2014-04-23 23:46 ` [PATCH v2 3/6] Documentation: dt: soc: add Keystone Navigator QMSS bindings Santosh Shilimkar
2014-05-05 16:18 ` Rob Herring
2014-04-23 23:46 ` [PATCH v2 4/6] soc: ti: add Keystone Navigator QMSS driver Santosh Shilimkar
2014-04-24 1:30 ` Felipe Balbi
2014-04-24 13:18 ` Santosh Shilimkar
2014-04-24 14:57 ` Felipe Balbi
2014-04-23 23:46 ` Santosh Shilimkar [this message]
[not found] ` <1398296783-1176-6-git-send-email-santosh.shilimkar-l0cyMroinI0@public.gmane.org>
2014-05-05 16:17 ` [PATCH v2 5/6] Documentation: dt: soc: add Keystone Navigator DMA bindings Rob Herring
[not found] ` <CAL_Jsq+uZscamuezWsHrwf_OuxucXOG4kT8V9xCzmBnF9cpEXA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-07 14:22 ` Santosh Shilimkar
2014-04-23 23:46 ` [PATCH v2 6/6] soc: ti: add Keystone Navigator DMA support Santosh Shilimkar
2014-05-20 13:57 ` [PATCH v2 0/6] soc: ti: Add Keystone Navigator drivers Santosh Shilimkar
2014-05-20 20:01 ` Greg Kroah-Hartman
2014-05-20 20:08 ` Santosh Shilimkar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1398296783-1176-6-git-send-email-santosh.shilimkar@ti.com \
--to=santosh.shilimkar@ti.com \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=olof@lixom.net \
--cc=robh+dt@kernel.org \
--cc=sandeep_n@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).