113c5cbafSNipun Gupta.. SPDX-License-Identifier: BSD-3-Clause 213c5cbafSNipun Gupta Copyright 2018 NXP 313c5cbafSNipun Gupta 413c5cbafSNipun GuptaNXP DPAA2 CMDIF Driver 513c5cbafSNipun Gupta====================== 613c5cbafSNipun Gupta 713c5cbafSNipun GuptaThe DPAA2 CMDIF is an implementation of the rawdev API, that provides 813c5cbafSNipun Guptacommunication between the GPP and AIOP (Firmware). This is achieved 913c5cbafSNipun Guptavia using the DPCI devices exposed by MC for GPP <--> AIOP interaction. 1013c5cbafSNipun Gupta 1113c5cbafSNipun GuptaMore information can be found at `NXP Official Website 1213c5cbafSNipun Gupta<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_. 1313c5cbafSNipun Gupta 1413c5cbafSNipun GuptaFeatures 1513c5cbafSNipun Gupta-------- 1613c5cbafSNipun Gupta 1713c5cbafSNipun GuptaThe DPAA2 CMDIF implements following features in the rawdev API; 1813c5cbafSNipun Gupta 1913c5cbafSNipun Gupta- Getting the object ID of the device (DPCI) using attributes 2013c5cbafSNipun Gupta- I/O to and from the AIOP device using DPCI 2113c5cbafSNipun Gupta 2213c5cbafSNipun GuptaSupported DPAA2 SoCs 2313c5cbafSNipun Gupta-------------------- 2413c5cbafSNipun Gupta 2513c5cbafSNipun Gupta- LS2084A/LS2044A 2613c5cbafSNipun Gupta- LS2088A/LS2048A 2713c5cbafSNipun Gupta- LS1088A/LS1048A 2813c5cbafSNipun Gupta 2913c5cbafSNipun GuptaPrerequisites 3013c5cbafSNipun Gupta------------- 3113c5cbafSNipun Gupta 32*b84c1087SHemant AgrawalSee :doc:`../platform/dpaa2` for setup information 3313c5cbafSNipun Gupta 3413c5cbafSNipun Gupta- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment. 3513c5cbafSNipun Gupta 3613c5cbafSNipun Gupta.. note:: 3713c5cbafSNipun Gupta 3813c5cbafSNipun Gupta Some part of fslmc bus code (mc flib - object library) routines are 3913c5cbafSNipun Gupta dual licensed (BSD & GPLv2). 4013c5cbafSNipun Gupta 4113c5cbafSNipun Gupta 4213c5cbafSNipun GuptaEnabling logs 4313c5cbafSNipun Gupta------------- 4413c5cbafSNipun Gupta 4513c5cbafSNipun GuptaFor enabling logs, use the following EAL parameter: 4613c5cbafSNipun Gupta 4713c5cbafSNipun Gupta.. code-block:: console 4813c5cbafSNipun Gupta 4913c5cbafSNipun Gupta ./your_cmdif_application <EAL args> --log-level=pmd.raw.dpaa2.cmdif,<level> 5013c5cbafSNipun Gupta 5113c5cbafSNipun GuptaUsing ``pmd.raw.dpaa2.cmdif`` as log matching criteria, all Event PMD logs can be 5213c5cbafSNipun Guptaenabled which are lower than logging ``level``. 5313c5cbafSNipun Gupta 5413c5cbafSNipun Gupta 5513c5cbafSNipun GuptaInitialization 5613c5cbafSNipun Gupta-------------- 5713c5cbafSNipun Gupta 5813c5cbafSNipun GuptaThe DPAA2 CMDIF is exposed as a vdev device which consists of dpci devices. 5913c5cbafSNipun GuptaOn EAL initialization, dpci devices will be probed and then vdev device 6013c5cbafSNipun Guptacan be created from the application code by 6113c5cbafSNipun Gupta 6213c5cbafSNipun Gupta* Invoking ``rte_vdev_init("dpaa2_dpci")`` from the application 6313c5cbafSNipun Gupta 6413c5cbafSNipun Gupta* Using ``--vdev="dpaa2_dpci"`` in the EAL options, which will call 6513c5cbafSNipun Gupta rte_vdev_init() internally 6613c5cbafSNipun Gupta 6713c5cbafSNipun GuptaExample: 6813c5cbafSNipun Gupta 6913c5cbafSNipun Gupta.. code-block:: console 7013c5cbafSNipun Gupta 7113c5cbafSNipun Gupta ./your_cmdif_application <EAL args> --vdev="dpaa2_dpci" 7213c5cbafSNipun Gupta 7313c5cbafSNipun GuptaPlatform Requirement 7413c5cbafSNipun Gupta~~~~~~~~~~~~~~~~~~~~ 7513c5cbafSNipun Gupta 7613c5cbafSNipun GuptaDPAA2 drivers for DPDK can only work on NXP SoCs as listed in the 7713c5cbafSNipun Gupta``Supported DPAA2 SoCs``. 78