xref: /dpdk/doc/guides/rawdevs/dpaa2_cmdif.rst (revision 29c875cc11ac0d79e35c2b8685b8fe8ecda58731)
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