From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0046.outbound.protection.outlook.com [104.47.1.46]) by dpdk.org (Postfix) with ESMTP id 921011B298 for ; Thu, 22 Feb 2018 10:35:37 +0100 (CET) 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=KYCVb+Z0rQWXr0fO133YUXzUqXa46g3opde2G6TQsqQ=; b=bRoPL6NDRmPfE+xCN/qxVfNRjID0LgnFEXJkbYAuUGeDEiX3v0Uub5aw9+5NCEeRfOn/CTO54ulL+5NELJ2VjneyNrAkfOwIYEpemWgzOMU7K7pCIF3X0tiCb2FpgzDk+DCMHc3CmCXskDxqn2c3dNc6jxxdeE6wtLweJYN0l1k= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=nipun.gupta@nxp.com; Received: from b27504-OptiPlex-790.ap.freescale.net (192.88.169.1) by HE1PR0401MB2425.eurprd04.prod.outlook.com (2603:10a6:3:25::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Thu, 22 Feb 2018 09:35:34 +0000 From: Nipun Gupta To: thomas@monjalon.net, hemant.agrawal@nxp.com, shreyansh.jain@nxp.com Cc: dev@dpdk.org, Nipun Gupta Date: Thu, 22 Feb 2018 15:04:48 +0530 Message-Id: <1519292089-13851-9-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1519292089-13851-1-git-send-email-nipun.gupta@nxp.com> References: <1519292089-13851-1-git-send-email-nipun.gupta@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [192.88.169.1] X-ClientProxiedBy: BM1PR0101CA0061.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:19::23) To HE1PR0401MB2425.eurprd04.prod.outlook.com (2603:10a6:3:25::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 722ae5af-293a-49bd-f83c-08d579d7a094 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:HE1PR0401MB2425; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2425; 3:5+ehNmYaaJNRBh/Qd6vHyJWmdfbxbdHvJ9LDFIYlDnhhACNS2JJLe6NNzqju/AT2cgVFEEfwv9ThMirJJDk1YnYUj2Oo1CPCw1nTkar5OM4xzf/PXX+3wWUUdkXlbsfFwFoNiBYxx3Y3qZ5Z9ANC1615or2WUFPs7E8LeMN1vB3+ueawgCBLJU9teLLJujEujcKckQHxlNTJaVuEooS8GsK5pP5jwOCfrJfXuW87SUDzRqxkRPrsRAR51fdCnspa; 25:hATUUA/iy8AMinLb19WM3NursxAhoNabnH+VUBPnm5p08KC+FLtgNp+C9qOHXGj0bpXSLlPz0xPU958WRIug6PvtSTWH5D8O66yhOj09jI/WgLA03hOPKNjcv2HRmg2/RI38JD39eetBx/dnqHJrnkaNfcSZS57mwoTAKKid8CsJc/jDizq/EuvPijutpmZC00vCzHeUldI2LnZXCDpC9QtFhvvAHPFiUTCwNdMcYxCKhEq/mBFc1J707PrCvzj2QmMKSzjtCiz67ZnCFxLkVWi2CFkb143kETowI45WkdBZzq87fAuuKP5GV1h3XXiATXoDUPBdTiiS6H0VZuQwqQ==; 31:o/c/lK7xFJoQjp3CJ24F99OkG5Kk445D5H934vAh78s5Mj6j84wAfQd4dICildH/qg5dTqc1VGeJQ0dAOypnXV11Oka+XYLAhNCDNrJ1CgIg+h9rpCMtAAADdpb3tHByWjc+HV6ROrPXZ40YdG0FxDE7SHwGpS5vyUQYptrrJMU86sgQdtJWbm8BdAHMcC9gXXbGuW5fBrOZRIJ1gdYBqrcW1zxmk0pPJHvhNKhnP7Q= X-MS-TrafficTypeDiagnostic: HE1PR0401MB2425: X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2425; 20:KvZs32j6Q/qp9vmBhAnJMB6DA6TFWBC66RIjanE1a0IUyddwoZE3QS1E5CrONohVMXoSDqnbRwpfCZsWxNShd4/nTHUUn69kLdoXL772Xb5twvTQ82078x/cLudsMOcasrYi4QeM0naap8Wuxe+NocrQKVydO7mKwPS/1baD7i4f77HeirMMqWonzdjWpY3KQtTYYHGSGvxWZI3Yiio2v49io5+wv5eVWkHXTucqGpTNnxvZjoAO+Dkp+/xBG/bywZpHvmXDiiPvlN3Jm1lxo3le0S689UmWVzIwHUrPzag2cLsubxjeQgpPSPm+s9mMHSm75M8mn94O526wQo8Y99/+1eIdzQ+vrQJA3lFlalpCdt0dm1gRFhUIrzqHqq0JewGPZUjsIpW0GTLEo6RzPw8LuYSP0GgwXMWrE+THD9Hi8WHRwRak3lQQSdV9kpQk/tcK8ZpmH890bMJetyLqR1j9agomG8b9s6Gq2AK+yJrB7XFLZb5DTsltG7oDwAO1; 4:DLvreddraDIX8/Vv9pkhDD4d1NPRjFCtwU/BhzW+nHLRsADH1F+4MQfQVPTRSTxMKlwGrKc8kTLN/O5H8q4e67ZcZ/z5VJ5LPMBNSZhOaZ6DBqWUcNcD4gkno6/PxgzoiWabLdho8g8QkbuovS/6aJmW/YQdR9ZWuSGzjGjNKllpU+hqDErQ4NNhF595kord3lnuCXtLM9kvbQEiRNYf8h+p/rHqVHP0yXH0C7TrOTcRAwi9P47z0jtGTeOv11FJw8KuePdGFFtTQsQDKIqfN8zkCCRU0NNUHHUCneZQwpZ+zq2FBJREGaNjIw2hHxdeqYHSUC8dxYZnnS/oL1ekRdw3gWhtPSmThB7WTAq5oL0MWZ1v68UKNKlqzU0KT7Jo X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(185117386973197)(264314650089876); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001077)(6040501)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231101)(944501161)(6055026)(6041288)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:HE1PR0401MB2425; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0401MB2425; X-Forefront-PRVS: 059185FE08 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(376002)(346002)(366004)(396003)(199004)(189003)(7736002)(66066001)(26005)(316002)(305945005)(25786009)(4326008)(97736004)(386003)(6506007)(478600001)(50226002)(6486002)(47776003)(36756003)(105586002)(2906002)(81156014)(8936002)(6666003)(106356001)(23676004)(81166006)(86362001)(52116002)(6512007)(53936002)(16526019)(5660300001)(186003)(50466002)(6636002)(2870700001)(6116002)(8676002)(68736007)(3846002)(2950100002)(76176011)(6306002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0401MB2425; H:b27504-OptiPlex-790.ap.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA0MDFNQjI0MjU7MjM6MlYrbG8xWTJrbnhXdmM3ZW9FRmtHMGcv?= =?utf-8?B?c3ZDNUN4UmMxY3BqNS9uNWEraVc1aWk1S1lRMm84M0QvcU9Ib1liVEE0T1Nj?= =?utf-8?B?ZmN1djg0bEtzL3RPRytIYXR4RWxCbkM2VUNqTU1sbGNaMlp5N0o0Vk5yR1Ez?= =?utf-8?B?Z1lEQ3lTamhsS3VidEtpT3pKZ3o5cVhyL1ZuTXlvdmJBQzMwUzdpMTBIQnZK?= =?utf-8?B?eVlhZFlmLy9UcTEwSmZadEk5VHB0cFN5a1ZGSEE4TmpIODR6THRZZ3N4SUtP?= =?utf-8?B?YS9KRlNqVGZhcUdDV3NNUVhFZVJMMm9vaHFhQmFTWkxZNEphUFdTcUZFUE5p?= =?utf-8?B?WmxBVTZ3bkhYeG1VVmVVRFFhUFJ4UFRMY3J6a1YwcW5rVEFCdVZjMENGZUVt?= =?utf-8?B?UWhrdmRFdVl4SlFYZXpSOXdmQm5INTRIL3ZLa01xOXFYQjBQdFpZZ3JVYkhK?= =?utf-8?B?M2k2MEE5cEZiVXZPWldnUzBKMExWOU9EdHBXTkYxQjRFYWloeFVrNk5jWWFq?= =?utf-8?B?NmhVaC9qT1pQOTdRUDNrWmJMYkpEbEJjRnhoOS9Oc3BmNHd3M0h0ZU1HbVFv?= =?utf-8?B?MkJaQVhCSHRmZFdhWW5DVDNFbS9WRG5iRERtMmRFS3dqZmVGT0NmMTZ6ZG8r?= =?utf-8?B?bnlManlDelc1S3N2bFdDUU11aTQwOUZXUWhnWitRNHBqK3ZSSkI5SGkzc2lu?= =?utf-8?B?YVVqK25qTEhlYnNPTmtTTWhNMDhWazkvSE1SUzEveVQxaE5oWndhbnJjSnRr?= =?utf-8?B?RzlnazZCdEZiN1JtSGs0Z3lQOVYrb2pVa3EvMHM2S2I4cWJSUFltUllWRGJR?= =?utf-8?B?WnZGVVh6Z3NtNms2YitlaGZzeUFSQmIwMC9yQ0F1ZENJV2k3SVBqTVdnSFFw?= =?utf-8?B?NTQ3TGNTZ2JHL0RnUS9OQXk0ZW9OUkxIUVpsVmVPd3ozRjJCa2h2cDhwaFpq?= =?utf-8?B?QVpXYTVUaktrVUprbmlvc0tjK2RXeVVDU1lOcjRVczdzTDFIYTRpUTJYejQx?= =?utf-8?B?ZlZldW1LVlhpaDdyR2FtajY2TzlvZkJLa1VkNWkwNE9YSjNkV3p3NWNjQVdj?= =?utf-8?B?MHJxY3hSUm5hRzRBS245cnhndWxBZFJhS2t4S2FHbTdJa1R4amlQK0xSWmRI?= =?utf-8?B?a21pRXZ4eE5aV1pUVDN6NFJGY3FsaTNwQ3YzU0d5NHhUKzhtbDJVUnR1TElB?= =?utf-8?B?eVFyRTZSQVd3T2l5Rkc2NmdQQ0hvT1dhZVBrd1lYSjhCN0g5OEowamlxckg3?= =?utf-8?B?ZElJSFE1cTQwQ3B0azdML1FteUVBVkdQZGZEcDV3T0FvdHJJckpHaFBFUytt?= =?utf-8?B?a2t5c3dCdW95dTBzc1U2aHJmOFF3aDRaQlpRQndSTzRDcU4yVmhYR3N1VHVv?= =?utf-8?B?Rk9BZjdmV2RYcGlnekgyazl5eUNiTHpQMTdBalU3bTMyMERPYktndEJpc0Zn?= =?utf-8?B?V2hqM1A2WGZwNUVPeU1YbkhmalY0VDJzTzlxTDM4Tmc5T1hnQXdxcTYvNEZO?= =?utf-8?B?ZzMveE5RPT0=?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2425; 6:IyAtKZFyXahC+u44vOVU4ql0ohkJyWzNhYk0EoMWMEgpQQ7tXRqSbqFB4ial2ue2sKccC7sbvQelXjDhUC/5+8dAJuEy3wEPGLc7Vm9ZIjvMOo8pX7jGe5D3nmOI8LNTkV+qR3gvu7FOHzFZxrGrRjUb2sf33t8345v63ZEsNKhu77W1sMDG15Rfz/lLvw3RDcg7MpEpuXqO2GXtJAefCI/gl7m+KVNfSUCLZJgk12F7RCMgi+rojEMo/sDvNPJzy3ePHerVhpmmQLwpIlF8UicpLQ16a04Ef6BEQjDjRIRI7xKEvUo45ad4nPDig8GAiICB3Mj9h4V0vQp2J6GuaqV6/uZDnhuTZsjDO+Ma2F8=; 5:CV/Z0r3ceUzmYrYsBWWH3Yuu0yv1Nm3QLhr3NyLhirnuusrmHNdg1jIWimEEFUJYKb4g0KTsSLX8vCW6wWZMCYdY+QpIgZ/cr4WvZoGzKo8D5hInNeQNIqzs8EjjuSi1QoCIiiKcMtGfRQtXhVRpHw/zeFNVLxTE8ZhQ+GXcMbI=; 24:X5G+3ayQLUb4V5hcoMxb9It+LqXJ/SS43sBUe4UYHpvlBJaZpj0BwpLu8I1r+sDOBY3Cuc5aMuA574iIDclBe9FyFgPJ7SBpjKpjq2OnAHQ=; 7:tmOQFL4Y9hRGPFma49XLw++AB4J3/VjRrhqgMq85ZfW1I1cLhio2RikTk1DxeOlE9WuDyh7S+WAZmE4aP6pv/knQfSMVMpbFUzE5H+Sdml5V7uxlJh9v2/CCi2TEQQgz5HVF0IAxv43OM4ZR2WVkw/N4bK+PfWsp/Yw+mpNOZdUgQXX5c+60Z5l8fFc+Yzazj+U9lDrcQD+76inQetp9aCUfA1ZjVtSFq8OaV/G7+37bWdu6wYY4a7SUmQcJX1vZ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2018 09:35:34.9808 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 722ae5af-293a-49bd-f83c-08d579d7a094 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2425 Subject: [dpdk-dev] [PATCH 8/9] 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, 22 Feb 2018 09:35:37 -0000 Signed-off-by: Nipun Gupta --- MAINTAINERS | 1 + doc/guides/rawdevs/dpaa2_cmdif.rst | 136 +++++++++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 doc/guides/rawdevs/dpaa2_cmdif.rst diff --git a/MAINTAINERS b/MAINTAINERS index e06df3b..140d4d4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -731,6 +731,7 @@ Rawdev Drivers 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..43f4196 --- /dev/null +++ b/doc/guides/rawdevs/dpaa2_cmdif.rst @@ -0,0 +1,136 @@ +.. 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. +Please note that enabling debugging options may affect system performance. + +- ``CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF`` (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" + +Limitations +----------- + +Platform Requirement +~~~~~~~~~~~~~~~~~~~~ + +DPAA2 drivers for DPDK can only work on NXP SoCs as listed in the +``Supported DPAA2 SoCs``. -- 1.9.1