From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <shreyansh.jain@nxp.com>
Received: from NAM02-BL2-obe.outbound.protection.outlook.com
 (mail-bl2nam02on0089.outbound.protection.outlook.com [104.47.38.89])
 by dpdk.org (Postfix) with ESMTP id CDA9D916B
 for <dev@dpdk.org>; Wed, 23 Aug 2017 16:03:03 +0200 (CEST)
Received: from BN6PR03CA0007.namprd03.prod.outlook.com (10.168.230.145) by
 BN3PR03MB2260.namprd03.prod.outlook.com (10.166.74.21) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id
 15.1.1362.18; Wed, 23 Aug 2017 14:03:02 +0000
Received: from BN1AFFO11OLC004.protection.gbl (2a01:111:f400:7c10::145) by
 BN6PR03CA0007.outlook.office365.com (2603:10b6:404:23::17) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9 via
 Frontend Transport; Wed, 23 Aug 2017 14:03:02 +0000
Authentication-Results: spf=fail (sender IP is 192.88.168.50)
 smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)
 header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;
Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not
 designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; 
 client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;
Received: from tx30smr01.am.freescale.net (192.88.168.50) by
 BN1AFFO11OLC004.mail.protection.outlook.com (10.58.53.75) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1341.15
 via Frontend Transport; Wed, 23 Aug 2017 14:03:02 +0000
Received: from Tophie.ap.freescale.net ([10.232.14.39])
 by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v7NE2Q33004389;
 Wed, 23 Aug 2017 07:02:59 -0700
From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: <dev@dpdk.org>
CC: <ferruh.yigit@intel.com>, <hemant.agrawal@nxp.com>
Date: Wed, 23 Aug 2017 19:41:50 +0530
Message-ID: <20170823141213.25476-18-shreyansh.jain@nxp.com>
X-Mailer: git-send-email 2.9.3
In-Reply-To: <20170823141213.25476-1-shreyansh.jain@nxp.com>
References: <1499179471-19145-1-git-send-email-shreyansh.jain@nxp.com>
 <20170823141213.25476-1-shreyansh.jain@nxp.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131479705826535086;
 (91ab9b29-cfa4-454e-5278-08d120cd25b8); ()
X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(6009001)(336005)(39380400002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(77096006)(86362001)(68736007)(6916009)(5660300001)(97736004)(50466002)(23676002)(47776003)(36756003)(305945005)(110136004)(50226002)(498600001)(81166006)(8676002)(2906002)(81156014)(356003)(8936002)(8656003)(85426001)(189998001)(2870700001)(5820100001)(33646002)(105606002)(2351001)(626005)(1076002)(104016004)(76176999)(53936002)(54906002)(5890100001)(2950100002)(106466001)(4326008)(6666003)(50986999)(6306002)(217873001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2260; H:tx30smr01.am.freescale.net;
 FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11OLC004;
 1:2w8b16Zow+YIhpS/xUdcM/XiDkTu0smsE0nhkA2cTYkbQzFWKxeXNWNYSYsNz01KDhISnTsbwMmsqgmRbE2mqrG84XmOz9Hv4hr0stowbFNBpVnstnFQm+4RPnw/hUJL
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ac1f248c-14da-4cda-4551-08d4ea2fab6b
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603185)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);
 SRVR:BN3PR03MB2260; 
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260;
 3:PIWDJRMReIva32p8POFnhr3qFE5yk/Oor1tz6t3UY4VSqOSn8KQiQkTnkxbxMVSzA5IFwkergemIOAtmXRIFoNISJrkFldpI6SIpUEZ8mWXl1MXyvROSfFXdnFIonQeW6abRwZdFomhDL00uQRxV+9mrFUasqtCoDW2zgv1455b151pdgVWSRHEL7PdKOk06I0onL0JlfdJQb9iJcACFS3NkuyW398gmWoXUbs1MYfeNhm2R42zDb5yJbQmTuJlZoWj8fWDQjE2bVh7Q2Bhoa9jbDJsnfS7UXP4Wb51+LrY8S3KE5HcUPpGUotHa9vmNCLtc1E1++oMHCfqYGwdM9j8pcU0WJekqNiNr5E98id8=;
 25:BvR7yPE8UTh6DgpFj1wIjyLQ8KhN858Q/TIWQglOkEc00oYIXnmIJ1i3nC7RhOa4/R3XGe8N7kBg7HUNxtZo6BJrE+BeSgxGI1fvFxEanrM492dYXgaJRGqSVqAmCc0+Qm0dtnWF1XM6GHNwfRKxtQWaEcLhStiaRepM2wO1EeG+hhuH10VQRDazqOmkiSDIu/yWV7Y68JoK/owLeaKEcJH1NaSD+JXS6vUXiZDsgFAZKUJypkTjlCN894I1V/iQwcWmd0X3x5OdsEZsy/Uvs+yQKrHWOKHQwWc2Ik6cT9gyDb/n+gcXqK0S91yusE08gQHIihDzJpa8X1kYv0p1gw==
X-MS-TrafficTypeDiagnostic: BN3PR03MB2260:
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260;
 31:akAe8/PDoT/j4VDvOnIkdegEYhxqeetxlAMtC66RiVPPDmxmEuMemvmuzghnV3UYOE18KJ/xwlYOHrtmEsG6t4y4Ly4MqmnZHK0ABBlUOuEF3aKgM72tWkh5qSKDX59jwYvi/UIDL8UmdJmlU2OmcY9fQUklnhnf1zD51alGsCkS5H4KC4CgO3+Sn9LmB7c9SWAWPjERWHbMaROleDijiQ3cAIT415nHAC2+hKAlXzs=;
 4:6lh7eXHKSvlubTjQK5Ve6in9ND7dTdtjIM/Rn4/zfLQ6tUyDukThR8jqoE3p3NhEs+ByD7xLuQbCZiVEgqoohjHhcCSMMAhrPsGocfakhKHGwwn6i2OExVNewPxZUspj1iCi1MYvLXrQy+lgPe4v2gtzRDwz2ZHI/C8GJ05ZXC4gfpBJ0sEGbUovPxrsFgIECMWW5MCV1fHC/VmbRaumZVECcjZBTkOj3DgCtU3Y7uZFMvrlv9G8v6JRuDptFH9mf7Ky5BehUnV9sJtV/7mwbaK7mfLu3EfZqn28bYigk4QZUTHN0pyx7Q2y/0/uvCczhZFQ14E/2+G1z9TEjK3XZx6V8J4s8BpUNnS0BBcvGwDl9EVjGTFS6a7O3JRO13FHP6J/xuLiGtD8tRVgR4zPoI9qDiLDIIYwLTtQkS/z8aJK3z5mjQOTtPDU7zMI9tB8lJrlAMhqQ2kN3+bgKwB72IXlVeiKsyMUCPwbfHdtxekJOp4C7XRJZnlGbenUDJZ2
X-Exchange-Antispam-Report-Test: UriScan:(278428928389397)(166708455590820)(185117386973197)(101931422205132)(275809806118684)(21532816269658)(264314650089876);
X-Microsoft-Antispam-PRVS: <BN3PR03MB2260FB57D8BD61BB34057C9A90850@BN3PR03MB2260.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(8121501046)(13016025)(5005006)(13018025)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123565025)(20161123563025)(20161123561025)(20161123559100)(20161123556025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:BN3PR03MB2260; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:BN3PR03MB2260; 
X-Forefront-PRVS: 040866B734
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjNQUjAzTUIyMjYwOzIzOkU1M2c0Zi9ZK2FaZFFSMVBPZjNURjR3UVlv?=
 =?utf-8?B?ZlFhTzNneGdERDdaaGwzUVdVVEZTdGZ4TE4vSkNTWXBMUUxvUm4rS1BRcW5K?=
 =?utf-8?B?dkRzZVc2S2NtQ2QzQithcEhXUGNqenVQaWZtOFhESlBOS0pVWDVYYjFSV0Vw?=
 =?utf-8?B?VXJTUXF1RmczT2hFUnBGK3RsMXoySC9idTFxU2kwWi9EbDMycFY1aGU0bDM4?=
 =?utf-8?B?T0xtWCs3ckRVZXNGRmx5WUlKc29Xc2NFRWVNQUc3UVF3d1ZCZ3Z6KzEvenlo?=
 =?utf-8?B?U0kxaC9UNmFwRUtNWnlXTk1rNStrQjhaVDl1RkRzQ3Z1UTVTbnd6eDFiYkFw?=
 =?utf-8?B?SlpzNC9WWEZLVzhYTno5Qk1vM0RxQVhYQzV2Njk2UjgvWVhaV2hVRUY3M0Np?=
 =?utf-8?B?dnpFZXhJbVRtVldGUWlIek9qa1lrYlBUL0pzM3cxMHUydERaSEFrZ01DbnZW?=
 =?utf-8?B?cDFCdjAzUER0dEZiWjJ5ejU4bE0rU1hLYjVoMmtyYkFnWmFpQjRZQmZkNmwz?=
 =?utf-8?B?cG9LT3o2akVCYkxBaDFCVHNsc1hiWHlFUVBKUTJhemF5VnVxWUJyZEN2T0pT?=
 =?utf-8?B?N0FxS2w3blZTVzh3TndwRTdUclBHVXRKUE5ocEtJLytRdnNCY0U0L2hST1JK?=
 =?utf-8?B?TTcyQUltSld1aDJEZlkxK3Fkcm9CNnVJeXorak5KQm1lOVNySUUvRUltVitT?=
 =?utf-8?B?M2hmYkZnMlllODBiSGZ5ak4yNExBTVFxckdMNlNiejltdlVDZ005eWhWdXhu?=
 =?utf-8?B?UEVLU041T1NONmh4ZWZEaG1VditjcTF2dk1SS0ZVODFsd3Z5MHhWUC9hc1p6?=
 =?utf-8?B?c1lRcmJYakVaODNXb1h1OTgybk1vUHVmWjgxNThaTW9Jc0l3NVI2UEZXY1ho?=
 =?utf-8?B?K0Y2a3RpTlpoZ1gzU2d1ZW9JbktjMEYwMTNDTTkvc0dFcWl5Nlg4Unp4UXBw?=
 =?utf-8?B?aHFhK0xuMEVTWDcyS2xiQUY2Tjcray9ua0NMaXA5ZzFRUi9EWUhFeDlmbUg0?=
 =?utf-8?B?RTlFU3pvUWhldnAySzN2bHFWOFdNV01zU2g4S2tYSTg0UUNndFJwci9SK3R1?=
 =?utf-8?B?Uy9lUHVpdlJTQk9NWWN1YVRLbUtCc3NNWHZhMERGUllVRG54b2FLVEduc0dS?=
 =?utf-8?B?ajVqRU1DMm1NaEFROHNYL0RDVFNkNnc4NmtGSExyMkxGMWdBQ1ludzFTNnl6?=
 =?utf-8?B?MndxRGU4ZklTM1ZLNHZjaEc4UTBGWlRISVBpbFFaUy9sa1d2MEMzSmlQU01i?=
 =?utf-8?B?S2wzR2p1a3orWnBkN1I1MW5Rb3dOVFpPSDFsOVc5WXlrbUh6NjcrS1JwS2Rt?=
 =?utf-8?B?OGs4RHJyeDZhYWJUZ1Y1MVA1N3VVcE1rMmxiQkoza2FNWjRNY1BveUZ2U3dh?=
 =?utf-8?B?YUNaMXVRcmtBRE4wU2pZWWN4cUZzS0pEMm41SE9DdGd0N0ttQlkycFM2T2lN?=
 =?utf-8?B?amVEcDhwUkxvbmV6clZnbGtOQVlCLzFOMmNMUDNhUDQ3bzJHQjhsaGhDN0Ns?=
 =?utf-8?B?WmY3YUZPdUVCNWhDUkdDdWQ4Ukc4UW50OFpEaUdnS3MxbmxmUGkyYy9sQWhu?=
 =?utf-8?B?MWUySzFBbkVsQThCb3h0cDk1cFEyeGU0MUZ2WVpFK0JoV0tudWh4VzdKbno0?=
 =?utf-8?B?Z0o2bENJT2U4MHZLaWNtZm9qakM5MUVpQUxlQk1xMHhVeEZEU2ZRWTRRPT0=?=
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260;
 6:eAHdEaQ5OEUU4vc6A3IqQbihjxG8IYAB9a+K5OfUKgNyNpR/HhVN7nL1aeGP8LGhtkAfDn9BBplFvx7nbHe7rlS8vFbjHuj1NiABYBfmLXFUm18IuWUwLoeMaYIC7hyF+7WTyQ94l8gwOQ8yBrceKbR2IRM716UgSBfiBHOQj+texw9RYrEeI+tFUq/MVWO6aYXOIggzJ9nNzYLUg5EL1yWolUk2c1oUUKQi0cniZzejMwSzDob5iFA1uv5uG7SfIKUnZPK0lRq5gIWe9gCXQXNbadzbXfu20iPly/J5iOhlrgcejVseOro6OcryyogyAimPTDb7VBa+9FWfLyvuvg==;
 5:m3F5r5yymt0CAMW8MMtfTxpt19ljNAbGj+x5c2WvvUtASiRpzN1Hx3Lzn1kImhgXfigeWiQ0Aaw8G85VH46OCETiTCwAYkV/4NlXOa52/3gLxqWiScgei11cV4jXhgn/l3EBKDTuXlXQWglhU/qXIw==;
 24:E7UXsqKbrrK1ZHn9DfTvYZf3nqCf5k2qUz0fXD1Z1dbOotP8uJQUL6m39ebbBP1ZvLrUnq8fjZD2ZOZmnNKbKNVKmbB4H1b0/rbDYPdL038=;
 7:UHhtOjOdIFPEp4snYt4mu7yTs2eTjrMM4LPg0OgQWrdYOcPRBolBYdIrTJqR1DfqK/ewJvvi3W3wxTuKs7SLabUGtHkIGA2ri2DiZFTQyrjPexeBusD3T447ZFY6ORIB7ayc7URywmS08Ad8xKvd1HT5IcY2jlV72MnBsOUkvEXB5iyuRzp5+FZ4ZWLQre5Nf2cDWdu2VX/vSQTZbZ8ky641JL4H0mdcK0M9sQSequ4=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2017 14:03:02.3259 (UTC)
X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50];
 Helo=[tx30smr01.am.freescale.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2260
Subject: [dpdk-dev] [PATCH v3 17/40] doc: add NXP DPAA PMD documentation
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Aug 2017 14:03:04 -0000

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 MAINTAINERS                       |   2 +
 doc/guides/nics/dpaa.rst          | 374 ++++++++++++++++++++++++++++++++++++++
 doc/guides/nics/features/dpaa.ini |   8 +
 doc/guides/nics/index.rst         |   1 +
 4 files changed, 385 insertions(+)
 create mode 100644 doc/guides/nics/dpaa.rst
 create mode 100644 doc/guides/nics/features/dpaa.ini

diff --git a/MAINTAINERS b/MAINTAINERS
index 6ee20ce..10646a4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -409,6 +409,8 @@ NXP dpaa
 M: Hemant Agrawal <hemant.agrawal@nxp.com>
 M: Shreyansh Jain <shreyansh.jain@nxp.com>
 F: drivers/bus/dpaa/
+F: doc/guides/nics/dpaa.rst
+F: doc/guides/nics/features/dpaa.ini
 
 NXP dpaa2
 M: Hemant Agrawal <hemant.agrawal@nxp.com>
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
new file mode 100644
index 0000000..404efcb
--- /dev/null
+++ b/doc/guides/nics/dpaa.rst
@@ -0,0 +1,374 @@
+..  BSD LICENSE
+    Copyright 2017 NXP.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of NXP nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+DPAA Poll Mode Driver
+=====================
+
+The DPAA NIC PMD (**librte_pmd_dpaa**) provides poll mode driver
+support for the inbuilt NIC found in the **NXP DPAA** SoC family.
+
+More information can be found at `NXP Official Website
+<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_.
+
+NXP DPAA (Data Path Acceleration Architecture - Gen 1)
+------------------------------------------------------
+
+This section provides an overview of the NXP DPAA architecture
+and how it is integrated into the DPDK.
+
+Contents summary
+
+- DPAA overview
+- DPAA driver architecture overview
+
+.. _dpaa_overview:
+
+DPAA Overview
+~~~~~~~~~~~~~
+
+Reference: `FSL DPAA Architecture <http://www.nxp.com/assets/documents/data/en/white-papers/QORIQDPAAWP.pdf>`_.
+
+The QorIQ Data Path Acceleration Architecture (DPAA) is a set of hardware
+components on specific QorIQ series multicore processors. This architecture
+provides the infrastructure to support simplified sharing of networking
+interfaces and accelerators by multiple CPU cores, and the accelerators
+themselves.
+
+DPAA includes:
+
+- Cores
+- Network and packet I/O
+- Hardware offload accelerators
+- Infrastructure required to facilitate flow of packets between the components above
+
+Infrastructure components are:
+
+- The Queue Manager (QMan) is a hardware accelerator that manages frame queues.
+  It allows  CPUs and other accelerators connected to the SoC datapath to
+  enqueue and dequeue ethernet frames, thus providing the infrastructure for
+  data exchange among CPUs and datapath accelerators.
+- The Buffer Manager (BMan) is a hardware buffer pool management block that
+  allows software and accelerators on the datapath to acquire and release
+  buffers in order to build frames.
+
+Hardware accelerators are:
+
+- SEC - Cryptographic accelerator
+- PME - Pattern matching engine
+
+The Network and packet I/O component:
+
+- The Frame Manager (FMan) is a key component in the DPAA and makes use of the
+  DPAA infrastructure (QMan and BMan). FMan  is responsible for packet
+  distribution and policing. Each frame can be parsed, classified and results
+  may be attached to the frame. This meta data can be used to select
+  particular QMan queue, which the packet is forwarded to.
+
+
+DPAA DPDK - Poll Mode Driver Overview
+-------------------------------------
+
+This section provides an overview of the drivers for DPAA:
+
+* Bus driver and associated "DPAA infrastructure" drivers
+* Functional object drivers (such as Ethernet).
+
+Brief description of each driver is provided in layout below as well as
+in the following sections.
+
+.. code-block:: console
+
+                                       +------------+
+                                       | DPDK DPAA  |
+                                       |    PMD     |
+                                       +-----+------+
+                                             |
+                                       +-----+------+       +---------------+
+                                       :  Ethernet  :.......| DPDK DPAA     |
+                    . . . . . . . . .  :   (FMAN)   :       | Mempool driver|
+                   .                   +---+---+----+       |  (BMAN)       |
+                  .                        ^   |            +-----+---------+
+                 .                         |   |<enqueue,         .
+                .                          |   | dequeue>         .
+               .                           |   |                  .
+              .                        +---+---V----+             .
+             .      . . . . . . . . . .: Portal drv :             .
+            .      .                   :            :             .
+           .      .                    +-----+------+             .
+          .      .                     :   QMAN     :             .
+         .      .                      :  Driver    :             .
+    +----+------+-------+              +-----+------+             .
+    |   DPDK DPAA Bus   |                    |                    .
+    |   driver          |....................|.....................
+    |   /bus/dpaa       |                    |
+    +-------------------+                    |
+                                             |
+    ========================== HARDWARE =====|========================
+                                            PHY
+    =========================================|========================
+
+In the above representation, solid lines represent components which interface
+with DPDK RTE Framework and dotted lines represent DPAA internal components.
+
+DPAA Bus driver
+~~~~~~~~~~~~~~~
+
+The DPAA bus driver is a ``rte_bus`` driver which scans the platform like bus.
+Key functions include:
+
+- Scanning and parsing the various objects and adding them to their respective
+  device list.
+- Performing probe for available drivers against each scanned device
+- Creating necessary ethernet instance before passing control to the PMD
+
+DPAA NIC Driver (PMD)
+~~~~~~~~~~~~~~~~~~~~~
+
+DPAA PMD is traditional DPDK PMD which provides necessary interface between
+RTE framework and DPAA internal components/drivers.
+
+- Once devices have been identified by DPAA Bus, each device is associated
+  with the PMD
+- PMD is responsible for implementing necessary glue layer between RTE APIs
+  and lower level QMan and FMan blocks.
+  The Ethernet driver is bound to a FMAN port and implements the interfaces
+  needed to connect the DPAA network interface to the network stack.
+  Each FMAN Port corresponds to a DPDK network interface.
+
+
+Features
+^^^^^^^^
+
+  Features of the DPAA PMD are:
+
+  - Multiple queues for TX and RX
+  - Receive Side Scaling (RSS)
+  - Packet type information
+  - Checksum offload
+  - Promiscuous mode
+
+DPAA Mempool Driver
+~~~~~~~~~~~~~~~~~~~
+
+DPAA has a hardware offloaded buffer pool manager, called BMan, or Buffer
+Manager.
+
+- Using standard Mempools operations RTE API, the mempool driver interfaces
+  with RTE to service each mempool creation, deletion, buffer allocation and
+  deallocation requests.
+- Each FMAN instance has a BMan pool attached to it during initialization.
+  Each Tx frame can be automatically released by hardware, if allocated from
+  this pool.
+
+
+Supported DPAA SoCs
+-------------------
+
+- LS1043A/LS1023A
+- LS1046A/LS1026A
+
+Prerequisites
+-------------
+
+There are three main pre-requisities for executing DPAA PMD on a DPAA
+compatible board:
+
+1. **ARM 64 Tool Chain**
+
+   For example, the `*aarch64* Linaro Toolchain <https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/aarch64-linux-gnu>`_.
+
+2. **Linux Kernel**
+
+   It can be obtained from `NXP's Github hosting <https://github.com/qoriq-open-source/linux>`_.
+
+3. **Rootfile system**
+
+   Any *aarch64* supporting filesystem can be used. For example,
+   Ubuntu 15.10 (Wily) or 16.04 LTS (Xenial) userland which can be obtained
+   from `here <http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04.1-base-arm64.tar.gz>`_.
+
+4. **FMC Tool**
+
+   Before any DPDK application can be executed, the Frame Manager Configuration
+   Tool (FMC) need to be executed to set the configurations of the queues. This
+   includes the queue state, RSS and other policies.
+   This tool can be obtained from `NXP (Freescale) Public Git Repository <http://git.freescale.com/git/cgit.cgi/ppc/sdk/fmc.git>`_.
+   This tool needs configuration files which are available in the
+   :ref:`DPDK Extra Scripts <extra_scripts>`, described below.
+
+As an alternative method, DPAA PMD can also be executed using images provided
+as part of SDK from NXP. The SDK includes all the above prerequisites necessary
+to bring up a DPAA board.
+
+The following dependencies are not part of DPDK and must be installed
+separately:
+
+- **NXP Linux SDK**
+
+  NXP Linux software development kit (SDK) includes support for family
+  of QorIQ® ARM-Architecture-based system on chip (SoC) processors
+  and corresponding boards.
+
+  It includes the Linux board support packages (BSPs) for NXP SoCs,
+  a fully operational tool chain, kernel and board specific modules.
+
+  SDK and related information can be obtained from:  `NXP QorIQ SDK  <http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX>`_.
+
+
+.. _extra_scripts:
+
+- **DPDK Extra Scripts**
+
+  DPAA based resources can be configured easily with the help of ready scripts
+  as provided in the DPDK Extra repository.
+
+  `DPDK Extras Scripts <https://github.com/qoriq-open-source/dpdk-extras>`_.
+
+Currently supported by DPDK:
+
+- NXP SDK **2.0+**.
+- Supported architectures:  **arm64 LE**.
+
+- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
+  to setup the basic DPDK environment.
+
+.. note::
+
+   Some part of dpaa bus code (qbman and fman - library) routines are
+   dual licensed (BSD & GPLv2).
+
+Pre-Installation Configuration
+------------------------------
+
+Config File Options
+~~~~~~~~~~~~~~~~~~~
+
+The following options can be modified in the ``config`` file.
+Please note that enabling debugging options may affect system performance.
+
+- ``CONFIG_RTE_LIBRTE_DPAA_BUS`` (default ``n``)
+
+  By default it is enabled only for defconfig_arm64-dpaa-* config.
+  Toggle compilation of the ``librte_bus_dpaa`` driver.
+
+- ``CONFIG_RTE_LIBRTE_DPAA_PMD`` (default ``n``)
+
+  By default it is enabled only for defconfig_arm64-dpaa-* config.
+  Toggle compilation of the ``librte_pmd_dpaa`` driver.
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER`` (default ``n``)
+
+  Toggle display of generic debugging messages
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_INIT`` (default ``n``)
+
+  Toggle display of initialization related messages.
+
+- ``CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS`` (default ``dpaa``)
+
+  This is not a DPAA specific configuration - it is a generic RTE config.
+  For optimal performance and hardware utilization, it is expected that DPAA
+  Mempool driver is used for mempools. For that, this configuration needs to
+  enabled.
+
+Environment Variables
+~~~~~~~~~~~~~~~~~~~~~
+
+DPAA drivers uses the following environment variables to configure its
+state during application initialization:
+
+- ``DPAA_NUM_RX_QUEUES`` (default 1)
+
+  This defines the number of Rx queues configured for an application, per
+  port. Hardware would distribute across these many number of queues on Rx
+  of packets.
+  In case the application is configured to use lesser number of queues than
+  configured above, it might result in packet loss (because of distribution).
+
+
+Driver compilation and testing
+------------------------------
+
+Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+for details.
+
+#. Running testpmd:
+
+   Follow instructions available in the document
+   :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+   to run testpmd.
+
+   Example output:
+
+   .. code-block:: console
+
+      ./arm64-dpaa-linuxapp-gcc/testpmd -c 0xff -n 1 \
+        -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx
+
+      .....
+      EAL: Registered [pci] bus.
+      EAL: Registered [dpaa] bus.
+      EAL: Detected 4 lcore(s)
+      .....
+      EAL: dpaa: Bus scan completed
+      .....
+      Configuring Port 0 (socket 0)
+      Port 0: 00:00:00:00:00:01
+      Configuring Port 1 (socket 0)
+      Port 1: 00:00:00:00:00:02
+      .....
+      Checking link statuses...
+      Port 0 Link Up - speed 10000 Mbps - full-duplex
+      Port 1 Link Up - speed 10000 Mbps - full-duplex
+      Done
+      testpmd>
+
+Limitations
+-----------
+
+Platform Requirement
+~~~~~~~~~~~~~~~~~~~~
+
+DPAA drivers for DPDK can only work on NXP SoCs as listed in the
+``Supported DPAA SoCs``.
+
+Maximum packet length
+~~~~~~~~~~~~~~~~~~~~~
+
+The DPAA SoC family support a maximum of a 10240 jumbo frame. The value
+is fixed and cannot be changed. So, even when the ``rxmode.max_rx_pkt_len``
+member of ``struct rte_eth_conf`` is set to a value lower than 10240, frames
+up to 10240 bytes can still reach the host interface.
+
+Multiprocess Support
+~~~~~~~~~~~~~~~~~~~~
+
+Current version of DPAA driver doesn't support multi-process applications
+where I/O is performed using secondary processes. This feature would be
+implemented in subsequent versions.
diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini
new file mode 100644
index 0000000..9e8befc
--- /dev/null
+++ b/doc/guides/nics/features/dpaa.ini
@@ -0,0 +1,8 @@
+;
+; Supported features of the 'dpaa' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+ARMv8                = Y
+Usage doc            = Y
diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
index 36f4f3f..4115141 100644
--- a/doc/guides/nics/index.rst
+++ b/doc/guides/nics/index.rst
@@ -43,6 +43,7 @@ Network Interface Controller Drivers
     bnx2x
     bnxt
     cxgbe
+    dpaa
     dpaa2
     e1000em
     ena
-- 
2.9.3