From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0052.outbound.protection.outlook.com [104.47.1.52]) by dpdk.org (Postfix) with ESMTP id 2E67E7CA9 for ; Thu, 26 Apr 2018 12:15:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=JrtjVHCbN7X4Jw6U6YEVVPNGuXboNOOggPqrJW6Ug/A=; b=EnLzNjSA6K6L2ga9CB8SFlGW6AOecWT8JqwSOATUt7nbKIvDv1JlYWGLZ/75QVuB7nursflakJTitN57ZiFwmlDmmpvScVx/QRsGInSjVV1WHI43Rtoih/mpZlYf4WoZ5neGN4djj3bqSRTZzQLDxdpghispLDDFZnLJ6ngYh74= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=nipun.gupta@nxp.com; Received: from b27504-OptiPlex-790.ap.freescale.net (14.142.187.166) by VI1PR0401MB2432.eurprd04.prod.outlook.com (2603:10a6:800:2a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.696.13; Thu, 26 Apr 2018 10:15:39 +0000 From: Nipun Gupta To: shreyansh.jain@nxp.com, thomas@monjalon.net, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Nipun Gupta Date: Thu, 26 Apr 2018 15:44:56 +0530 Message-Id: <1524737696-3145-8-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1524737696-3145-1-git-send-email-nipun.gupta@nxp.com> References: <1523111645-8076-1-git-send-email-nipun.gupta@nxp.com> <1524737696-3145-1-git-send-email-nipun.gupta@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=y Content-Transfer-Encoding: 8bit X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: PN1PR01CA0089.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:1::29) To VI1PR0401MB2432.eurprd04.prod.outlook.com (2603:10a6:800:2a::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(2017052603328)(7153060)(7193020); SRVR:VI1PR0401MB2432; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB2432; 3:mhXc3qlV66htZ9oKJP/nQHMDWLo2xUmXz7uE1BawrHzDXS96XVlXHIddCPP7MEFU1RgIQB40nRZ6gRoDyC62fgV2n4KA19HVRMp4jzUxM3OrW+mPIrBAyC5kRk1DB3QA8emfwnshsC/ngRtoWv8gua6WEDSQF3CrQxGyUaa9+r4be7dNh5B01P3+2OhGOp6q3TA9VD2nBDFBMpByKDpjQ9uSWpRUwU7UTuFBIf6Rt0ZKgpAgioR2HXoX/4uhiNtM; 25:fEst4+xPcG5oY2oEKVk6kKmG5Z5uNR3thWRobu1a+MesjoTG4xlsFuI5WbQrTV1+01unI3+dAQDQ7ptWEkv7NkH/txPLB+PkXIqEC2MOt8VWiEYPtf8VWN2L1MCjugqy0CnClhuTl+bghPvBwDthaYsYoe9JdWmiRZNoLmhVGUfwqhXlyNcGIUgi0iJhuFEAEF7z9AjLWOK7YzKYQ7wLEpVIGdSja63JmOcKRcUlhHQpgM2RYE5bNjA9QoKUlqiwQpO1qBSEKr1Ub1kY653df2Ntyt5FQRRe5PnAXhqCgz3yEISlrH2fAVcjuyg0/ihCRyHT3xmzIiKEDPcnUi7ZoQ==; 31:E1rmq5AnBKKtfIf84RNmco5w8fyX5ZfpAxoQZcCIFO5/FKh/qHUxAosz5LE0ZFb+7H3v4knWqAXp1QkiC/gdF2XQDOVOZO5Ymkt8PZJWcvRm0y0jZTnYJ85Xx9ExrycLl+ls8qMHxKPmdxx5vtVDfC9zh7j10yEhbDLtZZ7dOopcfYMDWAdIf0BEG83iL4P9A7qie2+PF+4YTl2yRsvdwwFFoV894CCyKXHFL82UOAk= X-MS-TrafficTypeDiagnostic: VI1PR0401MB2432: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB2432; 20:ujFvxrOPUDrd8HcnHbYt3Q0CGfQqvau4qjI93xbey55jy2VbT8Lfl8vIQ2/iv+xFDZP+eYWb1RZ9h32nkp9Iq3DraQRHEvz3I1wwOalbcL2OIiJLXwouYTR0eGZowQJZu74XJL5bn59ljTeX6auviNMO12piVaP95FRomKoIg5UEfj2IVl/7qIlruNXifd8eVPwFD6zhTRe3/ycP/dn2ERnA2Kizn7zGODODvnVQGZelF8O22d+cjJIkr4jJV/7pAuusfB7u4QkM66ovWfJidsoF9I1C0gPUBrSbkLjayD3DxyIkT0wEhQ5CB27pSnNLwuyiaOeNTzSaudCzRE7iP5v5ElDqxGdNBZTObEv8lIjs63f4gpM2AVL3U7Un+f0Koe3+8BzOhQFS7+Z2ShTXzM61CJfPSD64hBRxag8yC8hRq4taSweRqaQQ+y8uZlpOXHNFcP78WimZ0zCaNopDJnOZDiL2yYthiV/o9SYScZXdQo0+wj0SfaVZcA9UOzwB; 4:+oCWRoXT3Cu0DsQ2Qt75oy5JoiQr2MBuk/BtKQShwRrvK5CXZMe3YJTTohNMSCKI+UuQfU2xaXM9vAjVcM/xIEIrra7ZYyJLVIW9NqUyoTCQ4Pu4q7Rs/2dIhHskAqqb9GZpe68j04ROWjyANHjJ46xObLbNnH7fyunzqGkzdMl92cqyHYZ3yJgbhGB509XPqQF+27Uag9z26Xv/vqDP5KhTpejAtFoOS1LUY3yM3NNNHGH84fXlNKzfE/EVSL6q/H1/edfOLcRR/0xn3WpGVqD2Te3SDF0y/aJEQCsWY2oPGeiIe6+JVX91jko3sSeRolJvlQP9lG0Sxx6+q4P9tlgRDlyYRI+DYZoc0i5+vyko49mYzdqksuIX1S+0p1J2kXEE592tHa9U//iZd8GFV9wDlyouTd2DC6VgYcrECfE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(185117386973197)(264314650089876)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3231232)(944501410)(52105095)(3002001)(6055026)(6041310)(20161123558120)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011); SRVR:VI1PR0401MB2432; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0401MB2432; X-Forefront-PRVS: 0654257CF5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(376002)(366004)(39860400002)(346002)(396003)(199004)(189003)(106356001)(2870700001)(2906002)(3846002)(5009440100003)(6512007)(86362001)(6306002)(478600001)(44832011)(36756003)(7736002)(5660300001)(6116002)(486006)(97736004)(4326008)(11346002)(956004)(476003)(6486002)(2616005)(446003)(386003)(6506007)(53936002)(25786009)(81156014)(47776003)(52116002)(16526019)(66066001)(6636002)(105586002)(316002)(50226002)(6666003)(8936002)(50466002)(8676002)(26005)(68736007)(305945005)(81166006)(76176011)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0401MB2432; H:b27504-OptiPlex-790.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0401MB2432; 23:7AzrpcVlb+kJk/keXRMYpFDAqDhhGaDaqAwKQi8?= =?us-ascii?Q?ra/aAVJuvyJMQnoJoUDpCwsjVRygvOPutUjx0/DTx/Lgo+Jbt3sAC1X6WmZ+?= =?us-ascii?Q?T+WoJyWUywXLwsCrfF8uWxxdE82gjvUXTLvE53CC71uLAm4hgc3GV+GkBL2M?= =?us-ascii?Q?q7OZH5Nxw9b2DztqV9stJXfFnnKyB+dK3o0ADLNI9RjO+AtRPaSRpSa4XdB6?= =?us-ascii?Q?PD0er94ThWEcl5dTZlkMg5GVhZ/XWN3DdQaTqSqPQjVwdqxenhF6BYQTH6vh?= =?us-ascii?Q?4Gk+n++F3wYKmUmsnnaaIYC5K3PwmWMCgxfvu5JK/iNPhUR9eDthDvOJ+PYp?= =?us-ascii?Q?lV95bjxR3hHx5zt5Ez7ndiplwhxPIvSwVrLLMCNOBUkrwLp38vQ23oSd9ZRQ?= =?us-ascii?Q?M84IsvUIddes+NckKacapV6PCSTJ59zLpC5EhoumnMq8/lH4bxTC63pGSCy2?= =?us-ascii?Q?ny+6RkgjpzTf1geORdfnpueq/hTKtk2Slvpyi+RAJlXzZevy7sCOh1/568B+?= =?us-ascii?Q?rqjy4UwugFguod2j2pV0RlmafA690v4tmOO1kcfaQoVY5iFDC2VxwgqaqjVo?= =?us-ascii?Q?zLkjThp2LD2OUafg/oDBn4QA2WFDXxlpc9q/U3NLreaZHOPS0o1SMtO8E8b+?= =?us-ascii?Q?9/+pFd+oIgbIdPsdYKGakoe4++dsXLvgxxQkCk9PRvVI6Dg8CcUb1Rt4c9GU?= =?us-ascii?Q?bRudCClgbvaSBddTVv+yhU/xl3SPfWrIom10gyAQQmZfd7Dr34FzS6yIroYQ?= =?us-ascii?Q?UJiYH3GKlaVIsGKwgkNkJBpMAd8dAB9PobDiDufcudwiSXSNSE0gvV+0+bMm?= =?us-ascii?Q?p3awY2l8zgdn8DQzY79APjniYWSTaVhLoJjtpdCUQLfjw9lowydfevw870JP?= =?us-ascii?Q?1Qqg/8S7AEpdVFTrZkQNAfjIIYxoB/w3+eFRn1p3HeAls/OQpGo2cQFRqEuz?= =?us-ascii?Q?8wB4jGN8xuq6D54CdA0PQ+2F9/R7H3fiHoxsBjVfiHSlcl/y3ZOLERK9IwNo?= =?us-ascii?Q?XEYtChXIeDOLQH3phV6cPa86shUCwBF6qjRvLt47zyslyZ3nrpZ36Hq+o+F6?= =?us-ascii?Q?LFcQW6fzCfmc/aGdFIvMMELfShIqTf26aXmmC2MFGWU0n7qnwn5ahPph5Wqf?= =?us-ascii?Q?EGf2SostTjlaug7sj7tbMsw03zQrzEQ8ijxuR8Dkq0+kC3uNOcTg4vGfA9w2?= =?us-ascii?Q?wVx/fNQpdYOmh+LO9Su097EwBcLZu0etCCJgDfDP6Elg2YrcDa+/WqLXi9w?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Antispam-Message-Info: MWJPOyUZXui3aROWTwd8Ew3jFFOlS0ZOKKTQoOfqrbV3rSEUT0kfGHW3lcv6bk9p0s2fkluDpia3jlEETMQzIgV11Jte7RlA+1g3jLX8ccY4TaRio7GPcJZxDbta/T7Hbc4dr5Ll9NuS+XbtB64xT2RwATBKcXILyI79H9xb5bdGUYIua80fiaDyJrdzlwLB X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB2432; 6:Z9Y6XMvHeznYNF+vE58tHuR7RcB6sPyeiJpC3I3lJXO3sBKRLunIo2aRmHmWWnGovuAxcHasF4H4kodbSVWjhg+/Q9PwfBnmQ6/KaIe7KILnctVZNzhHEG3DKSCW4RDQgRwRPayS3Qbu7KnvyuC59gUCtbRl0TG/hGCt9VHDHvd/35Jv1OTCgA7THeCCDzQTGDvTXu6x/RbV+KRFtxWJ8NnX6rmYMbZw31nqwLgf454f9HWBBj5vsJCDSvyDIhGr0DRNYygfv+SuMVMffgVX7n1Nsm3U9SJ4t2rBXPp/ZvVB+9XXvQ5YefkG4e+0LiNpkKTqqyq8j7nj0Rz8YLQrYqbEudJx4QcV/6EJe6dorjLEhOeHli411B7KjjUUErLasmKvZ0W9VQ80gix6i5162NBT+tfytMIMhKu1uD1k0AnaIvP3h7gzqQTgzU7o5a/1mym6kJjaMihyjH8fkpy2KQ==; 5:9gFfXx1Lg19nwsROH5YjuwMVvNRl6wEf2OJjwvuF/uVhBQxwLNy8/CRenK3LgSFHDpZHH8l41Zg1NgOECd4ocAD4xzO1KMO2cNWqY9W9ATVPFvwGsKuUyP6B5JAlDu8yLWe/YGGA5Gzz0trgopWjzoGjsZ1B41j4hSxbk7GLaz4=; 24:8/NHMxQs39hFi6FPegJ99uIdkhMTmwjy9TMCRmwSEGKOp3+fGl0Lm9cRv28+nZT6EgxrQJcf/Ojk6OykvW5Q9iH4d7sa58p/+rTDvk/3JQI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB2432; 7:/34Es/qCd6JNbiyLPT2Wbz6TgsWw8DchqResqmVikMLfAjm440Rvnt17aiyrs/2t2kCeFl24cg0iZXDE0KPV8+5jlW9fV3YfzxVHzMAwMsLBanUioDTCFB0SdsKYfXhKDpaoggJ+X+PGzHHCB7zrqtitmrHe/XAnVYtMwElB/LBwETEmnRPZFuEdLu4withaDtz/nLMMrcmThzKi04OBNkE2dSRNaWdJMIXeDqw8zS2/ffgCdBgC9yxOHOWRSlxb X-MS-Office365-Filtering-Correlation-Id: 03ef57c9-86e3-41ce-3c38-08d5ab5ea9e3 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2018 10:15:39.7528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 03ef57c9-86e3-41ce-3c38-08d5ab5ea9e3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2432 Subject: [dpdk-dev] [PATCH 7/7 v3] doc: add DPAA2 CMDIF rawdev guide X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2018 10:15:42 -0000 Signed-off-by: Nipun Gupta Acked-by: Marko Kovacevic --- MAINTAINERS | 1 + doc/guides/rawdevs/dpaa2_cmdif.rst | 132 +++++++++++++++++++++++++++++++++ doc/guides/rawdevs/index.rst | 1 + doc/guides/rel_notes/release_18_05.rst | 11 +++ 4 files changed, 145 insertions(+) create mode 100644 doc/guides/rawdevs/dpaa2_cmdif.rst diff --git a/MAINTAINERS b/MAINTAINERS index 0871af9..2502940 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -794,6 +794,7 @@ F: doc/guides/rawdevs/dpaa2_qdma.rst DPAA2 CMDIF M: Nipun Gupta F: drivers/raw/dpaa2_cmdif/ +F: doc/guides/rawdevs/dpaa2_cmdif.rst Eventdev Drivers diff --git a/doc/guides/rawdevs/dpaa2_cmdif.rst b/doc/guides/rawdevs/dpaa2_cmdif.rst new file mode 100644 index 0000000..31a5dae --- /dev/null +++ b/doc/guides/rawdevs/dpaa2_cmdif.rst @@ -0,0 +1,132 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright 2018 NXP + +NXP DPAA2 CMDIF Driver +====================== + +The DPAA2 CMDIF is an implementation of the rawdev API, that provides +communication between the GPP and AIOP (Firmware). This is achieved +via using the DPCI devices exposed by MC for GPP <--> AIOP interaction. + +More information can be found at `NXP Official Website +`_. + +Features +-------- + +The DPAA2 CMDIF implements following features in the rawdev API; + +- Getting the object ID of the device (DPCI) using attributes +- I/O to and from the AIOP device using DPCI + +Supported DPAA2 SoCs +-------------------- + +- LS2084A/LS2044A +- LS2088A/LS2048A +- LS1088A/LS1048A + +Prerequisites +------------- + +There are three main pre-requisities for executing DPAA2 CMDIF on a DPAA2 +compatible board: + +1. **ARM 64 Tool Chain** + + For example, the `*aarch64* Linaro Toolchain `_. + +2. **Linux Kernel** + + It can be obtained from `NXP's Github hosting `_. + +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 `_. + +As an alternative method, DPAA2 CMDIF 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 DPAA2 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 `_. + +- **DPDK Extra Scripts** + + DPAA2 based resources can be configured easily with the help of ready scripts + as provided in the DPDK Extra repository. + + `DPDK Extras Scripts `_. + +Currently supported by DPDK: + +- NXP SDK **2.0+**. +- MC Firmware version **10.0.0** and higher. +- Supported architectures: **arm64 LE**. + +- Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. + +.. note:: + + Some part of fslmc bus code (mc flib - object library) routines are + dual licensed (BSD & GPLv2). + +Pre-Installation Configuration +------------------------------ + +Config File Options +~~~~~~~~~~~~~~~~~~~ + +The following options can be modified in the ``config`` file. + +- ``CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV`` (default ``y``) + + Toggle compilation of the ``lrte_pmd_dpaa2_cmdif`` driver. + +Driver Compilation +~~~~~~~~~~~~~~~~~~ + +To compile the DPAA2 CMDIF PMD for Linux arm64 gcc target, run the +following ``make`` command: + +.. code-block:: console + + cd + make config T=arm64-dpaa2-linuxapp-gcc install + +Initialization +-------------- + +The DPAA2 CMDIF is exposed as a vdev device which consists of dpci devices. +On EAL initialization, dpci devices will be probed and then vdev device +can be created from the application code by + +* Invoking ``rte_vdev_init("dpaa2_dpci")`` from the application + +* Using ``--vdev="dpaa2_dpci"`` in the EAL options, which will call + rte_vdev_init() internally + +Example: + +.. code-block:: console + + ./your_cmdif_application --vdev="dpaa2_dpci" + +Platform Requirement +~~~~~~~~~~~~~~~~~~~~ + +DPAA2 drivers for DPDK can only work on NXP SoCs as listed in the +``Supported DPAA2 SoCs``. diff --git a/doc/guides/rawdevs/index.rst b/doc/guides/rawdevs/index.rst index 29b4f6c..7769083 100644 --- a/doc/guides/rawdevs/index.rst +++ b/doc/guides/rawdevs/index.rst @@ -11,4 +11,5 @@ application through rawdev API. :maxdepth: 2 :numbered: + dpaa2_cmdif dpaa2_qdma diff --git a/doc/guides/rel_notes/release_18_05.rst b/doc/guides/rel_notes/release_18_05.rst index cfcc301..b28d72d 100644 --- a/doc/guides/rel_notes/release_18_05.rst +++ b/doc/guides/rel_notes/release_18_05.rst @@ -148,6 +148,17 @@ New Features See the :doc:`../rawdevs/dpaa2_qdma` guide for more details. +* **Added DPAA2 Command Interface Driver (in rawdev).** + + The DPAA2 CMDIF is an implementation of the rawdev API, that provides + communication between the GPP and NXP's QorIQ based AIOP Block (Firmware). + Advanced IO Processor i.e. AIOP is clusters of programmable RISC engines + optimised for flexible networking and I/O operations. The communication + between GPP and AIOP is achieved via using DPCI devices exposed by MC for + GPP <--> AIOP interaction. + + See the :doc:`../rawdevs/dpaa2_cmdif` guide for more details. + API Changes ----------- -- 1.9.1