diff --git a/MAINTAINERS b/MAINTAINERS
index 08e575faac..5180adbefd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1401,11 +1401,6 @@ F: doc/guides/rawdevs/ntb.rst
 F: examples/ntb/
 F: doc/guides/sample_app_ug/ntb.rst
 
-NXP DPAA2 CMDIF
-M: Gagandeep Singh <g.singh@nxp.com>
-F: drivers/raw/dpaa2_cmdif/
-F: doc/guides/rawdevs/dpaa2_cmdif.rst
-
 
 Packet processing
 -----------------
diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md
index 186a258be4..1984761498 100644
--- a/doc/api/doxy-api-index.md
+++ b/doc/api/doxy-api-index.md
@@ -53,7 +53,6 @@ The public API headers are grouped by topics:
   [dpaa2](@ref rte_pmd_dpaa2.h),
   [mlx5](@ref rte_pmd_mlx5.h),
   [dpaa2_mempool](@ref rte_dpaa2_mempool.h),
-  [dpaa2_cmdif](@ref rte_pmd_dpaa2_cmdif.h),
   [dpaa2_qdma](@ref rte_pmd_dpaa2_qdma.h),
   [crypto_scheduler](@ref rte_cryptodev_scheduler.h),
   [dlb2](@ref rte_pmd_dlb2.h),
diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
index 608494a7c0..c4a39a02cb 100644
--- a/doc/api/doxy-api.conf.in
+++ b/doc/api/doxy-api.conf.in
@@ -22,7 +22,6 @@ INPUT                   = @TOPDIR@/doc/api/doxy-api-index.md \
                           @TOPDIR@/drivers/net/ixgbe \
                           @TOPDIR@/drivers/net/mlx5 \
                           @TOPDIR@/drivers/net/softnic \
-                          @TOPDIR@/drivers/raw/dpaa2_cmdif \
                           @TOPDIR@/drivers/raw/ifpga \
                           @TOPDIR@/drivers/raw/ioat \
                           @TOPDIR@/lib/eal/include \
diff --git a/doc/guides/platform/dpaa2.rst b/doc/guides/platform/dpaa2.rst
index a9fcad6ca2..28cb1be690 100644
--- a/doc/guides/platform/dpaa2.rst
+++ b/doc/guides/platform/dpaa2.rst
@@ -36,11 +36,7 @@ Common Offload HW Block Drivers
 
    See :doc:`../eventdevs/dpaa2` for NXP dpaa2 eventdev driver information.
 
-4. **Rawdev AIOP CMDIF Driver**
-
-   See :doc:`../rawdevs/dpaa2_cmdif` for NXP dpaa2 AIOP command interface driver information.
-
-5. **DMA Driver**
+4. **DMA Driver**
 
    See :doc:`../dmadevs/dpaa2` for NXP dpaa2 QDMA driver information.
 
diff --git a/doc/guides/rawdevs/dpaa2_cmdif.rst b/doc/guides/rawdevs/dpaa2_cmdif.rst
deleted file mode 100644
index 4eed661c8e..0000000000
--- a/doc/guides/rawdevs/dpaa2_cmdif.rst
+++ /dev/null
@@ -1,77 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright 2018 NXP
-
-NXP DPAA2 CMDIF Driver
-======================
-
-The DPAA2 CMDIF is an implementation of the rawdev API, that provides
-communication between the GPP and AIOP (Firmware). This is achieved
-via using the DPCI devices exposed by MC for GPP <--> AIOP interaction.
-
-More information can be found at `NXP Official Website
-<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_.
-
-Features
---------
-
-The DPAA2 CMDIF implements following features in the rawdev API;
-
-- Getting the object ID of the device (DPCI) using attributes
-- I/O to and from the AIOP device using DPCI
-
-Supported DPAA2 SoCs
---------------------
-
-- LS2084A/LS2044A
-- LS2088A/LS2048A
-- LS1088A/LS1048A
-
-Prerequisites
--------------
-
-See :doc:`../platform/dpaa2` for setup information
-
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
-
-.. note::
-
-   Some part of fslmc bus code (mc flib - object library) routines are
-   dual licensed (BSD & GPLv2).
-
-
-Enabling logs
--------------
-
-For enabling logs, use the following EAL parameter:
-
-.. code-block:: console
-
-   ./your_cmdif_application <EAL args> --log-level=pmd.raw.dpaa2.cmdif,<level>
-
-Using ``pmd.raw.dpaa2.cmdif`` as log matching criteria, all Event PMD logs can be
-enabled which are lower than logging ``level``.
-
-
-Initialization
---------------
-
-The DPAA2 CMDIF is exposed as a vdev device which consists of dpci devices.
-On EAL initialization, dpci devices will be probed and then vdev device
-can be created from the application code by
-
-* Invoking ``rte_vdev_init("dpaa2_dpci")`` from the application
-
-* Using ``--vdev="dpaa2_dpci"`` in the EAL options, which will call
-  rte_vdev_init() internally
-
-Example:
-
-.. code-block:: console
-
-    ./your_cmdif_application <EAL args> --vdev="dpaa2_dpci"
-
-Platform Requirement
-~~~~~~~~~~~~~~~~~~~~
-
-DPAA2 drivers for DPDK can only work on NXP SoCs as listed in the
-``Supported DPAA2 SoCs``.
diff --git a/doc/guides/rawdevs/index.rst b/doc/guides/rawdevs/index.rst
index cf69633064..5e5421028c 100644
--- a/doc/guides/rawdevs/index.rst
+++ b/doc/guides/rawdevs/index.rst
@@ -13,7 +13,6 @@ application through rawdev API.
 
     cnxk_bphy
     cnxk_gpio
-    dpaa2_cmdif
     ifpga
     ioat
     ntb
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 985ef89877..bf98bf1c09 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -207,9 +207,6 @@ Deprecation Notices
   Names for the telemetry commands will be similarly limited.
   The parameters for telemetry commands are unaffected by this change.
 
-* raw/dpaa2_cmdif: The ``dpaa2_cmdif`` rawdev driver will be deprecated
-  in DPDK 22.11, as it is no longer in use, no active user known.
-
 * raw/ioat: The ``ioat`` rawdev driver has been deprecated, since it's
   functionality is provided through the new ``dmadev`` infrastructure.
   To continue to use hardware previously supported by the ``ioat`` rawdev driver,
diff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
deleted file mode 100644
index aeee4ac289..0000000000
--- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2018-2019 NXP
- */
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdint.h>
-
-#include <bus_vdev_driver.h>
-#include <rte_atomic.h>
-#include <rte_interrupts.h>
-#include <rte_branch_prediction.h>
-#include <rte_lcore.h>
-
-#include <rte_rawdev.h>
-#include <rte_rawdev_pmd.h>
-
-#include <portal/dpaa2_hw_pvt.h>
-#include <portal/dpaa2_hw_dpio.h>
-#include "dpaa2_cmdif_logs.h"
-#include "rte_pmd_dpaa2_cmdif.h"
-
-/* CMDIF driver name */
-#define DPAA2_CMDIF_PMD_NAME dpaa2_dpci
-
-/*
- * This API provides the DPCI device ID in 'attr_value'.
- * The device ID shall be passed by GPP to the AIOP using CMDIF commands.
- */
-static int
-dpaa2_cmdif_get_attr(struct rte_rawdev *dev,
-		     const char *attr_name,
-		     uint64_t *attr_value)
-{
-	struct dpaa2_dpci_dev *cidev = dev->dev_private;
-
-	DPAA2_CMDIF_FUNC_TRACE();
-
-	RTE_SET_USED(attr_name);
-
-	if (!attr_value) {
-		DPAA2_CMDIF_ERR("Invalid arguments for getting attributes");
-		return -EINVAL;
-	}
-	*attr_value = cidev->dpci_id;
-
-	return 0;
-}
-
-static int
-dpaa2_cmdif_enqueue_bufs(struct rte_rawdev *dev,
-			 struct rte_rawdev_buf **buffers,
-			 unsigned int count,
-			 rte_rawdev_obj_t context)
-{
-	struct dpaa2_dpci_dev *cidev = dev->dev_private;
-	struct rte_dpaa2_cmdif_context *cmdif_send_cnxt;
-	struct dpaa2_queue *txq;
-	struct qbman_fd fd;
-	struct qbman_eq_desc eqdesc;
-	struct qbman_swp *swp;
-	uint32_t retry_count = 0;
-	int ret;
-
-	RTE_SET_USED(count);
-
-	if (unlikely(!DPAA2_PER_LCORE_DPIO)) {
-		ret = dpaa2_affine_qbman_swp();
-		if (ret) {
-			DPAA2_CMDIF_ERR(
-				"Failed to allocate IO portal, tid: %d\n",
-				rte_gettid());
-			return 0;
-		}
-	}
-	swp = DPAA2_PER_LCORE_PORTAL;
-
-	cmdif_send_cnxt = (struct rte_dpaa2_cmdif_context *)(context);
-	txq = &(cidev->tx_queue[cmdif_send_cnxt->priority]);
-
-	/* Prepare enqueue descriptor */
-	qbman_eq_desc_clear(&eqdesc);
-	qbman_eq_desc_set_fq(&eqdesc, txq->fqid);
-	qbman_eq_desc_set_no_orp(&eqdesc, 0);
-	qbman_eq_desc_set_response(&eqdesc, 0, 0);
-
-	/* Set some of the FD parameters to i.
-	 * For performance reasons do not memset
-	 */
-	fd.simple.bpid_offset = 0;
-	fd.simple.ctrl = 0;
-
-	DPAA2_SET_FD_ADDR(&fd, DPAA2_VADDR_TO_IOVA(buffers[0]->buf_addr));
-	DPAA2_SET_FD_LEN(&fd, cmdif_send_cnxt->size);
-	DPAA2_SET_FD_FRC(&fd, cmdif_send_cnxt->frc);
-	DPAA2_SET_FD_FLC(&fd, cmdif_send_cnxt->flc);
-
-	/* Enqueue a packet to the QBMAN */
-	do {
-		ret = qbman_swp_enqueue_multiple(swp, &eqdesc, &fd, NULL, 1);
-		if (ret < 0 && ret != -EBUSY)
-			DPAA2_CMDIF_ERR("Transmit failure with err: %d\n", ret);
-		retry_count++;
-	} while ((ret == -EBUSY) && (retry_count < DPAA2_MAX_TX_RETRY_COUNT));
-
-	if (ret < 0)
-		return ret;
-
-	DPAA2_CMDIF_DP_DEBUG("Successfully transmitted a packet\n");
-
-	return 1;
-}
-
-static int
-dpaa2_cmdif_dequeue_bufs(struct rte_rawdev *dev,
-			 struct rte_rawdev_buf **buffers,
-			 unsigned int count,
-			 rte_rawdev_obj_t context)
-{
-	struct dpaa2_dpci_dev *cidev = dev->dev_private;
-	struct rte_dpaa2_cmdif_context *cmdif_rcv_cnxt;
-	struct dpaa2_queue *rxq;
-	struct qbman_swp *swp;
-	struct qbman_result *dq_storage;
-	const struct qbman_fd *fd;
-	struct qbman_pull_desc pulldesc;
-	uint8_t status;
-	int ret;
-
-	RTE_SET_USED(count);
-
-	if (unlikely(!DPAA2_PER_LCORE_DPIO)) {
-		ret = dpaa2_affine_qbman_swp();
-		if (ret) {
-			DPAA2_CMDIF_ERR(
-				"Failed to allocate IO portal, tid: %d\n",
-				rte_gettid());
-			return 0;
-		}
-	}
-	swp = DPAA2_PER_LCORE_PORTAL;
-
-	cmdif_rcv_cnxt = (struct rte_dpaa2_cmdif_context *)(context);
-	rxq = &(cidev->rx_queue[cmdif_rcv_cnxt->priority]);
-	dq_storage = rxq->q_storage->dq_storage[0];
-
-	qbman_pull_desc_clear(&pulldesc);
-	qbman_pull_desc_set_fq(&pulldesc, rxq->fqid);
-	qbman_pull_desc_set_numframes(&pulldesc, 1);
-	qbman_pull_desc_set_storage(&pulldesc, dq_storage,
-		(uint64_t)(DPAA2_VADDR_TO_IOVA(dq_storage)), 1);
-
-	while (1) {
-		if (qbman_swp_pull(swp, &pulldesc)) {
-			DPAA2_CMDIF_DP_WARN("VDQ cmd not issued. QBMAN is busy\n");
-			/* Portal was busy, try again */
-			continue;
-		}
-		break;
-	}
-
-	/* Check if previous issued command is completed. */
-	while (!qbman_check_command_complete(dq_storage))
-		;
-	/* Loop until the dq_storage is updated with new token by QBMAN */
-	while (!qbman_result_has_new_result(swp, dq_storage))
-		;
-
-	/* Check for valid frame. */
-	status = (uint8_t)qbman_result_DQ_flags(dq_storage);
-	if (unlikely((status & QBMAN_DQ_STAT_VALIDFRAME) == 0)) {
-		DPAA2_CMDIF_DP_DEBUG("No frame is delivered\n");
-		return 0;
-	}
-
-	fd = qbman_result_DQ_fd(dq_storage);
-
-	buffers[0]->buf_addr = (void *)DPAA2_IOVA_TO_VADDR(
-			DPAA2_GET_FD_ADDR(fd) +	DPAA2_GET_FD_OFFSET(fd));
-	cmdif_rcv_cnxt->size = DPAA2_GET_FD_LEN(fd);
-	cmdif_rcv_cnxt->flc = DPAA2_GET_FD_FLC(fd);
-	cmdif_rcv_cnxt->frc = DPAA2_GET_FD_FRC(fd);
-
-	DPAA2_CMDIF_DP_DEBUG("packet received\n");
-
-	return 1;
-}
-
-static const struct rte_rawdev_ops dpaa2_cmdif_ops = {
-	.attr_get = dpaa2_cmdif_get_attr,
-	.enqueue_bufs = dpaa2_cmdif_enqueue_bufs,
-	.dequeue_bufs = dpaa2_cmdif_dequeue_bufs,
-};
-
-static int
-dpaa2_cmdif_create(const char *name,
-		   struct rte_vdev_device *vdev,
-		   int socket_id)
-{
-	struct rte_rawdev *rawdev;
-	struct dpaa2_dpci_dev *cidev;
-
-	/* Allocate device structure */
-	rawdev = rte_rawdev_pmd_allocate(name, sizeof(struct dpaa2_dpci_dev),
-					 socket_id);
-	if (!rawdev) {
-		DPAA2_CMDIF_ERR("Unable to allocate rawdevice");
-		return -EINVAL;
-	}
-
-	rawdev->dev_ops = &dpaa2_cmdif_ops;
-	rawdev->device = &vdev->device;
-
-	/* For secondary processes, the primary has done all the work */
-	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
-		return 0;
-
-	cidev = rte_dpaa2_alloc_dpci_dev();
-	if (!cidev) {
-		DPAA2_CMDIF_ERR("Unable to allocate CI device");
-		rte_rawdev_pmd_release(rawdev);
-		return -ENODEV;
-	}
-
-	rawdev->dev_private = cidev;
-
-	return 0;
-}
-
-static int
-dpaa2_cmdif_destroy(const char *name)
-{
-	int ret;
-	struct rte_rawdev *rdev;
-
-	rdev = rte_rawdev_pmd_get_named_dev(name);
-	if (!rdev) {
-		DPAA2_CMDIF_ERR("Invalid device name (%s)", name);
-		return -EINVAL;
-	}
-
-	/* The primary process will only free the DPCI device */
-	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
-		rte_dpaa2_free_dpci_dev(rdev->dev_private);
-
-	ret = rte_rawdev_pmd_release(rdev);
-	if (ret)
-		DPAA2_CMDIF_DEBUG("Device cleanup failed");
-
-	return 0;
-}
-
-static int
-dpaa2_cmdif_probe(struct rte_vdev_device *vdev)
-{
-	const char *name;
-	int ret = 0;
-
-	name = rte_vdev_device_name(vdev);
-
-	DPAA2_CMDIF_INFO("Init %s on NUMA node %d", name, rte_socket_id());
-
-	ret = dpaa2_cmdif_create(name, vdev, rte_socket_id());
-
-	return ret;
-}
-
-static int
-dpaa2_cmdif_remove(struct rte_vdev_device *vdev)
-{
-	const char *name;
-	int ret;
-
-	name = rte_vdev_device_name(vdev);
-	if (name == NULL)
-		return -1;
-
-	DPAA2_CMDIF_INFO("Closing %s on NUMA node %d", name, rte_socket_id());
-
-	ret = dpaa2_cmdif_destroy(name);
-
-	return ret;
-}
-
-static struct rte_vdev_driver dpaa2_cmdif_drv = {
-	.probe = dpaa2_cmdif_probe,
-	.remove = dpaa2_cmdif_remove
-};
-
-RTE_PMD_REGISTER_VDEV(DPAA2_CMDIF_PMD_NAME, dpaa2_cmdif_drv);
-RTE_LOG_REGISTER(dpaa2_cmdif_logtype, pmd.raw.dpaa2.cmdif, INFO);
diff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h
deleted file mode 100644
index 8991e8327d..0000000000
--- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2018 NXP
- */
-
-#ifndef __DPAA2_CMDIF_LOGS_H__
-#define __DPAA2_CMDIF_LOGS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int dpaa2_cmdif_logtype;
-
-#define DPAA2_CMDIF_LOG(level, fmt, args...) \
-	rte_log(RTE_LOG_ ## level, dpaa2_cmdif_logtype, "dpaa2_cmdif: " \
-		fmt "\n", ## args)
-
-#define DPAA2_CMDIF_DEBUG(fmt, args...) \
-	rte_log(RTE_LOG_DEBUG, dpaa2_cmdif_logtype, "dpaa2_cmdif: %s(): " \
-		fmt "\n", __func__, ## args)
-
-#define DPAA2_CMDIF_FUNC_TRACE() DPAA2_CMDIF_DEBUG(">>")
-
-#define DPAA2_CMDIF_INFO(fmt, args...) \
-	DPAA2_CMDIF_LOG(INFO, fmt, ## args)
-#define DPAA2_CMDIF_ERR(fmt, args...) \
-	DPAA2_CMDIF_LOG(ERR, fmt, ## args)
-#define DPAA2_CMDIF_WARN(fmt, args...) \
-	DPAA2_CMDIF_LOG(WARNING, fmt, ## args)
-
-/* DP Logs, toggled out at compile time if level lower than current level */
-#define DPAA2_CMDIF_DP_LOG(level, fmt, args...) \
-	RTE_LOG_DP(level, PMD, "dpaa2_cmdif: " fmt "\n", ## args)
-
-#define DPAA2_CMDIF_DP_DEBUG(fmt, args...) \
-	DPAA2_CMDIF_DP_LOG(DEBUG, fmt, ## args)
-#define DPAA2_CMDIF_DP_INFO(fmt, args...) \
-	DPAA2_CMDIF_DP_LOG(INFO, fmt, ## args)
-#define DPAA2_CMDIF_DP_WARN(fmt, args...) \
-	DPAA2_CMDIF_DP_LOG(WARNING, fmt, ## args)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __DPAA2_CMDIF_LOGS_H__ */
diff --git a/drivers/raw/dpaa2_cmdif/meson.build b/drivers/raw/dpaa2_cmdif/meson.build
deleted file mode 100644
index 3b1d3371b2..0000000000
--- a/drivers/raw/dpaa2_cmdif/meson.build
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-deps += ['rawdev', 'mempool_dpaa2', 'bus_vdev']
-sources = files('dpaa2_cmdif.c')
-
-headers = files('rte_pmd_dpaa2_cmdif.h')
diff --git a/drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h b/drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h
deleted file mode 100644
index 483b66eaae..0000000000
--- a/drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2018 NXP
- */
-
-#ifndef __RTE_PMD_DPAA2_CMDIF_H__
-#define __RTE_PMD_DPAA2_CMDIF_H__
-
-/**
- * @file
- *
- * NXP dpaa2 AIOP CMDIF PMD specific structures.
- *
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** The context required in the I/O path for DPAA2 AIOP Command Interface */
-struct rte_dpaa2_cmdif_context {
-	/** Size to populate in QBMAN FD */
-	uint32_t size;
-	/** FRC to populate in QBMAN FD */
-	uint32_t frc;
-	/** FLC to populate in QBMAN FD */
-	uint64_t flc;
-	/** Priority of the command. This priority determines DPCI Queue*/
-	uint8_t priority;
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __RTE_PMD_DPAA2_CMDIF_H__ */
diff --git a/drivers/raw/dpaa2_cmdif/version.map b/drivers/raw/dpaa2_cmdif/version.map
deleted file mode 100644
index 78c3585d7c..0000000000
--- a/drivers/raw/dpaa2_cmdif/version.map
+++ /dev/null
@@ -1,3 +0,0 @@
-DPDK_23 {
-	local: *;
-};
diff --git a/drivers/raw/meson.build b/drivers/raw/meson.build
index 48e84d586e..226fea556d 100644
--- a/drivers/raw/meson.build
+++ b/drivers/raw/meson.build
@@ -8,7 +8,6 @@ endif
 drivers = [
         'cnxk_bphy',
         'cnxk_gpio',
-        'dpaa2_cmdif',
         'ifpga',
         'ioat',
         'ntb',
