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