get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/104097/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 104097,
    "url": "http://patchwork.dpdk.org/api/patches/104097/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20211110074829.16654-2-apeksha.gupta@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20211110074829.16654-2-apeksha.gupta@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211110074829.16654-2-apeksha.gupta@nxp.com",
    "date": "2021-11-10T07:48:25",
    "name": "[v9,1/5] net/enetfec: introduce NXP ENETFEC driver",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "5eb690b2b8e8bb33d9720e7c43d51653a1bf9078",
    "submitter": {
        "id": 1570,
        "url": "http://patchwork.dpdk.org/api/people/1570/?format=api",
        "name": "Apeksha Gupta",
        "email": "apeksha.gupta@nxp.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patchwork.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20211110074829.16654-2-apeksha.gupta@nxp.com/mbox/",
    "series": [
        {
            "id": 20445,
            "url": "http://patchwork.dpdk.org/api/series/20445/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=20445",
            "date": "2021-11-10T07:48:24",
            "name": "drivers/net: add NXP ENETFEC driver",
            "version": 9,
            "mbox": "http://patchwork.dpdk.org/series/20445/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/104097/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/104097/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 75F1FA034F;\n\tWed, 10 Nov 2021 08:48:38 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8BD7C410EF;\n\tWed, 10 Nov 2021 08:48:37 +0100 (CET)",
            "from inva021.nxp.com (inva021.nxp.com [92.121.34.21])\n by mails.dpdk.org (Postfix) with ESMTP id 8B41B40142\n for <dev@dpdk.org>; Wed, 10 Nov 2021 08:48:34 +0100 (CET)",
            "from inva021.nxp.com (localhost [127.0.0.1])\n by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 622B6200D9C;\n Wed, 10 Nov 2021 08:48:34 +0100 (CET)",
            "from aprdc01srsp001v.ap-rdc01.nxp.com\n (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16])\n by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 01EFF200D70;\n Wed, 10 Nov 2021 08:48:34 +0100 (CET)",
            "from lsv03186.swis.in-blr01.nxp.com (lsv03186.swis.in-blr01.nxp.com\n [92.120.146.182])\n by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 02A9F183ACDD;\n Wed, 10 Nov 2021 15:48:32 +0800 (+08)"
        ],
        "From": "Apeksha Gupta <apeksha.gupta@nxp.com>",
        "To": "ferruh.yigit@intel.com, david.marchand@redhat.com,\n andrew.rybchenko@oktetlabs.ru",
        "Cc": "dev@dpdk.org, sachin.saxena@nxp.com, hemant.agrawal@nxp.com,\n Apeksha Gupta <apeksha.gupta@nxp.com>",
        "Date": "Wed, 10 Nov 2021 13:18:25 +0530",
        "Message-Id": "<20211110074829.16654-2-apeksha.gupta@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20211110074829.16654-1-apeksha.gupta@nxp.com>",
        "References": "<20211109113432.11876-6-apeksha.gupta@nxp.com>\n <20211110074829.16654-1-apeksha.gupta@nxp.com>",
        "X-Virus-Scanned": "ClamAV using ClamSMTP",
        "Subject": "[dpdk-dev] [PATCH v9 1/5] net/enetfec: introduce NXP ENETFEC driver",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "ENETFEC (Fast Ethernet Controller) is a network poll mode driver\nfor NXP SoC i.MX 8M Mini.\n\nThis patch adds skeleton for enetfec driver with probe function.\n\nSigned-off-by: Sachin Saxena <sachin.saxena@nxp.com>\nSigned-off-by: Apeksha Gupta <apeksha.gupta@nxp.com>\n---\nv9:\n - Fix document build warning\n\nv8:\n - Rework of technical comments\n\nv7:\n - Fix compilation\n - code cleanup\n\nv6:\n - Fix document build errors\n---\n MAINTAINERS                            |   7 ++\n doc/guides/nics/enetfec.rst            | 133 +++++++++++++++++++++++++\n doc/guides/nics/features/enetfec.ini   |   9 ++\n doc/guides/nics/index.rst              |   1 +\n doc/guides/rel_notes/release_21_11.rst |   5 +\n drivers/net/enetfec/enet_ethdev.c      |  84 ++++++++++++++++\n drivers/net/enetfec/enet_ethdev.h      |  46 +++++++++\n drivers/net/enetfec/enet_pmd_logs.h    |  31 ++++++\n drivers/net/enetfec/meson.build        |   9 ++\n drivers/net/enetfec/version.map        |   3 +\n drivers/net/meson.build                |   1 +\n 11 files changed, 329 insertions(+)\n create mode 100644 doc/guides/nics/enetfec.rst\n create mode 100644 doc/guides/nics/features/enetfec.ini\n create mode 100644 drivers/net/enetfec/enet_ethdev.c\n create mode 100644 drivers/net/enetfec/enet_ethdev.h\n create mode 100644 drivers/net/enetfec/enet_pmd_logs.h\n create mode 100644 drivers/net/enetfec/meson.build\n create mode 100644 drivers/net/enetfec/version.map",
    "diff": "diff --git a/MAINTAINERS b/MAINTAINERS\nindex e157e12f88..2aa81efe20 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -889,6 +889,13 @@ F: drivers/net/enetc/\n F: doc/guides/nics/enetc.rst\n F: doc/guides/nics/features/enetc.ini\n \n+NXP enetfec - EXPERIMENTAL\n+M: Apeksha Gupta <apeksha.gupta@nxp.com>\n+M: Sachin Saxena <sachin.saxena@nxp.com>\n+F: drivers/net/enetfec/\n+F: doc/guides/nics/enetfec.rst\n+F: doc/guides/nics/features/enetfec.ini\n+\n NXP pfe\n M: Gagandeep Singh <g.singh@nxp.com>\n F: doc/guides/nics/pfe.rst\ndiff --git a/doc/guides/nics/enetfec.rst b/doc/guides/nics/enetfec.rst\nnew file mode 100644\nindex 0000000000..2c29ad362c\n--- /dev/null\n+++ b/doc/guides/nics/enetfec.rst\n@@ -0,0 +1,133 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+   Copyright 2021 NXP\n+\n+ENETFEC Poll Mode Driver\n+========================\n+\n+The ENETFEC NIC PMD (**librte_net_enetfec**) provides poll mode driver\n+support for the inbuilt NIC found in the ** NXP i.MX 8M Mini** SoC.\n+\n+More information can be found at NXP Official Website\n+<https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8m-mini-arm-cortex-a53-cortex-m4-audio-voice-video:i.MX8MMINI>\n+\n+ENETFEC\n+-------\n+\n+This section provides an overview of the NXP ENETFEC and how it is\n+integrated into the DPDK. Driver is taken as **experimental** as driver\n+itself detects the uio device, reads address and mmap them within the\n+driver.\n+\n+Contents summary\n+\n+- ENETFEC overview\n+- ENETFEC features\n+- Supported ENETFEC SoCs\n+- Prerequisites\n+- Driver compilation and testing\n+- Limitations\n+\n+ENETFEC Overview\n+~~~~~~~~~~~~~~~~\n+The i.MX 8M Mini Media Applications Processor is built to achieve both\n+high performance and low power consumption. ENETFEC PMD is a hardware\n+programmable packet forwarding engine to provide high performance\n+Ethernet interface. It has only 1 GB Ethernet interface with RJ45\n+connector.\n+\n+The diagram below shows a system level overview of ENETFEC:\n+\n+  .. code-block:: console\n+\n+   =====================================================\n+   Userspace\n+        +-----------------------------------------+\n+        |             ENETFEC Driver              |\n+        |        +-------------------------+      |\n+        |        | virtual ethernet device |      |\n+        +-----------------------------------------+\n+                          ^   |\n+                          |   |\n+                          |   |\n+                     RXQ  |   |\tTXQ\n+                          |   |\n+                          |   v\n+   =====================================================\n+   Kernel Space\n+                       +---------+\n+                       | fec-uio |\n+   ====================+=========+======================\n+   Hardware\n+        +-----------------------------------------+\n+        |           i.MX 8M MINI EVK              |\n+        |               +-----+                   |\n+        |               | MAC |                   |\n+        +---------------+-----+-------------------+\n+                        | PHY |\n+                        +-----+\n+\n+ENETFEC Ethernet driver is traditional DPDK PMD driver running in the\n+userspace.'fec-uio' is the kernel driver. The MAC and PHY are the hardware\n+blocks. ENETFEC PMD uses standard UIO interface to access kernel for PHY\n+initialisation and for mapping the allocated memory of register & buffer\n+descriptor with DPDK which gives access to non-cacheable memory for buffer\n+descriptor. net_enetfec is logical Ethernet interface, created by ENETFEC\n+driver.\n+\n+- ENETFEC driver registers the device in virtual device driver.\n+- RTE framework scans and will invoke the probe function of ENETFEC driver.\n+- The probe function will set the basic device registers and also setups BD rings.\n+- On packet Rx the respective BD Ring status bit is set which is then used for\n+  packet processing.\n+- Then Tx is done first followed by Rx via logical interfaces.\n+\n+ENETFEC Features\n+~~~~~~~~~~~~~~~~~\n+\n+- Linux\n+- ARMv8\n+\n+Supported ENETFEC SoCs\n+~~~~~~~~~~~~~~~~~~~~~~\n+\n+- i.MX 8M Mini\n+\n+Prerequisites\n+~~~~~~~~~~~~~\n+\n+There are three main pre-requisites for executing ENETFEC PMD on a i.MX 8M Mini\n+compatible board:\n+\n+1. **ARM 64 Tool Chain**\n+\n+   For example, the `*aarch64* Linaro Toolchain <https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz>`_.\n+\n+2. **Linux Kernel**\n+\n+   It can be obtained from `NXP's Github hosting <https://source.codeaurora.org/external/qoriq/qoriq-components/linux>`_.\n+\n+.. note::\n+\n+   Branch is 'lf-5.10.y'\n+\n+3. **Rootfile system**\n+\n+   Any *aarch64* supporting filesystem can be used. For example,\n+   Ubuntu 18.04 LTS (Bionic) or 20.04 LTS(Focal) userland which can be obtained\n+   from `here <http://cdimage.ubuntu.com/ubuntu-base/releases/18.04/release/ubuntu-base-18.04.1-base-arm64.tar.gz>`_.\n+\n+4. The Ethernet device will be registered as virtual device, so ENETFEC has dependency on\n+   **rte_bus_vdev** library and it is mandatory to use `--vdev` with value `net_enetfec` to\n+   run DPDK application.\n+\n+Driver compilation and testing\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+Follow instructions available in the document\n+:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`\n+to launch **dpdk-testpmd**\n+\n+Limitations\n+~~~~~~~~~~~\n+\n+- Multi queue is not supported.\ndiff --git a/doc/guides/nics/features/enetfec.ini b/doc/guides/nics/features/enetfec.ini\nnew file mode 100644\nindex 0000000000..bdfbdbd9d4\n--- /dev/null\n+++ b/doc/guides/nics/features/enetfec.ini\n@@ -0,0 +1,9 @@\n+;\n+; Supported features of the 'enetfec' network poll mode driver.\n+;\n+; Refer to default.ini for the full list of available PMD features.\n+;\n+[Features]\n+Linux\t\t     = Y\n+ARMv8\t\t     = Y\n+Usage doc\t     = Y\ndiff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst\nindex 784d5d39f6..777fdab4a0 100644\n--- a/doc/guides/nics/index.rst\n+++ b/doc/guides/nics/index.rst\n@@ -26,6 +26,7 @@ Network Interface Controller Drivers\n     e1000em\n     ena\n     enetc\n+    enetfec\n     enic\n     fm10k\n     hinic\ndiff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst\nindex 01923e2deb..6e80805cfd 100644\n--- a/doc/guides/rel_notes/release_21_11.rst\n+++ b/doc/guides/rel_notes/release_21_11.rst\n@@ -221,6 +221,11 @@ New Features\n   * Added NIC offloads for the PMD on Windows (TSO, VLAN strip, CRC keep).\n   * Added socket direct mode bonding support.\n \n+* **Added NXP ENETFEC PMD.**\n+\n+  Added the new ENETFEC driver for the NXP IMX8MMEVK platform. See the\n+  :doc:`../nics/enetfec` NIC driver guide for more details on this new driver.\n+\n * **Updated Solarflare network PMD.**\n \n   Updated the Solarflare ``sfc_efx`` driver with changes including:\ndiff --git a/drivers/net/enetfec/enet_ethdev.c b/drivers/net/enetfec/enet_ethdev.c\nnew file mode 100644\nindex 0000000000..50390f4ea4\n--- /dev/null\n+++ b/drivers/net/enetfec/enet_ethdev.c\n@@ -0,0 +1,84 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2020-2021 NXP\n+ */\n+\n+#include <stdio.h>\n+#include <fcntl.h>\n+#include <stdlib.h>\n+#include <unistd.h>\n+#include <errno.h>\n+#include <sys/mman.h>\n+#include <rte_kvargs.h>\n+#include <ethdev_vdev.h>\n+#include <rte_bus_vdev.h>\n+#include <rte_dev.h>\n+#include <rte_ether.h>\n+#include \"enet_pmd_logs.h\"\n+#include \"enet_ethdev.h\"\n+\n+#define ENETFEC_NAME_PMD                net_enetfec\n+\n+static int\n+enetfec_eth_init(struct rte_eth_dev *dev)\n+{\n+\trte_eth_dev_probing_finish(dev);\n+\treturn 0;\n+}\n+\n+static int\n+pmd_enetfec_probe(struct rte_vdev_device *vdev)\n+{\n+\tstruct rte_eth_dev *dev = NULL;\n+\tstruct enetfec_private *fep;\n+\tconst char *name;\n+\tint rc;\n+\n+\tname = rte_vdev_device_name(vdev);\n+\tif (name == NULL)\n+\t\treturn -EINVAL;\n+\tENETFEC_PMD_LOG(INFO, \"Initializing pmd_fec for %s\", name);\n+\n+\tdev = rte_eth_vdev_allocate(vdev, sizeof(*fep));\n+\tif (dev == NULL)\n+\t\treturn -ENOMEM;\n+\n+\t/* setup board info structure */\n+\tfep = dev->data->dev_private;\n+\tfep->dev = dev;\n+\trc = enetfec_eth_init(dev);\n+\tif (rc)\n+\t\tgoto failed_init;\n+\n+\treturn 0;\n+\n+failed_init:\n+\tENETFEC_PMD_ERR(\"Failed to init\");\n+\treturn rc;\n+}\n+\n+static int\n+pmd_enetfec_remove(struct rte_vdev_device *vdev)\n+{\n+\tstruct rte_eth_dev *eth_dev = NULL;\n+\tint ret;\n+\n+\t/* find the ethdev entry */\n+\teth_dev = rte_eth_dev_allocated(rte_vdev_device_name(vdev));\n+\tif (eth_dev == NULL)\n+\t\treturn -ENODEV;\n+\n+\tret = rte_eth_dev_release_port(eth_dev);\n+\tif (ret != 0)\n+\t\treturn -EINVAL;\n+\n+\tENETFEC_PMD_INFO(\"Release enetfec sw device\");\n+\treturn 0;\n+}\n+\n+static struct rte_vdev_driver pmd_enetfec_drv = {\n+\t.probe = pmd_enetfec_probe,\n+\t.remove = pmd_enetfec_remove,\n+};\n+\n+RTE_PMD_REGISTER_VDEV(ENETFEC_NAME_PMD, pmd_enetfec_drv);\n+RTE_LOG_REGISTER_DEFAULT(enetfec_logtype_pmd, NOTICE);\ndiff --git a/drivers/net/enetfec/enet_ethdev.h b/drivers/net/enetfec/enet_ethdev.h\nnew file mode 100644\nindex 0000000000..e6b55e1ae6\n--- /dev/null\n+++ b/drivers/net/enetfec/enet_ethdev.h\n@@ -0,0 +1,46 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2020-2021 NXP\n+ */\n+\n+#ifndef __ENETFEC_ETHDEV_H__\n+#define __ENETFEC_ETHDEV_H__\n+\n+/*\n+ * ENETFEC can support 1 rx and tx queue..\n+ */\n+\n+#define ENETFEC_MAX_Q\t\t1\n+\n+struct enetfec_private {\n+\tstruct rte_eth_dev\t*dev;\n+\tstruct rte_eth_stats\tstats;\n+\tstruct rte_mempool\t*pool;\n+\tuint16_t\t\tmax_rx_queues;\n+\tuint16_t\t\tmax_tx_queues;\n+\tunsigned int\t\ttotal_tx_ring_size;\n+\tunsigned int\t\ttotal_rx_ring_size;\n+\tbool\t\t\tbufdesc_ex;\n+\tint\t\t\tfull_duplex;\n+\tuint32_t\t\tquirks;\n+\tuint32_t\t\tenetfec_e_cntl;\n+\tint\t\t\tflag_csum;\n+\tint\t\t\tflag_pause;\n+\tbool\t\t\trgmii_txc_delay;\n+\tbool\t\t\trgmii_rxc_delay;\n+\tint\t\t\tlink;\n+\tvoid\t\t\t*hw_baseaddr_v;\n+\tuint64_t\t\thw_baseaddr_p;\n+\tvoid\t\t\t*bd_addr_v;\n+\tuint64_t\t\tbd_addr_p;\n+\tuint64_t\t\tbd_addr_p_r[ENETFEC_MAX_Q];\n+\tuint64_t\t\tbd_addr_p_t[ENETFEC_MAX_Q];\n+\tvoid\t\t\t*dma_baseaddr_r[ENETFEC_MAX_Q];\n+\tvoid\t\t\t*dma_baseaddr_t[ENETFEC_MAX_Q];\n+\tuint64_t\t\tcbus_size;\n+\tunsigned int\t\treg_size;\n+\tunsigned int\t\tbd_size;\n+\tstruct enetfec_priv_rx_q *rx_queues[ENETFEC_MAX_Q];\n+\tstruct enetfec_priv_tx_q *tx_queues[ENETFEC_MAX_Q];\n+};\n+\n+#endif /*__ENETFEC_ETHDEV_H__*/\ndiff --git a/drivers/net/enetfec/enet_pmd_logs.h b/drivers/net/enetfec/enet_pmd_logs.h\nnew file mode 100644\nindex 0000000000..e7b3964a0e\n--- /dev/null\n+++ b/drivers/net/enetfec/enet_pmd_logs.h\n@@ -0,0 +1,31 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2020-2021 NXP\n+ */\n+\n+#ifndef _ENETFEC_LOGS_H_\n+#define _ENETFEC_LOGS_H_\n+\n+extern int enetfec_logtype_pmd;\n+\n+/* PMD related logs */\n+#define ENETFEC_PMD_LOG(level, fmt, args...) \\\n+\trte_log(RTE_LOG_ ## level, enetfec_logtype_pmd, \"\\nfec_net: %s()\" \\\n+\t\tfmt \"\\n\", __func__, ##args)\n+\n+#define PMD_INIT_FUNC_TRACE() ENET_PMD_LOG(DEBUG, \" >>\")\n+\n+#define ENETFEC_PMD_DEBUG(fmt, args...) \\\n+\tENETFEC_PMD_LOG(DEBUG, fmt, ## args)\n+#define ENETFEC_PMD_ERR(fmt, args...) \\\n+\tENETFEC_PMD_LOG(ERR, fmt, ## args)\n+#define ENETFEC_PMD_INFO(fmt, args...) \\\n+\tENETFEC_PMD_LOG(INFO, fmt, ## args)\n+\n+#define ENETFEC_PMD_WARN(fmt, args...) \\\n+\tENETFEC_PMD_LOG(WARNING, fmt, ## args)\n+\n+/* DP Logs, toggled out at compile time if level lower than current level */\n+#define ENETFEC_DP_LOG(level, fmt, args...) \\\n+\tRTE_LOG_DP(level, PMD, fmt, ## args)\n+\n+#endif /* _ENETFEC_LOGS_H_ */\ndiff --git a/drivers/net/enetfec/meson.build b/drivers/net/enetfec/meson.build\nnew file mode 100644\nindex 0000000000..6d6c64c94b\n--- /dev/null\n+++ b/drivers/net/enetfec/meson.build\n@@ -0,0 +1,9 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2021 NXP\n+\n+if not is_linux\n+\tbuild = false\n+\treason = 'only supported on linux'\n+endif\n+\n+sources = files('enet_ethdev.c')\ndiff --git a/drivers/net/enetfec/version.map b/drivers/net/enetfec/version.map\nnew file mode 100644\nindex 0000000000..b66517b171\n--- /dev/null\n+++ b/drivers/net/enetfec/version.map\n@@ -0,0 +1,3 @@\n+DPDK_22 {\n+        local: *;\n+};\ndiff --git a/drivers/net/meson.build b/drivers/net/meson.build\nindex bcf488f203..04be346509 100644\n--- a/drivers/net/meson.build\n+++ b/drivers/net/meson.build\n@@ -19,6 +19,7 @@ drivers = [\n         'e1000',\n         'ena',\n         'enetc',\n+        'enetfec',\n         'enic',\n         'failsafe',\n         'fm10k',\n",
    "prefixes": [
        "v9",
        "1/5"
    ]
}