xref: /dpdk/doc/guides/platform/dpaa.rst (revision 443b949e17953a1094f80532d600a1ee540f2ba4)
1ceccf8dcSHemant Agrawal..  SPDX-License-Identifier: BSD-3-Clause
2ceccf8dcSHemant Agrawal    Copyright 2018 NXP
3ceccf8dcSHemant Agrawal
4ceccf8dcSHemant AgrawalNXP QorIQ DPAA Board Support Package
5ceccf8dcSHemant Agrawal====================================
6ceccf8dcSHemant Agrawal
7d629b7b5SJohn McNamaraThis doc has information about steps to setup QorIQ dpaa
8ceccf8dcSHemant Agrawalbased layerscape platform and information about common offload
9ceccf8dcSHemant Agrawalhw block drivers of **NXP QorIQ DPAA** SoC family.
10ceccf8dcSHemant Agrawal
11ceccf8dcSHemant AgrawalSupported DPAA SoCs
12ceccf8dcSHemant Agrawal--------------------
13ceccf8dcSHemant Agrawal
14ceccf8dcSHemant Agrawal* LS1046A/LS1026A
15ceccf8dcSHemant Agrawal* LS1043A/LS1023A
16ceccf8dcSHemant Agrawal
17ceccf8dcSHemant AgrawalMore information about SoC can be found at `NXP Official Website
18ceccf8dcSHemant Agrawal<https://www.nxp.com/products/processors-and-microcontrollers/arm-based-
19ceccf8dcSHemant Agrawalprocessors-and-mcus/qoriq-layerscape-arm-processors:QORIQ-ARM>`_.
20ceccf8dcSHemant Agrawal
21ceccf8dcSHemant Agrawal
22ceccf8dcSHemant AgrawalCommon Offload HW Block Drivers
23ceccf8dcSHemant Agrawal-------------------------------
24ceccf8dcSHemant Agrawal
25*443b949eSDavid Marchand#. **Nics Driver**
26ceccf8dcSHemant Agrawal
27ceccf8dcSHemant Agrawal   See :doc:`../nics/dpaa` for NXP dpaa nic driver information.
28ceccf8dcSHemant Agrawal
29*443b949eSDavid Marchand#. **Cryptodev Driver**
30ceccf8dcSHemant Agrawal
31ceccf8dcSHemant Agrawal   See :doc:`../cryptodevs/dpaa_sec` for NXP dpaa cryptodev driver information.
32ceccf8dcSHemant Agrawal
33*443b949eSDavid Marchand#. **Eventdev Driver**
34ceccf8dcSHemant Agrawal
35ceccf8dcSHemant Agrawal   See :doc:`../eventdevs/dpaa` for NXP dpaa eventdev driver information.
36ceccf8dcSHemant Agrawal
37ceccf8dcSHemant Agrawal
38ceccf8dcSHemant AgrawalSteps To Setup Platform
39ceccf8dcSHemant Agrawal-----------------------
40ceccf8dcSHemant Agrawal
41d629b7b5SJohn McNamaraThere are four main pre-requisites for executing DPAA PMD on a DPAA
42ceccf8dcSHemant Agrawalcompatible board:
43ceccf8dcSHemant Agrawal
44*443b949eSDavid Marchand#. **ARM 64 Tool Chain**
45ceccf8dcSHemant Agrawal
46ceccf8dcSHemant Agrawal   For example, the `*aarch64* Linaro Toolchain <https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-i686_aarch64-linux-gnu.tar.xz>`_.
47ceccf8dcSHemant Agrawal
48*443b949eSDavid Marchand#. **Linux Kernel**
49ceccf8dcSHemant Agrawal
50ceccf8dcSHemant Agrawal   It can be obtained from `NXP's Github hosting <https://source.codeaurora.org/external/qoriq/qoriq-components/linux>`_.
51ceccf8dcSHemant Agrawal
52*443b949eSDavid Marchand#. **Rootfile system**
53ceccf8dcSHemant Agrawal
54ceccf8dcSHemant Agrawal   Any *aarch64* supporting filesystem can be used. For example,
55ceccf8dcSHemant Agrawal   Ubuntu 16.04 LTS (Xenial) or 18.04 (Bionic) userland which can be obtained
56ceccf8dcSHemant Agrawal   from `here
57ceccf8dcSHemant Agrawal   <http://cdimage.ubuntu.com/ubuntu-base/releases/18.04/release/ubuntu-base-18.04.1-base-arm64.tar.gz>`_.
58ceccf8dcSHemant Agrawal
59*443b949eSDavid Marchand#. **FMC Tool**
60ceccf8dcSHemant Agrawal
612ffc1057SHemant Agrawal   If one is planning to use more than 1 Recv queue and hardware capability to
622ffc1057SHemant Agrawal   parse, classify and distribute the packets, the Frame Manager Configuration
632ffc1057SHemant Agrawal   Tool (FMC) need to be executed to set the configurations of the queues before
642ffc1057SHemant Agrawal   running the DPAA based DPDK application. This setting is persistent, the
652ffc1057SHemant Agrawal   configuration will remain in the hardware till it is re-configured. This
66ceccf8dcSHemant Agrawal   includes the queue state, RSS and other policies.
67ceccf8dcSHemant Agrawal   This tool can be obtained from `NXP (Freescale) Public Git Repository <https://source.codeaurora.org/external/qoriq/qoriq-components/fmc>`_.
68ceccf8dcSHemant Agrawal
69ceccf8dcSHemant Agrawal   This tool needs configuration files which are available in the
70ceccf8dcSHemant Agrawal   :ref:`DPDK Extra Scripts <extra_scripts>`, described below for DPDK usages.
71ceccf8dcSHemant Agrawal
722ffc1057SHemant Agrawal   Note that DPAA PMD can also be executed using images provided
732ffc1057SHemant Agrawal   as part of SDK from NXP. The SDK includes all the above prerequisites
742ffc1057SHemant Agrawal   necessary (i.e. fmc tool) to bring up a DPAA board.
752ffc1057SHemant Agrawal
762ffc1057SHemant Agrawal   As an alternate method, DPAA PMDs starting from DPDK 20.11 also support the
772ffc1057SHemant Agrawal   fmlib library integration. The driver will detect about any existing FMC
782ffc1057SHemant Agrawal   based config (if /tmp/fmc.bin is present). DPAA FMD will be used only if no
792ffc1057SHemant Agrawal   previous fmc config is existing.
802ffc1057SHemant Agrawal
819c30a6f3SHenry Nadeau   Note that fmlib based integration rely on underlying fmd driver in kernel,
822ffc1057SHemant Agrawal   which is available as part of NXP kernel or NXP SDK.
83ceccf8dcSHemant Agrawal
84ceccf8dcSHemant AgrawalThe following dependencies are not part of DPDK and must be installed
85ceccf8dcSHemant Agrawalseparately:
86ceccf8dcSHemant Agrawal
87ceccf8dcSHemant Agrawal- **NXP Linux SDK**
88ceccf8dcSHemant Agrawal
89ceccf8dcSHemant Agrawal  NXP Linux software development kit (SDK) includes support for family
90ceccf8dcSHemant Agrawal  of QorIQ® ARM-Architecture-based system on chip (SoC) processors
91ceccf8dcSHemant Agrawal  and corresponding boards.
92ceccf8dcSHemant Agrawal
93ceccf8dcSHemant Agrawal  It includes the Linux board support packages (BSPs) for NXP SoCs,
94ceccf8dcSHemant Agrawal  a fully operational tool chain, kernel and board specific modules.
95ceccf8dcSHemant Agrawal
96ceccf8dcSHemant Agrawal  SDK and related information can be obtained from:  `NXP QorIQ SDK  <http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX>`_.
97ceccf8dcSHemant Agrawal
98ceccf8dcSHemant Agrawal
99ceccf8dcSHemant Agrawal.. _extra_scripts:
100ceccf8dcSHemant Agrawal
101ceccf8dcSHemant Agrawal- **DPDK Extra Scripts**
102ceccf8dcSHemant Agrawal
103ceccf8dcSHemant Agrawal  DPAA based resources can be configured easily with the help of ready scripts
104ceccf8dcSHemant Agrawal  as provided in the DPDK Extra repository.
105ceccf8dcSHemant Agrawal
106ceccf8dcSHemant Agrawal  `DPDK Extras Scripts <https://source.codeaurora.org/external/qoriq/qoriq-components/dpdk-extras>`_.
107ceccf8dcSHemant Agrawal
108ceccf8dcSHemant AgrawalCurrently supported by DPDK:
109ceccf8dcSHemant Agrawal
110ceccf8dcSHemant Agrawal- NXP SDK **2.0+** (preferred: LSDK 18.09).
111ceccf8dcSHemant Agrawal- Supported architectures:  **arm64 LE**.
112ceccf8dcSHemant Agrawal
113ceccf8dcSHemant Agrawal- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
114ceccf8dcSHemant Agrawal  to setup the basic DPDK environment.
115