1f218a1f9SNipun Gupta.. SPDX-License-Identifier: BSD-3-Clause 2f218a1f9SNipun Gupta Copyright 2021 NXP 3f218a1f9SNipun Gupta 4f218a1f9SNipun GuptaNXP LA12xx Poll Mode Driver 5f218a1f9SNipun Gupta=========================== 6f218a1f9SNipun Gupta 7f218a1f9SNipun GuptaThe BBDEV LA12xx poll mode driver (PMD) supports an implementation for 8f218a1f9SNipun Guptaoffloading High Phy processing functions like LDPC Encode / Decode 5GNR wireless 9f218a1f9SNipun Guptaacceleration function, using PCI based LA12xx Software defined radio. 10f218a1f9SNipun Gupta 11f218a1f9SNipun GuptaMore information can be found at `NXP Official Website 12f218a1f9SNipun Gupta<https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/layerscape-processors/layerscape-access-la1200-programmable-baseband-processor:LA1200>`_. 13f218a1f9SNipun Gupta 14f218a1f9SNipun GuptaFeatures 15f218a1f9SNipun Gupta-------- 16f218a1f9SNipun Gupta 17f218a1f9SNipun GuptaLA12xx PMD supports the following features: 18f218a1f9SNipun Gupta 19f218a1f9SNipun Gupta- Maximum of 8 LDPC decode (UL) queues 20f218a1f9SNipun Gupta- Maximum of 8 LDPC encode (DL) queues 21f218a1f9SNipun Gupta- PCIe Gen-3 x8 Interface 22f218a1f9SNipun Gupta 23f218a1f9SNipun GuptaInstallation 24f218a1f9SNipun Gupta------------ 25f218a1f9SNipun Gupta 26f218a1f9SNipun GuptaSection 3 of the DPDK manual provides instructions on installing and compiling DPDK. 27f218a1f9SNipun Gupta 28f218a1f9SNipun GuptaDPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual. 29f218a1f9SNipun Gupta 30f218a1f9SNipun GuptaInitialization 31f218a1f9SNipun Gupta-------------- 32f218a1f9SNipun Gupta 33f218a1f9SNipun GuptaThe device can be listed on the host console with: 34f218a1f9SNipun Gupta 35f218a1f9SNipun Gupta 36f218a1f9SNipun GuptaUse the following lspci command to get the multiple LA12xx processor ids. The 37f218a1f9SNipun Guptadevice ID of the LA12xx baseband processor is "1c30". 38f218a1f9SNipun Gupta 39f218a1f9SNipun Gupta.. code-block:: console 40f218a1f9SNipun Gupta 41f218a1f9SNipun Gupta sudo lspci -nn 42f218a1f9SNipun Gupta 43f218a1f9SNipun Gupta... 44f218a1f9SNipun Gupta0001:01:00.0 Power PC [0b20]: Freescale Semiconductor Inc Device [1957:1c30] ( 45f218a1f9SNipun Guptarev 10) 46f218a1f9SNipun Gupta... 47f218a1f9SNipun Gupta0002:01:00.0 Power PC [0b20]: Freescale Semiconductor Inc Device [1957:1c30] ( 48f218a1f9SNipun Guptarev 10) 49f218a1f9SNipun Gupta 50f218a1f9SNipun Gupta 51f218a1f9SNipun GuptaPrerequisites 52f218a1f9SNipun Gupta------------- 53f218a1f9SNipun Gupta 54f218a1f9SNipun GuptaCurrently supported by DPDK: 55f218a1f9SNipun Gupta 56f218a1f9SNipun Gupta- NXP LA1224 BSP **1.0+**. 57f218a1f9SNipun Gupta- NXP LA1224 PCIe Modem card connected to ARM host. 58f218a1f9SNipun Gupta 59f218a1f9SNipun Gupta- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment. 60f218a1f9SNipun Gupta 61915cdc07SHemant Agrawal* Use dev arg option ``modem=0`` to identify the modem instance for a given 62915cdc07SHemant Agrawal device. This is required only if more than 1 modem cards are attached to host. 63915cdc07SHemant Agrawal this is optional and the default value is 0. 64915cdc07SHemant Agrawal e.g. ``--vdev=baseband_la12xx,modem=0`` 65915cdc07SHemant Agrawal 66ee36ba0fSHemant Agrawal* Use dev arg option ``max_nb_queues=x`` to specify the maximum number of queues 67ee36ba0fSHemant Agrawal to be used for communication with offload device i.e. modem. default is 16. 68ee36ba0fSHemant Agrawal e.g. ``--vdev=baseband_la12xx,max_nb_queues=4`` 69ee36ba0fSHemant Agrawal 70f218a1f9SNipun GuptaEnabling logs 71f218a1f9SNipun Gupta------------- 72f218a1f9SNipun Gupta 73f218a1f9SNipun GuptaFor enabling logs, use the following EAL parameter: 74f218a1f9SNipun Gupta 75f218a1f9SNipun Gupta.. code-block:: console 76f218a1f9SNipun Gupta 77f218a1f9SNipun Gupta ./your_bbdev_application <EAL args> --log-level=la12xx:<level> 78f218a1f9SNipun Gupta 79f218a1f9SNipun GuptaUsing ``bb.la12xx`` as log matching criteria, all Baseband PMD logs can be 80f218a1f9SNipun Guptaenabled which are lower than logging ``level``. 81b73d2f34SHemant Agrawal 82b73d2f34SHemant AgrawalTest Application 83b73d2f34SHemant Agrawal---------------- 84b73d2f34SHemant Agrawal 85b73d2f34SHemant AgrawalBBDEV provides a test application, ``test-bbdev.py`` and range of test data for testing 86*22900d7fSNicolas Chautruthe functionality of the device, depending on the device's capabilities. 87b73d2f34SHemant Agrawal 88*22900d7fSNicolas ChautruFor more details on how to use the test application, 89*22900d7fSNicolas Chautrusee :ref:`test_bbdev_application`. 90b73d2f34SHemant Agrawal 91b73d2f34SHemant Agrawal 92b73d2f34SHemant AgrawalTest Vectors 93b73d2f34SHemant Agrawal~~~~~~~~~~~~ 94b73d2f34SHemant Agrawal 95b73d2f34SHemant AgrawalIn addition to the simple LDPC decoder and LDPC encoder tests, bbdev also provides 96b73d2f34SHemant Agrawala range of additional tests under the test_vectors folder, which may be useful. The results 97b73d2f34SHemant Agrawalof these tests will depend on the LA12xx FEC capabilities which may cause some 98b73d2f34SHemant Agrawaltestcases to be skipped, but no failure should be reported. 99