xref: /dpdk/doc/guides/bbdevs/la12xx.rst (revision 22900d7fd65ec30a47d7f6d5906bb46b6112b507)
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