870
NXP Semiconductors Document Number: DPAA2UM Rev 39, 12/2020 DPAA2 User Manual (Compatible with MC firmware v10.26.x)

DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

NXP Semiconductors

Document Number: DPAA2UMRev 39, 12/2020

DPAA2 User Manual(Compatible with MC firmware v10.26.x)

Page 2: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Security — Customer understands that all NXP products may be subject to unidentified or

documented vulnerabilities. Customer is responsible for the design and operation of its

applications and products throughout their lifecycles to reduce the effect of these

vulnerabilities on customer’s applications and products. Customer’s responsibility also

extends to other open and/or proprietary technologies supported by NXP products for use in

customer’s applications. NXP accepts no liability for any vulnerability. Customer should

regularly check security updates from NXP and follow up appropriately. Customer shall select

products with security features that best meet rules, regulations, and standards of the

intended application and make the ultimate design decisions regarding its products and is

solely responsible for compliance with all legal, regulatory, and security related requirements

concerning its products, regardless of any information or support that may be provided by

NXP. NXP has a Product Security Incident Response Team (PSIRT) (reachable at

[email protected]) that manages the investigation, reporting, and solution release to security

vulnerabilities of NXP products.

NXP, the NXP logo, Freescale, the Freescale logo, CodeWarrior, Layerscape, PowerQUICC,

QorIQ, CoreNet, and QUICC Engine are trademarks of NXP B.V. All other product or service

names are the property of their respective owners. Arm, Cortex, and TrustZone are

registered trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. The

related technology may be protected by any or all of patents, copyrights, designs and trade

secrets. All rights reserved.

© 2015–2020 NXP B.V.

Information in this document is provided solely to enable system and software implementers

to use NXP products. There are no express or implied copyright licenses granted hereunder

to design or fabricate any integrated circuits based on the information in this document.

NXP reserves the right to make changes without further notice to any products herein. NXP

makes no warranty, representation, or guarantee regarding the suitability of its products for

any particular purpose, nor does NXP assume any liability arising out of the application or

use of any product or circuit, and specifically disclaims any and all liability, including without

limitation consequential or incidental damages.“Typical” parameters that may be provided in

NXP data sheets and/or specifications can and do vary in different applications, and actual

performance may vary over time. All operating parameters, including “typicals,” must be

validated for each customer application by customer’s technical experts. NXP does not

convey any license under its patent rights nor the rights of others. NXP sells products

pursuant to standard terms and conditions of sale, which can be found at the following

address: nxp.com/SalesTermsandConditions.

DPAA2UM Rev 39, 12/2020

How to Reach Us:

Home Page: nxp.com

Web Support: nxp.com/support

Page 3: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -iii

ContentsParagraphNumber Title

PageNumber

Rev 39, 12/2020Contents

Chapter 1 Introduction

1.1 Intended audience ............................................................................................................ 1-21.2 Definitions and acronyms ................................................................................................ 1-2

Chapter 2 Overview

2.1 Introduction to DPAA2 objects........................................................................................ 2-12.1.1 Network objects ........................................................................................................... 2-22.1.1.1 Data Path Network Interface (DPNI) ...................................................................... 2-22.1.1.2 Data Path MAC (DPMAC)...................................................................................... 2-22.1.1.3 Data Path Switch (DPSW)....................................................................................... 2-22.1.1.4 Data Path Demux (DPDMUX)................................................................................ 2-32.1.2 DPAA2 infrastructure objects ...................................................................................... 2-32.1.2.1 Data Path Buffer Pool (DPBP) ................................................................................ 2-42.1.2.2 Data Path I/O Portal (DPIO).................................................................................... 2-42.1.2.3 Data Path Concentrator (DPCON)........................................................................... 2-42.1.3 Accelerator interfaces .................................................................................................. 2-52.1.3.1 Data Path Security Interface (DPSECI)................................................................... 2-52.1.3.2 Data Path De/Compression Interface (DPDCEI) .................................................... 2-52.1.3.3 Data Path DMA Interface (DPDMAI)..................................................................... 2-52.1.4 Management and control objects ................................................................................. 2-62.1.4.1 Data Path Communication Interface (DPCI)........................................................... 2-62.1.4.2 Data Path Resource Container (DPRC)................................................................... 2-62.1.4.3 Data Path MC Portal (DPMCP)............................................................................... 2-72.1.5 DPAA2 object support per platform ............................................................................ 2-72.2 Objects topology and inter-connect ................................................................................. 2-82.2.1 Connection and link state........................................................................................... 2-102.2.2 Typical object connections......................................................................................... 2-102.2.3 How and when to connect.......................................................................................... 2-12

Chapter 3 Boot and Initialization Process

3.1 Loading the MC firmware ............................................................................................... 3-13.2 Data Path Configuration (DPC)....................................................................................... 3-13.3 Data Path Layout (DPL) .................................................................................................. 3-13.4 Starting MC...................................................................................................................... 3-23.5 Minimum memory requirements ..................................................................................... 3-3

Page 4: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-iv NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

Chapter 4 MC Firmware Versions

4.1 MC global firmware versions .......................................................................................... 4-14.2 DPAA2 Object versions ................................................................................................... 4-14.3 DPAA2 Object Commands .............................................................................................. 4-14.4 Recommended user verification ...................................................................................... 4-24.5 Firmware command reference ......................................................................................... 4-34.5.1 DPMNG_GET_VERSION.......................................................................................... 4-34.5.2 DPMNG_GET_SOC_VERSION ................................................................................ 4-5

Chapter 5 Management Command Portals

5.1 Overview of command portals......................................................................................... 5-15.2 Command portal usage .................................................................................................... 5-15.3 Creating and destroying DPAA2 objects ......................................................................... 5-25.4 Command portals memory map....................................................................................... 5-35.5 Management command portal definition ......................................................................... 5-45.6 MC General Command Portals command reference ....................................................... 5-65.6.1 DPMNG_GET_CONT_ID .......................................................................................... 5-6

Chapter 6 DPRC: Data Path Resource Container

6.1 DPRC features ................................................................................................................. 6-16.2 DPRC functional description ........................................................................................... 6-26.2.1 Resource container creation......................................................................................... 6-26.2.2 Objects assignment ...................................................................................................... 6-26.2.3 Objects discovery......................................................................................................... 6-26.3 DPRC command reference .............................................................................................. 6-36.3.1 DPRC_OPEN............................................................................................................... 6-36.3.2 DPRC_CLOSE ............................................................................................................ 6-46.3.3 DPRC_CREATE_CONTAINER ................................................................................. 6-56.3.4 DPRC_DESTROY_CONTAINER.............................................................................. 6-76.3.5 DPRC_RESET_CONTAINER.................................................................................... 6-86.3.6 DPRC_SET_LOCKED.............................................................................................. 6-106.3.7 DPRC_SET_IRQ....................................................................................................... 6-116.3.8 DPRC_GET_IRQ ...................................................................................................... 6-126.3.9 DPRC_SET_IRQ_ENABLE ..................................................................................... 6-146.3.10 DPRC_GET_IRQ_ENABLE..................................................................................... 6-156.3.11 DPRC_SET_IRQ_MASK ......................................................................................... 6-176.3.12 DPRC_GET_IRQ_MASK......................................................................................... 6-186.3.13 DPRC_GET_IRQ_STATUS...................................................................................... 6-20

Page 5: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -v

ContentsParagraphNumber Title

PageNumber

6.3.14 DPRC_CLEAR_IRQ_STATUS................................................................................. 6-226.3.15 DPRC_GET_ATTRIBUTES ..................................................................................... 6-236.3.16 DPRC_SET_RES_QUOTA....................................................................................... 6-256.3.17 DPRC_GET_RES_QUOTA ...................................................................................... 6-266.3.18 DPRC_ASSIGN......................................................................................................... 6-286.3.19 DPRC_UNASSIGN................................................................................................... 6-296.3.20 DPRC_GET_POOL_COUNT................................................................................... 6-306.3.21 DPRC_GET_POOL................................................................................................... 6-326.3.22 DPRC_GET_OBJ_COUNT ...................................................................................... 6-346.3.23 DPRC_GET_OBJ ...................................................................................................... 6-366.3.24 DPRC_GET_OBJ_DESC.......................................................................................... 6-386.3.25 DPRC_GET_RES_COUNT ...................................................................................... 6-406.3.26 DPRC_GET_RES_IDS ............................................................................................. 6-426.3.27 DPRC_GET_OBJ_REGION..................................................................................... 6-446.3.28 DPRC_SET_OBJ_LABEL........................................................................................ 6-466.3.29 DPRC_SET_OBJ_IRQ.............................................................................................. 6-476.3.30 DPRC_GET_OBJ_IRQ ............................................................................................. 6-486.3.31 DPRC_CONNECT .................................................................................................... 6-506.3.32 DPRC_DISCONNECT.............................................................................................. 6-516.3.33 DPRC_GET_CONNECTION ................................................................................... 6-526.3.34 DPRC_GET_API_VERSION ................................................................................... 6-54

Chapter 7 DPNI: Data Path Network Interface

7.1 DPNI features .................................................................................................................. 7-17.2 DPNI functional description ............................................................................................ 7-37.2.1 Ingress frame processing ............................................................................................. 7-37.2.2 Egress frame processing .............................................................................................. 7-47.2.3 Relationship with DPIO and DPCON objects ............................................................. 7-57.2.4 Relationship with DPBP objects.................................................................................. 7-67.2.5 Ingress QoS.................................................................................................................. 7-67.2.6 Ingress distribution ...................................................................................................... 7-77.2.6.1 Building rules for ingress distribution ..................................................................... 7-87.2.7 Flow control................................................................................................................. 7-87.2.7.1 Flow control configuration ...................................................................................... 7-87.2.7.2 Priority flow control configuration.......................................................................... 7-97.2.8 Policer .......................................................................................................................... 7-97.2.8.1 Metering principles.................................................................................................. 7-97.2.8.2 RFC-2698 .............................................................................................................. 7-107.2.8.3 RFC-4115............................................................................................................... 7-107.2.8.4 Pass-Through ......................................................................................................... 7-10

Page 6: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-vi NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

7.3 DPNI command reference ............................................................................................. 7-117.3.1 DPNI_CREATE......................................................................................................... 7-117.3.2 DPNI_DESTROY...................................................................................................... 7-157.3.3 DPNI_OPEN.............................................................................................................. 7-167.3.4 DPNI_CLOSE ........................................................................................................... 7-177.3.5 DPNI_ENABLE ........................................................................................................ 7-187.3.6 DPNI_DISABLE ....................................................................................................... 7-197.3.7 DPNI_IS_ENABLED................................................................................................ 7-207.3.8 DPNI_RESET............................................................................................................ 7-227.3.9 DPNI_SET_IRQ_ENABLE ...................................................................................... 7-237.3.10 DPNI_GET_IRQ_ENABLE...................................................................................... 7-247.3.11 DPNI_SET_IRQ_MASK........................................................................................... 7-267.3.12 DPNI_GET_IRQ_MASK.......................................................................................... 7-277.3.13 DPNI_GET_IRQ_STATUS ....................................................................................... 7-297.3.14 DPNI_CLEAR_IRQ_STATUS.................................................................................. 7-317.3.15 DPNI_GET_ATTRIBUTES ...................................................................................... 7-327.3.16 DPNI_SET_POOLS .................................................................................................. 7-367.3.17 DPNI_SET_ERRORS_BEHAVIOR ......................................................................... 7-397.3.18 DPNI_SET_BUFFER_LAYOUT.............................................................................. 7-417.3.19 DPNI_GET_BUFFER_LAYOUT ............................................................................. 7-447.3.20 DPNI_SET_OFFLOAD............................................................................................. 7-467.3.21 DPNI_GET_OFFLOAD............................................................................................ 7-477.3.22 DPNI_GET_QDID .................................................................................................... 7-497.3.23 DPNI_GET_SP_INFO............................................................................................... 7-527.3.24 DPNI_GET_TX_DATA_OFFSET ............................................................................ 7-547.3.25 DPNI_GET_STATISTICS......................................................................................... 7-567.3.26 DPNI_RESET_STATISTICS .................................................................................... 7-597.3.27 DPNI_SET_LINK_CFG............................................................................................ 7-607.3.28 DPNI_GET_LINK_CFG........................................................................................... 7-627.3.29 DPNI_SET_SINGLE_STEP_CFG............................................................................ 7-647.3.30 DPNI_GET_SINGLE_STEP_CGF........................................................................... 7-657.3.31 DPNI_SET_PORT_CFG ........................................................................................... 7-677.3.32 DPNI_GET_PORT_CGF........................................................................................... 7-687.3.33 DPNI_GET_LINK_STATE ....................................................................................... 7-707.3.34 DPNI_SET_TX_SHAPING ...................................................................................... 7-727.3.35 DPNI_SET_MAX_FRAME_LENGTH.................................................................... 7-747.3.36 DPNI_GET_MAX_FRAME_LENGTH ................................................................... 7-757.3.37 DPNI_SET_MULTICAST_PROMISC..................................................................... 7-777.3.38 DPNI_GET_MULTICAST_PROMISC .................................................................... 7-787.3.39 DPNI_SET_UNICAST_PROMISC .......................................................................... 7-807.3.40 DPNI_GET_UNICAST_PROMISC ......................................................................... 7-81

Page 7: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -vii

ContentsParagraphNumber Title

PageNumber

7.3.41 DPNI_SET_PRIMARY_MAC_ADDR..................................................................... 7-837.3.42 DPNI_GET_PRIMARY_MAC_ADDR.................................................................... 7-847.3.43 DPNI_ADD_MAC_ADDR....................................................................................... 7-867.3.44 DPNI_REMOVE_MAC_ADDR............................................................................... 7-877.3.45 DPNI_CLEAR_MAC_FILTERS .............................................................................. 7-887.3.46 DPNI_GET_PORT_MAC_ADDRESS..................................................................... 7-897.3.47 DPNI_ENABLE_VLAN_FILTER............................................................................ 7-917.3.48 DPNI_ADD_VLAN_ID ............................................................................................ 7-927.3.49 DPNI_REMOVE_VLAN_ID.................................................................................... 7-937.3.50 DPNI_CLEAR_VLAN_FILTERS ............................................................................ 7-947.3.51 DPNI_SET_TX_PRIORITIES .................................................................................. 7-957.3.52 DPNI_SET_RX_TC_DIST ....................................................................................... 7-977.3.53 DPNI_SET_RX_TC_POLICING............................................................................ 7-1027.3.54 DPNI_GET_RX_TC_POLICING........................................................................... 7-1047.3.55 DPNI_SET_TAILDROP.......................................................................................... 7-1077.3.56 DPNI_GET_TAILDROP......................................................................................... 7-1097.3.57 DPNI_SET_EARLY_DROP ....................................................................................7-1117.3.58 DPNI_GET_EARLY_DROP................................................................................... 7-1147.3.59 DPNI_SET_QUEUE ............................................................................................... 7-1177.3.60 DPNI_GET_QUEUE............................................................................................... 7-1197.3.61 DPNI_SET_TX_CONFIRMATION_MODE.......................................................... 7-1227.3.62 DPNI_GET_TX_CONFIRMATION_MODE......................................................... 7-1237.3.63 DPNI_SET_QOS_TABLE ...................................................................................... 7-1257.3.64 DPNI_ADD_QOS_ENTRY .................................................................................... 7-1297.3.65 DPNI_REMOVE_QOS_ENTRY ............................................................................ 7-1307.3.66 DPNI_CLEAR_QOS_TABLE ................................................................................ 7-1317.3.67 DPNI_ADD_FS_ENTRY........................................................................................ 7-1327.3.68 DPNI_REMOVE_FS_ENTRY................................................................................ 7-1347.3.69 DPNI_CLEAR_FS_ENTRIES ................................................................................ 7-1357.3.70 DPNI_GET_API_VERSION................................................................................... 7-1367.3.71 DPNI_SET_OPR ..................................................................................................... 7-1387.3.72 DPNI_GET_OPR..................................................................................................... 7-1417.3.73 DPNI_SET_CONGESTION_NOTIFICATION...................................................... 7-1437.3.73.1 Congestion threshold representation.................................................................... 7-1437.3.74 DPNI_GET_CONGESTION_NOTIFICATION..................................................... 7-1467.3.75 DPNI_LOAD_SW_SEQUENCE ............................................................................ 7-1487.3.76 DPNI_ENABLE_SW_SEQUENCE ....................................................................... 7-1497.3.77 DPNI_SET_RX_FS_DIST ...................................................................................... 7-1517.3.78 DPNI_SET_RX_HASH_DIST................................................................................ 7-1537.3.79 DPNI_ADD_CUSTOM_TPID................................................................................ 7-1547.3.80 DPNI_REMOVE_CUSTOM_TPID........................................................................ 7-155

Page 8: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-viii NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

7.3.81 DPNI_GET_CUSTOM_TPID................................................................................. 7-1567.3.82 DPNI_DUMP_TABLE............................................................................................ 7-157

Chapter 8 DPBP: Data Path Buffer Pool

8.1 DPBP features .................................................................................................................. 8-18.2 DPBP command reference ............................................................................................... 8-28.2.1 DPBP_OPEN............................................................................................................... 8-28.2.2 DPBP_CLOSE............................................................................................................. 8-38.2.3 DPBP_CREATE .......................................................................................................... 8-48.2.4 DPBP_DESTROY....................................................................................................... 8-68.2.5 DPBP_ENABLE.......................................................................................................... 8-78.2.6 DPBP_DISABLE......................................................................................................... 8-88.2.7 DPBP_IS_ENABLED ................................................................................................. 8-98.2.8 DPBP_RESET ........................................................................................................... 8-118.2.9 DPBP_SET_IRQ_ENABLE...................................................................................... 8-128.2.10 DPBP_GET_IRQ_ENABLE..................................................................................... 8-138.2.11 DPBP_SET_IRQ_MASK.......................................................................................... 8-158.2.12 DPBP_GET_IRQ_MASK ......................................................................................... 8-168.2.13 DPBP_GET_IRQ_STATUS ...................................................................................... 8-188.2.14 DPBP_CLEAR_IRQ_STATUS ................................................................................. 8-208.2.15 DPBP_GET_ATTRIBUTES...................................................................................... 8-218.2.16 DPBP_SET_NOTIFICATIONS ................................................................................ 8-238.2.17 DPBP_GET_NOTIFICATIONS................................................................................ 8-248.2.18 DPBP_GET_API_VERSION.................................................................................... 8-26

Chapter 9 DPIO: Data Path I/O

9.1 DPIO features .................................................................................................................. 9-19.2 DPIO command reference ............................................................................................... 9-29.2.1 DPIO_OPEN................................................................................................................ 9-29.2.2 DPIO_CLOSE ............................................................................................................. 9-39.2.3 DPIO_CREATE........................................................................................................... 9-49.2.4 DPIO_DESTROY........................................................................................................ 9-69.2.5 DPIO_ENABLE .......................................................................................................... 9-79.2.6 DPIO_DISABLE ......................................................................................................... 9-89.2.7 DPIO_IS_ENABLED.................................................................................................. 9-99.2.8 DPIO_RESET............................................................................................................ 9-119.2.9 DPIO_SET_IRQ_ENABLE ...................................................................................... 9-129.2.10 DPIO_GET_IRQ_ENABLE...................................................................................... 9-139.2.11 DPIO_SET_IRQ_MASK........................................................................................... 9-15

Page 9: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -ix

ContentsParagraphNumber Title

PageNumber

9.2.12 DPIO_GET_IRQ_MASK.......................................................................................... 9-169.2.13 DPIO_GET_IRQ_STATUS ....................................................................................... 9-189.2.14 DPIO_CLEAR_IRQ_STATUS.................................................................................. 9-209.2.15 DPIO_GET_ATTRIBUTES ...................................................................................... 9-219.2.16 DPIO_SET_STASHING_DESTINATION ............................................................... 9-239.2.17 DPIO_GET_STASHING_DESTINATION............................................................... 9-249.2.18 DPIO_ADD_STATIC_DEQUEUE_CHANNEL ...................................................... 9-269.2.19 DPIO_REMOVE_STATIC_DEQUEUE_CHANNEL.............................................. 9-289.2.20 DPIO_GET_API_VERSION..................................................................................... 9-299.2.21 DPIO_SET_STASHING_DESTINATION_SOURCE ............................................. 9-319.2.22 DPIO_GET_STASHING_DESTINATION_SOURCE............................................. 9-329.2.23 DPIO_SET_STASHING_DESTINATION_BY_CORE_ID..................................... 9-34

Chapter 10 DPDBG: Data Path Debugging

10.1 DPDBG features ............................................................................................................ 10-110.2 DPDBG command reference ......................................................................................... 10-210.2.1 DPDBG_OPEN ......................................................................................................... 10-210.2.2 DPDBG_CLOSE ....................................................................................................... 10-310.2.3 DPDBG_CREATE..................................................................................................... 10-410.2.4 DPDBG_DESTROY.................................................................................................. 10-510.2.5 DPMAC_DUMP........................................................................................................ 10-610.2.6 DPDBG_SET............................................................................................................. 10-710.2.7 DPDBG_GET_ATTRIBUTES .................................................................................. 10-810.2.8 DPDBG_GET_API_VERSION .............................................................................. 10-10

Chapter 11 DPCON: Data Path Concentrator

11.1 DPCON features ............................................................................................................ 11-111.2 DPCON command reference ......................................................................................... 11-211.2.1 DPCON_OPEN ......................................................................................................... 11-211.2.2 DPCON_CLOSE ....................................................................................................... 11-311.2.3 DPCON_CREATE..................................................................................................... 11-411.2.4 DPCON_DESTROY.................................................................................................. 11-611.2.5 DPCON_ENABLE .................................................................................................... 11-711.2.6 DPCON_DISABLE................................................................................................... 11-811.2.7 DPCON_IS_ENABLED............................................................................................ 11-911.2.8 DPCON_RESET.......................................................................................................11-1111.2.9 DPCON_SET_IRQ_ENABLE ................................................................................ 11-1211.2.10 DPCON_GET_IRQ_ENABLE ............................................................................... 11-1311.2.11 DPCON_SET_IRQ_MASK .................................................................................... 11-15

Page 10: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-x NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

11.2.12 DPCON_GET_IRQ_MASK.................................................................................... 11-1611.2.13 DPCON_GET_IRQ_STATUS................................................................................. 11-1811.2.14 DPCON_CLEAR_IRQ_STATUS ........................................................................... 11-2011.2.15 DPCON_GET_ATTRIBUTES ................................................................................ 11-2111.2.16 DPCON_SET_NOTIFICATION............................................................................. 11-2311.2.17 DPCON_GET_API_VERSION .............................................................................. 11-24

Chapter 12 DPCI: Data Path Communication Interface

12.1 DPCI features................................................................................................................. 12-112.2 DPCI functional description .......................................................................................... 12-112.2.1 Connecting DPCI objects........................................................................................... 12-112.2.2 Relationship with DPIO and DPCON objects ........................................................... 12-212.2.3 Buffer requirements ................................................................................................... 12-212.3 DPCI command reference.............................................................................................. 12-212.3.1 DPCI_OPEN.............................................................................................................. 12-312.3.2 DPCI_CLOSE............................................................................................................ 12-412.3.3 DPCI_CREATE ......................................................................................................... 12-512.3.4 DPCI_DESTROY...................................................................................................... 12-712.3.5 DPCI_ENABLE......................................................................................................... 12-812.3.6 DPCI_DISABLE ....................................................................................................... 12-912.3.7 DPCI_IS_ENABLED .............................................................................................. 12-1012.3.8 DPCI_RESET .......................................................................................................... 12-1212.3.9 DPCI_SET_IRQ_ENABLE..................................................................................... 12-1312.3.10 DPCI_GET_IRQ_ENABLE.................................................................................... 12-1412.3.11 DPCI_SET_IRQ_MASK......................................................................................... 12-1612.3.12 DPCI_GET_IRQ_MASK ........................................................................................ 12-1712.3.13 DPCI_GET_IRQ_STATUS ..................................................................................... 12-1912.3.14 DPCI_CLEAR_IRQ_STATUS................................................................................ 12-2112.3.15 DPCI_GET_ATTRIBUTES..................................................................................... 12-2212.3.16 DPCI_GET_PEER_ATTRIBUTES......................................................................... 12-2412.3.17 DPCI_GET_LINK_STATE ..................................................................................... 12-2612.3.18 DPCI_SET_RX_QUEUE ........................................................................................ 12-2812.3.19 DPCI_GET_RX_QUEUE ....................................................................................... 12-2912.3.20 DPCI_GET_TX_QUEUE........................................................................................ 12-3112.3.21 DPCI_GET_API_VERSION................................................................................... 12-3312.3.22 DPCI_SET_OPR ..................................................................................................... 12-3512.3.23 DPCI_GET_OPR..................................................................................................... 12-37

Chapter 13 DPDMUX: Data Path Network DeMux

Page 11: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -xi

ContentsParagraphNumber Title

PageNumber

13.1 DPDMUX features ........................................................................................................ 13-113.2 DPDMUX functional description .................................................................................. 13-213.2.1 Demux database......................................................................................................... 13-213.2.2 Broadcast and multicast support ................................................................................ 13-213.2.3 Promiscuous interfaces .............................................................................................. 13-213.2.4 Frames acceptance policy .......................................................................................... 13-313.3 DPDMUX command reference ..................................................................................... 13-313.3.1 DPDMUX_OPEN...................................................................................................... 13-413.3.2 DPDMUX_CLOSE ................................................................................................... 13-513.3.3 DPDMUX_CREATE................................................................................................. 13-613.3.4 DPDMUX_DESTROY.............................................................................................. 13-913.3.5 DPDMUX_ENABLE .............................................................................................. 13-1013.3.6 DPDMUX_DISABLE ............................................................................................. 13-1113.3.7 DPDMUX_IS_ENABLED...................................................................................... 13-1213.3.8 DPDMUX_RESET.................................................................................................. 13-1313.3.9 DPDMUX_SET_IRQ_ENABLE ............................................................................ 13-1413.3.10 DPDMUX_GET_IRQ_ENABLE............................................................................ 13-1513.3.11 DPDMUX_SET_IRQ_MASK................................................................................. 13-1713.3.12 DPDMUX_GET_IRQ_MASK................................................................................ 13-1813.3.13 DPDMUX_GET_IRQ_STATUS ............................................................................. 13-2013.3.14 DPDMUX_CLEAR_IRQ_STATUS........................................................................ 13-2213.3.15 DPDMUX_GET_ATTRIBUTES ............................................................................ 13-2313.3.16 DPDMUX_SET_MAX_FRAME_LENGTH.......................................................... 13-2513.3.17 DPDMUX_IF_SET_ACCEPTED_FRAMES......................................................... 13-2613.3.18 DPDMUX_IF_GET_ATTRIBUTES....................................................................... 13-2713.3.19 DPDMUX_IF_ENABLE......................................................................................... 13-2913.3.20 DPDMUX_IF_DISABLE........................................................................................ 13-3013.3.21 DPDMUX_IF_SET_DEFAULT.............................................................................. 13-3113.3.22 DPDMUX_IF_GET_DEFAULT ............................................................................. 13-3213.3.23 DPDMUX_SET_RESETABLE............................................................................... 13-3413.3.24 DPDMUX_GET_RESETABLE.............................................................................. 13-3513.3.25 DPDMUX_IF_REMOVE_L2_RULE..................................................................... 13-3713.3.26 DPDMUX_IF_ADD_L2_RULE............................................................................. 13-3813.3.27 DPDMUX_IF_GET_COUNTER............................................................................ 13-3913.3.28 DPDMUX_UL_RESET_COUNTERS ................................................................... 13-4113.3.29 DPDMUX_IF_SET_LINK_CFG ............................................................................ 13-4213.3.30 DPDMUX_IF_GET_LINK_STATE ....................................................................... 13-4313.3.31 DPDMUX_GET_API_VERSION........................................................................... 13-4513.3.32 DPDMUX_SET_CUSTOM_KEY .......................................................................... 13-4713.3.33 DPDMUX_ADD_CUSTOM_CLS_ENTRY........................................................... 13-4813.3.34 DPDMUX_REMOVE_CUSTOM_CLS_ENTRY .................................................. 13-49

Page 12: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-xii NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

13.3.35 DPDMUX_IF_SET_TAILDROP............................................................................ 13-5013.3.36 DPDMUX_IF_GET_TAILDROP ........................................................................... 13-5113.3.37 DPDMUX_DUMP_TABLE.................................................................................... 13-53

Chapter 14 DPSW: Data Path L2 Switch

14.1 DPSW features............................................................................................................... 14-114.2 DPSW functional description ........................................................................................ 14-214.2.1 Creating L2 switch instance....................................................................................... 14-214.2.2 VLAN configuration.................................................................................................. 14-214.2.3 Learning modes.......................................................................................................... 14-214.2.4 FDB configuration ..................................................................................................... 14-314.2.5 LAG configuration..................................................................................................... 14-314.3 DPSW command reference............................................................................................ 14-514.3.1 DPSW_OPEN............................................................................................................ 14-514.3.2 DPSW_CLOSE.......................................................................................................... 14-614.3.3 DPSW_CREATE ....................................................................................................... 14-714.3.4 DPSW_DESTROY.................................................................................................. 14-1014.3.5 DPSW_ENABLE..................................................................................................... 14-1114.3.6 DPSW_DISABLE ................................................................................................... 14-1214.3.7 DPSW_IS_ENABLED ............................................................................................ 14-1314.3.8 DPSW_RESET ........................................................................................................ 14-1514.3.9 DPSW_SET_IRQ_ENABLE................................................................................... 14-1614.3.10 DPSW_GET_IRQ_ENABLE.................................................................................. 14-1714.3.11 DPSW_SET_IRQ_MASK....................................................................................... 14-1914.3.12 DPSW_GET_IRQ_MASK ...................................................................................... 14-2014.3.13 DPSW_GET_IRQ_STATUS ................................................................................... 14-2214.3.14 DPSW_CLEAR_IRQ_STATUS.............................................................................. 14-2414.3.15 DPSW_GET_ATTRIBUTES................................................................................... 14-2514.3.16 DPSW_SET_REFLECTION_IF ............................................................................. 14-2714.3.17 DPSW_IF_SET_FLOODING ................................................................................. 14-2814.3.18 DPSW_IF_SET_BROADCAST ............................................................................. 14-2914.3.19 DPSW_IF_SET_MULTICAST ............................................................................... 14-3014.3.20 DPSW_IF_SET_TCI ............................................................................................... 14-3114.3.21 DPSW_IF_GET_TCI............................................................................................... 14-3214.3.22 DPSW_IF_SET_STP............................................................................................... 14-3414.3.23 DPSW_IF_SET_ACCEPTED_FRAMES............................................................... 14-3514.3.24 DPSW_SET_IF_ACCEPT_ALL_VLAN ............................................................... 14-3614.3.25 DPSW_IF_GET_COUNTER .................................................................................. 14-3714.3.26 DPSW_IF_SET_COUNTER................................................................................... 14-3914.3.27 DPSW_IF_SET_TX_SELECTION......................................................................... 14-40

Page 13: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -xiii

ContentsParagraphNumber Title

PageNumber

14.3.28 DPSW_IF_ADD_REFLECTION............................................................................ 14-4114.3.29 DPSW_IF_REMOVE_REFLECTION ................................................................... 14-4214.3.30 DPSW_IF_SET_FLOODING_METERING........................................................... 14-4314.3.31 DPSW_IF_SET_METERING................................................................................. 14-4414.3.32 DPSW_IF_SET_EARLY_DROP ............................................................................ 14-4514.3.33 DPSW_ADD_CUSTOM_TPID .............................................................................. 14-4714.3.34 DPSW_REMOVE_CUSTOM_TPID...................................................................... 14-4814.3.35 DPSW_IF_ENABLE............................................................................................... 14-4914.3.36 DPSW_IF_DISABLE.............................................................................................. 14-5014.3.37 DPSW_IF_GET_ATTRIBUTES............................................................................. 14-5114.3.38 DPSW_IF_SET_MAX_FRAME_LENGTH........................................................... 14-5314.3.39 DPSW_IF_SET_LINK_CFG .................................................................................. 14-5414.3.40 DPSW_IF_GET_LINK_STATE.............................................................................. 14-5514.3.41 DPSW_IF_GET_MAX_FRAME_LENGTH.......................................................... 14-5714.3.42 DPSW_VLAN_ADD............................................................................................... 14-5914.3.43 DPSW_VLAN_ADD_IF......................................................................................... 14-6014.3.44 DPSW_VLAN_ADD_IF_UNTAGGED ................................................................. 14-6114.3.45 DPSW_VLAN_ADD_IF_FLOODING................................................................... 14-6214.3.46 DPSW_VLAN_REMOVE_IF................................................................................. 14-6314.3.47 DPSW_VLAN_REMOVE_IF_UNTAGGED......................................................... 14-6414.3.48 DPSW_VLAN_REMOVE_IF_FLOODING .......................................................... 14-6514.3.49 DPSW_VLAN_REMOVE ...................................................................................... 14-6614.3.50 DPSW_VLAN_GET_ATTRIBUTES ..................................................................... 14-6714.3.51 DPSW_VLAN_GET_IF.......................................................................................... 14-6914.3.52 DPSW_VLAN_GET_IF_FLOODING ................................................................... 14-7114.3.53 DPSW_VLAN_GET_IF_UNTAGGED.................................................................. 14-7314.3.54 DPSW_FDB_ADD.................................................................................................. 14-7514.3.55 DPSW_FDB_REMOVE.......................................................................................... 14-7714.3.56 DPSW_FDB_ADD_UNICAST............................................................................... 14-7814.3.57 DPSW_FDB_GET_UNICAST ............................................................................... 14-7914.3.58 DPSW_FDB_REMOVE_UNICAST ...................................................................... 14-8114.3.59 DPSW_FDB_ADD_MULTICAST ......................................................................... 14-8214.3.60 DPSW_FDB_GET_MULTICAST .......................................................................... 14-8314.3.61 DPSW_FDB_REMOVE_MULTICAST ................................................................. 14-8514.3.62 DPSW_FDB_SET_LEARNING_MODE ............................................................... 14-8614.3.63 DPSW_FDB_GET_ATTRIBUTES......................................................................... 14-8714.3.64 DPSW_ACL_ADD.................................................................................................. 14-8914.3.65 DPSW_ACL_REMOVE ......................................................................................... 14-9114.3.66 DPSW_ACL_PREPARE_ENTRY_CFG ................................................................ 14-9214.3.67 DPSW_ACL_ADD_ENTRY................................................................................... 14-9414.3.68 DPSW_ACL_REMOVE_ENTRY .......................................................................... 14-95

Page 14: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-xiv NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

14.3.69 DPSW_ACL_ADD_IF ............................................................................................ 14-9814.3.70 DPSW_ACL_REMOVE_IF.................................................................................... 14-9914.3.71 DPSW_ACL_GET_ATTRIBUTES....................................................................... 14-10014.3.72 DPSW_CTRL_IF_GET_ATTRIBUTES............................................................... 14-10214.3.73 DPSW_CTRL_IF_SET_POOLS........................................................................... 14-10414.3.74 DPSW_CTRL_IF_ENABLE................................................................................. 14-10514.3.75 DPSW_CTRL_IF_DISABLE................................................................................ 14-10614.3.76 DPSW_CTRL_IF_SET_QUEUE.......................................................................... 14-10714.3.77 DPSW_GET_API_VERSION............................................................................... 14-10814.3.78 DPSW_LAG_SET................................................................................................. 14-11014.3.79 DPSW_LAG_GET_CFG........................................................................................14-11114.3.80 DPSW_IF_SET_TAILDROP ................................................................................ 14-11314.3.81 DPSW_IF_GET_TAILDROP................................................................................ 14-11414.3.82 DPSW_DUMP_TABLE ........................................................................................ 14-116

Chapter 15 DPMAC: Data Path MAC

15.1 DPMAC features............................................................................................................ 15-115.2 DPMAC command reference......................................................................................... 15-215.2.1 DPMAC_OPEN......................................................................................................... 15-215.2.2 DPMAC_CLOSE....................................................................................................... 15-315.2.3 DPMAC_CREATE .................................................................................................... 15-415.2.4 DPMAC_DESTROY................................................................................................. 15-615.2.5 DPMAC_SET_IRQ_ENABLE ................................................................................. 15-715.2.6 DPMAC_GET_IRQ_ENABLE................................................................................. 15-815.2.7 DPMAC_SET_IRQ_MASK.................................................................................... 15-1015.2.8 DPMAC_GET_IRQ_MASK................................................................................... 15-1115.2.9 DPMAC_GET_IRQ_STATUS ................................................................................ 15-1315.2.10 DPMAC_CLEAR_IRQ_STATUS........................................................................... 15-1515.2.11 DPMAC_GET_ATTRIBUTES ............................................................................... 15-1615.2.12 DPMAC_SET_PARAMS........................................................................................ 15-1915.2.13 DPMAC_MDIO_READ.......................................................................................... 15-2015.2.14 DPMAC_MDIO_WRITE........................................................................................ 15-2215.2.15 DPMAC_GET_LINK_CFG .................................................................................... 15-2315.2.16 DPMAC_SET_LINK_STATE................................................................................. 15-2515.2.17 DPMAC_GET_COUNTER..................................................................................... 15-2615.2.18 DPMAC_GET_API_VERSION.............................................................................. 15-2815.2.19 DPMAC_RESET..................................................................................................... 15-3015.2.20 DPMAC_GET_MAC_ADDR................................................................................. 15-31

Chapter 16 DPRTC: Data Path Real Time Clock

Page 15: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -xv

ContentsParagraphNumber Title

PageNumber

16.1 DPRTC features ............................................................................................................. 16-116.2 DPRTC command reference .......................................................................................... 16-216.2.1 DPRTC_OPEN .......................................................................................................... 16-216.2.2 DPRTC_CLOSE ........................................................................................................ 16-316.2.3 DPRTC_CREATE...................................................................................................... 16-416.2.4 DPRTC_DESTROY .................................................................................................. 16-616.2.5 DPRTC_SET_IRQ_ENABLE................................................................................... 16-716.2.6 DPRTC_GET_IRQ_ENABLE .................................................................................. 16-816.2.7 DPRTC_SET_IRQ_MASK ..................................................................................... 16-1016.2.8 DPRTC_GET_IRQ_MASK..................................................................................... 16-1116.2.9 DPRTC_GET_IRQ_STATUS.................................................................................. 16-1316.2.10 DPRTC_CLEAR_IRQ_STATUS ............................................................................ 16-1516.2.11 DPRTC_GET_ATTRIBUTES................................................................................. 16-1616.2.12 DPRTC_SET_CLOCK_OFFSET............................................................................ 16-1816.2.13 DPRTC_GET_CLOCK_OFFSET........................................................................... 16-1916.2.14 DPRTC_SET_FREQ_COMPENSATION............................................................... 16-2116.2.15 DPRTC_GET_FREQ_COMPENSATION.............................................................. 16-2216.2.16 DPRTC_GET_TIME ............................................................................................... 16-2416.2.17 DPRTC_SET_TIME................................................................................................ 16-2616.2.18 DPRTC_SET_ALARM ........................................................................................... 16-2716.2.19 DPRTC_GET_EXT_TRIGGER_TIMESTAMP ..................................................... 16-2816.2.20 DPRTC_SET_FIPER_LOOPBACK ....................................................................... 16-3016.2.21 DPRTC_GET_API_VERSION ............................................................................... 16-31

Chapter 17 DPSECI: Data Path SEC Interface

17.1 DPSECI features ............................................................................................................ 17-117.2 DPSECI functional description...................................................................................... 17-117.2.1 Setting the DPSECI for SEC operation ..................................................................... 17-117.2.2 Relationship with DPIO and DPCON objects ........................................................... 17-217.2.3 Buffer requirements ................................................................................................... 17-217.3 DPSECI command reference ......................................................................................... 17-317.3.1 DPSECI_OPEN ......................................................................................................... 17-317.3.2 DPSECI_CLOSE....................................................................................................... 17-417.3.3 DPSECI_CREATE..................................................................................................... 17-517.3.4 DPSECI_DESTROY ................................................................................................. 17-717.3.5 DPSECI_ENABLE.................................................................................................... 17-817.3.6 DPSECI_DISABLE................................................................................................... 17-917.3.7 DPSECI_IS_ENABLED ......................................................................................... 17-1017.3.8 DPSECI_RESET ..................................................................................................... 17-1217.3.9 DPSECI_SET_IRQ_ENABLE................................................................................ 17-13

Page 16: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-xvi NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

17.3.10 DPSECI_GET_IRQ_ENABLE ............................................................................... 17-1417.3.11 DPSECI_SET_IRQ_MASK .................................................................................... 17-1617.3.12 DPSECI_GET_IRQ_MASK ................................................................................... 17-1717.3.13 DPSECI_GET_IRQ_STATUS................................................................................. 17-1917.3.14 DPSECI_CLEAR_IRQ_STATUS ........................................................................... 17-2117.3.15 DPSECI_GET_ATTRIBUTES................................................................................ 17-2217.3.16 DPSECI_SET_OPR................................................................................................. 17-2417.3.17 DPSECI_GET_OPR ................................................................................................ 17-2617.3.18 DPSECI_SET_RX_QUEUE ................................................................................... 17-2817.3.19 DPSECI_GET_RX_QUEUE................................................................................... 17-2917.3.20 DPSECI_GET_TX_QUEUE................................................................................... 17-3117.3.21 DPSECI_GET_SEC_ATTR..................................................................................... 17-3317.3.22 DPSECI_GET_SEC_COUNTERS ......................................................................... 17-3517.3.23 DPSECI_GET_API_VERSION .............................................................................. 17-37

Chapter 18 DPDCEI: Data Path DCE Interface

18.1 DPDCEI features ........................................................................................................... 18-118.2 DPDCEI command reference ........................................................................................ 18-218.2.1 DPDCEI_OPEN......................................................................................................... 18-218.2.2 DPDCEI_CLOSE ...................................................................................................... 18-318.2.3 DPDCEI_CREATE.................................................................................................... 18-418.2.4 DPDCEI_DESTROY................................................................................................. 18-618.2.5 DPDCEI_ENABLE ................................................................................................... 18-718.2.6 DPDCEI_DISABLE .................................................................................................. 18-818.2.7 DPDCEI_IS_ENABLED........................................................................................... 18-918.2.8 DPDCEI_RESET..................................................................................................... 18-1118.2.9 DPDCEI_SET_IRQ_ENABLE ............................................................................... 18-1218.2.10 DPDCEI_GET_IRQ_ENABLE............................................................................... 18-1318.2.11 DPDCEI_SET_IRQ_MASK ................................................................................... 18-1518.2.12 DPDCEI_GET_IRQ_MASK................................................................................... 18-1618.2.13 DPDCEI_GET_IRQ_STATUS................................................................................ 18-1818.2.14 DPDCEI_CLEAR_IRQ_STATUS........................................................................... 18-2018.2.15 DPDCEI_GET_ATTRIBUTES ............................................................................... 18-2118.2.16 DPDCEI_SET_RX_QUEUE................................................................................... 18-2318.2.17 DPDCEI_GET_RX_QUEUE .................................................................................. 18-2418.2.18 DPDCEI_GET_TX_QUEUE .................................................................................. 18-2618.2.19 DPDCEI_GET_API_VERSION ............................................................................. 18-28

Chapter 19 DPDMAI: Data Path DMA Interface

Page 17: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -xvii

ContentsParagraphNumber Title

PageNumber

19.1 DPDMAI features .......................................................................................................... 19-119.2 DPDMAI command reference ....................................................................................... 19-219.2.1 DPDMAI_OPEN ....................................................................................................... 19-219.2.2 DPDMAI_CLOSE..................................................................................................... 19-319.2.3 DPDMAI_CREATE................................................................................................... 19-419.2.4 DPDMAI_DESTROY ............................................................................................... 19-619.2.5 DPDMAI_ENABLE.................................................................................................. 19-719.2.6 DPDMAI_DISABLE................................................................................................. 19-819.2.7 DPDMAI_IS_ENABLED ......................................................................................... 19-919.2.8 DPDMAI_RESET ................................................................................................... 19-1119.2.9 DPDMAI_SET_IRQ_ENABLE.............................................................................. 19-1219.2.10 DPDMAI_GET_IRQ_ENABLE ............................................................................. 19-1319.2.11 DPDMAI_SET_IRQ_MASK .................................................................................. 19-1519.2.12 DPDMAI_GET_IRQ_MASK ................................................................................. 19-1619.2.13 DPDMAI_GET_IRQ_STATUS............................................................................... 19-1819.2.14 DPDMAI_CLEAR_IRQ_STATUS ......................................................................... 19-2019.2.15 DPDMAI_GET_ATTRIBUTES.............................................................................. 19-2119.2.16 DPDMAI_SET_RX_QUEUE ................................................................................. 19-2319.2.17 DPDMAI_GET_RX_QUEUE................................................................................. 19-2419.2.18 DPDMAI_GET_TX_QUEUE................................................................................. 19-2619.2.19 DPDMAI_GET_API_VERSION ............................................................................ 19-2819.2.20 DPDMAI_SET_RX_CONGESTION_NOTIFICATION........................................ 19-3019.2.21 DPDMAI_GET_RX_CONGESTION_NOTIFICATION....................................... 19-3119.2.22 DPDMAI_SET_TX_CONGESTION_NOTIFICATION........................................ 19-3319.2.23 DPDMAI_GET_TX_CONGESTION_NOTIFICATION ....................................... 19-34

Chapter 20 DPAIOP: Data Path AIOP Control

20.1 DPAIOP features............................................................................................................ 20-120.1.1 Resetting the AIOP and reloading applications ......................................................... 20-120.2 DPAIOP command reference......................................................................................... 20-320.2.1 DPAIOP_OPEN......................................................................................................... 20-320.2.2 DPAIOP_CLOSE....................................................................................................... 20-420.2.3 DPAIOP_CREATE .................................................................................................... 20-520.2.4 DPAIOP_DESTROY................................................................................................. 20-720.2.5 DPAIOP_RESET ....................................................................................................... 20-820.2.6 DPAIOP_SET_IRQ_ENABLE.................................................................................. 20-920.2.7 DPAIOP_GET_IRQ_ENABLE............................................................................... 20-1020.2.8 DPAIOP_SET_IRQ_MASK.................................................................................... 20-1220.2.9 DPAIOP_GET_IRQ_MASK ................................................................................... 20-1320.2.10 DPAIOP_GET_IRQ_STATUS ................................................................................ 20-15

Page 18: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-xviii NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

20.2.11 DPAIOP_CLEAR_IRQ_STATUS........................................................................... 20-1720.2.12 DPAIOP_GET_ATTRIBUTES................................................................................ 20-1820.2.13 DPAIOP_LOAD ...................................................................................................... 20-2020.2.14 DPAIOP_RUN......................................................................................................... 20-2120.2.15 DPAIOP_GET_SL_VERSION................................................................................ 20-2220.2.16 DPAIOP_GET_STATE............................................................................................ 20-2420.2.17 DPAIOP_SET_TIME_OF_DAY ............................................................................. 20-2620.2.18 DPAIOP_GET_TIME_OF_DAY............................................................................. 20-2720.2.19 DPAIOP_GET_API_VERSION.............................................................................. 20-2920.2.20 DPAIOP_SET_RESETABLE.................................................................................. 20-3120.2.21 DPAIOP_GET_RESETABLE ................................................................................. 20-32

Chapter 21 DPMCP: Data Path MC Portal

21.1 DPMCP features ............................................................................................................ 21-121.2 DPMCP command reference ......................................................................................... 21-221.2.1 DPMCP_OPEN ......................................................................................................... 21-221.2.2 DPMCP_CLOSE ....................................................................................................... 21-321.2.3 DPMCP_CREATE..................................................................................................... 21-421.2.4 DPMCP_DESTROY.................................................................................................. 21-621.2.5 DPMCP_RESET........................................................................................................ 21-721.2.6 DPMCP_SET_IRQ_ENABLE .................................................................................. 21-821.2.7 DPMCP_GET_IRQ_ENABLE ................................................................................. 21-921.2.8 DPMCP_SET_IRQ_MASK .................................................................................... 21-1121.2.9 DPMCP_GET_IRQ_MASK.................................................................................... 21-1221.2.10 DPMCP_GET_IRQ_STATUS................................................................................. 21-1421.2.11 DPMCP_GET_ATTRIBUTES ................................................................................ 21-1621.2.12 DPMCP_GET_API_VERSION .............................................................................. 21-18

Chapter 22 DPSPARSER: Data Path Soft Parser

22.1 DPSPARSER features.................................................................................................... 22-122.2 DPSPARSER command reference................................................................................. 22-222.2.1 DPSPARSER_OPEN................................................................................................. 22-222.2.2 DPSPARSER_CLOSE............................................................................................... 22-322.2.3 DPSPARSER_CREATE ............................................................................................ 22-422.2.4 DPSPARSER_DESTROY......................................................................................... 22-622.2.5 DPSPARSER_GET_API_VERSION........................................................................ 22-722.2.6 DPSPARSER_APPLY_SPB...................................................................................... 22-9

Chapter 23 Memory Map and Register Definition

Page 19: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -xix

ContentsParagraphNumber Title

PageNumber

23.1 General Control Register 1 (GCR1) .............................................................................. 23-123.2 General Status Register (GSR) ...................................................................................... 23-323.3 MC Firmware Base Address Low Register (MCFBALR)............................................. 23-423.4 MC Firmware Base Address High Register (MCFBAHR) ........................................... 23-423.5 MC Firmware Attributes and Partitioning Register (MCFAPR) ................................... 23-523.6 Parameter Summary Register (PSR).............................................................................. 23-623.7 Block Revision Register 1 (BRR1)................................................................................ 23-623.8 Block Revision Register 2 (BRR2)................................................................................ 23-7

Chapter 24 Data Path Layout (DPL) Reference

24.1 High-level DPL structure ............................................................................................... 24-124.2 Node: containers ............................................................................................................ 24-224.2.1 Child node: dprc......................................................................................................... 24-224.2.1.1 Child node: resources ............................................................................................ 24-324.2.1.1.1 Child node: res................................................................................................... 24-324.2.1.2 Child node: objects ................................................................................................ 24-424.2.1.2.1 Child node: obj .................................................................................................. 24-524.2.1.2.2 Child Node: obj_set ........................................................................................... 24-524.3 Node: objects ................................................................................................................. 24-624.3.1 Child node: dpni......................................................................................................... 24-724.3.2 Child node: dpio......................................................................................................... 24-724.3.3 Child node: dpbp........................................................................................................ 24-824.3.4 Child node: dpcon...................................................................................................... 24-824.3.5 Child node: dpci......................................................................................................... 24-924.3.6 Child node: dpseci ..................................................................................................... 24-924.3.7 Child node: dpdmux................................................................................................. 24-1024.3.8 Child node: dpsw ..................................................................................................... 24-1124.3.9 Child node: dpmac ................................................................................................... 24-1224.3.10 Child node: dpdcei ................................................................................................... 24-1224.3.11 Child node: dpdmai.................................................................................................. 24-1324.3.12 Child node: dpmcp................................................................................................... 24-1324.3.13 Child node: dpaiop................................................................................................... 24-1324.4 Node: connections........................................................................................................ 24-1424.4.1 Child node: connection ............................................................................................ 24-14

Chapter 25 Data Path Configuration (DPC) Reference

25.1 High-level DPC structure............................................................................................... 25-125.2 Node: mc_general .......................................................................................................... 25-225.2.1 Child node: log........................................................................................................... 25-2

Page 20: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-xx NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

25.2.2 Child node: console ................................................................................................... 25-325.3 Node: resources.............................................................................................................. 25-425.3.1 Child node: icid_pools ............................................................................................... 25-425.3.1.1 Child node: icid_pool ............................................................................................ 25-425.4 Node: controllers............................................................................................................ 25-525.4.1 Child node: qbman..................................................................................................... 25-525.5 Node: board_info ........................................................................................................... 25-625.5.1 Child node: ports........................................................................................................ 25-625.5.1.1 Child node: mac..................................................................................................... 25-625.6 Node: memory ............................................................................................................... 25-9

Chapter 26 Use case scenarios

26.1 Steps to verify 1000BASE-X on LS1088A QDS .......................................................... 26-126.1.1 Preparation ................................................................................................................. 26-126.1.1.1 Hardware................................................................................................................ 26-126.1.1.2 Software and firmware .......................................................................................... 26-126.1.1.3 RCW ...................................................................................................................... 26-126.1.1.4 Board setup ............................................................................................................ 26-126.1.2 Test procedures .......................................................................................................... 26-126.1.2.1 Verify that SGMII MC works with SGMII PHY................................................... 26-126.1.2.2 Verify that SGMII MC does not work with 1000BaseX PHY .............................. 26-226.1.2.3 Modify DPC for MC to support 1000BaseX......................................................... 26-326.2 Steps to verify PHYless on LS1088A QDS................................................................... 26-426.2.1 Preparation ................................................................................................................. 26-426.2.1.1 Hardware................................................................................................................ 26-426.2.1.2 Software and firmware .......................................................................................... 26-426.2.1.3 RCW ...................................................................................................................... 26-426.2.1.4 Board setup ............................................................................................................ 26-526.2.2 Test procedures .......................................................................................................... 26-6

Chapter 27 Logging and Debugging

27.1 MC console in Uboot ..................................................................................................... 27-127.2 MC/AIOP console in Linux ........................................................................................... 27-2

Chapter 28 Known Limitations

28.1 Reset of MC objects with FQs associated with a channel ............................................. 28-128.2 Reconfiguring FQs associated with a channel ............................................................... 28-128.3 DPSW - Link Aggregation............................................................................................. 28-1

Page 21: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors -xxi

ContentsParagraphNumber Title

PageNumber

28.4 DPSPARSER ................................................................................................................. 28-1

Appendix A Revision History

Page 22: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAA2UM, Rev 39, 12/2020

-xxii NXP Semiconductors

ContentsParagraphNumber Title

PageNumber

Page 23: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Introduction

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 1-1

Chapter 1 IntroductionDPAA2 is a hardware-level networking architecture found on some NXP SoCs. This document provides technical information on this architecture mainly for software developers. DPAA2 SoCs contain the following hardware IP blocks:

• Management Complex (required)

• WRIOP (required)

• QBMan (required)

• Accelerators, such as SEC, DCE, and PME (all optional)

• AIOP, a programmable packet engine (optional)

The following block diagram shows the hardware IP blocks of the DPAA2:

Figure 1-1. DPAA2 Hardware Blocks

The Management Complex (MC) is a key component of DPAA2. As explained in detail in this document, the MC runs an NXP-supplied firmware image that abstracts and simplifies the allocation and configuration of the other hardware elements by means of DPAA2 “objects”. These objects provide familiar services such as providing the core of network interfaces, providing switching services, providing access to accelerators, etc.

The MC subjects within the scope of the document are:

• Definition of DPAA2 objects: what they do, their configuration interfaces, and how the objects work with each other.

Page 24: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Introduction

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 1-2

• Error reporting and handling for the objects.

• How to load and start the MC at the hardware level (needed to load the firmware) as well as how to allocate memory for it, ICIDs, etc.

• The hardware programming model of the MC's command portals. They are used to convey commands to work with objects.

• Interrupts and error indications from the MC itself (as opposed to objects)

The MC and objects abstract configuration. They do not abstract the actual I/O operations. These are done using QBMan software portals (allocated and configured by means of DPIO objects). However, software must directly use software portals for actual I/O.

Status Note

For now, readers must consult the full QBMan documentation in the low-level hardware reference manual. This documentation contains more information than is needed for software development on general purpose cores and AIOP. Eventually, the subset of the QBMan hardware-level information that is needed will be available in this document. In addition, coverage of MC commands and objects usage will be enhanced.

1.1 Intended audience

The purpose of this document is to describe the DPAA2 Management Complex services and describe the best usage practices. This document contains an overview of the functions, interfaces, and recommended use of the Management Complex to enable the DPAA2 hardware capabilities; including the programming models for the various DPAA2 objects.

1.2 Definitions and acronyms• AIOP: Advanced I/O Processor hardware

• DCE: Decompression and Compression Engine

• DPAA2: Data Path Acceleration Architecture, second version.

• DPC: Data Path Configuration

• DPL: Data Path Layout

• GPP: General Purpose Processor

• MC: Management Complex

• QBMan: Queue Manager and Buffer Manager hardware

• SEC: Security Engine hardware

• WRIOP: Wire-Rate I/O Processor

Page 25: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-1

Chapter 2 OverviewThe Management Complex (MC) is an SoC hardware block that simplifies DPAA2 device management - network objects (network interfaces, L2 switches), accelerators, etc. The MC provides object abstractions and a command interface that simplify software’s use of DPAA2 objects; it also provides resource management capabilities that can create and assign these objects to different software contexts (applications, virtual machines). This action allows the direct access by the software contexts to hardware resources, while at the same time providing isolation for the objects from other contexts; this ensures that malicious software can not impact the objects.

GPP and AIOP processes do not have direct access to most DPAA2 resources, and instead they perform the necessary DPAA2 management operations using MC commands that carry out the actual hardware interaction on behalf of that process.

2.1 Introduction to DPAA2 objects

The primary purpose of the MC provided DPAA2 objects is to simplify DPAA2 hardware block usage through abstraction and encapsulation. DPAA2 objects:

• Encapsulate specific functionality

• Abstract that functionality from the DPAA2 hardware

• Present functionality in terms of well-defined attributes and methods

The MC exports a set of logical objects to enable DPAA2, as explained in the following sections. The objects can be created dynamically through dedicated API calls, or statically during initialization using the Data Path Layout (DPL) configuration file. Not all objects and object functionalities are available for all DPAA 2.x based platforms; for more details see Section 2.1.5, “DPAA2 object support per platform.”

This section:

• Presents the DPAA2 object model at a concept level and describes how objects are created, destroyed, conveyed, configured, and used.

• Lists the objects types and their purposes.

The “users” are often application software running on general purpose processors (cores) or on the AIOP. Driver-level software on GPPs (and sometimes AIOP) work with the abstracted objects, rather than directly with the hardware. For example, the GPP software deals with L2 switches and network interfaces rather than directly with WRIOP.

DPAA2 objects express and abstract the DPAA2 hardware into software-managed objects that are:

• Application-oriented in terminology and use, rather than hardware-oriented.

• Based on concepts that are generally familiar to programmers and system architects.

• Simpler than direct management of the hardware.

• Indicate the architectural intent of the hardware blocks.

The DPAA2 object services are provided by software that runs as firmware on a DPAA2 hardware block called the Management Complex. Users do not need to program the Management Complex in order to use the Network Object Services; they simply use the NXP-supplied firmware. This firmware runs on the

Page 26: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-2

Management Complex instead of a general purpose core in order to simplify the integration of NXP software with customer software. The Management Complex provides objects that perform specific services; the objects have attributes and interfaces that appear as hardware.

2.1.1 Network objects

The primary goal of DPAA2 is advanced networking, and MC exports several objects that allow users to define their topology for “network on a chip”. The network topology may contain network interfaces with varying capabilities as well as several types of switches and aggregators, linked together in a straight-forward manner, defined by the user.

2.1.1.1 Data Path Network Interface (DPNI)

The MC exports a standard network interface that is configurable to support a wide range of features, starting from as low as a basic Ethernet interface up to a high-functioning network interface. The DPNI supports standard features such as filtering, QoS, checksum validation, and time-stamping; It can also offload tasks from the GPP by performing functions such as VLAN header removal/insertion, IP Reassembly, and IP Fragmentation.

On ingress, the DPNI receives frames from a DPMAC or another object such as a DPSW, parses headers, determines the frame’s traffic class, and enqueues the frame onto a frame queue selected based on the traffic class and other header values. This supports both hash-based distribution of frames to multiple cores, and also direct flow steering of frames to specific cores. The DPNI can generate a per-queue data availability notification when a frame is enqueued.

On egress, the DPNI dequeues frames from frame queues and transmits them using a DPMAC, or to another DPAA2 object such as a DPSW.

Normally, the DPNI assumes that traffic consists of standard network packets (L2, L3, L4, etc.); however, it is also possible to configure the DPNI as a generic network interface, and the traffic profile will be based on packet format starting at higher layers. Example formats for this profile can include L5+L6+Payload (as in GTP or CAPWAP applications). In this mode, the DPNI is not intended to interact with a standard network stack, but instead it can be used in fast-path or tunnel applications, therefore suitable for network connections between GPP applications and AIOP applications.

2.1.1.2 Data Path MAC (DPMAC)

The DPMAC represents an Ethernet MAC, a hardware device that connects to a PHY and allows physical transmission and reception of Ethernet frames; since DPAA2 allows configuration of internal interfaces, the total number of network interfaces may exceed the number of MAC objects. The DPMAC object also exposes MDIO access that is used for configuration of external PHY devices.

2.1.1.3 Data Path Switch (DPSW)

The DPSW object provides the functionality of a general layer 2 switch. It receives packets on one port and sends them on another. It can also send packets out on multiple ports for the purposes of broadcast, multicast, or mirroring.

Page 27: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-3

2.1.1.4 Data Path Demux (DPDMUX)

The DPDMUX is another type of switch. It differs from a DPSW in several ways. A DPDMUX has a single “uplink” port. Also, it can be programmed to direct packets based on header fields beyond layer 2.

The figure below summarizes the DPAA2 network objects and their associated symbols for illustrations.

Figure 1. DPAA2 Network objects summary and symbols

2.1.2 DPAA2 infrastructure objects

The MC exports a set of supporting objects that provide access to the DPAA2 QBMan in a way that is both easy to configure, and flexible enough to allow optimal utilization and sharing of resources within software contexts.

Page 28: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-4

2.1.2.1 Data Path Buffer Pool (DPBP)

The DPBP represents a QBMan buffer pool. It is used mainly as a resource by DPAA2 network interfaces and accelerators, but it is also an active entity because it can send buffer pool depletion notifications to GPP core software. DPBP owners are responsible for seeding it with buffers

2.1.2.2 Data Path I/O Portal (DPIO)

The DPIO object allows QBMan software portal configuration with an optional notification channel; its main purpose is to enable the GPP to perform I/O through QBMan – hardware queuing operations, such as enqueue and dequeue, and hardware buffer management operations, such as acquire and release. It also allows data availability notifications and buffer pool depletion notifications to be received. Each DPIO object will be usually affined to a GPP core thread.

2.1.2.3 Data Path Concentrator (DPCON)

The DPCON object allows ingress packets from multiple interfaces to be aggregated into a single device that appears to a GPP core as single interface. The DPCON utilizes scheduling options of the QBMan channels to provide hardware-based scheduling offload of ingress packets, including scheduling between different network interfaces.

The DPCON is also useful for software that polls for input frames; it allows a single interface to be polled instead of multiple interfaces.

The figure below summarizes the DPAA2 infrastructure objects and their associated symbols for illustrations.

Figure 2. DPAA2 Infrastructure objects summary and symbols

Page 29: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-5

2.1.3 Accelerator interfaces

DPAA2 features several hardware accelerators to assist GPP in data processing tasks. The MC exports accelerator interface objects that enable GPP software to send requests to these accelerators and receive their data processing output.

2.1.3.1 Data Path Security Interface (DPSECI)

The Security engine (SEC) contains high-performance hardware for cryptographic acceleration and offloading, designed to operate in a data path environment. It implements:

• Block encryption algorithms

• Stream cipher algorithms

• Hashing algorithms

• Public key algorithms

• Run time integrity checking

• Random number generator

The DPSECI object provides GPP software with an interface for sending requests to SEC and receiving output responses.

2.1.3.2 Data Path De/Compression Interface (DPDCEI)

The Decompression and Compression Engine (DCE) contains high-performance hardware for decompression and compression functionality, designed to operate in a data path environment. Its functionality includes the following:

• Offloading and acceleration of DEFLATE decompression and compression as defined in RFC1951

• Offloading and acceleration of GZIP decompression and compression as defined in RFC1952

• Offloading and acceleration of ZLIB decompression and compression as defined in RFC1950

The DPDCEI object provides GPP software with an interface for sending requests to the DCE and receiving output responses.

2.1.3.3 Data Path DMA Interface (DPDMAI)

The qDMA controller contains high-performance hardware for data transfer functionality, designed to operate in a data path environment. The controller can transfer blocks of data between one source and one or more destinations. The blocks of data transferred can be represented in memory as contiguous or non-contiguous using scatter/gather tables.

The DPDMAI object provides GPP software with an interface for sending requests to the qDMA and receiving completion responses.

The figure below summarizes the DPAA2 accelerator interface objects and their associated symbols for illustrations.

Page 30: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-6

Figure 3. DPAA2 Accelerator Interface objects summary and symbols

2.1.4 Management and control objects

2.1.4.1 Data Path Communication Interface (DPCI)

The MC exports a generic interface for inter-partition communication (IPC). The DPCI enables frame-based communication between different software contexts, utilizing the QBMan infrastructure of DPAA2. The communication protocol is kept undefined and the interface does not provide any parsing or classification of the frames (unlike DPNI, which is a fully-featured standard network interface).

DPCI objects should be connected in pairs (one DPCI in each software context) to form a communication link. This type of communication may serve basic management/control needs between GPP software and AIOP software, or between two GPP software contexts.

2.1.4.2 Data Path Resource Container (DPRC)

The DPRC object allows the management complex to track sets of objects in use by the same software component. The objects in the set are said to be in same container. The DPRC operates as a virtual bus, and a software context may query it for DPAA2 objects and associate them with OS device drivers. The DPRC also allows a software context to create descendant software contexts, assign resources and objects to these contexts, and build the internal network topology by connecting DPAA2 network objects.

Some objects include DMA-capable hardware. All objects in the same DPRC share a common ICID, and a common set of IO-MMU mappings. A number of key features of DPRCs include:

• Direct access – All the objects and resources in a container are private to the container, and software components get direct access to the “registers” (as abstracted by the management complex) of the hardware objects.

Page 31: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-7

• Dynamic discovery – A software context that is given a DPRC can dynamically discover the objects and resources placed in the container using MC commands.

• Hot plug/unplug – Objects can be dynamically plugged and unplugged into DPRCs

• Security – A software context can only see the objects its DPRC, and cannot affect other containers or the proper operation of other software contexts. DMA transactions from MC objects are isolated using the system IOMMU.

2.1.4.3 Data Path MC Portal (DPMCP)

The DPMCP object is associated with Management Complex Portals, and allows GPP software to configure command completion interrupts for these portals. The DPMCP object is optional if the GPP software is polling the portal and not using portal interrupts. However, for consistency and for better tracking of MC portals that are in use, it is recommended to always create DPMCP objects for MC portals used by GPP.

The figure below summarizes the DPAA2 management objects and their associated symbols for illustrations.

Figure 4. DPAA2 Management objects summary and symbols

2.1.5 DPAA2 object support per platform

Table 2-1. DPAA2 objects supported by platform

Object Platform Comments

Networking objects

DPNI LS2080, LS2088, LS1088, LX2160, LA1575

LS1088: No TCAM supportNo support for DPNI_OPT_HAS_KEY_MASKING

DPMAC LS2080, LS2088, LS1088, LX2160, LA1575

LS1044 and LS1048 personalities: DPMAC1 is not available.

DPSW LS2080, LS2088, LX2160 —

DPDMUX LS2080, LS2088, LS1088, LX2160 —

DPRTC LS2080, LS2088, LS1088, LX2160, LA1575

Two-step 1588 only

Page 32: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-8

2.2 Objects topology and inter-connect

DPAA2 network objects can be connected to each other, creating a ‘network on a chip’ topology; connections are virtual network cables between two endpoints, where an endpoint may be a network interface (DPNI), a DPMAC (external port), a DPSW interface, a DPDMUX interface, etc. As in real network, an endpoint is not necessarily aware of the peer endpoint’s type or identity, but it can query its link state and receive notifications on link up/down events.

Accelerator objects

DPAIOP LS2088, LS1088, LA1575 —

DPSECI LS2080, LS2088, LS1088, LX2160, LA1575

DPDMAI LS2080, LS2088, LS1088, LX2160, LA1575

DPDCEI LS2080, LS2088, LX2160 —

Infrastructure objects

DPBP All —

DPIO All —

DPCON All —

Management and control objects

DPRC All —

DPCI All —

DPMCP All —

Table 2-1. DPAA2 objects supported by platform

Object Platform Comments

Page 33: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-9

The figure below demonstrates a simple network topology. The network topology is shown in the greyed box with dotted outline. The rest of the elements in the figure are shown for better understanding of the system context.

Figure 5. Object topology example

The system in the example above involves only two external ports (DPMAC objects), but contains three network interfaces (DPNI objects) that are completely independent of each other.

One DPNI is connected directly to a DPMAC object, in a way similar to traditional Ethernet controller. This network interface can only communicate outside of the SoC.

The other two DPNI objects, as well as the second DPMAC object, are connected to DPSW interfaces. This allows both network interfaces to communicate outside of the SoC using the DPMAC, and also to communicate with each other.

Page 34: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-10

Note, that the DPNI objects in the example are also associated with DPIO objects, enabling GPP software to get notifications on data availability and perform I/O operations on these network interfaces. This type of relation is not considered a connection with regards to the description in this section. The association of DPIO objects to DPNI objects and other objects is explained in more detail later in this document.

The dashed configuration lines show what software component owns the configuration and management of each object. Two network interfaces are owned by instances of the Linux Kernel Ethernet driver and interact with the Linux network stack. One network interface is assigned to a user space process, and is controlled by a user space Ethernet driver. The switch is managed independently of the network interfaces that connect to it.

2.2.1 Connection and link state

The terminology of a Link is slightly different from a Connection. Connections between network objects are a necessary condition to achieve a network link between the objects, but they are not a satisfying condition. For the link to be up, both connected objects must be in enabled state. The software component that owns each of the objects can enable or disable the object at any time – this is done by submitting the corresponding commands to the MC. If either of the connected objects is disabled, the link state is considered down, and packets cannot go through this link. Similarly, if the controlling software decides to disconnect the two objects, the connection will be terminated and both objects will encounter a link down event, even if both are still enabled.

The MC is responsible for propagating link state to objects. Considering the previous example, if the DPMAC connected to the DPSW loses its external link, the peer DPSW interface gets a link down notification; however, the two network interfaces connected to the DPSW are not affected – their link state remains up and they can continue to communicate with each other through the switch.

2.2.2 Typical object connections

A DPNI object must be connected to another network object in order to have packets flowing through it. As explained in the previous section, the connection alone is not sufficient. For the purpose of explaining the allowed network connections, this section assumes that all objects are enabled and only discusses the validity of connecting different types of objects.

Page 35: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-11

The figure below shows typical connection options.

Figure 6. Typical connections of network objects

Configuration (a) shows a traditional Ethernet controller, where the DPNI is directly connected to the DPMAC object. All DPMAC objects in this figure are assumed to be connected to external network (not explicitly shown).

Configuration (b) shows two DPNI objects connected in a point-to-point manner, allowing network communication between two software contexts. This type of connection is typical in GPP-to-AIOP communication, or between two different GPP processes.

Configuration (c) shows a DPSW object connected to two DPMAC objects and two DPNI objects. All DPSW interfaces are identical, so there is no significance to interface selection when connecting any of the objects to a switch.

Page 36: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Overview

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 2-12

Configuration (d) shows a DPDMUX object that can split ingress traffic from a single DPMAC to multiple network interfaces. While the DPDMUX single uplink interface is usually connected to a DPMAC, its multiple internal interfaces are basically identical and are usually connected to internal DPNI objects

2.2.3 How and when to connect

Endpoints may be connected or disconnected at any phase, including:

• At MC initialization, through declaration of ‘connections’ in the DPL

• At runtime, by invoking connect/disconnect commands that are part of the DPRC object’s API.

GPP software contexts may be given privileges to perform topology changes through its own DPRC object. A software context is only allowed to connect/disconnect endpoints in its own scope (container) or in its descendants’ scope.

Page 37: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Boot and Initialization Process

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 3-1

Chapter 3 Boot and Initialization ProcessMC initialization is a mandatory part of the boot process – the MC performs the configuration of key DPAA2 hardware resources, such as QBMan, Ethernet ports, and others that are needed early in the boot process. For example, a network interface may be needed to retrieve the OS image from the network; therefore the MC initialization must complete before the main OS image is loaded. The SoC POR signal leaves the DPAA2 in a known idle state, with all of the DPAA2 resources uninitialized and ready to be allocated; the MC is kept in the boot hold-off (reset) state.

3.1 Loading the MC firmware

The MC firmware itself should be retrieved from a location that does not require DPAA2 network interfaces, and can include an on-board memory, or alternatively a network location accessed using an attached network card (PCI-Express network card, for example). MC requires the allocation of an isolated block taken from main system memory for firmware storage and general DPAA use; This memory space must not be accessible by any other device after MC initialization in order to guarantee MC’s isolation and trust. The SoC boot program (for example, U-Boot) must configure the MC’s private memory space base address and size in the MCFBALR and MCFBAHR registers. The size of memory allocated for MC is configurable, but must be allocated in multiples of 256MB.

The boot program must validate the authenticity of the MC firmware before loading the firmware into the MC memory space; the MC firmware is provided in FIT (Flattened Image Tree) image format and includes checksum and version information, so that the boot program can make sure a proper image is loaded into MC memory space.

3.2 Data Path Configuration (DPC)

The “Data Path Configuration” (DPC) is based on a text source file (similar to DTS) and compiled with DTC to form a binary structure (blob, similar to DTB). The DPC file is an optional input to MC and contains board-specific and system-specific information that may override the default DPAA hardware configuration. The DPC file should be compiled to a binary blob using standard DTC tool. For some systems, DPC may be optional.

The boot program should place the DPC blob at offset 0x00F00000 from MC memory base (MCFBALR/HR).

3.3 Data Path Layout (DPL)

Many systems have little or no need to dynamically create and destroy DPAA2 objects. MC is able to consume a data structure called the “Data Path Layout” (DPL) – that describes a set of objects to be created when the system is initialized.

The DPL is based on a text source file (similar to DTS) and compiled with DTC to form a binary structure (blob, similar to DTB). This binary structure is loaded by the boot program as an optional input to MC. Unlike the Linux Device Tree, the purpose of the DPL is not to describe hardware attributes, but rather to describe the initial topology of logical objects that the MC firmware should create.

Page 38: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Boot and Initialization Process

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 3-2

Nevertheless, and to satisfy the needs of more dynamic systems, MC also supports dynamic setup of objects. Therefore, all contents of the DPL are considered optional – the same topology of software contexts and logical objects can also be created dynamically. A software context may spawn, via its management portal, a child software context, and assign objects to it. As explained in the resource management chapter, root/parent software may dictate a limiting policy on its child software contexts.

The boot program should place the DPL blob at offset 0x00F20000 from MC memory base (MCFBALR/HR).

3.4 Starting MC

After the firmware is loaded, the SoC boot program deasserts P1_RST_b and Mn_RST_b bits in the General Control Register 1 (GCR1) to release the MC from reset; immediately the MC begins to retrieve and execute the loaded firmware.

When the MC has completed its configuration and the DPAA2 initial configuration, it is ready to service commands from the GP. MC initialization completion is signaled by the MC to the SoC boot program by writing the MSC status field in the General Status Register (GSR); if the returned status indicates successful initialization, the system boot process can continue normally. If an MC error code is returned, the DPAA2 subsystem cannot be used, and the system boot should be halted to analyze the problem.

The boot program can request MC to postpone the processing of the DPL; this allows the boot program to utilize some MC objects for its own use, regardless of which objects have been defined in the DPL. After the boot program has completed its tasks it must destroy any MC objects that it previously created and signal MC to load the system DPL.

Below is a summary of the expected handshake between the boot program and MC:

1. Boot program allocates system memory for MC, in N multiples of 256MB

2. Boot program sets MCFBALR and MCFBAHR with the physical base address of the memory allocated for MC, and programs MCFBALR[MEMSZ] to indicate the size of the allocated memory.

3. Boot program loads DPC blob at offset 0x00F00000 from MC firmware base.

4. Boot program loads DPL blob at offset 0x00F20000 from MC firmware base (optional).

5. Before kicking MC core, the boot program may set GSR[BC] with a value of 0xDD (indicates a request to delay DPL processing). If this code is not set, DPL is deployed immediately after MC completes its initial boot (steps 7 and 8 below are skipped).

6. Boot program kicks MC by writing to GCR.

7. If GSR[BC] was set to indicate delayed DPL processing, MC sets GSR[MCS] to indicate ready status (0x1) or error status after it completes its initial boot. If no error is reported, the boot program may issue MC commands (through MC portal #0) to create DPAA objects for its own use.

8. After the boot program completes its network activities it must destroy all created objects and clear the GSR – this signals MC to deploy the DPL.

9. Once MC deploys the DPL, it sets GSR[MCS] to ready status (0x1) once again (or reports an error status). The boot program should wait for such status before continuing to boot the main OS.

Page 39: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Boot and Initialization Process

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 3-3

3.5 Minimum memory requirements

MC minimum memory requirements are: • 128MB of memory for platforms LS108x and LS208x • 256MB of memory for platform LX216x

MC limitations depending on memory size:

MC minimum is affected by the DPC parameter total_bman_buffers. This parameter is provided in DPC file and is used to configure maximum number of buffers that QBMAN will handle. To handle these buffers QBMAN needs DDR memory to store its internal structures; the size of this memory depends on number of buffers.

The table below shows the minimum MC memory requirement depending on total_bman_buffers. These values show minimum memory value needed for MC to work properly. If AIOP is enabled the size must be increased to accommodate supplementary memory.

Table 3-1.

MC Memory

Platform Limitations

128M LS108xLS208x

Memory available is small and fewer objects can be created.

Total number of buffers that can exist simultaneously in all queues is fixed to 320000.

Parameter total_bman_buffers from DPC file is ignored

AIOP do not work: any attempt to load and run AIOP application will crash the system

LX216x MC will not start

256M LS108xLS208x

Memory available is small and fewer object can be created

LX216x Memory available is small and fewer objects can be created.

Total number of buffers that can exist simultaneously in all queues limited to 640000. If total_num_buffers in dpc file is greater than 640000 MC will fail to boot.

If total_num_buffers is missing in dpc file MC will use default value of 640000.

512M - No memory related limitations

Table 3-2.

total_bman_buffers MC minimum memory

not provided in DPC 256MB

less than 1310000 256MB

less than 2620000 512MB

less than 5240000 768MB

less than 10400000 1GB

Page 40: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Boot and Initialization Process

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 3-4

Page 41: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

MC Firmware Versions

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 4-1

Chapter 4 MC Firmware VersionsThe MC firmware uses various types of versioning.

4.1 MC global firmware versions

The firmware versions use the following rules:

• Major version number—incremented on API compatibility changes (updates to any DPAA2 object or any other MC API).

• Minor version number—incremented on API additions that are backward compatible;

• The minor version number is reset to 0 when the major version number is incremented.

• Revision number—incremented on internal changes and/or bug fixes that have no impact on API definition. The revision number is reset when either the major version or minor version is incremented.

MC exposes the API to get the compiled firmware version. In addition, the MC API header files contain matching major and minor numbers defined as preprocessor macros that allow the GPP/AIOP software to verify the defined version numbers against the information retrieved from the MC API call; this check can expose version conflicts between the GPP/AIOP software and the actual loaded firmware.

4.2 DPAA2 Object versions

In addition to the MC firmware global version, each DPAA2 object has its own version information (major and minor numbers). The object version is incremented according to the following rules:

• Major version number—incremented on DPAA 2.x object API compatibility changes

• Minor version number—incremented on DPAA 2.x object API additions that are backward compatible

The minor version number is reset to 0 when the major version number is incremented.

Each MC firmware is a collection of objects with various versions each object version being obtained by using the object GET_VERSION command.

Before using an object it is recommended to validate the object version. By using the MC firmware version and the object version the users can detect if certain commands or flags are supported and if there will be incompatibilities between GPP/AIOP software and MC Firmware.

4.3 DPAA2 Object Commands

Each object supports a set of distinct commands offering different functionalities. Each command type has a distinct CMDID. For each change in the command format or flags the CMDID for that command is changed.

In order to support backward compatibility MC Firmware can interpret commands with different CMDIDs.

Page 42: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

MC Firmware Versions

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 4-2

An object version will advertise only one CMDID for each distinct command, but in order to support backward compatibility there can be multiple CMDIDs supported for each distinct command (CMDIDs used in prior MC releases).

4.4 Recommended user verification

Verify the MC firmware global version to see if the major version is the expected one or a newer one.

Before using an object verify the object major version to see if it is an expected one or a newer one that supports the required commands and flags.

Use the latest CMDID for the commands or a CMDID that is supported by each object.

Page 43: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

MC Firmware Versions

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 4-3

4.5 Firmware command referenceThis section contains the detailed programming model of firmware commands.

4.5.1 DPMNG_GET_VERSION

The command format is shown in the figure below.

Command structure

Figure 4-1. DPMNG_GET_VERSION Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8311 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 4-1. DPMNG_GET_VERSION Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 44: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

MC Firmware Versions

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 4-4

Response structure

Figure 4-2. DPMNG_GET_VERSION Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8311 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 MAJOR REVISION

63 32 31 0

0x10 — MINOR

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 4-2. DPMNG_GET_VERSION Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 REVISION Internal revision number: incremented on implementation changes and/or bug fixes that have no impact on API

32-63 MAJOR Major version number: incremented on API compatibility changes

0x10 0-31 MINOR Minor version number: incremented on API additions (backward compatible); reset when major version is incremented

Page 45: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

MC Firmware Versions

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 4-5

4.5.2 DPMNG_GET_SOC_VERSION

This command is available starting with MC 10.1.0; it will not work on older versions.

The command format is shown in the figure below.

Command structure

Figure 4-3. DPMNG_GET_SOC_VERSION Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8321 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 4-3. DPMNG_GET_SOC_VERSION Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 46: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

MC Firmware Versions

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 4-6

Response structure

Figure 4-4. DPMNG_GET_SOC_VERSION Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8321 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 PVR SVR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 4-4. DPMNG_GET_SOC_VERSION Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 SVR The contents of platform SVR register; consult platform-specific manual for detailed information.

32-63 PVR The contents of platform PVR register; consult platform-specific manual for detailed information.

Page 47: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-1

Chapter 5 Management Command PortalsThis section describes the MC command portals memory structure and their usage.

5.1 Overview of command portals

The MC interface contains 256 management portals that are contiguously mapped in the SoC address map. Each portal is implemented in its own physical memory 64kB page within the SoC internal address map so that the Hypervisor can properly manage GPP process allocation and access control portals. MC portals must not be shared between different software contexts.

NOTE:

The portal page GPP memory management attribute should be set to cache-inhibited.

Commands are submitted by GPP processes (or AIOP tasks) to a portal using non-cacheable store instructions, similar to accessing typical I/O device registers. MC portals can only support one outstanding command at a time, so all commands on the same portal are issued and completed serially. The command portals can also be read by the GPP/AIOP processes. Misaligned word accesses of a portal, split burst transactions, and accesses outside the 64 bytes of the portal are not performed.

The MC maintains an ICID attribute for every portal that is used to identify the isolation context for command execution; a GPP process can only submit a command for the isolation context it is currently executing within. Any memory address specified by the submitter, as input or output, is authenticated and translated by the IOMMU when the data structure is accessed with the ICID assigned to that command portal.

The MC uses a fair policy to determining which command portal is serviced next; the MC implements a simple round-robin arbitration mechanism to select and prepare the next command to be processed. The submitter may assign either a high or low priority for a command; outstanding high priority commands are processed before any outstanding low priority commands.

5.2 Command portal usage

The MC uses a simple flow control mechanism – a portal command must be completed before a subsequent command can be issued to that same portal; therefore, each portal can only have a single outstanding command at any point in time. If a user submits a new command to its portal prior to that portal being marked as available, the new command may be treated by the MC as an error, or simply ignored.

Commands submitted by the GPP/AIOP processors cause the MC to perform specific management services; the available MC commands are documented in the corresponding MC objects sections. The submitter prepares the specific command and its parameters, and afterwards writes the command header that contains the command ID and other attributes; the actual command word field (the least significant 4-byte word at offset 0x0 of the portal address) should be written last. The MC waits for a command word field write that indicates that a new command has been submitted, then starts processing that command.

Page 48: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-2

NOTE:

The portal’s status field is used as the handshake mechanism between the MC and the command submitter. The submitter must set the ready status (0x01) when writing the command header (only after all parameters for the specific command were written); the MC reports command completion with success/error code in the same status field. The MC can also return command response information in the portal’s memory, as documented for each of the commands.

While a write of any word in an already serviced portal will be discarded, reads of any portal word are always allowed; the submitter may poll the status word freely.

The submitting process/task may use polling to query for command completion and final status; it writes the desired command to a command portal, and polls the portal’s status word until it indicates that it is completed and that the portal is made available. Only once the portal is available does a process/task issue a subsequent command to that command portal. Other OS-specific wait mechanisms are also accepted, as long as no other command is written to the portal before the previous command is completed.

5.3 Creating and destroying DPAA2 objects

DPAA2 object operations require GPP/AIOP software to open an object control session for the object, by submitting a CREATE MC command; each object has dedicated CREATE command. DPAA2 object operations are done in the context of a Data Path Resource Container that holds all the resources and object information that the software context can access or use.

When opening a Data Path Resource Container a unique authentication token handle is returned to be used by all the object operations done in the context of the container. The object CREATE command must be executed on a MC portal that is assigned or in use by a Data Path Resource Container providing a unique authentication token for that container.

An object CREATE command creates a new DPAA2 object type with the specified attributes used in the command. By using the container token handle in the CREATE command the object is automatically assigned to that container. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command. The object CREATE command returns the object ID of the created object. The object ID is used to OPEN or DESTROY the object. The returned object ID has significance only in the context of the resource container in which was created and the resource container that currently owns the object.

The OPEN command uses the object ID and returns a unique authentication token, associated with the specific object ID and the specific command portal; this token must be used in all subsequent commands for this specific object except the DESTROY. The CLOSE command closes the control session of the object and no further operations are allowed on the object without opening a new control session.

The DESTROY command destroy the object and release all its resources. The function uses the authentication token of the parent container that created the object (not the one that currently owns the object) and the object ID.

Page 49: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-3

A single command portal can be used to control multiple DPAA2 objects, as long as both the command portal and the object are assigned to the same software context, i.e. to the same resource container, and the user makes sure that the commands are submitted to the portal one at a time. GPP/AIOP software should submit separate CREATE commands for each object it wishes to control in order for a single command portal to control multiple objects in the same software context.

A typical CREATE/OPEN/CLOSE/DESTROY flow for a DPNI object is detailed below:

dprc_open (dprc_io, cmd_flags, container_id, &dprc_token);

dpni_create(dprc_io, dprc_token, 0, &dpni_cfg, &dpni_id);

dpni_open(dprc_io, 0, dpni_id, &dpni_token);

dpni_enable(dprc_io, cmd_flags, dpni_token);

dpni_disable(dprc_io, cmd_flags, dpni_token);

dpni_close(dprc_io, 0, dpni_token);

dpni_destroy(dprc_io, dprc_token, 0, dpni_id);

5.4 Command portals memory map

The MC command portals are accessible to GPP and AIOP software through the SoC internal address map, and the 64MB MC portal space is presented within the 512MB DPAA2 external address map that also contains other DPAA2 portals. Each MC portal is mapped on a 64kB boundary, and the MC Portal is Little-Endian. The MC Portal Space is laid out as shown in Figure 7.

Figure 7. MC Portal Map

The address map of a single MC Portal is also summarized in Table 1.

Table 1. MC Portal Map

Offset rangeBlockSize

Description

0x0_0000 - 0x0_003F 64B Management Command Portal.See Section 5.5, “Management command portal definition”

0x0_0040 - 0x0_FFFF remainder of 64kB Reserved.

Management Command Portal 1023

Management Command Portal 1

Management Command Portal 0

Management Command Portal 2

MC Portals offset: 0x3FF_0000

MC Portals offset: 0x002_0000

MC Portals offset: 0x001_0000

MC Portals offset: 0x000_0000

Page 50: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-4

5.5 Management command portal definition

The format of the management command portal is shown in Figure 8.

Figure 8. Management Command Portal

Table 2 describes the Management Command Portal fields.

Offset 0x0 from Management Command Portal base (64kB aligned) Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00

CMDID TOKEN —

INT

R_D

IS

STATUS P — SRCID

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

127 64

0x08 PARAMS

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

191 128

0x10 PARAMS

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

255 192

0x18 PARAMS

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

319 256

0x20 PARAMS

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

383 320

0x28 PARAMS

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

447 384

0x30 PARAMS

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

511 448

0x38 PARAMS

Reset 64’b0000_0000_0000_0000_0000_0000_0000_0000

Table 2. Management Command Portal Field Descriptions

Bits Name Description

0-7 SRCID The SoC architected source ID of the submitter. This is the same 8-bit source ID used throughout the SoC.This field is reserved. It cannot be written by a GPP processor.

8-14 — Reserved. Set to zero for forward compatibility.

Page 51: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-5

15 P Priority. This is the command priority class. Outstanding high priority commands are serviced before low priority commands.1’b0 – low priority1’b1 – high priority

16-23 STATUS Command ready/status.This field is used as the handshake field between MC and the command submitter. The submitter must set the ready status (0x01) when writing the command header (after the PARAMS area was initialized with the specific command parameters). MC reports command completion with success/error codes in this field, as listed below.

0x00 – Command ended successfully (set by MC on successful command completion)0x01 – Command is ready for processing (must be set by the submitter)0x03 – Authentication error (illegal object-portal-icid combination)0x04 – No privilege (operation not permitted for current user) 0x05 – DMA or I/O error0x06 – Configuration error (invalid/conflicting parameters)0x07 – Command timed out (unexpected long execution time)0x08 – No DPAA2 resources for completing the command0x09 – No memory available for completing the command0x0A – Busy (operation cannot be completed temporarily)0x0B – Unsupported/unknown operation0x0C – Invalid state (may indicate incorrect calling sequence)

24 INTR_DIS Interrupt disable.Set to disable interrupt generation on command completion.Note that command completion interrupts are managed through DPMCP object.

25-31 — Reserved. Set to zero for forward compatibility.

32-47 TOKEN Authentication token.For “OPEN” commands and for DPXX_GET_API_VERSION, set this field to zero. For object CREATE commands it represents the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.For object DESTROY commands it represents the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will result in a command failure.The token is updated by MC after a successful completion of an “OPEN” command.The generated token is valid for the specific object and specific command portal, until a “CLOSE” command is completed.User must keep the generated token and set it in the TOKEN field for every subsequent command for the same object and on the same command portal.

48-63 CMDID Command ID. This is the predefined command code for the submitted command (see command code definition in command specifications).

64-511 PARAMS Command parameters (56 bytes).Each command defines specific set of parameters (see command specifications in this document). Unused bits in this area should be cleared for forward compatibility.Each of the seven 64-bits words is organized in memory in Little-Endian format.

Table 2. Management Command Portal Field Descriptions

Bits Name Description

Page 52: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-6

5.6 MC General Command Portals command referenceThis section contains the detailed programming model of MC general command portals commands.

5.6.1 DPMNG_GET_CONT_ID

Obtains the container id associated with a given portal.

The command format is shown in the figure below.

Command structure

Figure 5-1. DPMNG_GET_CONT_ID Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x8301 TOKEN —IN

TR

_D

ISSTATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 5-1. DPMNG_GET_CONT_ID Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 53: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-7

Response structure

Figure 5-2. DPMNG_GET_CONT_ID Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x8301 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — CONTAINER_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 5-2. DPMNG_GET_CONT_ID Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CONTAINER_ID Requested container ID

Page 54: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Management Command Portals

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 5-8

Page 55: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-1

Chapter 6 DPRC: Data Path Resource ContainerA GPP/AIOP software context (e.g. Kernel, user-space application, virtual machine, AIOP application) can be associated with a single DPRC (Data Path Resource Container) object that holds all the resource and object information that the software context can access or use.

A software context may need to spawn descendant software contexts (e.g. applications, virtual machines) and grant them resources and objects; to support this process, a software context can create ‘child’ containers. The parent software context may assign resources and/or objects to that child container, and it may also set resource management policies and reset and destroy the descendant container.

Each container holds three main components:

a) DPAA2 objects inventory for objects assigned to the container. Objects may be assigned either by the parent software through DPRC commands, or through the DPL during initialization.

b) DPAA2 free resource pool inventory. Resource pools contain primitive resources that are assigned to the container, and are not yet associated with any DPAA2 object.

c) Attributes that specify container properties and policies. Attributes are set by the software context that creates the container (the parent), and cannot be changed by the descendant software context.

Please refer to the API book for complete reference of available functions.

6.1 DPRC features

The following list summarizes the DPRC main features and capabilities:

• Supports container queries – provides information on the following:

— DPAA2 objects assigned to the container

— For each object, provides the object’s ID, version, mappable regions, supported IRQs and other attributes

— Free resources assigned to the container

— Descendant (child) containers of this container

— The container’s policies and other attributes

• Supports creating and destroying descendant resource containers

• Supports assigning resources and objects to descendant containers

• Supports unassigning resources and objects from descendant containers

• Supports setting global policies to descendant containers

• Supports setting policies per free resource pool of descendant containers

• Supports connecting and disconnecting of DPAA2 network and communication interfaces – allows users to create their required ‘network-on-chip’ topology

• Supports container locking from a parent container which means that:

— container locked won’t be able to create/destroy other objects/containers— container locked won’t be able to assign/unassign objects— container locked won’t be able to lock/unlock other child containers

Page 56: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-2

6.2 DPRC functional description

6.2.1 Resource container creation

During MC initialization, the boot program provides an initial DPL structure to the MC that defines the initial container topology and their assigned DPAA2 objects and resources. Privileged software may also perform dynamic descendant container creation for its supervised software contexts; a new DPRC object is created for each descendant container. By issuing the corresponding commands to its own DPRC object, the parent software context can control assignment of DPAA2 resources, objects, and management policies.

A software context that creates descendant containers should set the following container attributes:

• Isolation Context ID (ICID) for the child container; alternatively, the ICID can be selected by the MC from a pool of ICIDs that was predetermined in the DPL

• Spawning policy – determines if the child container is allowed to create its own child containers (only if the container is not locked)

• Allocation policy – determines if the child container is allowed to allocate resources from its parent

• Object creation policy – if the container is not locked it will be allowed to create other DPAA2 objects.

• Topology change policy – determines if the child container is allowed to change the DPAA2 objects topology by connecting or disconnecting DPAA2 network objects

6.2.2 Objects assignment

A parent software context may assign DPAA2 objects to its child containers; an assigned object can be declared as ‘plugged’ or ‘unplugged’ during assignment. The owner software context may query its associated DPRC object, see the following section on object discovery for more information, and associate a device driver to the discovered object. A software context may also control the ‘plugged’ state of its own objects by reassigning the object to itself and changing the state. The assignment is allowed only if container is not locked.

6.2.3 Objects discovery

The DPRC follows the concept of a probeable bus, that may be very useful during the software context’s boot time; by sending the appropriate commands, GPP software can query the DPRC to probe/discover DPAA2 objects in its domain and associate these objects with device drivers.

Page 57: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-3

6.3 DPRC command referenceThis section contains the detailed programming model of DPRC commands.

6.3.1 DPRC_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPRC_CREATE_CONTAINER command on the parent DPRC object.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object..

Command structure

The command format is shown in the figure below.

Figure 9. DPRC_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8051 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — CONTAINER_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 3. DPRC_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CONTAINER_ID Container ID to open

Page 58: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-4

6.3.2 DPRC_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 10. DPRC_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 59: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-5

6.3.3 DPRC_CREATE_CONTAINER

This command creates and initializes an instance of DPRC according to the specified command parameters. This command is not required for DPRC instances that are created using the DPL.

The command format is shown in the figure below.

Command structure

Figure 11. DPRC_CREATE_CONTAINER Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1512 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 32 31 0

0x08 — ICID OPTIONS

63 32 31 0

0x10 PORTAL_ID —

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 LABEL7 LABEL6 LABEL5 LABEL4 LABEL3 LABEL2 LABEL1 LABEL0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 LABEL15 LABEL14 LABEL13 LABEL12 LABEL11 LABEL10 LABEL9 LABEL8

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 4. DPRC_CREATE_CONTAINER Command Field Descriptions1

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-32 OPTIONS Combination of 'DPRC_CFG_OPT_<X>' options:bit 0: DPRC_CFG_OPT_SPAWN_ALLOWED - Spawn Policy Option allowed - Indicates that the new container is allowed to spawn and have its own child containersbit 1: DPRC_CFG_OPT_ALLOC_ALLOWED - General Container allocation policy - Indicates that the new container is allowed to allocate requested resources from its parent container; if not set, the container is only allowed to use resources in its own pools; Note that this is a container's global policy, but the parent container may override it and set specific quota per resource type.bit 3: DPRC_CFG_OPT_TOPOLOGY_CHANGES_ALLOWED - Topology change allowed - software context associated with this container is allowed to invoke topology operations, such as attach/detach of network objects.bit 5: DPRC_CFG_OPT_AIOP - AIOP -Indicates that container belongs to aiop.

32-47 ICID Container's ICID; if set to 'DPRC_GET_ICID_FROM_POOL', a freeICID value is allocated by the DPRC

0x10 32-63 PORTAL_ID Portal ID; if set to 'DPRC_GET_PORTAL_ID_FROM_POOL', a freeportal ID is allocated by the DPRC

0x18 0-63 LABEL[0-7] Object label

0x20 0-63 LABEL[8-15]

Page 60: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-6

Response structure

Figure 12. DPRC_CREATE_CONTAINER Response Description

The following table describes the response fields.

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1511 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 32 31 0

0x10 — CHILD_CONTAINER_ID

63 0

0x18 CHILD_PORTAL_PADDR

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 5. DPRC_CREATE_CONTAINER Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-31 CHILD_CONTAINER_ID Child container ID

0x18 0-63 CHILD_PORTAL_PADDR Base physical address of the child portal

Page 61: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-7

6.3.4 DPRC_DESTROY_CONTAINER

Command structure

Figure 13. DPRC_DESTROY_CONTAINER Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1521 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — CHILD_CONTAINER_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CHILD_CONTAINER_ID ID of the container to destroy

Page 62: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-8

6.3.5 DPRC_RESET_CONTAINER

Command structure

Figure 14. DPRC_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0052 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 OPTIONS CHILD_CONTAINER_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CHILD_CONTAINER_ID ID of the container to reset

32-63 OPTIONS Reset options:bit 0: DPRC_RESET_OPTION_NON_RECURSIVE - Setting this bit the reset container will not be recursively. That means the children containers of the reset container will not be affected by the reset.

Page 63: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-9

Page 64: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-10

6.3.6 DPRC_SET_LOCKED

This command will lock the CHILD_CONTAINER_ID and the entire hierarchy that belongs to it down. That means the containers will not be longer allowed to call commands lock/unlock create/destroy assign/unassign .

Command structure

Figure 15. DPRC_SET_LOCKED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x16B1 — TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 CHILD_CONTAINER_ID –

LO

CK

ED

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 LOCKED Set the container specified through CHILD_CONTAINER_ID locked.

32-63 CHILD_CONTAINER_ID Container ID to be locked.

Page 65: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-11

6.3.7 DPRC_SET_IRQ

Set IRQ information for the DPRC to trigger an interrupt.

Command structure

Figure 16. DPRC_SET_IRQ Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0101 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 — IRQ_INDEX IRQ_VAL

63 0

0x10 IRQ_ADDR

63 32 31 0

0x18 IRQ_NUM

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 IRQ_VAL Value to write into IRQ_ADDR address

32-39 IRQ_INDEX Identifies the interrupt index to configure

0x10 0-63 IRQ_ADDR Address that must be written to signal a message-based interrupt

0x18 0-32 IRQ_NUM A user defined number associated with this IRQ

Page 66: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-12

6.3.8 DPRC_GET_IRQ

Get IRQ information from the DPRC.

Command structure

Figure 17. DPRC_GET_IRQ Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0111 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 67: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-13

Response structure

Figure 18. DPRC_GET_IRQ Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0111 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 – IRQ_VAL

63 0

0x10 IRQ_ADDR

63 32 31 0

0x18 TYPE IRQ_NUM

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 IRQ_VAL Value that is written into IRQ_ADDR address

0x10 0-63 IRQ_ADDR Address that is written when signalling the message-based interrupt

0x18 0-32 IRQ_NUM A user defined number associated with this IRQ

32-63 TYPE Interrupt type:0 represents message-based interrupt (both IRQ_ADDR and IRQ_VAL are valid)

Page 68: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-14

6.3.9 DPRC_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 19. DPRC_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 — TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 69: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-15

6.3.10 DPRC_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 20. DPRC_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 70: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-16

Response structure

Figure 21. DPRC_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 71: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-17

6.3.11 DPRC_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 22. DPRC_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 72: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-18

6.3.12 DPRC_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 23. DPRC_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 73: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-19

Response structure

Figure 24. DPRC_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 74: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-20

6.3.13 DPRC_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 25. DPRC_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPRC_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 75: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-21

Response structure

Figure 26. DPRC_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events for IRQ 0:Bit 0: DPRC_IRQ_EVENT_OBJ_ADDED – indicates that an object was added to the containerBit 1: DPRC_IRQ_EVENT_OBJ_REMOVED – indicates that an object was removed from the containerBit 2: DPRC_IRQ_EVENT_RES_ADDED – indicates that resources were added to the containerBit 3: DPRC_IRQ_EVENT_RES_REMOVED – indicates that resources were removed from the containerBit 4: DPRC_IRQ_EVENT_CONTAINER_DESTROYED – indicates that one of the descendant containers was destroyed Bit 5: DPRC_IRQ_EVENT_OBJ_DESTROYED – indicates that one of the container’s objects was destroyedBit 6: DPRC_IRQ_EVENT_OBJ_CREATED – indicates that an object was created in the container

Page 76: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-22

6.3.14 DPRC_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 27. DPRC_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 77: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-23

6.3.15 DPRC_GET_ATTRIBUTES

Command structure

Figure 28. DPRC_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 78: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-24

Response structure

Figure 29. DPRC_GET_ATTRIBUTES Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 32 31 0

0x08 — ICID CONTAINER_ID

63 32 31 0

0x10 PORTAL_ID OPTIONS

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CONTAINER_ID Container's ID

32-47 ICID Container's ICID

0x10 0-31 OPTIONS Container's options as set at container's creation

32-63 PORTAL_ID Container's portal ID

Page 79: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-25

6.3.16 DPRC_SET_RES_QUOTA

Command structure

Figure 30. DPRC_SET_RES_QUOTA Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1551 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 0

0x08 — QUOTA CHILD_CONTAINER_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CHILD_CONTAINER_ID ID of the child container

32-47 QUOTA Sets the maximum number of resources of the selected type that the child container is allowed to allocate from its parent;when quota is set to -1, the policy is the same as container's general policy.

0x10 0-63 TYPE[0-5] Resource/object type

0x18 0-63 TYPE[8-15]

Page 80: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-26

6.3.17 DPRC_GET_RES_QUOTA

Command structure

Figure 31. DPRC_GET_RES_QUOTA Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1561 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — CHILD_CONTAINER_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CHILD_CONTAINER_ID ID of the child container

0x10 0-63 TYPE[0-5] Resource/object type

0x18 0-63 TYPE[8-15]

Page 81: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-27

Response structure

Figure 32. DPRC_GET_RES_QUOTA Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1561 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 32 31 0

0x08 — QUOTA —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-47 QUOTA Sets the maximum number of resources of the selected type that the child container is allowed to allocate from its parent;when quota is set to -1, the policy is the same as container's general policy.

Page 82: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-28

6.3.18 DPRC_ASSIGN

Command structure

Figure 33. DPRC_ASSIGN Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1571 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 OPTIONS CONTAINER_ID

63 32 31 0

0x10 ID_BASE_ALIGN NUM

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CONTAINER_ID ID of the child container

32-63 OPTIONS Request options: combination of DPRC_RES_REQ_OPT_ options:bit 0: DPRC_RES_REQ_OPT_EXPLICIT - Explicit resource ID request - The requested objects/resources are explicit and sequential (in case of resources). The base ID is given at res_req at base_align fieldbit 1: DPRC_RES_REQ_OPT_ALIGNED - Aligned resources request - Relevant only for resources request (and not objects). Indicates that resources base ID should be sequential and aligned to the value given at dprc_res_req base_align fieldbit 2: DPRC_RES_REQ_OPT_PLUGGED - Plugged Flag - Relevant only for object assignment request. Indicates that after all objects assigned. An interrupt will be invoked at the relevant GPP. The assigned object will be marked as plugged. Plugged objects can't be assigned from their container

0x10 0-31 NUM Number of resources

32-63 ID_BASE_ALIGN In case of explicit assignment (DPRC_RES_REQ_OPT_EXPLICIT is set at option), this field represents the required base ID for resource allocation;In case of aligned assignment (DPRC_RES_REQ_OPT_ALIGNED is set atoption), this field indicates the required alignment for theresource ID(s) - use 0 if there is no alignment or explicit IDrequirements

0x18 0-63 TYPE[0-5] Resource/object type: Represent as a NULL terminated string.This string may received by using dprc_get_pool() to get resourcetype and dprc_get_obj() to get object type;Note: it is not possible to assign/un-assign DPRC objects

0x20 0-63 TYPE[8-15]

Page 83: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-29

6.3.19 DPRC_UNASSIGN

Command structure

Figure 34. DPRC_UNASSIGN Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1581 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 OPTIONS CHILD_CONTAINER_ID

63 32 31 0

0x10 ID_BASE_ALIGN NUM

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 CHILD_CONTAINER_ID ID of the child container

32-63 OPTIONS Request options: combination of DPRC_RES_REQ_OPT_ options:bit 0: DPRC_RES_REQ_OPT_EXPLICIT - Explicit resource ID request - The requested objects/resources are explicit and sequential (in case of resources). The base ID is given at res_req at base_align fieldbit 1: DPRC_RES_REQ_OPT_ALIGNED - Aligned resources request - Relevant only for resources request (and not objects). Indicates that resources base ID should be sequential and aligned to the value given at dprc_res_req base_align fieldbit 2: DPRC_RES_REQ_OPT_PLUGGED - Plugged Flag - Relevant only for object assignment request. Indicates that after all objects assigned. An interrupt will be invoked at the relevant GPP. The assigned object will be marked as plugged. Plugged objects can't be assigned from their container

0x10 0-31 NUM Number of resources

32-63 ID_BASE_ALIGN In case of explicit assignment (DPRC_RES_REQ_OPT_EXPLICIT is set at option), this field represents the required base ID for resource allocation;In case of aligned assignment (DPRC_RES_REQ_OPT_ALIGNED is set atoption), this field indicates the required alignment for theresource ID(s) - use 0 if there is no alignment or explicit IDrequirements

0x18 0-63 TYPE[0-5] Resource/object type: Represent as a NULL terminated string.This string may received by using dprc_get_pool() to get resourcetype and dprc_get_obj() to get object type;Note: it is not possible to assign/un-assign DPRC objects

0x20 0-63 TYPE[8-15]

Page 84: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-30

6.3.20 DPRC_GET_POOL_COUNT

Command structure

Figure 35. DPRC_GET_POOL_COUNT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x16A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 85: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-31

Response structure

Figure 36. DPRC_GET_POOL_COUNT Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x16A1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — POOL_COUNT

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 POOL_COUNT Number of resource pools in the DPRC

Page 86: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-32

6.3.21 DPRC_GET_POOL

Command structure

Figure 37. DPRC_GET_POOL Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1691 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — POOL_INDEX

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 POOL_INDEX Index of the pool to be queried (< pool_count)

Page 87: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-33

Response structure

Figure 38. DPRC_GET_POOL Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1691 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-63 TYPE[0-7] The type of the pool

0x18 0-63 TYPE[8-15]

Page 88: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-34

6.3.22 DPRC_GET_OBJ_COUNT

Command structure

Figure 39. DPRC_GET_OBJ_COUNT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1591 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 89: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-35

Response structure

Figure 40. DPRC_GET_OBJ_COUNT Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1591 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 OBJ_COUNT —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-63 OBJ_COUNT Number of objects assigned to the DPRC

Page 90: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-36

6.3.23 DPRC_GET_OBJ

Command structure

Figure 41. DPRC_GET_OBJ Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — OBJ_INDEX

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-32 OBJ_INDEX Index of the object to be queried (< obj_count)

Page 91: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-37

Response structure

Figure 42. DPRC_GET_OBJ Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15A1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 ID —

63 32 31 24 23 16 15 0

0x10 STATE REGION_COUNT IRQ_COUNT VENDOR

63 48 47 32 31 16 15 0

0x18 — FLAGS VERSION_MINOR VERSION_MAJOR

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x30 LABEL7 LABEL6 LABEL5 LABEL4 LABEL3 LABEL2 LABEL1 LABEL0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x38 LABEL15 LABEL14 LABEL13 LABEL12 LABEL11 LABEL10 LABEL9 LABEL8

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-63 ID ID of logical object resource

0x10 0-15 VENDOR Object vendor identifier

16-23 IRQ_COUNT Number of interrupts supported by the object

24-31 REGION_COUNT Number of mappable regions supported by the object

32-63 STATE Object state: combination of DPRC_OBJ_STATE_ states:bit 0: DPRC_OBJ_STATE_OPEN - Opened state - Indicates that an object is open by

at least one owner bit 1: DPRC_OBJ_STATE_PLUGGED - Plugged state - Indicates that the object is

plugged

0x18 0-15 VERSION_MAJOR Major version of the object

16-31 VERSION_MINOR Minor version of the object

32-47 FLAGS Object attribute flags.Bit 0: DPRC_OBJ_FLAG_NO_MEM_SHAREABILITY—Object DMA is non-coherent.

Software must ensure proper access to non-coherent memory or override device transaction attributes using IOMMU.

0x20 0-63 TYPE[0-7] Type of object: NULL terminated string

0x28 0-63 TYPE[8-15]

0x30 0-63 LABEL[0-7] Object label

0x38 0-63 LABEL[8-15]

Page 92: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-38

6.3.24 DPRC_GET_OBJ_DESC

Command structure

Figure 43. DPRC_GET_OBJ_DESC Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1621 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — OBJ_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 OBJ_TYPE7 OBJ_TYPE6 OBJ_TYPE5 OBJ_TYPE4 OBJ_TYPE3 OBJ_TYPE2 OBJ_TYPE1 OBJ_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 OBJ_TYPE15 OBJ_TYPE14 OBJ_TYPE13 OBJ_TYPE12 OBJ_TYPE11 OBJ_TYPE10 OBJ_TYPE9 OBJ_TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-32 OBJ_ID The ID of the object to get its descriptor

0x10 0-63 OBJ_TYPE[0-7] The type of the object to get its descriptor

0x18 0-63 OBJ_TYPE[8-15]

Page 93: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-39

Response structure

Figure 44. DPRC_GET_OBJ_DESC Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1621 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 ID —

63 32 31 24 23 16 15 0

0x10 STATE REGION_COUNT IRQ_COUNT VENDOR

63 48 47 32 31 16 15 0

0x18 — FLAGS VERSION_MINOR VERSION_MAJOR

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x30 LABEL7 LABEL6 LABEL5 LABEL4 LABEL3 LABEL2 LABEL1 LABEL0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x38 LABEL15 LABEL14 LABEL13 LABEL12 LABEL11 LABEL10 LABEL9 LABEL8

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-63 ID ID of logical object resource

0x10 0-15 VENDOR Object vendor identifier

16-23 IRQ_COUNT Number of interrupts supported by the object

24-31 REGION_COUNT Number of mappable regions supported by the object

32-63 STATE Object state: combination of DPRC_OBJ_STATE_ states:bit 0: DPRC_OBJ_STATE_OPEN - Opened state - Indicates that an object is open by

at least one owner bit 1: DPRC_OBJ_STATE_PLUGGED - Plugged state - Indicates that the object is

plugged

0x18 0-15 VERSION_MAJOR Major version of the object

16-31 VERSION_MINOR Minor version of the object

32-47 FLAGS Object attribute flags.Bit 0: DPRC_OBJ_FLAG_NO_MEM_SHAREABILITY—Object DMA is non-coherent.

Software must ensure proper access to non-coherent memory or override device transaction attributes using IOMMU.

0x20 0-63 TYPE[0-7] Type of object: NULL terminated string

0x28 0-63 TYPE[8-15]

0x30 0-63 LABEL[0-7] Object label

0x38 0-63 LABEL[8-15]

Page 94: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-40

6.3.25 DPRC_GET_RES_COUNT

Command structure

Figure 45. DPRC_GET_RES_COUNT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-63 TYPE[0-7] pool type

0x18 0-63 TYPE[8-15]

Page 95: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-41

Response structure

Figure 46. DPRC_GET_RES_COUNT Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15B1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — RES_COUNT

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 RES_COUNT Number of free resources of the givenresource type that are assigned to this DPRC

Page 96: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-42

6.3.26 DPRC_GET_RES_IDS

Command structure

Figure 47. DPRC_GET_RES_IDS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15C1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 49 48 42 41 0

0x08 ITER_STATUS —

63 32 31 0

0x10 LAST_ID BASE_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 42-48 ITER_STATUS Iteration status - should be set to DPRC_ITER_STATUS_FIRST at first iteration; while the returned marker is DPRC_ITER_STATUS_MORE, additional iterations are needed, until the returned marker is DPRC_ITER_STATUS_LAST.Values are:0: DPRC_ITER_STATUS_FIRST1: DPRC_ITER_STATUS_MORE2: DPRC_ITER_STATUS_LAST

0x10 0-31 BASE_ID Base resource ID of this range

32-63 LAST_ID Last resource ID of this range

0x18 0-63 TYPE[0-7] pool type

0x20 0-63 TYPE[8-15]

Page 97: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-43

Response structure

Figure 48. DPRC_GET_RES_IDS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15C1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 49 48 42 41 0

0x08 ITER_STATUS —

63 32 31 0

0x10 LAST_ID BASE_ID

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 42-48 ITER_STATUS Iteration status - should be set to DPRC_ITER_STATUS_FIRST at first iteration; while the returned marker is DPRC_ITER_STATUS_MORE, additional iterations are needed, until the returned marker is DPRC_ITER_STATUS_LASTValues are:0: DPRC_ITER_STATUS_FIRST1: DPRC_ITER_STATUS_MORE2: DPRC_ITER_STATUS_LAST

0x10 0-31 BASE_ID Base resource ID of this range

32-63 LAST_ID Last resource ID of this range

Page 98: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-44

6.3.27 DPRC_GET_OBJ_REGION

Command structure

Figure 49. DPRC_GET_OBJ_REGION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15E3 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 32 31 0

0x08 — REGION_INDEX — OBJ_ID

63 0

0x10 —

63 0

0x18 —

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 OBJ_TYPE7 OBJ_TYPE6 OBJ_TYPE5 OBJ_TYPE4 OBJ_TYPE3 OBJ_TYPE2 OBJ_TYPE1 OBJ_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 OBJ_TYPE15 OBJ_TYPE14 OBJ_TYPE13 OBJ_TYPE12 OBJ_TYPE11 OBJ_TYPE10 OBJ_TYPE9 OBJ_TYPE8

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 OBJ_ID Unique object instance as returned in dprc_get_obj()

48-55 REGION_INDEX The specific region to query

0x20 0-63 OBJ_TYPE[0-7] Object type as returned in dprc_get_obj()

0x28 0-63 OBJ_TYPE[8-15]

Page 99: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-45

Response structure

Figure 50. DPRC_GET_OBJ_REGION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15E2 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 BASE_OFFSET

63 36 35 32 31 0

0x18 — TYPE SIZE

63 32 31 0

0x20 — FLAGS

63 0

0x28 BASE_PADDR

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-63 BASE_OFFSET Region base offset

0x18 0-31 SIZE Region size (in bytes)

32–35 TYPE Supported values are:0: DPRC_REGION_TYPE_MC_PORTAL1: DPRC_REGION_TYPE_QBMAN_PORTAL

0x20 0-31 FLAGS Supported values:Bit 0: DPRC_REGION_FLAG_CACHEABLE—Indicates that the memory mapping

should be cacheable for this region.

0x28 0-63 BASE_PADDR Region base physical address

Page 100: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-46

6.3.28 DPRC_SET_OBJ_LABEL

Command structure

Figure 51. DPRC_SET_OBJ_LABEL Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1611 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — OBJ_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 LABEL7 LABEL6 LABEL5 LABEL4 LABEL3 LABEL2 LABEL1 LABEL0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 LABEL15 LABEL14 LABEL13 LABEL12 LABEL11 LABEL10 LABEL9 LABEL8

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 OBJ_TYPE7 OBJ_TYPE6 OBJ_TYPE5 OBJ_TYPE4 OBJ_TYPE3 OBJ_TYPE2 OBJ_TYPE1 OBJ_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 OBJ_TYPE15 OBJ_TYPE14 OBJ_TYPE13 OBJ_TYPE12 OBJ_TYPE11 OBJ_TYPE10 OBJ_TYPE9 OBJ_TYPE8

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 OBJ_ID Unique object instance as returned in dprc_get_obj()

0x10 0-63 LABEL[0-7] Object label

0x18 0-63 LABEL[8-15]

0x20 0-63 OBJ_TYPE[0-7] Object type as returned in dprc_get_obj()

0x28 0-63 OBJ_TYPE[8-15]

Page 101: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-47

6.3.29 DPRC_SET_OBJ_IRQ

Command structure

Figure 52. DPRC_SET_OBJ_IRQ Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15F1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 — IRQ_INDEX IRQ_VAL

63 0

0x10 IRQ_ADDR

63 32 31 0

0x18 OBJ_ID IRQ_NUM

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 OBJ_TYPE7 OBJ_TYPE6 OBJ_TYPE5 OBJ_TYPE4 OBJ_TYPE3 OBJ_TYPE2 OBJ_TYPE1 OBJ_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 OBJ_TYPE15 OBJ_TYPE14 OBJ_TYPE13 OBJ_TYPE12 OBJ_TYPE11 OBJ_TYPE10 OBJ_TYPE9 OBJ_TYPE8

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 IRQ_VAL Value to write into irq_addr address

32-39 IRQ_INDEX The interrupt index to configure

0x10 0-63 IRQ_ADDR Address that must be written to signal a message-based interrupt

0x18 0-31 IRQ_NUM A user defined number associated with this IRQ

32-63 OBJ_ID ID of the object to set its IRQ

0x20 0-63 OBJ_TYPE[0-7] Type of the object to set its IRQ

0x28 0-63 OBJ_TYPE[8-15]

Page 102: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-48

6.3.30 DPRC_GET_OBJ_IRQ

Command structure

Figure 53. DPRC_GET_OBJ_IRQ Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15F1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 — IRQ_INDEX OBJ_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 OBJ_TYPE7 OBJ_TYPE6 OBJ_TYPE5 OBJ_TYPE4 OBJ_TYPE3 OBJ_TYPE2 OBJ_TYPE1 OBJ_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 OBJ_TYPE15 OBJ_TYPE14 OBJ_TYPE13 OBJ_TYPE12 OBJ_TYPE11 OBJ_TYPE10 OBJ_TYPE9 OBJ_TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 OBJ_ID ID of the object to get its IRQ

32-39 IRQ_INDEX The interrupt index to configure

0x10 0-63 OBJ_TYPE[0-7] Type of the object to get its IRQ

0x18 0-63 OBJ_TYPE[8-15]

Page 103: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-49

Response structure

Figure 54. DPRC_GET_OBJ_IRQ Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x15F1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — IRQ_VAL

63 0

0x10 IRQ_ADDR

63 32 31 0

0x18 TYPE IRQ_NUM

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 IRQ_VAL Value to write into irq_addr address

0x10 0-63 IRQ_ADDR Address that must be written to signal a message-based interrupt

0x18 0-31 IRQ_NUM A user defined number associated with this IRQ

32-63 TYPE Interrupt type: 0 represents message interrupttype (both irq_addr and irq_val are valid)

Page 104: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-50

6.3.31 DPRC_CONNECT

Command structure

Figure 55. DPRC_CONNECT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1671 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 ENDPOINT1_INTERFACE_ID ENPOINT1_ID

63 32 31 0

0x10 ENDPOINT2_INTERFACE_ID ENPOINT2_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 EP1_TYPE7 EP1_TYPE6 EP1_TYPE5 EP1_TYPE4 EP1_TYPE3 EP1_TYPE2 EP1_TYPE1 EP1_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 EP1_TYPE15 EP1_TYPE14 EP1_TYPE13 EP1_TYPE12 EP1_TYPE11 EP1_TYPE10 EP1_TYPE9 EP1_TYPE8

63 32 31 0

0x28 COMMITTED_RATE MAX_RATE

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x30 EP2_TYPE7 EP2_TYPE6 EP2_TYPE5 EP2_TYPE4 EP2_TYPE3 EP2_TYPE2 EP2_TYPE1 EP2_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x38 EP2_TYPE15 EP2_TYPE14 EP2_TYPE13 EP2_TYPE12 EP2_TYPE11 EP2_TYPE10 EP2_TYPE9 EP2_TYPE8

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ENDPOINT1_ID Endpoint object ID

32-63 ENDPOINT1_INTERFACE_ID Interface ID; should be set for endpoints with multiple interfaces("dpsw", "dpdmux"); for others, always set to 0

0x10 0-31 ENDPOINT2_ID Endpoint object ID

32-63 ENDPOINT2_INTERFACE_ID Interface ID; should be set for endpoints with multiple interfaces("dpsw", "dpdmux"); for others, always set to 0

0x18 0-63 ENDPOINT1_TYPE[0-5] Endpoint object type: NULL terminated string

0x20 0-63 ENDPOINT1_TYPE[8-15]

0x18 0-31 MAX_RATE Maximum rate (Mbits/s)

32-63 COMMITTED_RATE Committed rate (Mbits/s)

0x30 0-63 ENDPOINT2_TYPE[0-5] Endpoint object type: NULL terminated string

0X38 0-63 ENDPOINT2_TYPE[8-15]

Page 105: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-51

6.3.32 DPRC_DISCONNECT

Command structure

Figure 56. DPRC_DISCONNECT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1681 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 INTERFACE_ID ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 TYPE7 TYPE6 TYPE5 TYPE4 TYPE3 TYPE2 TYPE1 TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 TYPE15 TYPE14 TYPE13 TYPE12 TYPE11 TYPE10 TYPE9 TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID Endpoint object ID

32-63 INTERFACE_ID Interface ID; should be set for endpoints with multiple interfaces("dpsw", "dpdmux"); for others, always set to 0

0x10 0-63 TYPE[0-5] Endpoint object type: NULL terminated string

0x18 0-63 TYPE[8-15]

Page 106: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-52

6.3.33 DPRC_GET_CONNECTION

Command structure

Figure 57. DPRC_GET_CONNECTION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x16C1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 ENDPOINT1_INTERFACE_ID ENPOINT1_ID

63 32 31 0

0x10 EP1_TYPE7 EP1_TYPE6 EP1_TYPE5 EP1_TYPE4 EP1_TYPE3 EP1_TYPE2 EP1_TYPE1 EP1_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 EP1_TYPE15 EP1_TYPE14 EP1_TYPE13 EP1_TYPE12 EP1_TYPE11 EP1_TYPE10 EP1_TYPE9 EP1_TYPE8

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ENDPOINT1_ID Endpoint object ID

32-63 ENDPOINT1_INTERFACE_ID Interface ID; should be set for endpoints with multiple interfaces("dpsw", "dpdmux"); for others, always set to 0

0x10 0-63 ENDPOINT1_TYPE[0-5] Endpoint object type: NULL terminated string

0x18 0-63 ENDPOINT1_TYPE[8-15]

Page 107: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-53

Response structure

Figure 58. DPRC_GET_CONNECTION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x20F1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 ENDPOINT2_INTERFACE_ID ENPOINT2_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 EP2_TYPE7 EP2_TYPE6 EP2_TYPE5 EP2_TYPE4 EP2_TYPE3 EP2_TYPE2 EP2_TYPE1 EP2_TYPE0

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x30 EP2_TYPE15 EP2_TYPE14 EP2_TYPE13 EP2_TYPE12 EP2_TYPE11 EP2_TYPE10 EP2_TYPE9 EP2_TYPE8

63 0

0x38 — STATE

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x20 0-31 ENDPOINT2_ID Endpoint object ID

32-63 ENDPOINT2_INTERFACE_ID Interface ID; should be set for endpoints with multiple interfaces("dpsw", "dpdmux"); for others, always set to 0

0x28 0-63 ENDPOINT2_TYPE[0-5] Endpoint object type: NULL terminated string

0X30 0-63 ENDPOINT2_TYPE[8-15]

0x38 0-31 STATE Link state: 1 - link is up, 0 - link is down

Page 108: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-54

6.3.34 DPRC_GET_API_VERSION

Command structure

Figure 59. DPRC_GET_API_VERSION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 109: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-55

Response structure

Figure 60. DPRC_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA051 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 110: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRC: Data Path Resource Container

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 6-56

Page 111: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-1

Chapter 7 DPNI: Data Path Network InterfaceThe DPNI object is a network interface that is configurable to support a wide range of features from a very basic Ethernet interface up to a high-functioning network interface. The DPNI supports features that are expected by standard network stacks, from basic features to offloads.

DPNIs work with Ethernet traffic, starting with the L2 header. Additional functions are provided for standard network protocols (L2, L3, L4, etc.).

Please refer to the API book for complete reference of available functions.

7.1 DPNI features

The following list summarizes the DPNI main features and capabilities:

• Supports Ethernet network interfaces at different rates, both on physical interfaces and on internal connections between a DPNI and another L2 interface (a DPNI, DPDMUX or DPSW port).

• Supports maximum frame size of 10KB

• Allows association with up to eight different Data Path Buffer Pools (DPBP objects)

• Allows interaction with one or more Data Path I/O (DPIO) objects for dequeueing/enqueueing frame descriptors (FD) and for acquiring/releasing buffers.

• Supports wire-speed frame parsing; parsing results may be visible in the frame annotation area

• Supports unicast promiscuous and multicast promiscuous modes

• Supports filtering of received frames:

— Exact-match filtering based on destination MAC address

— Exact-match filtering based on VLAN

• QoS support:

— Packet classification to up to eight traffic classes

— Classification based on user-defined keys (with key size up to 56 bytes)

• Supports distribution over frame queues:

— Statistical distribution based on hash-generated key

— Explicit distribution based on user-defined flow selection (with key size up to 56 bytes)

• Supports different scheduling options for processing received packets:

— Queues can either be scheduled by software (default), or attached to a DPIO object, or attached to a DPCON object

— Extended support for AIOP when used with DPCON

• Supports traffic shaping of transmitted packets:

— Up to eight transmit queues matching eight traffic classes

• Supports transmit confirmation of all packets or transmission errors only

• Supports L3 and L4 checksum generation

• Supports L3 and L4 checksum validation

• Supports network interface statistics:

Page 112: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-2

— Ingress frames count

— Ingress bytes count

— Ingress frames dropped due to explicit ‘drop’ setting

— Ingress frames discarded due to errors

— Ingress multicast frames count

— Ingress multicast bytes count

— Ingress broadcast frames count

— Ingress broadcast bytes count

— Egress frames count

— Egress bytes count

— Egress frames discarded due to errors

• Supports link state indication – a network link is up only when the DPNI is initialized and enabled (this statement is assuming that the peer network entity is also enabled).

• Supports network interface interrupts:

— Link change events

• Supports enable, disable, and reset operations

Page 113: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-3

7.2 DPNI functional description

7.2.1 Ingress frame processing

The figure and paragraphs below describe the DPNI processing phases on ingress.

Figure 61. DPNI Processing Phases for Ingress Frames

a) A frame arrives at the DPNI from another object, such as DPMAC, DPSW or other object.

b) Parsing: The frame is parsed to locate the headers from which lookup keys can be generated.

c) Filtering: The Destination MAC address and VLAN (if exists) are matched against user-defined filters; frames that do not match the filters are dropped.

NOTE

DPNI allows configuration of promiscuous mode for unicast and/or multicast addresses; these modes, if enabled, override the MAC filter.

d) QoS: The DPNI supports up to eight ingress traffic classes and a variable number of QMan frame queues per traffic class. The frame is classified to one of the traffic classes based on user-defined lookup keys; the selected traffic class causes a specific set of queues to be selected.

Page 114: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-4

e) Policing: The frame is ‘colored’ based on the policing profile defined for the traffic class, followed by WRED algorithm that discards lowest priority frames if needed.

f) Distribution: The DPNI selects a destination frame queue for the frame, using either another user-defined lookup (explicit flow steering) or an RSS-style hashing operation; this lookup selects the final destination queue within the previously selected set (of the selected traffic class).

g) The frame is enqueued onto the queue, and the queue represents the destination indirectly. At this point, DPIO objects enter the process. Every queue is configured to deliver data availability notifications to a specific DPIO, and these notifications tell the driver software using the DPIO that one or more frames are available to read from a specific queue. Driver software responds by using a DPIO (actually any of its DPIOs) to read a burst of one or more frames from the queue.

The GPP driver software may steer any set of receive queues to DPIO or DPCON objects; the DPNI configures the relevant queue to generate notifications through the associated DPIO or DPCON, as explained below.

Any DPNI receive queue can be associated with a DPIO object. A DPIO object may operate with notifications enabled, and in this case the queues associated with the DPIO generate FQDAN (Frame Queue Data Available Notification) messages to GPP software when data is available.

DPNI receive queues can alternatively be associated with a DPCON object. When DPCON objects are connected to a DPIO object where notifications are enabled, the DPCON generates CDAN (Channel Data Available Notification) messages to GPP software when data is available.

GPP software may apply any of the following ingress scheduling options on the network interface:

a) Poll the DPNI queues using explicit dequeue requests through DPIO. In this case, the network interface driver is self-scheduling the dequeue calls.

b) Use the DPIO object to get FQDAN notifications on the data availability in the DPNI queues, and then dequeue from those queues. Driver may control scheduling by prioritizing the queues (FQDAN messages will be prioritized).

c) An alternating method of options (a) and (b), such as in NAPI mode.

d) Use the DPCON object to employ hardware-assisted scheduling of different receive queues. DPCON also allows the driver to schedule ingress traffic between different network interfaces. GPP software may select specific flows to go through DPCON, and to get CDAN notifications on data availability for those flows. Other flows can be scheduled according to any of the former three options.

Options (a), (b), and (c) above do not require a DPCON object; the combination of DPNI and DPIO is sufficient.

7.2.2 Egress frame processing

The figure and paragraphs below describe the DPNI processing phases on ingress.

Page 115: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-5

Figure 62. DPNI Processing Phases for Egress Frames

a) Driver software enqueues a frame onto one of the transmit queues, by indicating the desired transmit priority (traffic class); the DPNI supports one logical transmit queue per traffic class

b) Scheduling and shaping: the frame is scheduled for transmission based the relative priority of its traffic class among other transmitted frames. DPNI may also apply user-defined rate limitation on egress.

c) The frame leaves the DPNI and is sent through DPMAC to an external port, or alternatively to another network object such as DPSW.

The egress configuration involves up to eight traffic classes, each having its own transmit queue.

Transmit confirmation involves a dedicated confirmation queue per DPIO – the confirmation queue is used to transmit confirmation of all packets, or optionally to only transmit errors, that were transmitted using that DPIO. Transmit confirmation queues are configured to deliver packets through the respective DPIO. The DPIO object may operate with notifications enabled or disabled, and the DPIO has its own dedicated channel for passing notifications.

7.2.3 Relationship with DPIO and DPCON objects

A DPNI object can be fully operational only by association with at least one DPIO object. Mainly, DPIO objects provide configuration of a QBMan software portal, with an option for data availability notifications. GPP software is free to relate DPIO objects to threads, or to share them between cores in SMP mode but this requires synchronized access to the QBMan software portal. It is possible to associate multiple DPIO objects with the same DPNI, in order to spread traffic from this DPNI across multiple QBMan software portals.

GPP software may decide to enable DPIO notifications, or it may dequeue frames based on its own scheduled polling logic. It is also possible for one GPP entity to receive the notification from one DPIO and alert another entity that will dequeue the packets using a different DPIO.

Page 116: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-6

DPCON objects are used for concentrating traffic from several interfaces into sub-interfaces, mainly for scheduling purposes. It is possible to connect DPCON with DPIO so it generates notifications to the GPP.

Note that the QBMan software portal is used both for enqueue/dequeue operations on packets, and for acquire/release buffer operations. GPP software is responsible for the portal’s operation mode and usage i.e. sharing vs. affinity, NAPI mode vs. other modes, association of queue context, etc.

DPIO objects may serve multiple interfaces. This is not limited to multiple DPNI objects; it can also be combined with communication interfaces and accelerator interfaces. For example, the same DPIO may serve both a DPNI and a DPCI, assuming they are assigned to the same software context (container).

7.2.4 Relationship with DPBP objects

A DPNI object can be fully operational only by association with at least one DPBP object. Each DPNI must be associated with at least one and up to eight DPBP objects, which allows the flexible use of different buffer pools.

A DPBP object may be associated with several DPNI objects from the same software context. It is also possible to initialize and associate a private DPBP object per DPNI; the GPP/AIOP software context has to decide whether sharing is required.

7.2.5 Ingress QoS

The DPNI supports classification of received frames to traffic classes (up to 8). This is done by matching the incoming frame with a user-defined lookup key (optionally with a mask). The result of the lookup in the QoS table determines the traffic class for the received frame.

Each traffic class has its own set of attributes, for example distribution options, policing options

All QoS-related functions require that the DPNI be created with multiple traffic classes. (Refer to the NUM_TCS setting in DPNI_CREATE.)

The user may select a flexible lookup key for the QoS table. This is done by invoking the DPNI_SET_QOS_TABLE command. Following that step, the user may add and remove QoS entries using the DPNI_ADD_QOS_ENTRY and DPNI_REMOVE_QOS_ENTRY commands.

Starting with MC 10.3.0 the default behavior for DPNI objects employed by AIOP is to assign a default priority to each traffic class.

The priority value for each TC is computed based on DPNI's NUM_TCS and the 4 strict priority levels from a QBMan Channel.

Before this version all traffic classes had the same priority on AIOP ingress.

For DPNI object in AIOP context the default traffic class to priority mapping is presented below:

Page 117: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-7

The above static mapping can be overridden by DPNI_SET_QUEUE.

7.2.6 Ingress distribution

The ingress distribution phase selects a final destination queue within the previously selected set (of chosen traffic class). The DPNI selects a destination frame queue for the frame using one of the following methods:

• Explicit flow steering – based on user-defined lookup, or

• RSS-style hashing operation – hashing is based on user-defined key

Distribution functionality is valid only if the DPNI_OPT_NO_FS option was not specified at DPNI creation; otherwise, each traffic class has exactly (and only) one flow. Refer to DPNI_CREATE for a description of the DPNI_OPT_NO_FS option and NUM_QUEUES for configuration of DPNI distribution size.

The first step in applying any type of distribution is to invoke the DPNI_SET_RX_TC_DIST command to select the distribution mode (DIST_MODE = DPNI_DIST_MODE_FS / DPNI_DIST_MODE_HASH / DPNI_DIST_MODE_NONE). The distribution mode is selected per traffic class, so each traffic class may have different distribution method. For GPP software, the distribution size determines the number of receive queues in that traffic class.

If flow steering distribution mode is selected, user must also provide the lookup key format for the flow steering table. Following this step, user can start adding explicit flow steering entries to direct each flow to the required receive queue. Please refer to the DPNI_ADD_FS_ENTRY command for more details. Note that unmatched flows may either be dropped or directed to the default flow ID (FLOW_ID = 0). Flow look-up miss behavior is configured through the MISS_ACTION field in the DPNI_SET_RX_TC_DIST command.

Table 7-1. Traffic class mapping

NUM_TCS\TC ID| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |

1 | 7 | x | x | x | x | x | x | x |

2 | 0 | 7 | x | x | x | x | x | x |

3 | 0 | 1 | 7 | x | x | x | x | x |

4 | 0 | 1 | 2 | 7 | x | x | x | x |

5 | 0 | 1 | 2 | 4 | 7 | x | x | x |

6 | 0 | 1 | 2 | 4 | 6 | 7 | x | x |

7 | 0 | 1 | 2 | 4 | 5 | 6 | 7 | x |

8 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Page 118: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-8

7.2.6.1 Building rules for ingress distribution

The keys added in FS tables are arrays of bytes containing the fields configured in distribution mode. All fields must have same order given in key definition and must expected size according to protocol definition. The size of the key is the sum for all field sizes.

If mask is present (DPNI_OPT_HAS_KEY_MASKING) it will be used to ignore some part of the key. Only the bits where the corresponding mask was set to one will be compared.

Depending on protocol some fields may have different sizes. One example are IP source and destination on IPV4 and IPV6 protocols. When key is created for IPV4 protocol only 4 bytes must be provided to IP field. For IPV6 protocol 16 bytes must be provided for IP fields.

Example: key will contain udp destination port and source IP

- For IPV4 key is: 2 bytes UDP port, 4 bytes source IP (total key size is 2+4 = 6)

- For IPV6 key is: 2 bytes UDP port, 16 bytes source IP (total key size is 2+16 = 18)

7.2.7 Flow control

The dpni implements mechanisms described in IEEE 802.3x (flow control) and IEEE 802.1Qbb (priority flow control).

These mechanisms can be triggered in two ways:

— Buffer pool depletion: when one of the buffer pools associated to dpni enters in depleted state. This is the default trigger and is always used.

— Congestion: when Rx queue enter in congested state. To enable this trigger the user must send command DPNI_SET_CONGESTION_NOTIFICATION with DPNI_CONG_OPT_FLOW_CONTROL flag set in NOTIFICATION_MODE field and QUEUE_TYPE set to Rx.

Flow control works between next configurations (conenctions): DPNI <-> DPNI, DPNI <-> DPDMUX, DPNI <-> DPSW, DPNI <-> DPMAC, DPSW <-> DPMAC and DPDMUX <-> DPMAC.

Flow control is affected by tail drop configuration. If the queues have tail drop enabled the buffer poll will never be depleted and dpni will never send flow control packets.

When congestion notification is enabled the buffer pool depletion trigger is still in place. If congestion thresholds are too big it is possible to deplete buffer pool and trigger flow control frames when no queue is in congested state.

When a buffer pool is shared between multiple dpni objects the flow control may appear on all dpni objects in the same time due buffer pool depletion. In this case the flow control may appear on low traffic connections due to buffer depletion caused by high traffic on other dpni.

7.2.7.1 Flow control configuration

To enable flow control send command DPNI_SET_LINK_CFG and set the flag DPNI_LINK_OPT_PAUSE. This will enable flow control frames triggered by buffer pool depletion. This

Page 119: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-9

flag can be used in combination with DPNI_LINK_OPT_ASYM_PAUSE to generate asymmetric flow control. See command description for different combination of these flags.

To enable flow control triggered by congestion send the command DPNI_SET_CONGESTION_NOTIFICATION for Rx queue. If dpni have multiple traffic classes all the traffic is stopped when a single traffic class enters in congested state.

7.2.7.2 Priority flow control configuration

Priority flow control will work only if dpni is connected to a dpmac object.

DPSW and DPDMUX objects do not support Priority Flow Control and Asymmetric Flow Control.

Before enabling priority flow control the user must create a qos table using command DPNI_CMDID_SET_QOS_TBL and add entries using DPNI_CMDID_ADD_QOS_ENT in order to map traffic to TC's.

To enable priority flow in addition to flags needed to enable flow control set DPNI_LINK_OPT_PFC_PAUSE.

To enable flow control triggered by congestion send the command DPNI_SET_CONGESTION_NOTIFICATION for Rx queue. If dpni is created using option DPNI_OPT_SHARED_CONGESTION a single congested queue will stop all the traffic. In this case dpni have a single congestion point and cannot verify what TC is congested.

The user can map buffer pools to a specific traffic class using the command DPNI_SET_POOLS. To do this write in POOL<n>_DPBP_PRIO_MASK a bit mask with all traffic classes associated with POOL<n>_DPBP_ID. When buffer pool with this ID enters in depletion state only traffic for associated TC's will be stopped.

7.2.8 Policer

The policer determines the color of the frame (drop priority) used by queueing mechanism. The color can be used later by Qbman to perform WRED implementation.

Policer support next modes:

— pass-through mode

— RFC-2698

— RFC-4115

7.2.8.1 Metering principles

The implementation uses token buckets for traffic metering.

A bucket with size S can hold up to S tokens and is referred to as max burst size. The max burst size is the maximum size of the packet network data in units of tokens. An incoming packet with size B can hold up

Page 120: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-10

to B tokens of network data. The bucket size S should be configured to be greater or equal to the longest packet network data, such data a full bucket can hold at least one packet.

Tokens are added to the bucket at rate of R tokens per second up to the bucket size S. Therefore one token is added to the bucket every 1/R seconds as long as the bucket is not full.

When a packet with size B (B<=S) arrives it is conformed as long as the bucket holds at least B tokens. If that is the case than B tokens are removed from the bucket. If the bucket holds fewer than B tokens the packet is identified as non-conforming and no tokens are removed from the bucket. In such a case the packet could be either dropped or marked (colored), depending on the required response to this event.

A two-rate metering algorithm implements two token buckets. Each bucket is configured to meter traffic with different characteristics. Each measurement system is characterized by its traffic parameters: Traffic Rate R [tokens/sec], and Max Burst Size S [tokens]. Parameter S is also defining the token bucket size such that any burst exceeding S tokens is identified as non-conforming. The unit of the token could vary on different algorithms (it could be bits, bytes, or full packets, depending on the measurement goals). The Policer implementation supports BYTE and PACKET unit modes.

When the unit of the token is set to BYTE the policer will use L3 frame length to perform bandwidth calculations.

7.2.8.2 RFC-2698

The RFC-2698 two-rate three-color marker algorithm is used for implementing of differentiated services by mapping different traffic types to different profiles. The algorithm meters an IP packet stream and marks its packets as either GREEN, YELLOW or RED.

A packet is marked RED if it exceeds the peak information rate (PIR); it is marked YELLOW if it exceeds its committed information rate (CIR); otherwise it is marked GREEN. The algorithm is used to enforce peak rate needs on ingress traffic.

7.2.8.3 RFC-4115

The RFC-4115 is a modified version of RFC-2698 with a slightly different definition of traffic parameters, metering and marking methods.

The RFC-4115 implementation uses the same data structures as RFC-2698, with the exception that Peak Information Rate (PIR) and Peak Burst Size (PBS) are replaced by Excess Information Rate (EIR) and Excess Burst Size (EBS) respectively.

7.2.8.4 Pass-Through

No traffic measurements are done and all the packets are colored with specified color.

Page 121: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-11

7.3 DPNI command reference

This section contains the detailed programming model of DPNI commands.

7.3.1 DPNI_CREATE

Create the DPNI object, allocate required resources and perform required initialization. The object can be created either by declaring it in the DPL file, or by invoking this command. This command includes all required parameters for the instantiation of the DPNI object. Some parameters have default settings.

The object CREATE command must be executed on a MC portal that is assigned or in use by a Data Path Resource Container providing a unique authentication token for that container. The command uses the authentication token of a parent container to which the object should be created and assigned.

If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPNI_ID that can be used to OPEN or DESTROY the object.The command format is shown in the figure below.

Command structure

Figure 63. DPNI_CREATE Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9014 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 56 55 48 47 40 39 32 31 0

0x08 – MAC_ENTRIES NUM_TCS NUM_QUEUES OPTIONS (details in the table below)

63 48 47 32 31 24 23 16 15 8 7 0

0x10 – NUM_RX_TCS FS_ENTRIES -- QOS_ENTRIES – VLAN_ENTRIES

63 23 8 7 0

0x18 -- DIST_KEY_SIZE NUM_OPR NUM_CGS

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 6. DPNI_CREATE Command Field Descriptions

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 122: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-12

0x08 0–31 OPTIONS – select one or more of the options below

0 DPNI_OPT_TX_FRM_RELEASE Controls availability of Tx confirmation queues:0 – Tx confirmation queues are available. Tx confirmation behavior can be changed between confirmation and buffer release by executing DPNI_SET_TX_CONFIRMATION_MODE.1 – Tx confirmation queues are not available, the DPNI can only release the buffers associated with Tx traffic to a buffer pool. DPNI_SET_TX_CONFIRMATION_MODE command with any mode other than DPNI_CONF_DISABLE will return an error.

1 DPNI_OPT_NO_MAC_FILTER Controls availability of MAC filtering table:0 – MAC filtering table is available. MAC filtering can be disabled at run-time executing DPNI_SET_MULTICAST_PROMISC and DPNI_SET_UNICAST_PROMISC.1 – MAC filtering is not available, the DPNI is always in promiscuous mode. Any command that enables MAC filtering or manipulates entries in the MAC filtering list will return an error. The MAC_ENTRIES field in DPNI_CREATE is ignored.This option applies both to unicast and multicast MAC filtering.

2 DPNI_OPT_HAS_POLICING Controls availability of WRED/policing:0 – WRED is not available. Command DPNI_SET_EARLY_DROP with mode set to DPNI_EARLY_DROP_MODE_WRED will return an error.Tail-drop and other congestion means are available independent of this option.1 – WRED is available on this DPNI.

3 DPNI_OPT_SHARED_CONGESTION Controls the number of congestion groups reserved for the DPNI:0 – Congestion groups are reserved per TC. This allows configuration of a tail-drop threshold or of a congestion notification for all queues of each TC, independent of other TCs.1 – There is a single congestion group for all TCs. A tail-drop or congestion notification can be configured per DPNI, across all TCs. The TC input argument to DPNI_SET/GET_TAILDROP must be 0.This option is ignored if the DPNI has 1 TC; the two options lead to the same behavior.Note that the tail-drop mentioned here is applicable across multiple queues and is controlled using DPNI_SET/GET_TAILDROP with CG_POINT set to DPNI_CP_GROUP.Taildrop per queue, controlled using DPNI_SET/GET_TAILDROP with CG_POINT set to DPNI_CP_QUEUE, is independent of this setting and is always available.

4 DPNI_OPT_HAS_KEY_MASKING Controls availability of masking for flow steering and QoS classification:0 – masking is not available, look-ups are always exact match and the look-up key associated with the frame must fully match the key in the look-up table. MASK and INDEX fields of DPNI_ADD_FS/QOS_ENTRY are ignored.1 – Masking is available, the look-up key associated with the frame must only match the part of the look-up table key which is not masked out.Note that the masking option is not available on all SoCs. If the option is set on a SoC that does not support masking, DPNI_CREATE will return an error. Also, in this case, the flow steering table will be TCAM look-up, and the number of available entries can be easily exceeded.

Note: Masking is supported on LS2080A and LS2088A SoCs and their variants, and is not supported on LS108xA SoCs.

5 DPNI_OPT_NO_FS Controls availability of flow steering look-up table:0 – Flow steering look-up table is available, it can be used to steer traffic toward a specific ingress queue, filter out matching flows or associate matching flows with a given flow context (See description of FLC field in the Frame Descriptor structure).1 – Flow steering is not available, commands that manipulate the FS table will return an error.Note that flow steering table can be used even if NUM_QUEUES = 1, but is limited to filtering out flows or selecting FD[FLC] values per flow.

6 DPNI_OPT_HAS_OPR Controls availability of Order Restoration:0 – Order Restoration is not available. Command DPNI_SET_OPR will return an error.1 – Order Restoration is available on this DPNI. Note that this option is not available for LS2080A

7 DPNI_OPT_OPR_PER_TC 0 – Order Restoration Points can be set per each index in a TC.1 – Order Restoration Points are shared for each TC and index is ignored in OPR commands.

8 DPNI_OPT_SINGLE_SENDER When set all TX traffic classes will use a single sender.num_queues is ignored for TX, it will only be used for RX.If this flag is set the num_queues parameter in dpni_get_attributes command will contain number of RX queues per TC.

9 DPNI_OPT_CUSTOM_CG When set a custom number of congestion groups can be configured on this DPINI.

10 DPNI_OPT_CUSTOM_OPR When set a custom number of order point records can be configured on this DPNI.

11 DPNI_OPT_SHARED_HASH_KEY Used to specify whether the hash key is shared amongst all traffic classes.

12 DPNI_OPT_SHARED_FS Used to enable one single Flow Steering table per DPNI (Shared Flow Sterring).

Table 6. DPNI_CREATE Command Field Descriptions (continued)

Offset Bits Name Description

Page 123: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-13

All unspecified fields are reserved and must be cleared (set to zero

0x08 10-31 – Reserved

32-39 NUM_QUEUES Controls the number of queues available in the DPNI. These can be used to load-spread Rx traffic across multiple CPUs and to maintain Tx flow affinity to a CPU including the delivery of Tx confirmations.Value 0 is interpreted as 1. Maximum supported value is equal with the number of cores (8 for LS2088, LS1088, LS2085 and 16 for LX2160).

40-47 NUM_TCS Controls the number of traffic classes available in the DPNI. Each traffic class can have different attributes, such as:- different priorities for Tx and Rx,- dedicated congestion thresholds and congestion notifications,- dedicated buffer pools.Value 0 is interpreted as 1. Maximum supported value is 16.If the value is greater than 8 dpni object will use max_tcs for Tx and will limit number of traffic classes for Rx to 8.

48-55 MAC_ENTRIES Controls the number of entries in the MAC filtering table. These are used to filter ingress traffic and discard unexpected frames based on their destination MAC address. Both unicast and multicast traffic is subject to filtering, although promiscuous mode can be enabled independently for the two.This field is ignored if DPNI_OPT_NO_MAC_FILTER is set. Otherwise, value 0 is interpreted as 16. Maximum supported value is 64.

0x10 0-7 VLAN_ENTRIES Controls the number of entries in the VLAN filtering table. If VLAN filtering is enabled, ingress traffic which is VLAN tagged is filtered against the content of this table based on VLAN ID.Value 0 disables VLAN filtering. Maximum supported value is 16.

16-23 QOS_ENTRIES Controls the number of entries in the QoS look-up table. This is used to select the TC for ingress traffic, based on arbitrary classification keys.This table is either exact match or TCAM look-up, based on DPNI_OPT_HAS_KEY_MASKING value.Value 0 is interpreted as 64. Maximum supported value is 64.

32-47 FS_ENTRIES Controls the number of entries in the flow steering table. This is used to:- steer traffic toward a specific ingress queue,- filter out matching flows, or- associate matching flows with a given flow context (See description of FLC field in the Frame Descriptor structure).This table is either exact match or TCAM look-up, based on DPNI_OPT_HAS_KEY_MASKING value.Value 0 is interpreted as 64. Maximum supported value is 1024.

48-55 NUM_RX_TCS Controls number of traffic classes available on Rx side. Maximum supported value is 8.If set to zero the DPNI will use the number specified in NUM_TCS to initialize number of traffic classes on Rx side.

0x18 0-7 NUM_CGS Number of congestion groups. Maximum supported value depends on SoC in use (8 X number of cores) (64 for LS2088, 128 for LX2160). The default value is one per TC.

8-23 NUM_OPR Desired custom number of order point records when DPNI_OPT_CUSTOM_OPR is set. Maximum supported value depends on SoC in use (8 X number of cores) (64 for LS2088, 128 for LX2160).

24-31 DIST_KEY_SIZE Valid only when DPNI_OPT_SHARED_HASH_KEY option is set. Through this field can be set the desired value for distribution key size. Valid values from 1 to 56.

Table 6. DPNI_CREATE Command Field Descriptions (continued)

Offset Bits Name Description

Page 124: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-14

Response structure

Figure 7-2. DPNI_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9011 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPNI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 7-1. DPNI_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPNI_ID DPNI unique ID

Page 125: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-15

7.3.2 DPNI_DESTROY

This command destroys the DPNI object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 64. DPNI_DESTROY Command Description

The following table describes the command fields.

Table 7. DPNI_DESTROY Command Field Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9811 TOKEN –IN

TR

_D

ISSTATUS P – SRCID

63 32 31 0

0x08 — DPNI_ID

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPNI_ID ID of the DPNI object to destroy

Page 126: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-16

7.3.3 DPNI_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPNI_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 65. DPNI_OPEN Command Description

The following table describes the command fields.

Table 8. DPNI_OPEN Command Field Descriptions

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8011 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 0

0x08 — DPNI_ID

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPNI_ID DPNI unique ID

Page 127: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-17

7.3.4 DPNI_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 66. DPNI_CLOSE Command Description

The following table describes the command fields.

Table 9. DPNI_CLOSE Command Field Descriptions

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 128: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-18

7.3.5 DPNI_ENABLE

Enable the DPNI, allow sending and receiving frames.

Is not recommended to send and receive frames before this command is executed.

Command structure

Figure 67. DPNI_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 129: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-19

7.3.6 DPNI_DISABLE

Disable the DPNI, stop sending and receiving frames.

Is not recommended to send and receive frames after this command is executed.

Command structure

Figure 68. DPNI_DISABLE Command Description

The following table describes the command fields.

Table 10. DPNI_DISABLE Command Fields Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 130: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-20

7.3.7 DPNI_IS_ENABLED

Check if the DPNI is enabled.

Command structure

Figure 69. DPNI_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 131: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-21

Response structure

Figure 70. DPNI_IS_ENABLED Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if object is enabled

Page 132: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-22

7.3.8 DPNI_RESET

Reset the DPNI, returns the object to initial state.

This command has some limitations when the DPNI object is associated with a DPCON. (See Section 28.1, “Reset of MC objects with FQs associated with a channel.”)

Command structure

Figure 71. DPNI_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 133: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-23

7.3.9 DPNI_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 72. DPNI_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 134: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-24

7.3.10 DPNI_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 73. DPNI_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 135: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-25

Response structure

Figure 74. DPNI_GET_IRQ_ENABLE Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 136: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-26

7.3.11 DPNI_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 75. DPNI_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 137: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-27

7.3.12 DPNI_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 76. DPNI_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 138: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-28

Response structure

Figure 77. DPNI_GET_IRQ_MASK Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 139: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-29

7.3.13 DPNI_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 78. DPNI_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPNI_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 140: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-30

Response structure

Figure 79. DPNI_GET_IRQ_STATUS Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events for IRQ 0:Bit 0: DPNI_IRQ_EVENT_LINK_CHANGED – indicates a change in the link stateBit 1: DPNI_IRQ_EVENT_ENDPOINT_CHANGED – indicates a connect/disconnect event between DPNI and it’s endpoint (DPNI, DPMAC, DPDMUX, DPSW).

Page 141: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-31

7.3.14 DPNI_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 80. DPNI_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 142: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-32

7.3.15 DPNI_GET_ATTRIBUTES

Retrieve DPNI attributes as configured when the object was created.

Command structure

Figure 81. DPNI_GET_ATTRIBUTES Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 143: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-33

Response structure

Figure 82. DPNI_GET_ATTRIBUTES Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 56 55 48 47 40 39 32 31 0

0x08 NUM_TX_TCS MAC_ENTRIES NUM_RX_TCS NUM_QUEUES OPTIONS (details in the table below)

63 48 47 32 31 24 23 16 15 8 7 0

0x10 – FS_ENTRIES – QOS_ENTRIES – VLAN_ENTRIES

63 40 39 32 31 16 15 8 7 0

0x18 – NUM_CGS WRIOP_VERSION FS_KEY_SIZE QOS_KEY_SIZE

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 144: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-34

0x08 0–31 OPTIONS – select one or more of the options below

0 DPNI_OPT_TX_FRM_RELEASE Controls availability of Tx confirmation queues:0 – Tx confirmation queues are available. Tx confirmation behavior can be changed between confirmation and buffer release by executing DPNI_SET_TX_CONFIRMATION_MODE.1 – Tx confirmation queues are not available, the DPNI can only release the buffers associated with Tx traffic to a buffer pool. DPNI_SET_TX_CONFIRMATION_MODE command with any mode other than DPNI_CONF_DISABLE will return an error.

1 DPNI_OPT_NO_MAC_FILTER Controls availability of MAC filtering table:0 – MAC filtering table is available. MAC filtering can be disabled at run-time executing DPNI_SET_MULTICAST_PROMISC and DPNI_SET_UNICAST_PROMISC.1 – MAC filtering is not available, the DPNI is always in promiscuous mode. Any command that enables MAC filtering or manipulates entries in the MAC filtering list will return an error. The MAC_ENTRIES field in DPNI_CREATE is ignored.This option applies both to unicast and multicast MAC filtering.

2 DPNI_OPT_HAS_POLICING Controls availability of WRED/policing:0 – WRED is not available. Command DPNI_SET_EARLY_DROP with mode set to DPNI_EARLY_DROP_MODE_WRED will return an error.Tail-drop and other congestion means are available independent of this option.1 – WRED is available on this DPNI.

3 DPNI_OPT_SHARED_CONGESTION Controls the number of congestion groups reserved for the DPNI:0 – Congestion groups are reserved per TC. This allows configuration of a tail-drop threshold or of a congestion notification for all queues of each TC, independent of other TCs.1 – There is a single congestion group for all TCs. A tail-drop or congestion notification can be configured per DPNI, across all TCs. The TC input argument to DPNI_SET/GET_TAILDROP must be 0.This option is ignored if the DPNI has 1 TC; the two options lead to the same behavior.Note that the tail-drop mentioned here is applicable across multiple queues and is controlled using DPNI_SET/GET_TAILDROP with CG_POINT set to DPNI_CP_GROUP.Taildrop per queue, controlled using DPNI_SET/GET_TAILDROP with CG_POINT set to DPNI_CP_QUEUE, is independent of this setting and is always available.

4 DPNI_OPT_HAS_KEY_MASKING Controls availability of masking for flow steering and QoS classification:0 – masking is not available, look-ups are always exact match and the look-up key associated with the frame must fully match the key in the look-up table. MASK and INDEX fields of DPNI_ADD_FS/QOS_ENTRY are ignored.1 – Masking is available, the look-up key associated with the frame must only match the part of the look-up table key which is not masked out.Note that the masking option is not available on all SoCs. If the option is set on a SoC that does not support masking, DPNI_CREATE will return an error.

Note: Masking is supported on LS2080A and LS2088A SoCs and their variants, and is not supported on LS108xA SoCs.

5 DPNI_OPT_NO_FS Controls availability of flow steering look-up table:0 – Flow steering look-up table is available, it can be used to steer traffic toward a specific ingress queue, filter out matching flows or associate matching flows with a given flow context (See description of FLC field in the Frame Descriptor structure).1 – Flow steering is not available, commands that manipulate the FS table will return an error.Note that flow steering table can be used even if NUM_QUEUES = 1, but is limited to filtering out flows or selecting FD[FLC] values per flow.

6 DPNI_OPT_HAS_OPR Controls availability of Order Restoration:0 – Order Restoration is not available. Command DPNI_SET_OPR will return an error.1 – Order Restoration is available on this DPNI. Note that this option is not available for LS2080A

7 DPNI_OPT_OPR_PER_TC 0 – Order Restoration Points can be set per each index in a TC.1 – Order Restoration Points are shared for each TC and index is ignored in OPR commands.

8 DPNI_OPT_SINGLE_SENDER When set all TX traffic classes will use a single sender.num_queues is ignored for TX, it will only be used for RX.If this flag is set the num_queues parameter in dpni_get_attributes command will contain number of RX queues per TC.

9 DPNI_OPT_CUSTOM_CG When set a custom number of congestion groups can be configured on this DPINI.

10 DPNI_OPT_CUSTOM_OPR When set a custom number of order point records can be configured on this DPNI.

11 DPNI_OPT_SHARED_HASH_KEY Used to specify whether the hash key is shared amongst all traffic classes.

12 DPNI_OPT_SHARED_FS Used to enable one single Flow Steering table per DPNI (Shared Flow Sterring).

12-31 – Reserved

Offset Bits Name Description

Page 145: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-35

All unspecified fields are reserved and must be cleared (set to zero)

0x08 32-39 NUM_QUEUES Controls the number of queues available in the DPNI. These can be used to load-spread Rx traffic across multiple CPUs and to maintain Tx flow affinity to a CPU including the delivery of Tx confirmations.Value 0 is interpreted as 1. Maximum supported value is 8.If DPNI_OPT_SINGLE_SENDER option is set then this value is valid only for RX side (TX traffic classes will have a single queue).

40-47 NUM_RX_TCS Controls the number of Rx traffic classes available in the DPNI. Each traffic class can havedifferent attributes such as:- different priorities for Rx,- dedicated congestion thresholds and congestion notifications,- dedicated buffer pools.Value 0 is interpreted as 1. Maximum supported value is 8.

48-55 MAC_ENTRIES Controls the number of entries in the MAC filtering table. These are used to filter ingress trafficand discard unexpected frames based on their destination MAC address. Both unicast andmulticast traffic is subject to filtering, although promiscuous mode can be enabled independentlyfor the two.This field is ignored if DPNI_OPT_NO_MAC_FILTER is set. Otherwise, value 0 is interpreted as16. Maximum supported value is 64.

56-63 NUM_TX_TCS Controls the number of Tx traffic classes available in the DPNI.Each traffic class can have different attributes such as:-different priorities for Tx,-dedicated congestion thresholds and congestion notification ,-dedicated buffer pools.Values 0 is interpreted as 8.Maximum supported value is 16.

0x10 0-7 VLAN_ENTRIES Controls the number of entries in the VLAN filtering table. If VLAN filtering is enabled, ingress traffic which is VLAN tagged is filtered against the content of this table based on VLAN ID.Value 0 disables VLAN filtering. Maximum supported value is 16.

16-23 QOS_ENTRIES Controls the number of entries in the QoS look-up table. This is used to select the TC for ingress traffic, based on arbitrary classification keys.This table is either exact match or TCAM look-up, based on DPNI_OPT_HAS_KEY_MASKING value.Value 0 is interpreted as 64. Maximum supported value is 64.

32-47 FS_ENTRIES Controls the number of entries in the flow steering table. This is used to:- steer traffic toward a specific ingress queue,- filter out matching flows, or- associate matching flows with a given flow context (See description of FLC field in the Frame Descriptor structure).This table is either exact match or TCAM look-up, based on DPNI_OPT_HAS_KEY_MASKING value.Value 0 is interpreted as 64. Maximum supported value is 1024.

0x18 0-7 QOS_KEY_SIZE Size of the look-up key used for TC selection. Total size of protocol header fields selected as part of QoS look-up key cannot exceed this value.

8-15 FS_KEY_SIZE Size of the look-up key used for flow steering. Total size of protocol header fields selected as part of QoS look-up key cannot exceed this value.

16-31 WRIOP_VERSION Indicates the revision of the underlying WRIOP hardware block.0x400 – WRIOP version 1.0.0, used on LS2080 and variants,0x421 – WRIOP version 1.1.1, used on LS2088 and variants,0x422 – WRIOP version 1.1.2, used on LS1088 and variants.

32-39 NUM_CGS Number of congestion groups.

Offset Bits Name Description

Page 146: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-36

7.3.16 DPNI_SET_POOLS

This command will associate to a DPNI object one or more DPBP objects used to store received frames. Each DPNI uses a maximum of eight buffer pools. Multiple DPNI objects can share the same DBPB object.

The associated buffer pools are used to provide all the buffers needed to store DPNI ingress traffic.

The buffer layout is described in command DPNI_SET_BUFFER_LAYOUT. (See Section 7.3.18, “DPNI_SET_BUFFER_LAYOUT.”) The buffers must be big enough to store frame data plus supplementary info such as frame annotation.

When receive a new frame the DPNI will search for an associated buffer pool with the smallest size that will fit frame data, annotations, head room and tail room. If such a buffer pool is found and is not empty, hardware will get a buffer and store the frame. If there is no pool that will fit the data, hardware will store the frame using multiple buffers by creating a scatter/gather list. The application may use multiple buffer pools with different sizes to minimize memory/performance loss due to small frames or too many scatter/gather lists due to large frames.

All buffers must be aligned to 64 bytes. The MC firmware does not check the alignment for the buffers placed in pool.

For each buffer pool the command must provide:

• Buffer pool id: can be obtained with DPBP_GET_ATTRIBUTES command. Same id can be passed to multiple DPNI objects to share same resource.

• Buffer size: the size of the buffers released into this DPBP object and is known by the application.

• Priority mask: associate buffer pool with a specific traffic class. This feature is needed when DPNI_LINK_OPT_PFC_PAUSE is set in command DPNI_SET_LINK_CFG. If not needed the field can be set to zero and the MC will associate all traffic classes to this buffer pool.

If DPNI_LINK_OPT_PFC_PAUSE is enabled and the associated buffer pool enters depletion state the DPNI will generate a PFC frame using the POOLx_DPBP_PRIO_MASK. That is, if a buffer pool is associated with multiple traffic classes the PFC frame will be generated for all of them.

DPNI_SET_POOLS must be executed before DPNI_ENABLE command.

Page 147: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-37

Command structure

Figure 83. DPNI_SET_POOLS Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2002 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 56 55 48 47 32 31 - 25 24 23 -

16

15 14 13 12 11 10 9 8 7 0

0x08 — POOL0_DPBP_PRIO_MASK

POOL0_DPBP_ID —

PO

OL_

AS

PO

OL7

_B

AC

KU

P_

PO

O

PO

OL6

_B

AC

KU

P_

PO

O

PO

OL5

_B

AC

KU

P_

PO

O

PO

OL4

_B

AC

KU

P_

PO

O

PO

OL3

_B

AC

KU

P_

PO

O

PO

OL2

_B

AC

KU

P_

PO

O

PO

OL1

_B

AC

KU

P_

PO

O

PO

OL0

_B

AC

KU

P_

PO

O

NUM_DPBP

63 56 55 48 47 32 31 24 23 16 15 0

0x10 — POOL2_DPBP_PRIO_MASK

POOL2_DPBP_ID — POOL1_DPBP_PRIO_MASK

POOL1_DPBP_ID

63 56 55 48 47 32 31 24 23 16 15 0

0x18 — POOL4_DPBP_PRIO_MASK

POOL4_DPBP_ID — POOL3_DPBP_PRIO_MASK

POOL3_DPBP_ID

63 56 55 48 47 32 31 24 23 16 15 0

0x20 — POOL6_DPBP_PRIO_MASK

POOL6_DPBP_ID — POOL5_DPBP_PRIO_MASK

POOL5_DPBP_ID

63 48 47 32 31 24 23 16 15 0

0x28 POOL1_BUFFER_SIZE POOL0_BUFFER_SIZE — POOL7_DPBP_PRIO_MASK

POOL7_DPBP_ID

63 48 47 32 31 16 15 0

0x30 POOL5_BUFFER_SIZE POOL4_BUFFER_SIZE POOL3_BUFFER_SIZE POOL2_BUFFER_SIZE

63 32 31 16 15 0

0x38 — POOL7_BUFFER_SIZE POOL6_BUFFER_SIZE

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 NUM_DPBP Number of buffer pools initialized with this command. Accepted values are 1–8

8-15 POOLS[0-7]_BACKUP_POOL Backup pool. 0 - Define this pool as a regular pool. This pool may be used for allocating buffers in the packet express buffer.1 - Define the pool as a backup pool. WRIOP uses backup pools when one or more valid regular pool is depleted.

24 POOL_AS Select between assigning the buffer pool per QPRI (queuing priority) or per QDBIN (queue destination bin)0 - QPRI1 - QDBIN

0x08 - 0x28

0-15 / 32-47

POOLS[0-7]_DPBP_ID DPBP object ID

Page 148: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-38

All unspecified fields are reserved and must be cleared (set to zero)

0x08 - 0x28

16-23 / 48-55

POOLS[0-7]_DPBP_PRIO_MASK Priority mask. This is used to associate buffer pool to a specific traffic class. When DPNI receives a frame on a specific traffic class it will store it into buffers pulled from associated DPBP object. There are eight bits, one for each traffic class:Bit n set: buffer pool is associated with traffic class N.If set to zero the MC will assume the value 0xFF and DPBP will be associated for all traffic classes.

0x28 - 0x30

0-15 / 16-31/ 32-47/ 48-63

POLS[0-7]_BUFFER_SIZE Buffer size in bytes. This is the size for all buffers released into this pool. It must be a multiple of 64 bytes

Offset Bits Name Description

Page 149: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-39

7.3.17 DPNI_SET_ERRORS_BEHAVIOR

Set errors behavior for the DPNI – decide which action to take when specific errors occur. This command may be repeated with different errors selection at each time.

Command structure

Figure 84. DPNI_SET_ERRORS_BEHAVIOR Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x20B1 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 37 36 35 32 31 0

0x08 – SE

T_

FR

AM

E_

AN

NO

TAT

IO

ER

RO

R_

AC

TIO

N

ERRORS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 150: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-40

All unspecified fields are reserved and must be cleared (set to zero)

0x08 0-31 ERRORS The errors mask to configure. Select any combination of supported errors below:

Bit 0: DPNI_ERROR_L4CE – parser L4 checksum errorBit 2: DPNI_ERROR_L3CE – parser L3 checksum errorBit 5: DPNI_ERROR_PHE – Parsing header errorBit 12: DPNI_ERROR_FPE – Frame physical errorBit 13: DPNI_ERROR_FLE – Frame length errorBit 17: DPNI_ERROR_EOFHE – Extract out of frame header errorBit 32: DPNI_ERROR_DISC - Discarded flag. Has effect only when ERROR_ACTION is set to DPNI_ERROR_ACTION_SEND_TO_ERROR_QUEUE. All discarded frames will be enqueued in error queue. Recommended for advanced debug scenarios when user wants to inspect discarded packets.

32-35 ERROR_ACTION Desired action for the errors selected in ERRORS mask. Select one of the supported values below:

0 = DPNI_ERROR_ACTION_DISCARD – The frame is discarded. It takes precedence over CONTINUE option.1 = DPNI_ERROR_ACTION_CONTINUE – The frame is not discarded. In case of multiple errors, if at least one error has the DISCARD action set, the frame will be discarded.2 = DPNI_ERROR_ACTION_SEND_TO_ERROR_QUEUE – The frame will be enqueued in the error queue. This setting has precedence over other action. In case of multiple errors if at least one is associated to this action the frame will be enqueued in the error queue.

Examples: Assume that a frame with DPNI_ERROR_PHE and DPNI_ERROR_L3CE is processed.Case1: DPNI_ERROR_L3CE action is SEND_TO_ERROR_QUEUE and DPNI_ERROR_PHE action is DISCARD. The frame will be enqueued in the error queue because SEND_TO_ERROR_QUEUE action has higher precedence over discard.Case2: DPNI_ERROR_L3CE action is CONTINUE and DPNI_ERROR_PHE action is DISCARD. The frame will be discarded due to PHE error.Case3: DPNI_ERROR_L3CE action is DISCARD and DPNI_ERROR_PHE action is DISCARD. The frame will be discarded.Case4: DPNI_ERROR_L3CE action is CONTINUE and DPNI_ERROR_PHE action is CONTINUE. The frame will be enqueued into normal queue.

36 SET_FRAME_ANNOTATION Set to '1' to mark the errors in frame annotation status (FAS); relevant only for non-discard actions.

Offset Bits Name Description

Page 151: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-41

7.3.18 DPNI_SET_BUFFER_LAYOUT

Set buffer layout attributes.

The general buffer format and what each field of the command configures is described in the following figure.

Figure 7-3. Buffer format

SW FRAME ANNOTATION

HW FRAME ANNOTATION

DATA_HEAD_ROOM

FRAME DATA

DATA_TAIL_ROOM

FD OFFSET

(aligned to DATA_ALIGN)

0 or 64 B depending on PRIVATE_DATA_SIZE

Page 152: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-42

Command structure

Figure 85. DPNI_SET_BUFFER_LAYOUT Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2652 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 52 51 50 49 48 47 32 31 8 7 0

0x08 – PA

SS

_S

W_

OP

AQ

UE

PA

SS

_FR

AM

E_

STA

TU

S

PA

SS

_P

AR

SE

R_

RE

SU

LT

PA

SS

_T

IME

STA

MP

OPTIONS – QUEUE_TYPE

63 48 47 32 31 16 15 0

0x10 TAIL_ROOM HEAD_ROOM DATA_ALIGN PRIVATE_DATA_SIZE

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 QUEUE_TYPE Type of queue this configuration applies to:0: DPNI_QUEUE_RX - Rx queue,1: DPNI_QUEUE_TX - Tx queue,2: DPNI_QUEUE_TX_CONFIRM - Tx confirmation queue,3: DPNI_QUEUE_RX_ERR - Rx error queue.

32-47 OPTIONS Mask of bits indicating suggested modifications to the buffer layout:Bit 0: DPNI_BUF_LAYOUT_OPT_TIMESTAMP—set to modify time-stamp settingBit 1: DPNI_BUF_LAYOUT_OPT_PARSER_RESULT—set to modify the parser-result setting.Bit 2: DPNI_BUF_LAYOUT_OPT_FRAME_STATUS—set to modify the frame-status setting.Bit 3: DPNI_BUF_LAYOUT_OPT_PRIVATE_DATA_SIZE—set to modify the private-data-size setting.Bit 4: DPNI_BUF_LAYOUT_OPT_DATA_ALIGN—set to modify the data-alignment setting.Bit 5: DPNI_BUF_LAYOUT_OPT_DATA_HEAD_ROOM—Select to modify the data-head-room setting.Bit 6: DPNI_BUF_LAYOUT_OPT_DATA_TAIL_ROOM—Select to modify the data-tail-room setting.Bit 7: DPNI_BUF_LAYOUT_OPT_SW_OPAQUE —Select to pass SW opaque value between 2 DPNIsBit8 : DPNI_BUF_LAYOUT_OPT_NO_SG — Select to disable Scatter Gather on RX.

48 PASS_TIMESTAMP ‘1’ indicates that timestamp is included in the buffer layout

49 PASS_PARSER_RESULT ‘1’ indicates that parsing results are included in the buffer layout

50 PASS_FRAME_STATUS ‘1’ indicates that frame status is included in the buffer layout

51 PASS_SW_OPAQUE ‘1’ indicates that SW annotation has been activated

Page 153: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-43

All unspecified fields are reserved and must be cleared (set to zero).

0x10 0–15 PRIVATE_DATA_SIZE Size kept for private data (in bytes). Maximum value is 64.

16–31 DATA_ALIGN Frame data alignment

16-31 DATA_HEAD_ROOM Data head room

32-47 DATA_TAIL_ROOM Data tail room

Offset Bits Name Description

Page 154: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-44

7.3.19 DPNI_GET_BUFFER_LAYOUT

Retrieve buffer layout attributes.

Command structure

Figure 86. DPNI_GET_BUFFER_LAYOUT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2642 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 8 7 0

0x08 – QUEUE_TYPE

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 QUEUE_TYPE Type of queue to retrieve configuration from:0: DPNI_QUEUE_RX - Rx queue,1: DPNI_QUEUE_TX - Tx queue,2: DPNI_QUEUE_TX_CONFIRM - Tx confirmation queue,3: DPNI_QUEUE_RX_ERR - Rx error queue

Page 155: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-45

Response structure

Figure 87. DPNI_GET_BUFFER_LAYOUT Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2642 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 52 51 50 49 48 47 0

0x08 – PA

SS

_S

W_

OP

AQ

UE

PA

SS

_FR

AM

E_

STA

TU

S

PA

SS

_P

AR

SE

R_

RE

SU

LT

PA

SS

_T

IME

STA

MP

63 48 47 32 31 16 15 0

0x10 TAIL_ROOM HEAD_ROOM DATA_ALIGN PRIVATE_DATA_SIZE

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 48 PASS_TIMESTAMP ‘1’ indicates that time-stamp is included in the buffer layout

49 PASS_PARSER_RESULT ‘1’ indicates that parsing results are included in the buffer layout

50 PASS_FRAME_STATUS ‘1’ indicates that frame status is included in the buffer layout

51 PASS_SW_OPAQUE ‘1’ indicates that SW annotation has been activated

0x10 0-15 PRIVATE_DATA_SIZE Size kept for private data (in bytes)

16-31 DATA_ALIGN Data alignment

32-47 DATA_HEAD_ROOM Data head room

48-63 DATA_TAIL_ROOM Data tail room

Page 156: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-46

7.3.20 DPNI_SET_OFFLOAD

Set DPNI offload configuration.

Command structure

Figure 88. DPNI_SET_OFFLOAD Command Description

The following table describes the command fields.

Table 11. DPNI_SET_OFFLOAD Command Field Descriptions

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26C1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 24 23 0

0x08 CONFIGURATION OFFLOAD_TYPE —

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 24-31 OFFLOAD_TYPE Type of offload to configure:0: DPNI_OFF_RX_L3_CSUM – Rx Layer 3 checksum validation;1: DPNI_OFF_RX_L4_CSUM – Rx Layer 4 checksum validation,2: DPNI_OFF_TX_L3_CSUM – Tx Layer 3 checksum generation,3: DPNI_OFF_TX_L4_CSUM – Tx Layer 4 checksum generation.4: DPNI_FLCTYPE_HASH - FD flow context (FD[FLC]) generated by WRIOP for AIOP/CTLU. (Caution: Make sure to do this before setting up the queue)

32–63 CONFIGURATION Configures the selected offload.For OFFLOAD_TYPE 0-3, values are:0: selected offload is disabled,1: selected offload is enabled.

Page 157: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-47

7.3.21 DPNI_GET_OFFLOAD

Get DPNI offload configuration.

Command structure

Figure 89. DPNI_GET_OFFLOAD Command Description

The following table describes the command fields.

Table 12. DPNI_GET_OFFLOAD Command Field Descriptions

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26B1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 24 23 0

0x08 – OFFLOAD_TYPE —

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 24-31 OFFLOAD_TYPE Type of offload to configure:0: DPNI_OFF_RX_L3_CSUM – Rx Layer 3 checksum validation;1: DPNI_OFF_RX_L4_CSUM – Rx Layer 4 checksum validation,2: DPNI_OFF_TX_L3_CSUM – Tx Layer 3 checksum generation,3: DPNI_OFF_TX_L4_CSUM – Tx Layer 4 checksum generation.4.DPNI_FLCTYPE_HASH – FD flow context (FD[FLC]) generated by WRIOP for AIOP/CTLU.

Page 158: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-48

Response structure

Figure 90. DPNI_GET_OFFLOAD Response Description

Table 13. DPNI_GET_OFFLOAD Response Field Descriptions

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26B1 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 0

0x08 CONFIGURATION —

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32–63 CONFIGURATION Configuration of selected offload.For OFFLOAD_TYPE 0-3, values are:0: selected offload is disabled1: selected offload is enabled

Page 159: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-49

7.3.22 DPNI_GET_QDID

Get the Queuing Destination ID (QDID) that should be used for frame enqueue operations.

The Queuing Destination (QD) feature implemented in QMan provides enqueuer support for the purposes of:

• Distribution (load balancing)

• QoS (Quality of Service)

QD can use multiple queues.

When a frame is enqueued to QMan, either from a software portal, a network interface module (for example WRIOP), or an accelerator, the enqueue command (or pre-enqueue command, in the case of WRIOP) may specify:

• FQID to which the frame should be directly enqueued, or

• Queuing Destination ID (QDID) and priority, which will be resolved by the hardware into a specific queue to be used for the enqueue.

The number of QD supported is Soc specific. Each QD provides next functions:

• QoS mapping of the enqueue to a specific queue or sub-group of queues, using a QPRI (queuing priority) value provided in the command.

• Distribution of the enqueue within the QoS selected sub-group.

Example: To send data using a specific Traffic Class (TC) obtain QDID for TX queue. Use this QDID together with TC priority to create enqueue command descriptor.

Page 160: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-50

Command structure

Figure 91. DPNI_GET_QDID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2101 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 8 7 0

0x08 – QUEUE_TYPE

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

QUEUE_TYPE Type of queue to receive QDID for:1: DPNI_QUEUE_TX - Tx queue

All other values are reserved

Page 161: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-51

Response structure

Figure 92. DPNI_GET_QDID Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2101 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 16 15 0

0x08 – QDID

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 QDID Virtual QDID value that should be used as an argument in all enqueue operations

Page 162: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-52

7.3.23 DPNI_GET_SP_INFO

Get the AIOP storage profile ID associated with the DPNI – relevant only for DPNI that belongs to AIOP software context (resides in AIOP container).

Command structure

Figure 93. DPNI_GET_SP_INFO Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2111 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 163: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-53

Response structure

Figure 94. DPNI_GET_SP_INFO Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2111 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 16 15 0

0x08 – SPIDS_1 SPIDS_0

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 SPIDS[0..1] AIOP storage-profile ID

Page 164: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-54

7.3.24 DPNI_GET_TX_DATA_OFFSET

Get the data offset for transmit buffers (from start of buffer).

Software should reserve the amount of space indicated by this command as headroom in all Tx frames. This space may be used to pass metadata to/from hardware or to associate software-defined metadata with the frame between Tx and Tx confirmation.

Command structure

Figure 95. DPNI_GET_TX_DATA_OFFSET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2121 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 165: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-55

Response structure

Figure 96. DPNI_GET_TX_DATA_OFFSET Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2121 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 16 15 0

0x08 DATA_OFFSET

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 DATA_OFFSET Transmit-side data offset (from start of buffer)

Page 166: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-56

7.3.25 DPNI_GET_STATISTICS

Read DPNI statistics.

Command structure

Figure 97. DPNI_GET_STATISTICS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x25D2 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 24 23 8 7 0

0x08 – PARAM PAGE_NUMBER

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–7 PAGE_NUMBER Select one of the available counter pages to retrieve. Supported values are 0-5. Check response structure of this command for content of each page.

0x08 8-23 PARAM Custom parameter for some pages used to select a certain statistic source.It is used for pages 3, 4 and 5 to select a traffic class.

Page 167: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-57

Response structure

Figure 98. DPNI_GET_STATISTICS Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x25D1 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 COUNTER0

63 0

0x10 COUNTER1

63 0

0x18 COUNTER2

63 0

0x20 COUNTER3

63 0

0x28 COUNTER4

63 0

0x30 COUNTER5

63 0

0x38 COUNTER6

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–63 COUNTER0 Contains, depending on PAGE_NUMBER selection:0: INGRESS_ALL_FRAMES – counts all accepted ingress frames,1: EGRESS_ALL_FRAMES – counts all egress frames transmitted,2: INGRESS_FILTERED_FRAMES – counts all ingress frames discarded due to filtering. Discard may be caused by MAC, VLAN filtering, ACL configuration.3. Cumulative count of the number of bytes dequeued.4. Number of rejected frames in associated congestion point (valid if this TC has an associated congestion point)5. Policer RED packet counter. 32bit value valid only when policer is enabled.

0X10 0–63 COUNTER1 Contains, depending on PAGE_NUMBER selection:0: INGRESS_ALL_BYTES – counts bytes in all accepted ingress frames,1: EGRESS_ALL_BYTES – counts bytes in all frames transmitted,2: INGRESS_DISCARDED_FRAMES – counts all frames discarded due to errors. Errors may be caused by an external source, frames being corrupted before entering the system, or caused by internal errors.3. Cumulative count of the number of bytes dequeued.4. Number of rejected bytes in associated congestion point (valid if this TC has an associated congestion point)5. Policer YELLOW packet counter. 32bit value valid only when policer is enabled.

0X18 0–63 COUNTER2 Contains, depending on PAGE_NUMBER selection:0: INGRESS_MULTICAST_FRAMES – counts multicast accepted ingress frames,1: EGRESS_MULTICAST_FRAMES – counts multicast egress frames transmitted,2: INGRESS_NOBUFFER_DISCARDS – counts discards on ingress side due to buffer depletion in DPNI buffer pools. This counter is not available on LS2080.3. Cumulative count of the number of bytes in all frames whose enqueue was rejected.5. Policer GREEN packet counter. 32bit value valid only when policer is enabled.

0X20 0–63 COUNTER3 Contains, depending on PAGE_NUMBER selection:0: INGRESS_MULTICAST_BYTES – counts bytes in received multicast frames,1: EGRESS_MULTICAST_BYTES – counts bytes in transmitted multicast frames,2: EGRESS_DISCARDED_FRAMES – frames discarded on transmit due to DPNI configuration and/or frame state.3. Cumulative count of all frame enqueues rejected.5. Policer recolored RED packet counter. 32bit value valid only when policer is enabled.

Page 168: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-58

0X28 0–63 COUNTER4 Contains, depending on PAGE_NUMBER selection:0: INGRESS_BROADCAST_FRAMES – counts broadcast accepted ingress frames,1: EGRESS_BROADCAST_FRAMES – counts broadcast egress frames transmitted,2: EGRESS_CONFIRMED_FRAMES – counts all frames that have been confirmed after transmission.5. Policer recolored YELLOW packet counter. 32bit value valid only when policer is enabled.

0x30 0–63 COUNTER5 Contains, depending on PAGE_NUMBER selection:0: INGRESS_BROADCAST_BYTES – counts bytes in broadcast multicast frames,1: EGRESS_BROADCAST_BYTES – counts bytes in broadcast multicast frames,

0x38 0–63 COUNTER6 Reserved

Offset Bits Name Description

Page 169: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-59

7.3.26 DPNI_RESET_STATISTICS

Reset DPNI statistics. The command resets all DPNI counters. Reset is not guaranteed to be synchronized across all DPNI counters, executing DPNI_RESET_STATISTICS under live traffic may lead to counters being out of sync. As an example, INGRESS_ALL_FRAMES may indicate a slightly different number of frames than the ones included in INGRESS_ALL_BYTES.

Command structure

Figure 99. DPNI_RESET_STATISTICS Command Description

The following table describes the command fields.

Table 14. DPNI_RESET_STATISTICS Command Field Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x25E1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 170: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-60

7.3.27 DPNI_SET_LINK_CFG

Set the link configuration. This command is available both for physical interfaces (DPNI connected to a DPMAC) and for internal links (between a DPNI and another DPNI or DPDMUX, DPSW port).

DPSW and DPDMUX objects do not support Priority Flow Control and Asymmetric Flow Control.

In case of an internal link, MC updates the link state if needed and notifies both endpoints.

In case of a physical interface, MC may generate an interrupt to the DPMAC control software and request changes in link configuration, depending on port configuration.

Pause frames are enabled/disabled using the following logic for DPNI_LINK_OPT_<PAUSE/ASYM_PAUSE>:

Priority Flow Control (PFC) is enabled when one of the flag DPNI_LINK_OPT_<PAUSE/ASYM_PAUSE> is enabled together with flag PNI_LINK_OPT_PFC_PAUSE. Before activating PFC follow next steps:

1. Associate buffer pool to traffic classes using DPNI_SET_POOLS command

2. Perform QoS mappings using DPNI_ADD_QOS_ENTRY command

When buffer pool associated with a specific traffic class enters depletion state the DPNI will automatically generate PFC frames. The mask from PFC frame will contain all traffic classes associated with this buffer pool.

The flag DPNI_LINK_OPT_ASYM_PAUSE cannot be used for DPNI connections using recycle ports (i.e the DPNI is connected to another DPNI object). If the flag is enabled on such connection flow control will not work properly. The user must issue a DPNI_SET_LINK_CFG command with this flag cleared.

Use the command DPNI_GET_LINK_CFG to obtain current configuration.

PAUSE ASYM_PAUSERx pause frame

(DPNI stops sending when receives pause frames)

Tx pause frame(DPNI generates pause

frames)

0 0 Disabled Disabled

0 1 Disabled Enabled

1 0 Enabled Enabled

1 1 Enabled Disabled

Page 171: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-61

Command structure

Figure 100. DPNI_SET_LINK_CFG Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x21A1 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 –

63 32 31 0

0x10 – RATE

63 0

0x18 OPTIONS

63 0

0x20 ADVERTISING

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-31 RATE Rate in Mbps

0x18 0–63 OPTIONS Mask of available options; use ‘DPNI_LINK_OPT_<x>’ values

1 DPNI_LINK_OPT_AUTONEG Enable auto-negotiation

2 DPNI_LINK_OPT_HALF_DUPLEX Enable half-duplex mode

3 DPNI_LINK_OPT_PAUSE Enable pause frames

4 DPNI_LINK_OPT_ASYM_PAUSE Enable a-symmetric pause frames

5 DPNI_LINK_OPT_PFC_PAUSE Enable Priority Flow Control pause frames. To use the feature properly, use the DPNI_SET_POOLS command to associate DPBP objects for desired traffic classes.

0x20 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 172: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-62

7.3.28 DPNI_GET_LINK_CFG

Return the capabilities configured using command DPNI_CMDID_SET_LINK_CFG.

Command structure

Figure 101. DPNI_GET_LINK_CFG Command Description

The following table describes the command fields.

Table 15. DPNI_GET_LINK_CFG Command Field Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2781 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 -

63 0

0x18 -

63 0

0x20 -

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 173: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-63

Response structure

Figure 102. DPNI_GET_LINK_CFG Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2781 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 –

63 32 31 0

0x10 – RATE

63 0

0x18 OPTIONS

63 0

0x20 ADVERTISING

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-31 RATE Rate in Mbps

0x18 0–63 OPTIONS Mask of available options; use ‘DPNI_LINK_OPT_<x>’ values

1 DPNI_LINK_OPT_AUTONEG Enable auto-negotiation

2 DPNI_LINK_OPT_HALF_DUPLEX Enable half-duplex mode

3 DPNI_LINK_OPT_PAUSE Enable pause frames

4 DPNI_LINK_OPT_ASYM_PAUSE Enable a-symmetric pause frames

5 DPNI_LINK_OPT_PFC_PAUSE Enable Priority Flow Control pause frames. To use the feature properly, use the DPNI_SET_POOLS command to associate DPBP objects for desired traffic classes.

0x20 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 174: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-64

7.3.29 DPNI_SET_SINGLE_STEP_CFG

Command structure

Figure 103. DPNI_SET_SINGLE_STEP_CFG Command field description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2791 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 16 15 1 0

0x08 PEER_DELAY OFFSET

UP

DA

TE

EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Enable PTP single-step

1 UPDATE Option for UDP Checksum correction.

16–31 OFFSET Offset from the beginning of the frame

32-63 PEER_DELAY Peer delay

Page 175: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-65

7.3.30 DPNI_GET_SINGLE_STEP_CGF

Return the configuration for PTP single-step.

Command structure

Figure 104. DPNI_GET_SINGLE_STEP_CFG Command Description

The following table describes the command fields.

Table 16. DPNI_GET_SINGLE_STEP_CFG Command Field Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x27A1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 -

63 0

0x18 -

63 0

0x20 -

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 176: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-66

Response structure

Figure 105. DPNI_GET_SINGLE_STEP_CFG Response field description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x27A1 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 16 15 1 0

0x08 PEER_DELAY OFFSET

UP

DA

TE

EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Enable PTP single-step

1 UPDATE Option for UDP Checksum correction.

16–31 OFFSET Offset from the beginning of the frame

32-63 PEER_DELAY Peer delay

Page 177: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-67

7.3.31 DPNI_SET_PORT_CFG

This command configure setting into endpoint mac. The call will be successful only when DPNI object is connected to a DPMAC object. If DPNI is unconnected or the endpoint is not DPMAC the command will return error. The effect of this command will disappear when mac is disconnected: if DPNI is disconnected and connected again the configuration is lost and the command must be called again.

Command structure

Figure 106. DPNI_SET_PORT_CFG Command field description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x27B1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 0

0x08 --

LOO

PB

AC

K_

EN

FLAGS

63 0

0x10 —

63 0

0x18 —

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 FLAGS bit 0: DPNI_PORT_CFG_LOOPBACKBy setting this flag will enable the control for loopback mode through LOOPBACK_EN.

32 LOOPBACK_EN By setting it will activate the loopback only if the flag is set in FLAGS.

Page 178: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-68

7.3.32 DPNI_GET_PORT_CGF

Return the configuration for port.

Command structure

Figure 107. DPNI_GET_PORT_CFG Command Description

The following table describes the command fields.

Table 17. DPNI_GET_PORT_CFG Command Field Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x27C1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 -

63 0

0x18 -

63 0

0x20 -

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 179: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-69

Response structure

Figure 108. DPNI_GET_PORT_CFG Response field description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x27C1 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 16 15 1 0

0x08

LO

OP

BA

CK

_EN

--

63 0

0x10 —

63 0

0x18 —

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32 LOOPBACK_EN If returned value is 1, the loopback mode is enabled.

Page 180: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-70

7.3.33 DPNI_GET_LINK_STATE

Return the link state (either up or down).

Command structure

Figure 109. DPNI_GET_LINK_STATE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2151 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 181: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-71

Response structure

Figure 110. DPNI_GET_LINK_STATE Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2151 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 33 32 31 0

0x08 – STA

TE

_V

AL

I

UP

63 32 31 0

0x10 – RATE

63 0

0x18 OPTIONS

63 0

0x20 SUPPORTED

63 0

0x28 ADVERTISING

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32 UP Link state; '1' if link is up, '0' otherwise

33 STATE_VALID Ignore/Update the state of the link

0x10 0-31 RATE Rate in Mbps

0x18 OPTIONS Mask of available options; use ‘DPNI_LINK_OPT_<x>’ values

1 DPNI_LINK_OPT_AUTONEG Enable auto-negotiation

2 DPNI_LINK_OPT_HALF_DUPLEX Enable half-duplex mode

3 DPNI_LINK_OPT_PAUSE Enable pause frames

4 DPNI_LINK_OPT_ASYM_PAUSE Enable a-symmetric pause frames

0x20 0-63 SUPPORTED Speeds capability of the phy

0X28 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 182: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-72

7.3.34 DPNI_SET_TX_SHAPING

Set the transmit committed rate and excess rate shapers.

The shapers are token bucket based. The configurable parameters in this command, the rate limit, and maximum burst size are translated to values specific to the token bucket model.

There are two shapers supported: one represents the committed rate (CR) and the other the excess rate (ER). Each shaper has an individually configured rate limit and maximum burst size. The burst size is the maximum amount of data (in bytes) sent as a consecutive burst of back to back frames on the network.

It is possible to configure the shapers as coupled so that the overflow of CR tokens is added to the ER bucket.

During this transformation some approximations are done. In the token bucket model, there is also an increment resolution for the rate that depends on the pre-scaler and QBMAN frequency values. These will lead to actual rate values that differ from the rate given in the command by 1–2 Kbps.

Command structure

Figure 111. DPNI_SET_TX_SHAPING Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x21B2 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 16 15 0

0x08 — ER_MAX_BURST_SIZE CR_MAX_BURST_SIZE

63 32 31 0

0x10 ER_RATE_LIMIT CR_RATE_LIMIT

63 1 0

0x18 — CP

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 CR_MAX_BURST_SIZE Committed rate maximum burst size in bytes (up to 63487 bytes)

16–31 ER_MAX_BURST_SIZE Excess rate maximum burst size in bytes (up to 63487 bytes)

Page 183: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-73

All unspecified fields are reserved and must be cleared (set to zero)

0x10 0-31 CR_RATE_LIMIT Committed rate in Mbps

32–63 ER_RATE_LIMIT Excess rate in Mbps

0x18 0 CP Coupled shapers.0: The CR and ER shapers are independent1: The CR and ER shapers are coupled

Offset Bits Name Description

Page 184: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-74

7.3.35 DPNI_SET_MAX_FRAME_LENGTH

Set the maximum allowed length for received frames.

Command structure

Figure 112. DPNI_SET_MAX_FRAME_LENGTH Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2161 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 16 15 0

0x08 – MAX_FRAME_LENGTH

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 MAX_FRAME_LENGTH Maximum received frame length (in bytes); a frame is discarded if its length exceeds this value. The frame length set is without CRC because the length check is done at WRIOP level and the CRC is already removed at this stage.

Page 185: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-75

7.3.36 DPNI_GET_MAX_FRAME_LENGTH

Get the maximum allowed length for received frames.

Command structure

Figure 113. DPNI_GET_MAX_FRAME_LENGTH Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2171 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 186: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-76

Response structure

Figure 114. DPNI_GET_MAX_FRAME_LENGTH Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2171 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 16 15 0

0x08 – MAX_FRAME_LENGTH

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 MAX_FRAME_LENGTH Maximum received frame length (in bytes); a frame is discarded if its length exceeds this value.

Page 187: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-77

7.3.37 DPNI_SET_MULTICAST_PROMISC

This command is used to enable/disable multicast promiscuous mode. In this mode, all multicast MAC addresses are accepted by the interface, and no multicast filtering is done.

This command does not control Error frames. The Error frames are configured independently via DPNI_SET_ERRORS_BEHAVIOR command.

Command structure

Figure 115. DPNI_SET_MULTICAST_PROMISC Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2201 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN ‘0’: disable multicast promiscuous mode‘1’: enable multicast promiscuous mode (default)

Page 188: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-78

7.3.38 DPNI_GET_MULTICAST_PROMISC

Get status of multicast promiscuous mode.

Command structure

Figure 116. DPNI_GET_MULTICAST_PROMISC Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2211 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 189: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-79

Response structure

Figure 117. DPNI_GET_MULTICAST_PROMISC Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2211 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN ‘0’: multicast promiscuous mode is disabled‘1’: multicast promiscuous mode is enabled

Page 190: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-80

7.3.39 DPNI_SET_UNICAST_PROMISC

This command is used to enable/disable unicast promiscuous mode. In this mode, all unicast MAC addresses are accepted by the interface, and no unicast filtering is done.

This command does not control Error frames. The Error frames can be configured independently using DPNI_SET_ERRORS_BEHAVIOR command.

Command structure

Figure 118. DPNI_SET_UNICAST_PROMISC Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2221 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN ‘0’: disable unicast promiscuous mode (default)‘1’: enable unicast promiscuous mode

Page 191: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-81

7.3.40 DPNI_GET_UNICAST_PROMISC

Get status of unicast promiscuous mode.

Command structure

Figure 119. DPNI_GET_UNICAST_PROMISC Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2231 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 192: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-82

Response structure

Figure 120. DPNI_GET_UNICAST_PROMISC Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2231 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 1 0

0x08 – EN

63 0

0x10 -

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN ‘0’: multicast promiscuous mode is disabled‘1’: multicast promiscuous mode is enabled

Page 193: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-83

7.3.41 DPNI_SET_PRIMARY_MAC_ADDR

Set the primary MAC address of the interface.

The primary MAC address is initially set when the DPNI is created (see DPNI_CREATE command), and may be modified by this command. Each interface must have at least one primary MAC address defined, therefore this address can be modified but not removed. Additional MAC addresses can be assigned to the interface through MAC filtering commands.

Command structure

Figure 121. DPNI_SET_PRIMARY_MAC_ADDR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2241 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-63 MAC_ADDR[0-5] MAC address (6 bytes) to set as primary address.

Page 194: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-84

7.3.42 DPNI_GET_PRIMARY_MAC_ADDR

Get the primary MAC address.

Command structure

Figure 122. DPNI_GET_PRIMARY_MAC_ADDR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2251 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 195: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-85

Response structure

Figure 123. DPNI_GET_PRIMARY_MAC_ADDR Response Description

All unspecified fields are cleared.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2251 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 –

63 0

0x10 -

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-63 MAC_ADDR[0-5] MAC address (6 bytes) that serves as primary address.

Page 196: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-86

7.3.43 DPNI_ADD_MAC_ADDR

Add MAC address filter. A successful invocation of this command configures the interface to accept frames with the specified destination MAC address.

Command structure

Figure 124. DPNI_ADD_MAC_ADDR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2261 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 – FLAGS

63 0

0x10 – FQ_ID TC_ID

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 FLAGS 0x0: Lookup in the next classification table. FQ_ID and TC_ID are ignored for this option.0x1: DPNI_MAC_SET_QUEUE_ACTION - Frames will be enqueued in queue with index FQ_ID from Traffic Class TC_ID.

Obs: If the DPNI is in promiscuous mode then the option DPNI_MAC_SET_QUEUE_ACTION will not work.

16-63 MAC_ADDR[0-5] MAC address to add

0x10 0-7 TC_ID The traffic class to select in case a frame matches the specified lookup key and mask. Valid values are in the range of (0-7), but also limited by the number of traffic classes configured during the creation of the DPNI.

8-15 FQ_ID Frame queue ID. Used only when Flags is set to DPNI_MAC_SET_QUEUE_ACTION

Page 197: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-87

7.3.44 DPNI_REMOVE_MAC_ADDR

Remove MAC address filter. After a successful invocation of this command, frames with the specified MAC address are rejected by the interface (unless promiscuous mode is enabled).

Command structure

Figure 125. DPNI_REMOVE_MAC_ADDR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2271 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-63 ADDR[0-5] MAC address to remove

Page 198: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-88

7.3.45 DPNI_CLEAR_MAC_FILTERS

Clear all unicast and/or multicast MAC filters. Note that the primary MAC address is never cleared – it stays valid at all times.

Command structure

Figure 126. DPNI_CLEAR_MAC_FILTERS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2281 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 –

MU

LTIC

AS

UN

ICA

ST

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 UNICAST Set to '1' to clear unicast addresses

1 MULTICAST Set to '1' to clear multicast addresses

Page 199: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-89

7.3.46 DPNI_GET_PORT_MAC_ADDRESS

Returns the MAC address associated with the physical port, if the DPNI is connected to a DPMAC directly associated with one of the physical ports. It is recommended to call this function when initializing a DPNI and, if the returned MAC address is not 0, use it as DPNI primary address.

If the DPNI is not connected to a DPMAC object (i.e DPNI is connected to DPNI, DPDMUX, or DPSW object) the command will return zero for mac address. Use DPRC_GET_CONNECTION to obtain the type of the object connected at the remote end.

Port MAC addresses are configured in port section of the DPC.

Command structure

Figure 127. DPNI_GET_PORT_MAC_ADDRESS Command Description

The following table describes the command fields.

Table 18. DPNI_GET_PORT_MAC_ADDRESS Command Command Field Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2631 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 200: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-90

Response structure

Figure 128. DPNI_GET_PORT_MAC_ADDRESS Response Description

Table 19. DPNI_GET_PORT_MAC_ADDRESS Response Field Descriptions

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2631 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 52 51 48 47 38 37 32 31 24 23 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 —

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16–63 MAC_ADDR[0-5] MAC address of the physical port. If the DPNI is not connected to the physical port or an address has not been configured on the port these fields will be reset.

Page 201: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-91

7.3.47 DPNI_ENABLE_VLAN_FILTER

Enable/disable VLAN filtering mode.

Command structure

Figure 129. DPNI_ENABLE_VLAN_FILTER Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2301 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 1 0

0x08 EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN ‘0’: disable VLAN filtering‘1’: enable VLAN filtering

Page 202: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-92

7.3.48 DPNI_ADD_VLAN_ID

Add VLAN ID filter. A successful invocation of this command configures the interface to accept frames with the specified VLAN ID (assuming they are not dropped by the MAC filters).

Command structure

Figure 130. DPNI_ADD_VLAN_ID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2311 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 48 47 32 31 24 23 16 15 8 7 0

0x08 – VLAN_ID - FLOW_ID TC_ID FLAGS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 FLAGS 0x0: Lookup in the next classification table. FLOW_ID and TC_ID are ignored for this option.0x1: DPNI_VLAN_SET_QUEUE_ACTION - Frames will be enqueued in queue with index FLOW_ID from Traffic Class TC_ID.

8-15 TC_ID The traffic class to select in case a frame matches the specified lookup key and mask. Valid values are in the range of (0-7), but also limited by the number of traffic classes configured during the creation of the DPNI.

16-23 FLOW_ID Flow ID. Used only when FLAGS is set to DPNI_VLAN_SET_QUEUE_ACTION

32-47 VLAN_ID VLAN ID to add

Page 203: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-93

7.3.49 DPNI_REMOVE_VLAN_ID

Remove VLAN filter. After a successful invocation of this command, frames with the specified VLAN ID are rejected by the interface.

Command structure

Figure 131. DPNI_REMOVE_VLAN_ID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2321 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 48 47 32 31 0

0x08 – VLAN_ID –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-47 VLAN_ID VLAN ID to remove

Page 204: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-94

7.3.50 DPNI_CLEAR_VLAN_FILTERS

Clear all VLAN filters of the interface.

Command structure

Figure 132. DPNI_CLEAR_VLAN_FILTERS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2331 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 205: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-95

7.3.51 DPNI_SET_TX_PRIORITIES

This command sets the transmission priorities for DPNI TCs and the scheduling mode for each of them. There are two types of scheduling mode supported: strict and weighted. These two can be combined. You can have a part of the TCs with strict priority and the other part grouped together and having a weighted bandwidth fair scheduling. For the strict priority TCs, a TC with an id lower than another TC id has a higher priority. The weighted group has a lower priority than the strict priority TCs.

Weighted bandwidth fair scheduling (WBFS), is used to schedule packets from TCs within a priority group such that each gets a fair amount of bandwidth made available to that priority group. In our case, all the TCs with scheduling mode set to weighted are in the same group. Bandwidth (TX opportunities) that is made available to a priority group is fair shared among the TCs of that group in proportion to a “weight value configured.” For example, if TC X has a weight of 500 and TC Y has a weight of 100, TC X has a fair share that is 5 times the fair share of TC Y.

Command structure

Figure 133. DPNI_SET_TX_PRIORITIES Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2502 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 23 16 15 0

0x08 PRIO_GRP_B

PRIO_GRP_A FLAGS

63 32 31 28 27 24 23 20 19 16 15 12 11 8 7 4 3 0

0x10 - SCH_

MODE7

SCH_

MODE6

SCH_

MODE5

SCH_

MODE4

SCH_

MODE3

SCH_

MODE2

SCH_

MODE1

SCH_

MODE0

63 48 47 32 31 16 15 0

0x18 -

63 48 47 32 31 16 15 0

0x20 DELTA_BW3 DELTA_BW2 DELTA_BW1 DELTA_BW0

63 0

0x28 DELTA_BW7 DELTA_BW6 DELTA_BW5 DELTA_BW4

63 0

0x30

63 0

0x38

Offset Bits Name Description

0x00 0-63 Command Header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FLAGS Not used

0x08 16-23 PRIO_GRP_A Group A priority

0x08 24-32 PRIO_GRP_B Group B priority

Page 206: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-96

All unspecified fields are reserved and must be cleared (set to zero)

0x10 0-3 SCH_MODE_0 Scheduling mode set for the associated traffic class. Can be:0: DPNI_TX_SCHED_STRICT_PRIORITY - lower index TCs always take precedence over higher index TCs,1: DPNI_TX_SCHED_WEIGHTED_A - there is no strict priority relation, BW is divided proportional to DELTA_BW configuration. This TC will be placed in priority group A2: DPNI_TX_SCHED_WEIGHTED_B - there is no strict priority relation, BW is divided proportional to DELTA_BW configuration. This TC will be placed in priority group BThe two modes can be mixed. Strict priority TCs always take precedence over weighted TCs regardless of their index. After consuming all Tx traffic for all strict priority TCs, the weighted TCs are scheduled based on their configured bandwidth.The default configuration is strict priority on all TCs.

0x10 4-7 SCH_MODE_1

0x10 8-11 SCH_MODE_2

0x10 12-15 SCH_MODE_3

0x10 16-19 SCH_MODE_4

0x10 20-23 SCH_MODE_5

0x10 24-27 SCH_MODE_6

0x10 28-31 SCH_MODE_7

0x20 0-15 DELTA_BW0 Bandwidth configuration for each traffic class.This field is only relevant if associated SCH_MODE is 1 (DPNI_TX_SCHED_WEIGHTED_A or DPNI_TX_SCHED_WEIGHTED_B).Accepted values are in the range 100 to 24800. Each value represents the weight for the traffic class. The bandwidth of the entire group is divided between the traffic classes in it and is proportional to this weight.

0x20 15-31 DELTA_BW1

0x20 32-47 DELTA_BW2

0x20 48-63 DELTA_BW3

0x28 0-15 DELTA_BW4

0x28 15-31 DELTA_BW5

0x28 31-47 DELTA_BW6

0x28 48-63 DELTA_BW7

Offset Bits Name Description

Page 207: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-97

7.3.52 DPNI_SET_RX_TC_DIST

Set the receive-side traffic class configuration.

This command may be used to configure any traffic class out of the maximum number of traffic classes selected during the creation of the DPNI. It determines the distribution mode and size for the traffic class; it also specifies the distribution key, by specifying up to eight configurable extractions from the frame’s headers and/or payload. The maximum size for the distribution key is limited by FS_KEY_SIZE, returned by the DPNI_GET_ATTRIBUTES command..

Distribution functionality is valid only if DPNI NUM_QUEUES is greater than one; otherwise, each traffic class has exactly (and only) one Rx queue.

Command structure

Figure 134. DPNI_SET_RX_TC_DIST Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2352 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 48 47 46 45 32 31 28 27 24 23 16 15 0

0x08 DEFAULT_FLOW_ID

KE

EP

_HA

SH

_K

EY

KE

EP

_E

NT

RIE

S

MIS

S_

AC

TIO

N

DIS

T_M

OD

E

TC_ID DIST_SIZE

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 KEY_CFG_IOVA

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 208: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-98

All unspecified fields are reserved and must be cleared (set to zero)

0x08 0-15 DIST_SIZE Set the distribution size; supported values: 1,2,3,4,6,7,8.Note that high values may be unsupported due to limited queue resources in the system or by the maximum distribution size set on DPNI_CREATE.

16-23 TC_ID Traffic class to configure; valid values are in the range of (0-7), but also limited by the maximum number of traffic classes configured during the creation of the DPNI.

24-27 DIST_MODE Distribution mode:0: DPNI_DIST_MODE_NONE – no distribution1: DPNI_DIST_MODE_HASH – use hash distribution; only supported for DPNIs with NUM_QUEUES greater than 1.2: DPNI_DIST_MODE_FS – use explicit flow steering; not supported for DPNIs created with the DPNI_OPT_NO_FS option.

28-31 MISS_ACTION For DIST_MODE = DPNI_DIST_MODE_FS: determine the fall-back action for no-match scenario.0: DPNI_FS_MISS_DROP – in case of no-match, drop the frame1: DPNI_FS_MISS_EXPLICIT_FLOWID – in case of no-match, use the flow ID specified in DEFAULT_FLOW_ID2: DPNI_FS_MISS_HASH – in case of no-match, distribute using hash value

46 KEEP_ENTRIES If set to one the command will not delete the flow steering entries that were already added using command DPNI_ADD_FS_ENTRY. If set to zero all flow steering entries will be deleted before changing the key composition rule.Can be used only when DIST_MODE is set to DPNI_DIST_MODE_FS. Any other mode will clear all entries regardless of this flag value.Use this option with caution: the command will change key composition rule and will leave in place old flow steering entries. If old entries are not compatible with the new key composition the traffic will not be distributed as expected.

47 KEEP_HASH_KEY This field can be used to set up different key composition rules for hashing and flow steering (FS).To set up the two keys, first execute DPNI_SET_RX_TC_DIST with DIST_MODE set to DPNI_DIST_MODE_HASH and the hash key configuration, followed by a 2nd execution of DPNI_SET_RX_TC_DIST with DIST_MODE set to DPNI_DIST_MODE_FS, the FS key configuration and KEEP_HASH_KEY set to 1.This field is only relevant if DIST_MODE is DPNI_DIST_MODE_FS. It is ignored in all other cases.

48-63 DEFAULT_FLOW_ID For DIST_MODE = DPNI_DIST_MODE_FS and MISS_ACTION = DPNI_FS_MISS_EXPLICIT_FLOWID: specifies the default queue ID in case of no-match scenario.

0x38 0-63 KEY_CFG_IOVA I/O virtual address of zeroed 256 bytes of DMA-able memory. This extended buffer must be programmed as specified in the “Extension structure” section below, to hold the distribution key configuration.Ignored if DIST_MODE = DPNI_DIST_MODE_NONE.

Offset Bits Name Description

Page 209: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-99

Extension structure

Offset from Management Command Portal base Read-Write Access

63 8 7 0

0x00 – NUM_EXTRACTS

63 32 31 24 23 16 15 12 11 8 7 0

0x08 FIELD OFFSET SIZE –

EF

H_

TY

PE

PROT

63 36 35 32 31 24 23 16 15 8 7 0

0x10 –

EX

TR

AC

T_

TY

PE

NUM_OF_BYTE_MASKS

NUM_OF_REPEATS

CONSTANT HDR_INDEX

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 MASK3_OFFSET MASK3_MASK MASK2_OFFSET MASK2_MASK MASK1_OFFSET MASK1_MASK MASK0_OFFSET MASK0_MASK

0x20 - 0xC7

Repeating (9 more sections) of the extraction fields in offsets (0x08 - 0x1F) above.NUM_EXTRACTS determines the number of valid extraction sections up to the 10 possible.

Figure 135. DPNI_SET_RX_TC_DIST Extension Description

Offset Bits Name Description

0x00 0-7 NUM_EXTRACTS Number of valid extractions out of the 10 possible; determines how many of the EXTRACT0..9 below are valid. Value of 0 is invalid.

Page 210: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-100

0x08 0-7 EXTRACT0 PROT For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: specify any of the supported headers:

8-11 EFH_TYPE For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: specify the type of extraction from header (and determines validity of the next 3 parameters):0: DPKG_FROM_HDR – SIZE and OFFSET are valid; SIZE bytes are extracted from OFFSET relative to the start of the specified header (PROT).1: DPKG_FROM_FIELD – FIELD, SIZE and OFFSET are valid; SIZE bytes are extracted from OFFSET relative to the start of the specified FIELD.2: DPKG_FULL_FIELD – only FIELD is valid; specified FIELD is fully extracted.

16-23 SIZE Size (in bytes) of the extraction

42-31 OFFSET Byte offset of starting point of the extraction

32-63 FIELD For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: standard field selection for the extraction

0x10 0-7 HDR_INDEX For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: indicates the PROT header index for protocols that may appear more than once within a frame (examples: VLAN, MPLS, IP).0x00 indicates the most outer (first) header.0xFF indicates the most inner (last) header.

8-15 CONSTANT For EXTRACT_TYPE = DPKG_EXTRACT_CONSTANT: the constant value to extract (one byte)

16-23 NUM_OF_REPEATS For EXTRACT_TYPE = DPKG_EXTRACT_CONSTANT: number of times to repeat the extraction of the constant value (values are placed in the key in adjacent manner)

24-31 NUM_OF_BYTE_MASKS Determines the number of valid entries of MASKn_MASK and MASKn_OFFSET.Up to four byte masks are available to apply on the extracted content (each mask is 1 byte in size).Note, that byte masks are valid for any selection of EXTRACT_TYPE.

32-35 EXTRACT_TYPE Determines the type of extraction:

0: DPKG_EXTRACT_FROM_HDR – extract from the frame header; the following fields are considered valid in this case:PROT, EFH_TYPE, SIZE, OFFSET, FIELD, HDR_INDEX

1: DPKG_EXTRACT_FROM_DATA – extract from data not in the header; the following fields are considered valid in this case:SIZE, OFFSET

2: DPKG_EXTRACT_CONSTANT – extract user-selected constant values; the following fields are considered valid in this case:CONSTANT, NUM_OF_REPEATS

0x18 0-7 MASK0_MASK Byte mask to apply on the extracted content at offset MASK0_OFFSET

8-15 MASK0_OFFSET Offset (relative to the first byte of extracted content) for applying MASK0_MASK

16-23 MASK1_MASK Byte mask to apply on the extracted content at offset MASK1_OFFSET

24-31 MASK1_OFFSET Offset (relative to the first byte of extracted content) for applying MASK1_MASK

32-39 MASK2_MASK Byte mask to apply on the extracted content at offset MASK2_OFFSET

40-47 MASK2_OFFSET Offset (relative to the first byte of extracted content) for applying MASK2_MASK

48-55 MASK3_MASK Byte mask to apply on the extracted content at offset MASK3_OFFSET

56-63 MASK3_OFFSET Offset (relative to the first byte of extracted content) for applying MASK3_MASK

0x20 - 0x37

EXTRACT1 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 2

0x38 - 0x4F

EXTRACT2 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 3

Figure 135. DPNI_SET_RX_TC_DIST Extension Description

Offset Bits Name Description

Page 211: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-101

All unspecified fields are reserved and must be cleared (set to zero)

0x50 - 0x67

EXTRACT3 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 4

0x68 - 0x7F

EXTRACT4 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 5

0x80 - 0x97

EXTRACT5 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 6

0x98 - 0xAF

EXTRACT6 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 7

0xB0 - 0xC7

EXTRACT7 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 8

0xC8 - 0xDF

EXTRACT8 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 9

0xE0 - 0xF7

EXTRACT9 Similar to EXTRACT0; valid if NUM_EXTRACTS = 10

Figure 135. DPNI_SET_RX_TC_DIST Extension Description

Offset Bits Name Description

Page 212: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-102

7.3.53 DPNI_SET_RX_TC_POLICING

Set Rx traffic class policing configuration

Command structure

Figure 136. DPNI_SET_RX_TC_POLICING Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x23E1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 24 23 16 15 12 11 8 7 4 3 0

0x08 OPTIONS – TC_ID –

UNITS

DE

FA

ULT

_C

OL

OR

MODE

63 32 31 0

0x10 CBS CIR

63 32 31 0

0x18 EBS EIR

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 0-3 MODE Policer mode.Supported values:0: None, policer is disabled1: Pass-through2: RFC26983: RFC4115

4-7 DEFAULT_COLOR For pass-through mode the policer re-colors with this color any incoming packets. For color-aware non-pass-through mode: policer re-colors with this color all packets with FD[DROPP]>2.Supported values:0: Green1: Yellow2: Red

8-11 UNITS Bytes or Packets.Supported values:0: bytes1: packets

16-23 TC_ID Traffic class ID

32-63 OPTIONS Any combination of the following bits:1: Color aware2: Discard red: packets with color red will be discarded automatically.

Page 213: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-103

All unspecified fields are reserved and must be cleared (set to zero)

0x10 0-31 CIR Committed information rate (CIR) in Kbps or packets/second. Traffic below this rate will be colored as green

32-63 CBS Committed burst size (CBS) in bytes or packets

0x18 0-31 EIR RFC-2696: peak Information rate in Kbps or packets/second. Traffic exceeding this rate will be colored as redRFC-4115: excess information rate in Kbps or packets/second.

32-63 EBS RFC-2696: peak burst size.RFC-4115: excess burst size in bytes or packets.

Offset Bits Name Description

Page 214: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-104

7.3.54 DPNI_GET_RX_TC_POLICING

Get Rx traffic class policing configuration

Command structure

Figure 137. DPNI_GET_RX_TC_POLICING Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2511 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 24 23 16 15 0

0x08 – TC_ID –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-23 TC_ID Traffic class ID

Page 215: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-105

Response structure

Figure 138. DPNI_GET_RX_TC_POLICING Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2511 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 12 11 8 7 4 3 0

0x08 OPTIONS –

UNITS

DE

FA

ULT

_C

OLO

R

MODE

63 32 31 0

0x10 CBS CIR

63 32 31 0

0x18 EBS EIR

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-3 MODE Policer mode.Supported values:0: None, policer is disabled1: Pass-through2: RFC26983: RFC4115

4-7 DEFAULT_COLOR For pass-through mode the policer re-colors with this color any incoming packets. For color-aware non-pass-through mode: policer re-colors with this color all packets with FD[DROPP]>2.Supported values:0: Green1: Yellow2: Red

8-11 UNITS Bytes or Packets.Supported values:0: bytes1: packets

32-63 OPTIONS Any combination of the following bits:1: Color aware2: Discard red

0x10 0-31 CIR Committed information rate (CIR) in Kbps or packets/second

32-63 CBS Committed burst size (CBS) in bytes or packets

Page 216: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-106

All unspecified fields are reserved and must be cleared (set to zero)

0x18 0-31 EIR Peak information rate (PIR, rfc2698) in Kbps or packets/second Excess information rate (EIR, rfc4115) in Kbps or packets/second

32-63 EBS Peak burst size (PBS, rfc2698) in bytes or packetsExcess burst size (EBS, rfc4115) in bytes or packets

Offset Bits Name Description

Page 217: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-107

7.3.55 DPNI_SET_TAILDROP

Configure taildrop on a congestion group. Taildrop causes traffic to be discarded once the fill threshold is reached on these queues.

Command structure

Figure 139. DPNI_SET_TAILDROP Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2621 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 32 31 24 23 16 15 8 7 0

0x08 — INDEX TC QUEUE_TYPE CONGESTION_POINT

63 32 31 24 23 16 15 1 0

0x10 THRESHOLD — UNITS OAL E

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 0–7 CONGESTION_POINT Select the way in witch you identify the congestion group on witch you set taildrop:0: a queue (CG associate with this queue)1: a TC (all CG that are associate in this traffic class) If the DPNI is create with DPNI_OPT_CUSTOM_CG2: a congestion group (id of the CG)

8–15 QUEUE_TYPE Type of queue this configuration applies to:0: DPNI_QUEUE_RX—Rx queue,1: DPNI_QUEUE_TX—Tx queue.

Note that only CONGESTION_POINT value 1 is supported for Tx queues.

16–23 TC Traffic class ID. Valid only if CONGESTION_POINT is 2.

24–31 INDEX/CGID If CONGESTION_POINT is 1:Selects a specific queue out of the set of queues in a TC. Accepted values are in the range 0 to NUM_QUEUES – 1.If CONGESTION_POINT is 3:The congestion group id.

Page 218: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-108

All unspecified fields are reserved and must be cleared (set to zero)

0x10 0 E Enable the taildrop:0: Taildrop is disabled1: Taildrop is enabled

1-12 OAL Overhead accounting lengthThis is a 12-bit, 2's complement value (range -2048 to +2047) representing a fixedper-frame overhead to be added to the actual length of a frame when performingcertain calculations and/or threshold comparisons using frame length.

16–23 UNITS Units used by THRESHOLD:0: Threshold is in bytes1: Threshold is in framesNote that frame threshold is not supported for CONGESTION_POINT = 0. It is only supported at the TC level.

32–63 THRESHOLD Taildrop threshold, using the specified UNITS.

Offset Bits Name Description

Page 219: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-109

7.3.56 DPNI_GET_TAILDROP

Retrieve taildrop on queues and/or on TCs.

Command structure

Figure 140. DPNI_GET_TAILDROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2611 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 24 23 16 15 8 7 0

0x08 — INDEX TC QUEUE_TYPE CONGESTION_POINT

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 0–7 CONGESTION_POINT Selects either a queue or all queues associated with a TC. Supported values are:0: a queue1: a TC2: congestion group

8–15 QUEUE_TYPE Type of queue this configuration applies to:0: DPNI_QUEUE_RX—Rx queue,1: DPNI_QUEUE_TX—Tx queue.

Note that only CONGESTION_POINT value 1 is supported for Tx queues.

16–23 TC Traffic class ID.

24–31 INDEX Selects a specific queue out of the set of queues in a TC. Accepted values are in the range 0 to NUM_QUEUES – 1.This field is ignored for CONGESTION_POINT = 1.CGID is provided in this field if CONGESTION_POINT = 2 and DPNI_OPT_CUSTOM_CG option is set in DPNI_CREATE command.

Page 220: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-110

Response structure

Figure 141. DPNI_GET_TAILDROP Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2611 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 —

63 32 31 24 23 16 15 1 0

0x10 THRESHOLD — UNITS OAL E

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0 E Taildrop enabled:0: Taildrop is disabled1: Taildrop is enabled

1-12 OAL Overhead accounting lengthThis is a 12-bit, 2's complement value (range -2048 to +2047) representing a fixed per-frame overhead to be added to the actual length of a frame when performing certain calculations and/or threshold comparisons using frame length.

16–23 UNITS Units used by THRESHOLD:0: Threshold is in bytes1: Threshold is in frames

32–63 THRESHOLD Taildrop threshold, using the specified UNITS.

Page 221: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-111

7.3.57 DPNI_SET_EARLY_DROP

Set early drop policy for Tx and Rx traffic classes.

Command structure

Figure 142. DPNI_SET_EARLY_DROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2692 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 16 15 8 7 0

0x08 – TC_ID QUEUE_TYPE

63 0

0x10 EARLY_DROP_IOVA

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 QUEUE_TYPE Type of queue this configuration applies to:0: DPNI_QUEUE_RX - Rx queue,1: DPNI_QUEUE_TX - Tx queue.

8–15 TC_ID Traffic class ID

0x10 0-63 EARLY_DROP_IOVA I/O virtual address of 64 bytes;Must be cacheline-aligned and DMA-able memoryThis address points to an extended configuration structure. Please see the structure description below.

Page 222: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-112

Extension structure

Figure 143. DPNI_SET_EARLY_DROP Extension Description

Offset from Management Command Portal base Read-Write Access

63 32 31 4 3 - 2 1 -0

0x00 –

UN

ITS

MO

DE

63 8 7 0

0x08 — GREEN_DROP_PROBABILITY

63 0

0x10 GREEN_MAX_THRESHOLD

63 0

0x18 GREEN_MIN_THRESHOLD

63 0

0x20 —

63 8 7 0

0x28 — YELLOW_DROP_PROBABILITY

63 0

0x30 YELLOW_MAX_THRESHOLD

63 0

0x38 YELLOW_MIN_THRESHOLD

63 0

0x40 —

63 8 7 0

0x48 — RED_DROP_PROBABILITY

63 0

0x50 RED_MAX_THRESHOLD

63 0

0x58 RED_MIN_THRESHOLD

Offset Bits Name Description

0x00 0–1 MODE Drop mode

2–3 UNITS Units type

0x08 0–7 GREEN_DROP_PROBABILITY Probability of green WRED that a packet will be discarded (1-100, associated with the max_threshold).

0x10 0-63 GREEN_MAX_THRESHOLD Maximum threshold of green WRED that packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x18 0-63 GREEN_MIN_THRESHOLD Minimum threshold of green WRED that packets may be discarded at

0x28 0-7 YELLOW_DROP_PROBABILITY Probability of yellow WRED that a packet will be discarded (1-100, associated with the max_threshold).

0x30 0-63 YELLOW_MAX_THRESHOLD Maximum threshold of yellow WRED that packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x38 0-63 YELLOW_MIN_THRESHOLD Minimum threshold of yellow WRED that packets may be discarded at

0x48 0-7 RED_DROP_PROBABILITY Probability of red WRED that a packet will be discarded (1-100, associated with the max_threshold).

Page 223: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-113

All unspecified fields are reserved and must be cleared (set to zero)

0x50 0-63 RED_MAX_THRESHOLD Maximum threshold of red WRED that packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x58 0-63 RED_MIN_THRESHOLD Minimum threshold of red WRED that packets may be discarded at

Offset Bits Name Description

Page 224: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-114

7.3.58 DPNI_GET_EARLY_DROP

Get early drop policy for Tx and Rx traffic classes

Command structure

Figure 144. DPNI_GET_EARLY_DROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26A2 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 16 15 8 7 0

0x08 – TC_ID QUEUE_TYPE

63 0

0x10 EARLY_DROP_IOVA

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 QUEUE_TYPE Type of queue this configuration applies to:0: DPNI_QUEUE_RX - Rx queue,1: DPNI_QUEUE_TX - Tx queue.

8–15 TC_ID Traffic class ID

0x10 0-63 EARLY_DROP_IOVA I/O virtual address of 64 bytes;Must be cache-line aligned and DMA-able memoryAn extended configuration structure is returned at this address, please refer to the extended structure description below.

Page 225: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-115

Extension structure

Figure 145. DPNI_GET_EARLY_DROP Extension Description

Offset from Management Command Portal base Read-Write Access

63 32 31 4 3 - 2 1 -0

0x00 –

UN

ITS

MO

DE

63 8 7 0

0x08 — GREEN_DROP_PROBABILITY

63 0

0x10 GREEN_MAX_THRESHOLD

63 0

0x18 GREEN_MIN_THRESHOLD

63 0

0x20 —

63 8 7 0

0x28 — YELLOW_DROP_PROBABILITY

63 0

0x30 YELLOW_MAX_THRESHOLD

63 0

0x38 YELLOW_MIN_THRESHOLD

63 0

0x40 —

63 8 7 0

0x48 — RED_DROP_PROBABILITY

63 0

0x50 RED_MAX_THRESHOLD

63 0

0x58 RED_MIN_THRESHOLD

Offset Bits Name Description

0x00 0-1 MODE Drop mode

2-3 UNITS Units type

0x08 0-7 GREEN_DROP_PROBABILITY Probability of green WRED that a packet will be discarded (1-100, associated with the MAX_THRESHOLD).

0x10 0-63 GREEN_MAX_THRESHOLD Maximum threshold of green WRED that packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x18 0-63 GREEN_MIN_THRESHOLD Minimum threshold of green WRED that packets may be discarded at

0x28 0-7 YELLOW_DROP_PROBABILITY Probability of yellow WRED that a packet will be discarded (1-100, associated with the MAX_THRESHOLD).

0x30 0-63 YELLOW_MAX_THRESHOLD Maximum threshold of yellow WRED that packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x38 0-63 YELLOW_MIN_THRESHOLD Minimum threshold of yellow WRED that packets may be discarded at

0x48 0-7 RED_DROP_PROBABILITY Probability of red WRED that a packet will be discarded (1-100, associated with the MAX_THRESHOLD).

Page 226: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-116

All unspecified fields are reserved and must be cleared (set to zero)

0x50 0-63 RED_MAX_THRESHOLD Maximum threshold of red WRED that packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x58 0-63 RED_MIN_THRESHOLD Minimum threshold of red WRED that packets may be discarded at

Offset Bits Name Description

Page 227: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-117

7.3.59 DPNI_SET_QUEUE

Set queue configuration, including binding of the queue to a DPIO or DPCON object to receive notifications and traffic on the CPU.

Note that Tx FQIDs are 0 as long as the DPNI object is not connected.

Command structure

Figure 146. DPNI_SET_QUEUE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2601 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 24 23 16 15 8 7 0

0x08 — OPTIONS INDEX TC QUEUE_TYPE

63 62 61 60 59 56 55 48 47 32 31 0

0x10 HA SC — DEST_TYPE

PRIORITY

— DEST_ID

63 0

0x18 FLC

63 0

0x20 USER_CTX

63 8 7 0

0x28 — CGID

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–7 QUEUE_TYPE Type of queue to set configuration to:0: DPNI_QUEUE_RX - Rx queue1: DPNI_QUEUE_TX - Tx queue (accepted, but no configuration change can be applied to Tx queues)2: DPNI_QUEUE_TX_CONFIRM - Tx confirmation queue3: DPNI_QUEUE_RX_ERR – Rx error queue

8–15 TC Traffic class. Ignored for QUEUE_TYPE 2 and 3 (Tx confirmation and Rx error queues).

16–23 INDEX Selects a specific queue out of the set of queues in a TC. Accepted values are in range 0 to NUM_QUEUES – 1.This field is ignored for QUEUE_TYPE 3 (Rx error queue). For access to the shared Tx confirmation queue (for Tx confirmation mode 1), this field must be set to 0xff

24–31 OPTIONS Option bits selecting specific configuration options to apply:Bit 0: DPNI_QUEUE_OPT_USER_CTX – User defined data presented in dequeue information for frames from this queue,Bit 1: DPNI_QUEUE_OPT_DEST – Set queue destination configuration,Bit 2: DPNI_QUEUE_OPT_FLC – Set FD[FLC] configuration for traffic on this queue,Bit 3: DPNI_QUEUE_OPT_HOLD_ACTIVE – Set the queue hold active mode.Bit 6: DPNI_QUEUE_OPT_SET_CGID - Pair the congestion group ID(CGID) with this queue.Bit 7: DPNI_QUEUE_OPT_CLEAR_CGID - Clear the congestion group ID(CGID) associated with this queue.All these options are valid for QUEUE_TYPE 0, 2 and 3 (all except Tx queues).

Page 228: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-118

All unspecified fields are reserved and must be cleared (set to zero)

0x10 0–31 DEST_ID The ID of a DPIO or DPCON object, depending on DEST_TYPE value.This field is ignored for DEST_TYPE set to 0 (DPNI_DEST_NONE).

48–55 PRIORITY Sets the priority in the destination DPCON or DPIO for dequeued traffic. Supported values are 0 to # of priorities in destination DPCON or DPIO - 1.This field is ignored for DEST_TYPE set to 0 (DPNI_DEST_NONE), except if this DPNI is in AIOP context. In that case the DPNI_SET_QUEUE can be used to override the default assigned priority of the FQ from the TC - see Table 7-1., “Traffic class mapping from 7.2.5, “Ingress QoS.

56–59 DEST_TYPE Type of destination for dequeued traffic. Supported values:0: DPNI_DEST_NONE – Frames are not delivered through DPIO or DPCON. This mode cannot be selected after associating the queue with a DPIO or DPCON, unless the DPNI is reset.1: DPNI_DEST_DPIO – frames are delivered to a DPIO,2: DPNI_DEST_DPCON – frames are delivered to a DPCON.

62 SC Stash control – if set, lowest 6 bits of FLC are used for stash control. Please check description of FD structure for more information.

63 HA Hold active – if set, this flag prevents the queue from being rescheduled between DPIOs while it carries traffic and is active on one DPIO. Can help reduce reordering if one queue is services on multiple CPUs, but the queue is also more likely to be trapped in one DPIO, especially when congested.

0x18 0–63 FLC Set default FLC value for traffic dequeued from this queue. Please check description of FD structure for more information.Note that FLC values set using DPNI_ADD_FS_ENTRY, if any, take precedence over values per queue.

0x20 0–63 USER_CTX User defined data, presented along with the frames being dequeued from this queue.

0x28 0-7 CGID Congestion group ID

Offset Bits Name Description

Page 229: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-119

7.3.60 DPNI_GET_QUEUE

Get queue configuration and attributes, including queue IDs usable to enqueue/dequeuer traffic to/from the queue.

Command structure

Figure 147. DPNI_GET_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x25F1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 24 23 16 15 8 7 0

0x08 — INDEX TC QUEUE_TYPE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–7 QUEUE_TYPE Type of queue to set configuration to:0: DPNI_QUEUE_RX - Rx queue1: DPNI_QUEUE_TX - Tx queue2: DPNI_QUEUE_TX_CONFIRM - Tx confirmation queue3: DPNI_QUEUE_RX_ERR – Rx error queue

8–15 TC Traffic class. Ignored for QUEUE_TYPE 2 and 3 (Tx confirmation and Rx error queues).

16–23 INDEX Selects a specific queue out of the set of queues in a TC. Accepted values are in range 0 to NUM_QUEUES – 1.This field is ignored for QUEUE_TYPE 3 (Rx error queue). For access to the shared Tx confirmation queue (for Tx confirmation mode 1), this field must be set to 0xff

Page 230: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-120

Response structure

Figure 148. DPNI_GET_QUEUE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x25F1 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 –

63 62 61 60 59 56 55 48 47 32 31 0

0x10 HA SC

CG

ID_V

AL

ID

DE

ST

_T

YP

E

PR

IOR

ITY

— DEST_ID

63 0

0x18 FLC

63 0

0x20 USER_CTX

63 48 47 32 31 0

0x28 – QDBIN FQID

63 8 7 0

0x30 – CGID

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0–31 DEST_ID The ID of a DPIO or DPCON object, depending on DEST_TYPE value.This field is ignored for DEST_TYPE set to 0 (DPNI_DEST_NONE).

48–55 PRIORITY Sets the priority in the destination DPCON or DPIO for dequeued traffic. Supported values are 0-# of priorities in destination DPCON or DPIO - 1.This field is ignored for DEST_TYPE set to 0 (DPNI_DEST_NONE).

56–59 DEST_TYPE Type of destination for dequeued traffic. Supported values:0: DPNI_DEST_NONE – Frames are not delivered through DPIO or DPCON. This mode cannot be selected after associating the queue with a DPIO or DPCON, unless the DPNI is reset.1: DPNI_DEST_DPIO – frames are delivered to a DPIO,2: DPNI_DEST_DPCON – frames are delivered to a DPCON.

61 CGID_VALID Congestion group ID is valid.

62 SC Stash control – if set, lowest 6 bits of FLC are used for stash control. Please check description of FD structure for more information.

63 HA Hold active – if set, this flag prevents the queue from being rescheduled between DPIOs while it carries traffic and is active on one DPIO. Can help reduce reordering if one queue is services on multiple CPUs, but the queue is also more likely to be trapped in one DPIO, especially when congested.

0x18 0–63 FLC Set default FLC value for traffic dequeued from this queue. Please check description of FD structure for more information.Note that FLC values set using DPNI_ADD_FS_ENTRY, if any, take precedence over values per queue.

0x20 0–63 USER_CTX User defined data, presented along with the frames being dequeued from this queue.

Page 231: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-121

0x28 0–31 FQID Frame queue ID, can be used to enqueue/dequeue or execute other commands on the queue through DPIO.Note that Tx queues are logical queues and not all management commands are available on these queue types.

32–47 QDBIN Queue destination bin. Can be used with the DPIO enqueue operation based on QDID, QDBIN and QPRI.

0x30 0-7 CGID Congestion group ID of the congestion group. The index is relative to DPNI

Offset Bits Name Description

Page 232: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-122

7.3.61 DPNI_SET_TX_CONFIRMATION_MODE

Set Tx confirmation mode. For each transmitted frame, the DPNI can either return the Frame Descriptor through the Tx confirmation queues, or just release the buffer to the buffer pool and not confirm the transmission explicitly.

If the transmitted frame is confirmed, the confirmation message can contain additional information like the Tx timestamp.

If released, the buffer pool (DPBP) to which the buffers are released is indicated in the Tx Frame Descriptor.

If the DPNI was created with DPNI_OPT_TX_FRM_RELEASE option, the only supported confirmation mode is DISABLE.

This command can only be executed while the DPNI is disabled. Executing the command on an enabled DPNI will return an error.

Command structure

Figure 149. DPNI_SET_TX_CONFIRMATION_MODE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2661 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 40 39 32 31 0

0x08 — MODE —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 MODE Tx confirmation mode:0: DPNI_CONF_AFFINE – for each set of Tx queues (queues with the same QDBIN), there is an affine Tx confirmation queue which is used to return descriptors for transmitted frames.1: DPNI_CONF_SINGLE – there is a single Tx confirmation queue per DPNI. 'index' field in dpni_get_queue command will be ignored if this mode is used.2: DPNI_CONF_SINGLE – there is a single Tx confirmation queue per DPNI.3: DPNI_CONF_NONE – there is no Tx confirmation message, the frame buffers are released to a buffer pool.

Page 233: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-123

7.3.62 DPNI_GET_TX_CONFIRMATION_MODE

Get Tx confirmation mode.

Command structure

Figure 150. DPNI_GET_TX_CONFIRMATION_MODE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26D1 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 234: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-124

Response structure

Figure 7-4. DPNI_GET_TX_CONFIRMATION_MODE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x26D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 — MODE —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 7-2. DPNI_GET_TX_CONFIRMATION_MODE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 MODE Refer to DPNI_SET_TX_CONFIRMATION_MODE for a description of this field.

Page 235: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-125

7.3.63 DPNI_SET_QOS_TABLE

Configure the QoS criteria and attributes. The result of the lookup in QoS table determines the traffic class for the received frame. The user may select a flexible lookup key for the QoS table. This command must be invoked to select the QoS key format, before adding any QoS entries using the DPNI_ADD_QOS_ENTRY command.

This function and all QoS-related functions require that the DPNI was created with multiple traffic classes.

Command structure

Figure 151. DPNI_SET_QOS_TABLE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2401 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 42 41 40 39 32 31 0

0x08 KE

EP

_EN

TR

IES

DIS

CA

RD

_O

N_

MIS

S

DEFAULT_TC –

63 0

0x10 -

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 KEY_CFG_IOVA

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 236: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-126

All unspecified fields are reserved and must be cleared (set to zero)

Extension structure

Figure 152. DPNI_SET_QOS_TABLE Extension Description

0x08 32-39 DEFAULT_TC Default traffic class to use in case of a lookup miss in the QoS table.Valid only if DISCARD_ON_MISS is not set.

40 DISCARD_ON_MISS Determine the action in case of a lookup miss in the QoS table.'0' – use DEFAULT_TC in case of no match‘1’ – discard frames in case of no match.

41 KEEP_ENTRIES If set to one will not delele existing table entries. This option will work properly only for dpni objects created with DPNI_OPT_HAS_KEY_MASKING option. All previous QoS entries must be compatible with new key composition rule. It is the caller's job to delete incompatible entries before executing the command with this option set.If not set (field value is zero) all entries in qos table will be removed.

0x38 0-63 KEY_CFG_IOVA I/O virtual address of zeroed 256 bytes of DMA-able memory. This extended buffer must be programmed as specified in the “Extension structure” section below, to hold the QoS key configuration.

Offset from Management Command Portal base Read-Write Access

63 8 7 0

0x00 – NUM_EXTRACTS

63 32 31 24 23 16 15 12 11 8 7 0

0x08 FIELD OFFSET SIZE –

EF

H_

TY

PE

PROT

63 36 35 32 31 24 23 16 15 8 7 0

0x10 –

EX

TR

AC

T_

TY

PE

NUM_OF_BYTE_MASKS

NUM_OF_REPEATS

CONSTANT HDR_INDEX

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 MASK3_OFFSET MASK3_MASK MASK2_OFFSET MASK2_MASK MASK1_OFFSET MASK1_MASK MASK0_OFFSET MASK0_MASK

0x20 - 0xC7

Repeating (9 more sections) of the extraction fields in offsets (0x08 - 0x1F) above.NUM_EXTRACTS determines the number of valid extraction sections up to the 10 possible.

Offset Bits Name Description

0x00 0-7 NUM_EXTRACTS Number of valid extractions out of the 10 possible; determines how many of the EXTRACT0..9 below are valid. Value of 0 is invalid.

Offset Bits Name Description

Page 237: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-127

0x08 0-7 EXTRACT0 PROT For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: specify any of the supported headers:

8-11 EFH_TYPE For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: specify the type of extraction from header (and determines validity of the next 3 parameters):0: DPKG_FROM_HDR – SIZE and OFFSET are valid; SIZE bytes are extracted from OFFSET relative to the start of the specified header (PROT).1: DPKG_FROM_FIELD – FIELD, SIZE and OFFSET are valid; SIZE bytes are extracted from OFFSET relative to the start of the specified FIELD.2: DPKG_FULL_FIELD – only FIELD is valid; specified FIELD is fully extracted.

16-23 SIZE Size (in bytes) of the extraction

42-31 OFFSET Byte offset of starting point of the extraction

32-63 FIELD For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: standard field selection for the extraction

0x10 0-7 HDR_INDEX For EXTRACT_TYPE = DPKG_EXTRACT_FROM_HDR: indicates the PROT header index for protocols that may appear more than once within a frame (examples: VLAN, MPLS, IP).0x00 indicates the most outer (first) header.0xFF indicates the most inner (last) header.

8-15 CONSTANT For EXTRACT_TYPE = DPKG_EXTRACT_CONSTANT: the constant value to extract (one byte)

16-23 NUM_OF_REPEATS For EXTRACT_TYPE = DPKG_EXTRACT_CONSTANT: number of times to repeat the extraction of the constant value (values are placed in the key in adjacent manner)

24-31 NUM_OF_BYTE_MASKS Determines the number of valid entries of MASKn_MASK and MASKn_OFFSET.Up to four byte masks are available to apply on the extracted content (each mask is 1 byte in size).Note, that byte masks are valid for any selection of EXTRACT_TYPE.

32-35 EXTRACT_TYPE Determines the type of extraction:

0: DPKG_EXTRACT_FROM_HDR – extract from the frame header; the following fields are considered valid in this case:PROT, EFH_TYPE, SIZE, OFFSET, FIELD, HDR_INDEX

1: DPKG_EXTRACT_FROM_DATA – extract from data not in the header; the following fields are considered valid in this case:SIZE, OFFSET

2: DPKG_EXTRACT_CONSTANT – extract user-selected constant values; the following fields are considered valid in this case:CONSTANT, NUM_OF_REPEATS

0x18 0-7 MASK0_MASK Byte mask to apply on the extracted content at offset MASK0_OFFSET

8-15 MASK0_OFFSET Offset (relative to the first byte of extracted content) for applying MASK0_MASK

16-23 MASK1_MASK Byte mask to apply on the extracted content at offset MASK1_OFFSET

24-31 MASK1_OFFSET Offset (relative to the first byte of extracted content) for applying MASK1_MASK

32-39 MASK2_MASK Byte mask to apply on the extracted content at offset MASK2_OFFSET

40-47 MASK2_OFFSET Offset (relative to the first byte of extracted content) for applying MASK2_MASK

48-55 MASK3_MASK Byte mask to apply on the extracted content at offset MASK3_OFFSET

56-63 MASK3_OFFSET Offset (relative to the first byte of extracted content) for applying MASK3_MASK

0x20 - 0x37

EXTRACT1 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 2

0x38 - 0x4F

EXTRACT2 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 3

0x50 - 0x67

EXTRACT3 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 4

Offset Bits Name Description

Page 238: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-128

All unspecified fields are reserved and must be cleared (set to zero)

0x68 - 0x7F

EXTRACT4 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 5

0x80 - 0x97

EXTRACT5 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 6

0x98 - 0xAF

EXTRACT6 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 7

0xB0 - 0xC7

EXTRACT7 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 8

0xC8 - 0xDF

EXTRACT8 Similar to EXTRACT0; valid if NUM_EXTRACTS >= 9

0xE0 - 0xF7

EXTRACT9 Similar to EXTRACT0; valid if NUM_EXTRACTS = 10

Offset Bits Name Description

Page 239: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-129

7.3.64 DPNI_ADD_QOS_ENTRY

Add QoS mapping entry to select a traffic class for frames matching the specified rule.

Before using this command, the DPNI_SET_QOS_TABLE command must be invoked in order to define the QoS key format and other attributes.

The user is responsible for providing the pointers (DMA-able memory) to the key and optionally a mask to apply on extracted bytes.

Command structure

Figure 153. DPNI_ADD_QOS_ENTRY Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2411 TOKEN –IN

TR

_D

ISSTATUS P – SRCID

63 48 47 32 31 24 23 16 15 0

0x08 – INDEX KEY_SIZE TC_ID FLOW_ID FLAGS

63 0

0x10 KEY_IOVA

63 0

0x18 MASK_IOVA

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 FLAGS 0x0: DPNI_QOS_OPT_SET_TC_ONLY - Frames will be classified on Traffic Class specified in TC_ID field. The queue will be selected based on the distribution configured for this Traffic Class (see commands: DPNI_SET_RX_TC_DIST, DPNI_SET_RX_FS_DIST, DPNI_SET_RX_HASH_DIST). FLOW_ID is ignored for this option.0x1: DPNI_QOS_OPT_SET_FLOW_ID - Frames will be enqueued in queue with index FLOW_ID from Traffic Class TC_ID.

8-15 FLOW_ID Flow ID. Used only when FLAGS is set to DPNI_QOS_OPT_SET_FLOW_ID.

16-23 TC_ID The traffic class to select in case a frame matches the specified lookup key and mask. Valid values are in the range of (0-7), but also limited by the number of traffic classes configured during the creation of the DPNI.

24-31 KEY_SIZE Size of the key and mask (in bytes); Must not exceed 56 bytes.

32–47 INDEX Location in the classification table at which to insert the entry.Only relevant if MASKING is enabled for classification on this DPNI, it is ignored for exact match.For classification that use masking the order is important, as multiple rules may match a given frame, but only the first hit defines the action to be taken. In the general case generic rules that math many flows should be placed at the end. For instance an IP address rule would be in front of the associated IP subnet rule.

Page 240: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-130

All unspecified fields are reserved and must be cleared (set to zero)

7.3.65 DPNI_REMOVE_QOS_ENTRY

Remove QoS mapping entry that was previously added using DPNI_ADD_QOS_ENTRY command.

Command structure

Figure 154. DPNI_REMOVE_QOS_ENTRY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

0x10 0-63 KEY_IOVA I/O virtual address of the key (must be in DMA-able memory). The key contents must match the extraction order and format as specified in the SET_QOS_TABLE command.

0x18 0-63 MASK_IOVA I/O virtual address of the mask for applying on extracted bytes (must be in DMA-able memory); the mask format must match the key format.Clear this field to indicate that no mask should be applied.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2421 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 28 27 24 23 0

0x08 – KEY_SIZE

63 0

0x10 KEY_IOVA

63 0

0x18 MASK_IOVA

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 24-31 KEY_SIZE Size of the key and mask (in bytes); Must not exceed 56 bytes.

0x10 0-63 KEY_IOVA I/O virtual address of the key (must be in DMA-able memory). The key contents must match the extraction order and format as specified in the SET_QOS_TABLE command.

0x18 0-63 MASK_IOVA I/O virtual address of the mask for applying on extracted bytes (must be in DMA-able memory); the mask format must match the key format.Clear this field to indicate that no mask should be applied.

Offset Bits Name Description

Page 241: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-131

7.3.66 DPNI_CLEAR_QOS_TABLE

Clear all QoS mapping entries. This command causes all received frames to be classified to the default traffic class (TC_ID = 0).

Command structure

Figure 155. DPNI_CLEAR_QOS_TABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2431 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 0

0x08 –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 242: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-132

7.3.67 DPNI_ADD_FS_ENTRY

Add explicit flow steering entry to explicitly select a receive flow ID within a traffic class. Flow steering lookup tables are managed per traffic class, therefore the user must first ensure that the frame type of interest is also classified to the correct traffic class. Please refer to DPNI_ADD_QOS_ENTRY command for more details.

Before using this command, the DPNI_SET_RX_TC_DIST command must be invoked to select flow steering distribution mode (DIST_MODE = DPNI_DIST_MODE_FS), and to define the QoS key format and other attributes.

The user is responsible for providing the pointers (DMA-able memory) to the key and optionally a mask to apply on extracted bytes.

Command structure

Figure 156. DPNI_ADD_FS_ENTRY Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2441 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 24 23 16 15 0

0x08 FLOW_ID ENTRY_INDEX KEY_SIZE TC_ID OPTIONS

63 0

0x10 KEY_IOVA

63 0

0x18 MASK_IOVA

63 0

0x20 FLC

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 243: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-133

All unspecified fields are reserved and must be cleared (set to zero)

0x08 0–15 OPTIONS An array of bits, selecting which action(s) are applicable if this classification entry is hit:Bit 0: DPNI_FS_OPT_DISCARD – matching traffic is discarded, all other action fields are ignored,Bit 1: DPNI_FS_OPT_SET_FLC – set FLC value for matching traffic,Bit 2: DPNI_FS_OPT_SET_STASH_CONTROL – enable stash control bits. Only relevant if bit 1 (set FLC) is also set, otherwise ignored.There is no bit associated with FLOW_ID; the destination queue is always overridden by classification, that is if the frame is not discarded.

16–23 TC_ID Traffic class selection. Valid values are in the range 0 to NUM_TCS -1.

24–31 KEY_SIZE Size of the key and mask (in bytes). Limited to FS_KEY_SIZE returned by DPNI_GET_ATTRIBUTES.

32–47 ENTRY_INDEX Index of the entry in the table. It is only used if DPNI_OPT_HAS_KEY_MASKING is enabled on the DPNI, otherwise ignored.With masking multiple entries may match a frame, the action of the first match is applied.

48–63 FLOW_ID Queue index to send traffic to. This is in range 0..NUM_QUEUES-1.

0x10 0–63 KEY_IOVA I/O virtual address of the key (must be in DMA-able memory). The key contents must match the extraction order and format as specified in the DPNI_SET_RX_TC_DIST command.

0x18 0–63 MASK_IOVA I/O virtual address of the mask for applying on extracted bytes (must be in DMA-able memory); the mask format must match the key format.Clear this field to indicate that no mask should be applied.

0x20 0–63 FLC Flow context value used to initialize FD[FLC] fields for all matching frames.Please check FLC field description in the Frame Descriptor (FD) documentation for more information.

Offset Bits Name Description

Page 244: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-134

7.3.68 DPNI_REMOVE_FS_ENTRY

Remove an existing flow steering entry that belongs to a specified traffic class.

Command structure

Figure 157. DPNI_REMOVE_FS_ENTRY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2451 TOKEN –

INT

R_

DIS

STATUS P – SRCID

63 32 31 24 23 16 15 0

0x08 – KEY_SIZE TC_ID

63 0

0x10 KEY_IOVA

63 0

0x18 MASK_IOVA

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 16-23 TC_ID Traffic class selection. Valid values are in the range of (0-7), but also limited by the number of traffic classes configured during the creation of the DPNI.

24-31 KEY_SIZE Size of the key and mask (in bytes); Must not exceed 56 bytes.

0x10 0-63 KEY_IOVA I/O virtual address of the key (must be in DMA-able memory). The key contents must match the extraction order and format as specified in the DPNI_SET_RX_TC_DIST command.

0x18 0-63 MASK_IOVA I/O virtual address of the mask for applying on extracted bytes (must be in DMA-able memory); the mask format must match the key format.Clear this field to indicate that no mask should be applied.

Page 245: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-135

7.3.69 DPNI_CLEAR_FS_ENTRIES

Clear all flow steering entries of a specified traffic class. This command causes all received frames associated with that traffic class to be classified to the default flow ID (FLOW_ID = 0).

Command structure

Figure 158. DPNI_CLEAR_FS_ENTRIES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2461 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 24 23 16 15 0

0x08 – TC_ID

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 16-23 TC_ID Traffic class selection. Valid values are in the range of (0-7), but also limited by the number of traffic classes configured during the creation of the DPNI.

Page 246: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-136

7.3.70 DPNI_GET_API_VERSION

Command structure

Figure 159. DPNI_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA011 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 247: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-137

Response structure

Figure 160. DPNI_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA011 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 248: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-138

7.3.71 DPNI_SET_OPR

Set the Order Point Record configuration. The command works only if the DPNI is created with the DPNI_OPT_HAS_OPR option. It also works only for SoCs that support Order Restoration.

If the DPNI is configured with the DPNI_OPT_OPR_PER_TC option, then all frame queues within the traffic class specified with TC_ID are configured to use the Order Point Record when the DPNI is enabled. If the DPNI_OPT_OPR_PER_TC option is not set, the INDEX is used to select a specific queue from the traffic class.

The order restoration is done for all enqueue commands that respect an order restoration point and are coupled with a sequence number. These are judged by comparing that sequence number to the next expected sequence number for that order point record. The treatment of the frame enqueued via an OPR is determined by which window the sequence number of that frame falls within, what resources are still available, and if loose ordering is enabled. The windows are shown in the following figure.

Figure 7-5. Order Point Record Configuration

Restoration (Hold) Window: 0: 32, 1: 64, 2: 128, 3: 256, 4: 512, 5: 1K,

The above example shows window:Restoration Window: 1K (code 5)Auto Advance NESN Window: Equal to RW (code 1)Acceptable Late Arrival Window: Equal to RW (code 2)Late Arrival Rejection Window: implicitly 7 KEarly Arrival Rejection Window: implicitly 6 K

Next Expected Sequence Number

Late Arrivals (NESN-8192 to NESN-1)

Early Arrivals (NESN+1 to NESN+8191)

Direction of Increasing Sequence Numbers

0:Null (Reject all Late Arrivals 1:32 2: Equal to Restoration Window 3: 8 K (Reject No Late Arrivals)

Acceptable Late Arrival Window

Late Arrival Rejection Window

Early Arrival Rejection Window

0: Null (Bump disabled) 1: Equal to Restoration Window

Auto Advance NESN (Bump) Window

FYI:

Page 249: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-139

Command structure

Figure 161. DPNI_SET_OPR Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26E2 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 24 23 16 15 8 7 0

0x08 — OPTIONS INDEX TC_ID OPR_ID

63 56 55 48 47 40 39 32 31 24 23 0

0x10 OPRRWS OA OLWS OEANE OLOE —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 0-7 OPR_ID Order point record ID.

8-15 TC_ID Traffic class ID

16-23 INDEX Selects a specific queue out of the set of queues in a TC. Accepted values are in range 0 to NUM_QUEUES – 1. This field is ignored for DPNI_OPT_OPR_PER_TC.

24–31 OPTIONS The command can function in two ways, depending on the options field value: • OPR_OPT_CREATE (1): Create the OPR with the given configuration • OPR_OPT_RETIRE (2): Retire OPR. In this case the configuration options from offset 0x10 are ignored.

The OPR is emptied by individually rejecting all enqueue commands held on the ORL.

0x10 24–31 OLOE OPR loose ordering enable • 0: Strict ordering mode • 1: Loose ordering mode

The ordering mode determines the action taken for OR enabled enqueues that fall in either the early or late arrival rejection window or that need to be deferred when ORL resources are exhausted. For strict ordering mode they are rejected and returned to software, and for loose ordering mode they are enqueued immediately.

32–39 OEANE Order restoration list (ORL) resource exhaustion advance NESN enable

40–47 OLWS OPR acceptable late arrival window size • 0: Disabled. Late arrivals are always rejected. • 1: Window size is 32 frames. • 2: Window size is the same as the OPR restoration window size configured in the OPRRWS field. • 3: Window size is 8192 frames. Late arrivals are always accepted.

48–55 OA OPR auto advance NESN window size

56–63 OPRRWS Order point record (OPR) restoration window size. • 0: Window size is 32 frames. • 1: Window size is 64 frames. • 2: Window size is 128 frames. • 3: Window size is 256 frames. • 4: Window size is 512 frames. • 5: Window size is 1024 frames. • 6–7: Reserved

Page 250: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-140

All unspecified fields are reserved and must be cleared (set to zero)

Page 251: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-141

7.3.72 DPNI_GET_OPR

Get Order Point Record (OPR) configuration and state. Works for OPRs that are created. The creation of the OPR takes place when the DPNI is enabled the first time after a DPNI_SET_OPR command.

Command structure

Figure 162. DPNI_GET_OPR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26F2 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 24 23 16 15 8 7 0

0x08 OPR_ID INDEX TC_ID FLAGS

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 0-7 FLAGS 0: Order point record ID (OPR_ID) is ignored. The OPR is chosen selecting the specific queue using INDEX inside the traffic class ID (TC_ID).1: Order point record is selected using OPR_ID field.

8-15 TC_ID Traffic class ID.

16-23 INDEX Selects a specific queue out of the set of queues in a TC. Accepted values are in range 0 to NUM_QUEUES – 1. This field is ignored for DPNI_OPT_OPR_PER_TC.

24-31 OPR_ID Order point record ID.

Page 252: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-142

Response structure

Figure 163. DPNI_SET_OPR Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x26F1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 56 55 48 47 40 39 32 31 24 23 2 1 0

0x10 OPRRWS OA OLWS OEANE OLOE — EN RIP

63 48 47 32 31 16 15 0

0x18 — NDSN — NESN

63 48 47 32 31 16 15 0

0x20 —

NL

IS_H

SE

Q

EA_HSEQ —

NL

IS_

TS

EQ

EA_TSEQ

63 48 47 32 31 16 15 0

0x28 — EA_TPTR — EA_HPTR

63 48 47 32 31 16 15 0

0x30 — OPRID — VOPRID

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0 RIP Retirement In Progress.

1 EN OPR is enabled.

24–31 OLOE OPR loose ordering enable

32–39 OEANE Order restoration list (ORL) resource exhaustion advance NESN enable

40–47 OLWS OPR acceptable late arrival window size

48–55 OA OPR auto advance NESN window size

56–63 OPRRWS Order point record (OPR) restoration window size

0x18 0–15 NESN Next expected sequence number.

32–47 NDSN Next dispensed sequence number.

0x20 0–15 EA_TSEQ Sequence number of the frame at the tail of the ORL.

16 NLIS_ TSEQ Not last in sequence for EA_TSEQ

32–47 EA_HSEQ Sequence number of the frame at the head of the ORL.

48 NLIS_ HSEQ Not last in sequence for EA_HSEQ

0x28 0–15 EA_HPTR Early arrival head pointer

32–47 EA_TPTR Early arrival tail pointer

0x30 0–15 VOPRID Virtual Order Point Record ID

32–47 OPRID Order Point Record ID

Page 253: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-143

7.3.73 DPNI_SET_CONGESTION_NOTIFICATION

Set congestion notification. For more details about congestion and notification configuration, please read the QBMan sections of the DPAA2 documentation.

7.3.73.1 Congestion threshold representation

DPAA2 hardware stores entry/exit threshold on 12 bits using next format:

• Bits 12-5 – TA value greater than zero

• Bits 4-0 – Tn

Threshold value is calculated using formula: threshold = TA * 2^Tn.

The MC firmware will try to convert 32bit provided threshold to 12bit format and it will perform some approximations if the value provided in command cannot be converted. The notification message will appear when approximated threshold is reached.

Command structure

Figure 164. DPNI_SET_CONGESTION_NOTIFICATION Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2671 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 24 23 16 15 8 7 0

0x08 — CGID CONGESTION_POINT

— TC QUEUE_TYPE

63 62 61 60 59 56 55 48 47 32 31 0

0x10 — UNITS DEST_TYPE

PRIORITY

NOTIFICATION_MODE DEST_ID

63 0

0x18 MESSAGE_IOVA

63 0

0x20 MESSAGE_CTX

63 32 31 0

0x28 THRESHOLD_EXIT THRESHOLD_ENTRY

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 254: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-144

Table 7-3. Memory congestion notification message

0x08 0–7 QUEUE_TYPE Type of queue. Rx, Tx and Tx confirm types are supported.

8–15 TC Traffic class selection (0–7)

24-31 CONGESTION_POINT Congestion point

0: Set congestion per queue, identified by QUEUE_TYPE, TC and QUEUE_INDEX1:Set congestion per queue group. Depending on options used to define the DPNI this can be either per TC (default) or per interface (DPNI_OPT_SHARED_CONGESTION set at DPNI create). QUEUE_INDEX is ignored if this type is used.2: Set per congestion group id. This will workonly if the DPNI is created with DPNI_OPT_CUSTOM_CG option

32-39 CGID Congestion group ID

0x10 0–31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32–47 NOTIFICATION_MODE Mask of available options.Bit 0: DPNI_CONG_OPT_WRITE_MEM_ON_ENTER

CSCN message is written to MESSAGE_IOVA once entering a congestion state (see 'THRESHOLD_ENTRY')

Bit 1: DPNI_CONG_OPT_WRITE_MEM_ON_EXITCSCN message is written to MESSAGE_IOVA once exiting a ongestion state (see 'THRESHOLD_EXIT')

Bit 2: DDPNI_CONG_OPT_COHERENT_WRITECSCN write will attempt to allocate into a cache (coherent write); valid only if 'DPNI_CONG_OPT_WRITE_MEM_<X>' is selected

Bit 3: DDPNI_CONG_OPT_NOTIFY_DEST_ON_ENTERIf DEST_TYPE != DPNI_DEST_NONE CSCN message is sent to DPIO/DPCON's WQ channel once entering a congestion state (see 'THRESHOLD_ENTRY')

Bit 4: DDPNI_CONG_OPT_NOTIFY_DEST_ON_EXITIf DEST_TYPE != DPNI_DEST_NONE' CSCN message is sent to DPIO/DPCON's WQ channel once exiting a congestion state (see 'THRESHOLD_EXIT')

Bit 5: DDPNI_CONG_OPT_INTR_COALESCING_DISABLEDIf DEST_TYPE != DPNI_DEST_NONE when the CSCN is written to the sw-portal's DQRR, the DQRI interrupt is asserted immediately (if enabled)

Bit 6: DPNI_CONG_OPT_FLOW_CONTROL - This notification will be used to generate flow control. When the queue enters in congested state flow control frames are generated to stop traffic. It works only id QUEUE_TYPE is a Rx queue.

48–55 PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0–1 or 0–7, depending on the number of priorities in that channel; not relevant for 'DPNI_DEST_NONE' option

56–59 DEST_TYPE Type of destination for dequeued traffic. Supported values:0: DPNI_DEST_NONE—notifications are delivered through memory (do not used DPIO/DPCON to deliver). 1: DPNI_DEST_DPIO—notifications are delivered to a DPIO,2: DPNI_DEST_DPCON—notifications are delivered to a DPCON.

60–61 UNITS Unit type0 – issue notifications after congestion group accumulates THRESHOLD_ENTRY/EXIT bytes1 - issue notifications after congestion group accumulates THRESHOLD_ENTRY/EXIT frames

0x18 0–63 MESSAGE_IOVA Valid only if DPNI_CONG_OPT_WRITE_MEM_<X> flags are set in ‘options’ field. This is the address where congestion message is written. Message description is found in table below. Application must provide 16byte aligned pointer that can store 64 bytes.

0x20 0–63 MESSAGE_CTX This information is copied in congestion message. It is used to pass information needed to identify the message and perform necessary actions.

0x28 0–31 THRESHOLD_ENTRY Above this threshold we enter a congestion state. Set it to '0' to disable it.

32–63 THRESHOLD_EXIT Below this threshold we exit the congestion state.

Offset(bytes)

Size(bytes) Field Description

0x00 1 VERB Bit 7 - reservedBit 6-0 - Notification message type

"0x27 - CSCN-to-memory (Congestion State Change Notification written to memory)"Other values - reserved for other notification types

0x01 1 STAT Not used for CSCN-to-memory

Offset Bits Name Description

Page 255: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-145

0x02 1 STATE Bit 7-1 - reservedBit 0 - Congestion state

"0 congestion group not congested"1 congestion group in congestion state

0x03 1 Reserved Not used

0x04 3 RID Resource IDBit 15-0 - Congestion Group IDBit 23-12 - Reserved

0x07 1 TOK Not used for CSCN-to-memory

0x08 8 CTX Context value provided in MESSAGE_CTX field in DPNI_SET_CONGESTION_NOTIFICATION command

Offset(bytes)

Size(bytes) Field Description

Page 256: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-146

7.3.74 DPNI_GET_CONGESTION_NOTIFICATION

Get congestion notification. For more details about congestion and notification configuration, please read the QBMan sections of the DPAA2 documentation.

Command structure

Figure 165. DPNI_GET_CONGESTION_NOTIFICATION Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2681 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 24 23 16 15 8 7 0

0x08 — CGID CONGESTION_POINT

— TC QUEUE_TYPE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–7 QUEUE_TYPE Type of queue. Rx, Tx and Tx confirm types are supported.

8–15 TC Traffic class selection (0–7)

24-31 CONGESTION_POINT Congestion point

0: Set congestion per queue, identified by QUEUE_TYPE, TC and QUEUE_INDEX1:Set congestion per queue group. Depending on options used to define the DPNI this can be either per TC (default) or per interface (DPNI_OPT_SHARED_CONGESTION set at DPNI create). QUEUE_INDEX is ignored if this type is used.2: Set per congestion group id. This will workonly if the DPNI is created with DPNI_OPT_CUSTOM_CG option

32-39 CGID Congestion group ID

Page 257: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-147

Response structure

Figure 166. DPNI_GET_CONGESTION_NOTIFICATION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2681 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 62 61 60 59 56 55 48 47 32 31 0

0x10 — UNITS DEST_TYPE

PRIORITY

NOTIFICATION_MODE DEST_ID

63 0

0x18 MESSAGE_IOVA

63 0

0x20 MESSAGE_CTX

63 32 31 0

0x28 THRESHOLD_EXIT THRESHOLD_ENTRY

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0–31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32–47 NOTIFICATION_MODE Mask of available options.Bit 0: DPNI_CONG_OPT_WRITE_MEM_ON_ENTER

CSCN message is written to MESSAGE_IOVA once entering a congestion state (see 'THRESHOLD_ENTRY')

Bit 1: DPNI_CONG_OPT_WRITE_MEM_ON_EXITCSCN message is written to MESSAGE_IOVA once exiting a ongestion state (see 'THRESHOLD_EXIT')

Bit 2: DDPNI_CONG_OPT_COHERENT_WRITECSCN write will attempt to allocate into a cache (coherent write); valid only if 'DPNI_CONG_OPT_WRITE_MEM_<X>' is selected

Bit 3: DDPNI_CONG_OPT_NOTIFY_DEST_ON_ENTERIf DEST_TYPE != DPNI_DEST_NONE CSCN message is sent to DPIO/DPCON's WQ channel once entering a congestion state (see 'THRESHOLD_ENTRY')

Bit 4: DDPNI_CONG_OPT_NOTIFY_DEST_ON_EXITIf DEST_TYPE != DPNI_DEST_NONE' CSCN message is sent to DPIO/DPCON's WQ channel once exiting a congestion state (see 'THRESHOLD_EXIT')

Bit 5: DDPNI_CONG_OPT_INTR_COALESCING_DISABLEDIf DEST_TYPE != DPNI_DEST_NONE when the CSCN is written to the sw-portal's DQRR, the DQRI interrupt is asserted immediately (if enabled)

48–55 PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0–1 or 0–7, depending on the number of priorities in that channel; not relevant for 'DPNI_DEST_NONE' option

56–59 DEST_TYPE Type of destination for dequeued traffic

60–61 UNITS Unit type (0—BYTES, 1—FRAMES)

0x18 0–63 MESSAGE_IOVA I/O virtual address (must be in DMA-able memory), must be 16B aligned; valid only if DPNI_CONG_OPT_WRITE_MEM_<X>' is contained in 'options' (NOTIFICATION_MODE)

0x20 0–63 MESSAGE_CTX The context that will be part of the CSCN message.

0x28 0–31 THRESHOLD_ENTRY Above this threshold we enter a congestion state. Set it to '0' to disable it.

32–63 THRESHOLD_EXIT Below this threshold we exit the congestion state.

Page 258: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-148

7.3.75 DPNI_LOAD_SW_SEQUENCE

This command is obsolete please check DPSPARSER object for Soft Parser loading.

Parser block performs the parsing of frame header data with the purpose of detecting and validating the structure of a frame. Parsing instructions may be added that extend the protocols supported and/or extract additional attributes or frame header values. User-programmed parse functions are implemented through soft examination sequences built from examine instructions pre-positioned in a dedicated internal RAM.

This command loads a soft examination sequence at a specified address in dedicated internal RAM of choice (WRIOP ingress or egress).

Command structure

Figure 167. DPNI_LOAD_SW_SEQUENCE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2701 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 8 7 0

0x08 — DEST

63 48 47 32 31 16 15 0

0x10 — SS_SIZE — SS_OFFSET

63 0

0x18 SS_IOVA

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–7 DEST Valid destinations are:0: DPNI_SS_INGRESS – WRIOP Ingress parser1: DPNI_SS_EGRESS – WRIOP Egress parser

0x10 0–15 SS_OFFSET The offset where the Soft Sequence must be loaded. Valid values are between 0x20 and 0x7FD.

32–47 SS_SIZE Soft Sequence Size in bytes. It must be a multiple of 4.

0x18 0–63 SS_IOVA I/O virtual address of the soft sequence to load

Page 259: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-149

7.3.76 DPNI_ENABLE_SW_SEQUENCE

This command is obsolete please check DPSPARSER object for Soft Parser loading.

A Soft Sequence is enabled by attaching it to an existing hard HXS (Hard Header Examination Sequence) or as a start of parsing. These sequences are configured via the parse profile. This command can perform either of the two operations depending on the SET_START field.

In the case of attaching the soft sequence to a HXS. SET_START must be set to 0 and the command will perform the following: will configure the parse profile to execute the soft sequence starting at SS_OFFSET after the hard HXS and will copy the provided parameters in the parse profile. Setting the SS_OFFSET of zero will disable the soft sequence after the given HXS.

In the other case when SET_START is set to 1 the command will ignore the HXS field (it will not enable the soft sequence in the parse profile after the HXS) but will set the SS_OFFSET as the starting point within the parse tree. The parameters will be also copied in the parse profile.

This command works together with the DPNI_LOAD_SW_SEQUENCE. The load command copies the soft sequence code in the dedicated internal RAM of the parser and the enable command modifies the parse profile so it uses the loaded soft sequence.

The supported HXS codes are given in the following table:

Table 7-4. HXS Coding

Code HXS Code HXS

0x00 Ethernet 0x0c TCP

0x01 LLC+SNAP 0x0d UDP

0x02 VLAN 0x0e IPSec

0x03 PPPoE+PPP 0x0f SCTP

0x04 MPLS 0x10 DCCP

0x05 ARP 0x11 Other L4 Shell

0x06 IP 0x12 GTP

0x07 IPv4 0x13 ESP

0x08 IPv6 0x14 VxLan

0x09 GRE 0x1e Layer5+ Shell

0x0a MinEncap 0x1f Final Shell

0x0b Other L3 Shell — —

Page 260: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-150

Command structure

Figure 168. DPNI_ENABLE_SW_SEQUENCE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2711 TOKEN –

INT

R_D

IS

STATUS P – SRCID

63 8 7 0

0x08 — DEST

63 40 39 32 31 16 15 0

0x10 — SET_START HXS SS_OFFSET

63 40 39 32 31 8 7 0

0x18 — PARAM_SIZE — PARAM_OFFSET

63 0

0x20 PARAM_IOVA

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–7 DEST Valid destinations are:0: DPNI_SS_INGRESS – WRIOP Ingress parser1: DPNI_SS_EGRESS – WRIOP Egress parser

0x10 0–15 SS_OFFSET The offset of the soft sequence

16–31 HXS The HXS code. The valid values are described in Table 7-4 in the command description above.

32–39 SET_START 0 – The soft sequence will be set enabled as an attachment after the specified HXS.1 – The soft sequence will be set as start HXS for the corresponding parser (ingress/egress). The HXS field is ignored and the parameters are copied in the parse profile.

0x18 0–7 PARAM_OFFSET Parameter offset starting from the parameter zone start in the parse profile (0-64).

32–39 PARAM_SIZE Parameters size in bytes

0x20 0–63 PARAM_IOVA I/O virtual address of the parameters to load into the parse profile

Page 261: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-151

7.3.77 DPNI_SET_RX_FS_DIST

Set the flow steering (FS) distribution key for Rx. This command creates an empty table: use command DPNI_ADD_FS_ENTRY to add entries into this table.

All packets will be verified against table entries using specified key. If packet matches a specific entry it will be distributed to a queue according to that entry configuration. If packet does not match on any table entry will me distributed according to next two rules:

• If hash distribution is enabled (DPNI_SET_RC_HASH_DIST) the packet will be distributed according to a hash function based on the key provided.

• If hash distribution is disabled the packed will be put nto the queue configured with FS_MISS_FLOW_ID parameter. If this parameter is set to DPNI_FS_MISS_DROP the packet will be discarded.

If DPNI object was created with option DPNI_OPT_NO_FS the command will return error.

Command structure

Figure 169. DPNI_SET_RX_FS_DIST Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2731 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 47 32 31 24 23 17 16 15 0

0x08 — FS_MISS_FLOW_ID TC_ID —

EN

AB

LE DIST_SIZE

63 0

0x10 KEY_CFG_IOVA

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 262: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-152

0x08 0–15 DIST_SIZE Distribution size; supported values: 1, 2, 3, 4, 6, 7, 8.Note that high values may be unsupported due to limited queue resources in the system or by the maximum distribution size set on DPNI_CREATE

16 ENABLE Enable or disable flow steering0 - disable flow steering (FS)1 - enable flow steeringIf hash distribution is enabled (see DPNI_SET_RX_HASH_DIST) the FS will take precedence and will use hash distribution only for packets that miss all FS entries. If hash distribution is disabled the packets will be sent to the queue selected with FS_MISS_FLOW_ID field.If FS is already active and ENABLED is set to one the command will change the FS distribution key and leave old rules in table. This option must be used with care: if the new distribution key is not compatible with older rules from table it may produce wrong classification.Disabling flow steering will clear all FS entries from table.Use two consecutive commands with ENABLE=0 and ENABLE=1 to clear all FS table entries.

32-47 FS_MISS_FLOW_ID This field contains the default queue ID to enqueue the packets that missed all rules from FS table. The information provided in this field is used only when hash distribution is disabled.If set to DPNI_FS_MISS_DROP and hash distribution is disabled the packets will be discarded.

0x10 0–63 KEY_CFG_IOVA I/O virtual address of DMA-able memory containing the distribution key composition. Used only when ENABLE is set to 1.The first command with ENABLE set to one must provide a valid key. Later, if ENABLE is set to 1 and this field is NULL the table will use the key provided in previous command.

Offset Bits Name Description

Page 263: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-153

7.3.78 DPNI_SET_RX_HASH_DIST

Set the hash distribution rule for Rx. If flow steering is enabled with command DPNI_SET_FS_RX_DIST this hash will be used to distribute packets that miss all entries added to table.

If flow steering is disabled (the command DPNI_SET_FS_RX_DIST is called with ENABLE set to zero or not called at all) the packets will be distributed using configured hash key.

Command structure

Figure 170. DPNI_SET_RX_HASH_DIST Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2741 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 24 23 17 16 15 0

0x08 — TC_ID —

EN

AB

LE DIST_SIZE

63 0

0x10 KEY_CFG_IOVA

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–15 DIST_SIZE Distribution size; supported values: 1, 2, 3, 4, 6, 7, 8.Note that high values may be unsupported due to limited queue resources in the system or by the maximum distribution size set on DPNI_CREATE

16 ENABLE Enable or disable hash distribution0 - disable hash distribution1 - enable hash distributionIf flow steering (FS) is enabled (see DPNI_SET_RX_FS_DIST) it will take precedence over hash distribution. Hash distribution will be used only for packets that miss all FS entries.

0x10 0–63 KEY_CFG_IOVA I/O virtual address of DMA-able memory containing the distribution key composition. Used only when ENABLE is set to 1.The first command with ENABLE set to one must provide a valid key. Later, if ENABLE is set to 1 and this field is NULL the table will use the key provided in previous command.

Page 264: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-154

7.3.79 DPNI_ADD_CUSTOM_TPID

Command structure

Figure 171. DPNI_ADD_CUSTOM_TPID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0275 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 TPID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 TPID An additional tag protocol identifier

Page 265: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-155

7.3.80 DPNI_REMOVE_CUSTOM_TPID

Command structure

Figure 172. DPNI_REMOVE_CUSTOM_TPID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0276 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 TPID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 TPID An additional tag protocol identifier

Page 266: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-156

7.3.81 DPNI_GET_CUSTOM_TPID

Command structure

Figure 173. DPNI_GET_CUSTOM_TPID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0277 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 TPID2 TPID1

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x080-15 TPID1 Tag protocol identifier within the first VLAN tag.

16-31 TPID2 Tag protocol identifier within the second VLAN tag.

Page 267: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-157

7.3.82 DPNI_DUMP_TABLE

Command structure

Figure 174. DPNI_DUMP_TABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x27D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — TABLE_INDEX TABLE_TYPE

63 0

0x10 SNAPSHOT_IOVA

63 32 31 0

0x18 — SIZE

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 TABLE_TYPE 1 : DPNI_FS_TABLE2 : DPNI_MAC_TABLE3: DPNI_QOS_TABLE4 : DPNI_VLAN_TABLE

16-31 TABLE_INDEX Index of desired table to be dump.

0x10 0-63 SNAPSHOT_IOVA IOVA address.

0x18 0-31 SIZE Size to be dump.

Page 268: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPNI: Data Path Network Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 7-158

Response structure

Figure 175. DPNI_DUMP_TABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x27D1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 — NUM_ENTRIES

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 NUM_ENTRIES The number of entries.

Page 269: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-1

Chapter 8 DPBP: Data Path Buffer PoolThe DPBP configures a buffer pool that can be associated with DPAA2 network and accelerator interfaces; DPBP owners are responsible for seeding it with buffers. The DPBP is a DPAA2 infrastructure object used to configure a buffer pool that is compatible with QBMan hardware. The main role of the buffer manager in DPAA2 is to reduce the software overhead associated with managing free buffer pools for multiple DPAA2 objects. The buffer manager manages pools of data storage buffers, and allows the acquisition and release of these buffers on behalf of multiple processor cores, network interfaces, and accelerators in a multi-core SoC.

The DPBP is a DPAA2 infrastructure object used for buffer pool configuration, which is compatible with the QBMan hardware and represents it; however it doesn't monitor the buffer pool content that is managed by the GPP software. The main role of the buffer manager in DPAA2 is to reduce the overhead on software for managing free buffer pools for multiple DPAA2 objects. The Buffer Manager is managing pools of data storage buffers and allows the acquisition and release of these buffers on behalf of multiple processor cores, network interfaces, and accelerators in a multi-core SoC.

The DPBP object is required for receiving frames from a network interface; refer to the DPNI section for more information on the relationship between DPNI and DPBP.

Please refer to the API book for complete reference of available functions.

8.1 DPBP features

The following list summarizes the DPBP main features and capabilities:

• Maintains a list of software-provided free buffers that are used with DPAA2 objects

• Supports buffer pool depletion notifications

• Does not perform read or write access to the buffer

• Supports enable, disable, and reset operations

Page 270: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-2

8.2 DPBP command reference

This section contains the detailed programming model of DPBP commands.

8.2.1 DPBP_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPBP_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

The command format is shown in the figure below.

Figure 176. DPBP_OPEN Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPBP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 20. DPBP_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPBP_ID DPBP unique ID

Page 271: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-3

8.2.2 DPBP_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 177. DPBP_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 272: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-4

8.2.3 DPBP_CREATE

This command creates and initializes an instance of DPBP according to the specified command parameters. This command is not required for DPBP instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPBP ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 178. DPBP_CREATE Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 21. DPBP_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 273: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-5

Response structure

Figure 8-1. DPBP_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPBP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 8-1. DPBP_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPBP_ID DPBP unique ID

Page 274: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-6

8.2.4 DPBP_DESTROY

This command destroys the DPBP object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

Command structure

Figure 179. DPBP_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9841 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPBP_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPBP_ID ID of the DPBP object to destroy

Page 275: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-7

8.2.5 DPBP_ENABLE

Command structure

Figure 180. DPBP_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 276: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-8

8.2.6 DPBP_DISABLE

Command structure

Figure 181. DPBP_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 277: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-9

8.2.7 DPBP_IS_ENABLED

Command structure

Figure 182. DPBP_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 278: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-10

Response structure

Figure 183. DPBP_IS_ENABLED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 279: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-11

8.2.8 DPBP_RESET

Command structure

Figure 184. DPBP_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 280: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-12

8.2.9 DPBP_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 185. DPBP_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 281: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-13

8.2.10 DPBP_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 186. DPBP_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 282: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-14

Response structure

Figure 187. DPBP_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 283: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-15

8.2.11 DPBP_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 188. DPBP_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 284: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-16

8.2.12 DPBP_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 189. DPBP_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 285: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-17

Response structure

Figure 190. DPBP_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 286: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-18

8.2.13 DPBP_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 191. DPBP_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPBP_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 287: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-19

Response structure

Figure 192. DPBP_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events:None

Page 288: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-20

8.2.14 DPBP_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 193. DPBP_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 289: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-21

8.2.15 DPBP_GET_ATTRIBUTES

Command structure

Figure 194. DPBP_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 290: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-22

Response structure

Figure 195. DPBP_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 ID BPID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 BPID Hardware buffer pool ID; should be used as an argument inacquire/release operations on buffers

32-63 ID DPBP object ID

Page 291: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-23

8.2.16 DPBP_SET_NOTIFICATIONS

Command structure

Figure 196. DPBP_SET_NOTIFICATIONS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1B01 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DEPLETION_EXIT DEPLETION_ENTRYY

63 32 31 0

0x10 SURPLUS_EXIT SURPLUS_ENTRY

63 16 15 0

0x18 — OPTIONS

63 0

0x20 MESSAGE_CTX

63 0

0x28 MESSAGE_IOVA

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0.31 DEPLETION_ENTRY below this threshold the pool is "depleted"; set it to '0' to disable it

32-63 DEPLETION_EXIT greater than or equal to this threshold the pool exit its “depleted" state

0x10 0-31 SURPLUS_ENTRY above this threshold the pool is in "surplus" state; set it to '0' to disable it

32-63 SURPLUS_EXIT less than or equal to this threshold the pool exit its "surplus" state

0x18 0-15 OPTIONS Mask of available options; use 'DPBP_NOTIF_OPT_<X>' values

0x20 0-63 MESSAGE_CTX The context that will be part of the BPSCN message and will be written to 'message_iova'

0x28 0-63 MESSAGE_IOVA MUST be given if either 'depletion_entry' or 'surplus_entry' is not '0' (enable); I/O virtual address (must be in DMA-able memory), must be 16B aligned.

Page 292: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-24

8.2.17 DPBP_GET_NOTIFICATIONS

Command structure

Figure 197. DPBP_GET_NOTIFICATIONS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1B11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 293: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-25

Response structure

Figure 198. DPBP_GET_NOTIFICATIONS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1B11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DEPLETION_EXIT DEPLETION_ENTRYY

63 32 31 0

0x10 SURPLUS_EXIT SURPLUS_ENTRY

63 16 15 0

0x18 — OPTIONS

63 0

0x20 MESSAGE_CTX

63 0

0x28 MESSAGE_IOVA

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0.31 DEPLETION_ENTRY below this threshold the pool is "depleted"; set to '0' to disable

32-63 DEPLETION_EXIT greater than or equal to this threshold the pool exit its “depleted" state

0x10 0-31 SURPLUS_ENTRY above this threshold the pool is in "surplus" state; set it to '0' to disable it

32-63 SURPLUS_EXIT less than or equal to this threshold the pool exit its "surplus" state

0x18 0-15 OPTIONS Mask of available options; use 'DPBP_NOTIF_OPT_<X>' values

0x20 0-63 MESSAGE_CTX The context that will be part of the BPSCN message and will be written to 'MESSAGE_IOVA'

0x28 0-63 MESSAGE_IOVA MUST be given if either 'DEPLETION_ENTRY' or 'SURPLUS_ENTRY' is not '0' (enable); I/O virtual address (must be in DMA-able memory), must be 16B aligned.

Page 294: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-26

8.2.18 DPBP_GET_API_VERSION

Command structure

Figure 199. DPBP_GET_API_VERSION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 295: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-27

Response structure

Figure 200. DPBP_GET_API_VERSION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Figure 201. DPBP_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 296: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPBP: Data Path Buffer Pool

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 8-28

Page 297: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-1

Chapter 9 DPIO: Data Path I/OThe DPIO object allows configuration of the QBMan software portal, with optional notification capabilities. Software portals are used by GPP software to communicate with the QBMan. The DPIO object’s main purpose is to enable the GPP to perform I/O – enqueue and dequeue operations, as well as buffer release and acquire operations – using QBMan. Usually, a DPIO object can be affined to a GPP core-thread, to prevent any need for multi-core synchronization on the software portal.

The DPIO object is mandatory for sending frames to, and receiving frames from, a network interface; refer to the DPNI section for more information on the relationship between DPNI and DPIO.

9.1 DPIO features

The following list summarizes the DPIO main features and capabilities:

• Supports configuration of the QBMan software portal for GPP I/O operations

• Supports data availability notifications in the frame queues associated with the DPIO object

• Supports data availability notifications in the DPCON objects associated with the DPIO object

• Supports up to eight priorities for scheduling data availability notifications; having a DPIO object with multiple priorities, for example, allows for different notification priorities to be set for different DPNI receive queues; assuming that they are associated with the same DPIO object

• Supports enable, disable, and reset operations

Page 298: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-2

9.2 DPIO command reference

This section contains the detailed programming model of DPIO commands.

9.2.1 DPIO_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPIO_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 202. DPIO_OPEN Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPIO_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 22. DPIO_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPIO_ID DPIO unique ID

Page 299: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-3

9.2.2 DPIO_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 203. DPIO_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 300: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-4

9.2.3 DPIO_CREATE

This command creates and initializes an instance of DPIO according to the specified command parameters. This command is not required for DPIO instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPIO ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 204. DPIO_CREATE Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 18 17 16 15 0

0x08 — NUM_PRIORITIES

— CHANNEL_MO

DE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 23. DPIO_CREATE Command Field Descriptions1

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 301: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-5

Response structure

Figure 9-1. DPIO_CREATE Response Description

The following table describes the response fields.

0x08 16-17 CHANNEL_MODE Notification channel mode. Select one of the supported values below:0x0 = DPIO_NO_CHANNEL - No support for notification channel0x1 = DPIO_LOCAL_CHANNEL - Notifications on data availability can be received by a dedicated channel in the DPIO; user should point the queue's destination in the relevant interface to this DPIO

32-39 NUM_PRIORITIES Number of priorities for the notification channel (1-8);relevant only if 'channel_mode = DPIO_LOCAL_CHANNEL'. The default value is 2.

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9031 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — DPIO_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 9-1. DPIO_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPIO_ID DPIO unique ID

Table 23. DPIO_CREATE Command Field Descriptions1

Offset Bits Name Description

Page 302: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-6

9.2.4 DPIO_DESTROY

This command destroys the DPIO object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 205. DPIO_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9831 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPIO_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPIO_ID ID of the DPIO object to destroy

Page 303: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-7

9.2.5 DPIO_ENABLECommand structure

Figure 206. DPIO_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 304: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-8

9.2.6 DPIO_DISABLE

Command structure

Figure 207. DPIO_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 305: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-9

9.2.7 DPIO_IS_ENABLED

Command structure

Figure 208. DPIO_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 306: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-10

Response structure

Figure 209. DPIO_IS_ENABLED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 307: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-11

9.2.8 DPIO_RESET

Command structure

Figure 210. DPIO_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 308: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-12

9.2.9 DPIO_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 211. DPIO_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 309: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-13

9.2.10 DPIO_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 212. DPIO_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 310: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-14

Response structure

Figure 213. DPIO_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 311: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-15

9.2.11 DPIO_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 214. DPIO_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 312: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-16

9.2.12 DPIO_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 215. DPIO_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 313: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-17

Response structure

Figure 216. DPIO_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 314: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-18

9.2.13 DPIO_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 217. DPIO_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPIO_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 315: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-19

Response structure

Figure 218. DPIO_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events:None

Page 316: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-20

9.2.14 DPIO_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 219. DPIO_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

0x10 - 0x38

reserved

Page 317: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-21

9.2.15 DPIO_GET_ATTRIBUTES

Command structure

Figure 220. DPIO_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 318: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-22

Response structure

Figure 221. DPIO_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 60 59 56 55 48 47 32 31 0

0x08 — CHANNEL_MO

DE

NUM_PRIORITIES

QBMAN_PORTAL_ID ID

63 0

0x10 QBMAN_PORTAL_CE_PADDR

63 0

0x18 QBMAN_PORTAL_CI_PADDR

63 32 31 0

0x20 — QBMAN_VERSION

63 32 31 0

0x28 — CLK

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID DPIO object ID

32-47 QBMAN_PORTAL_ID Software portal ID

48-55 NUM_PRIORITIES Number of priorities for the notification channel (1-8); relevant only if 'CHANNEL_MODE = DPIO_LOCAL_CHANNEL'

56-59 CHANNEL_MODE Notification channel mode:0x0 = DPIO_NO_CHANNEL - No support for notification channel0x1 = DPIO_LOCAL_CHANNEL - Notifications on data availability can be received by a dedicated channel in the DPIO; user should point the queue's destination in the relevant interface to this DPIO

0x10 0-63 QBMAN_PORTAL_CE_PADDR Physical address of the software portal cache-enabled area

0x18 0-63 QBAMN_PORTAL_CI_PADDR Physical address of the software portal cache-inhibited area

0x20 0-31 QBMAN_VERSION QBMAN hardware IP version

0x28 0-31 CLK QBMAN clock frequency value in Hz

Page 319: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-23

9.2.16 DPIO_SET_STASHING_DESTINATION

Command structure

Figure 222. DPIO_SET_STASHING_DESTINATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1201 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — SDEST

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 SDEST stashing destination value

Page 320: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-24

9.2.17 DPIO_GET_STASHING_DESTINATION

Command structure

Figure 223. DPIO_GET_STASHING_DESTINATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1211 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 321: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-25

Response structure

Figure 224. DPIO_GET_STASHING_DESTINATION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1211 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 8 7 0

0x08 — SDEST

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 SDEST stashing destination value

Page 322: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-26

9.2.18 DPIO_ADD_STATIC_DEQUEUE_CHANNEL

Command structure

Figure 225. DPIO_ADD_STATIC_DEQUEUE_CHANNEL Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1221 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPCON_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPCON_ID DPCON object ID

Page 323: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-27

Response structure

Figure 226. DPIO_ADD_STATIC_DEQUEUE_CHANNEL Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1221 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 8 7 0

0x08 — CHANNEL_INDEX

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 CHANNEL_INDEX Returned channel index to be used in qbman API

Page 324: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-28

9.2.19 DPIO_REMOVE_STATIC_DEQUEUE_CHANNEL

Command structure

Figure 227. DPIO_REMOVE_STATIC_DEQUEUE_CHANNEL Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1231 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPCON_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPCON_ID DPCON object ID

Page 325: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-29

9.2.20 DPIO_GET_API_VERSION

Command structure

Figure 228. DPIO_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 326: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-30

Response structure

Figure 229. DPIO_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA031 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 327: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-31

9.2.21 DPIO_SET_STASHING_DESTINATION_SOURCE

On some SOC (example: LX2160a) there is a hardware feature that let the core set the correct stashing destination automatically.

This feature when available is enabled automatically.

Attempting to enable this feature on an SOC that do not support it will not cause an error but will have no effect. The user must read the value to verify if the command effectively enabled this feature.

Command structure

Figure 230. DPIO_SET_STASHING_DESTINATION_SOURCE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1241 TOKEN —IN

TR

_D

ISSTATUS P — SRCID

63 7 0

0x08 — SOURCE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 SOURCE Stashing destination source of programming can be set to manual (0) or automatic (1). The automatic source stashing is supported on very few SOC at this time (LX2).

Page 328: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-32

9.2.22 DPIO_GET_STASHING_DESTINATION_SOURCE

Read the current state of the stashing source:

0: manual

1: automatic

Command structure

Figure 231. DPIO_GET_STASHING_DESTINATION_SOURCE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1251 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 329: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-33

Response structure

Figure 232. DPIO_GET_STASHING_DESTINATION_SOURCE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1251 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 7 0

0x08 — SOURCE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 SOURCE Stashing destination source of programming value, manual (0) or automatic (1). The automatic source stashing is supported on very few SOC at this time (LX2).

Page 330: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPIO: Data Path I/O

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 9-34

9.2.23 DPIO_SET_STASHING_DESTINATION_BY_CORE_ID

Set the stashing destination using the SOC core id.

This is an alternative to directly setting the stashing destination and abstract the core id to stashing destination mapping. This core id to stashing destination mapping varies dependent on the SOC.

Note that the first core id is Zero.

Command structure

Figure 233. DPIO_SET_STASHING_DESTINATION_BY_CORE_ID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1261 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 7 0

0x08 — CORE_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 CORE_ID Setting the stashing destination for this core index. The first core id is zero.

Page 331: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-1

Chapter 10 DPDBG: Data Path DebuggingThe DPDBG object help us and users to debug MC issues by dumping information about MC objects and memory usage at any moment in MC running. Also the DPDBG object permit changing of some MC modules which could only be set at boot time from DPC file.

10.1 DPDBG features

The following list summarizes the DPDBG main features:

• Dump information about MC objects and memory usage

• Set on/off debugging printing modules at runtime like DDR logging, UART console printing, timestamping

• Change printing verbosity and UART id at runtime

Page 332: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-2

10.2 DPDBG command reference

This section contains detailed programming model of DPDBG commands.

10.2.1 DPDBG_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPDBG_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 234. DPDBG_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x80F1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 DPDBG_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 24. DPDBG_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDBG_ID DPDBG unique ID

Page 333: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-3

10.2.2 DPDBG_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 235. DPDBG_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 334: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-4

10.2.3 DPDBG_CREATE

This command creates and initializes an instance of DPDBG according to the specified command parameters. This command is not required for DPDBG instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. In order to create the DPDBG object the parent container must be a root container. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

Only one DPDBG object can be created in MC (singleton object).

The command generate a DP ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 236. DPDBG_CREATE Command Description

The following table describes the command fields.

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x90F1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 CONTAINER_ID DPDBG_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 25. DPDBG_CREATE Command Field Description

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDBG_ID ID of DPDBG object.

32-63 CONTAINER_ID The id of the container in which the DPDBG object will be created. Must be a root container.

Page 335: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-5

10.2.4 DPDBG_DESTROY

This command destroys the DPDBG object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 237. DPDBG_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x98F1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPDBG_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–31 DPDBG_ID ID of the DPDBG object to destroy

Page 336: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-6

10.2.5 DPMAC_DUMP

Dump information about MC objects and memory usage. The information dumped are printed to MC log (UART/DDR) on a logging level greater or equal with INFO (INFO/DEBUG/GLOBAL).

Command structure

Figure 238. DPDBG_DUMP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1301 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 OBJ_ID[0:3] OBJ_ID

63 0

0x10 OBJ_ID[4:11]

63 32 31 0

0x18 – OBJ_ID[12:15]

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 OBJ_ID The id of the object to dump. In case of dumping memory information this field must be set to zero.

32-63 OBJ_TYPE Type of the object/module to dump. In case of dumping memory information this field must be set as “mem” otherwise set this field with the type of the object you want to dump.Ex: Dump information about DPNI1OBJ_TYPE: “dpni”OBJ_ID: 1

0x10 0-63

0x18 0-31

Page 337: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-7

10.2.6 DPDBG_SET

Change the state of some MC module at runtime. You can change what, how and where MC log information are printed.

Command structure

Figure 239. DPDBG_SET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1401 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MODULE[0:3] STATE

63 0

0x10 MODULE[4:11]

63 32 31 0

0x18 – MODULE[12:15]

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATE The state that will be sated to the selected MODULE. May vary from 0 to 5 depending on the MODULE.

32-63 MODULE The module to set with the value STATE. The available modules are: console, log_mode, timestamp, uart_id, log_level.For “console” module the STATE can be 0 or 1: “0” turn the MC UART console printing OFF and “1” turn it ON.For “log_mode” module the STATE can be 0 or 1: “0” turn the DDR logging OFF and “1” turn it ON.For “timestamp” module the STATE can be 0 or 1: “0” turn the MC commands timestamping OFF and “1” turn it ON.For “uart_id” module the STATE can be in [0, 4]: “0” means MC UART console printing OFF and [1, 4] change the MC UART console id.For “log_level” module the state can be in [0, 5]:“0” - GLOBAL“1” - DEBUG“2” - INFO“3” - WARNING“4” - ERROR“5” - CRITICALThis option change the verbosity of MC information logging.

0x10 0-63

0x18 0-31

Page 338: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-8

10.2.7 DPDBG_GET_ATTRIBUTES

Command structure

Figure 240. DPDBG_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 339: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-9

Response structure

Figure 241. DPDBG_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — DPDBG_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDBG_ID ID of the DPDBG object

Page 340: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-10

10.2.8 DPDBG_GET_API_VERSION

Command structure

Figure 242. DPDBG_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0F1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 341: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-11

Response structure

Figure 243. DPDBG_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0C1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 342: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDBG: Data Path Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 10-12

Page 343: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-1

Chapter 11 DPCON: Data Path ConcentratorThe DPCON object provides advanced scheduling of ingress packets, including scheduling between different network interfaces. It enables advanced scheduling options for ingress traffic coming from one or more network interfaces, and provides better flexibility for the GPP software to handle received packets. The use of DPCON objects is optional – it is not required for basic receive operations; refer to the DPNI section for more information on the relationship between DPNI and DPCON.

If assigned to the AIOP container (contains MC objects owned by AIOP) the DPCON object switches to AIOP mode and it provides the interface to prioritize the ingress traffic to AIOP.

The main reason for introducing this mode is to allow the AIOP software to implement a custom QoS scheme.

In this mode the DPCON object can only be used by AIOP SW and it doesn't provide the notification option. Note that QBMan has several (the number is platform depended) Direct Command Portals (DCP) connected to AIOP HW block. In AIOP mode the DPCON can't be connected or linked with DPNI or DPCI objects. This mode is strictly reserved for AIOP.

If the DPCON object is reassigned to a non-AIOP context the DPCON switches back to normal mode (GPP).

Since the DPCON in AIOP mode operates on a different resource type ('dcp.aiop.ch') than normal GPP mode ('swpch') it also affects the maximum number of concentrator objects - see 22.2.1.1 for resource types. Note that when assigning a DPCON object AIOP, the channel resources are bind and released based on the destination and source container type: AIOP or non-AIOP. In other words the DPCON object will use on a single channel resource type. Also, during assign operation the number of priorities is maintained - the number is constant during the object lifetime. This means that when the DPCON gets back to it's creation container the same SWP Channel resource type will be allocated.

For LS2088A there can be maximum 63 DPCON objects in AIOP mode and for LS1088A only 15.

11.1 DPCON features

The following list summarizes the DPCON main features and capabilities:

• Supports configuration of QBMan channels for advanced scheduling of ingress packets from one or more network interfaces

• Supports up to eight scheduling priorities; having a DPCON object with multiple priorities, for example, allows for different priorities to be set for the receive queues of two different DPNI objects

• Supports data availability notifications through a selected DPIO object

• Supports enable, disable, and reset operations

• Supports QBMan DCP AIOP Channels with up to 8 priorities

Page 344: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-2

11.2 DPCON command reference

This section contains the detailed programming model of DPCON commands.

11.2.1 DPCON_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPCON_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

The command format is shown in the figure below.

Figure 244. DPCON_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8081 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPCON_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 26. DPCON_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPCON_ID DPCON unique ID

Page 345: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-3

11.2.2 DPCON_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 245. DPCON_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 - 0x38

Reserved

Page 346: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-4

11.2.3 DPCON_CREATE

This command creates and initializes an instance of DPCON according to the specified command parameters. This command is not required for DPCON instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPCON ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 246. DPCON_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9081 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — NUM_PRIORITIES

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 27. DPCON_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 NUM_PRIORITIES Number of priorities for the DPCON channel (1-8). The default value is 2.

Page 347: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-5

Response structure

Figure 11-1. DPCON_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9081 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPCON_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 11-1. DPCON_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPCON_ID DPCON unique ID

Page 348: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-6

11.2.4 DPCON_DESTROY

This command destroys the DPCON object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 247. DPCON_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9881 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPCON_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPCON_ID ID of the DPCON object to destroy

Page 349: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-7

11.2.5 DPCON_ENABLE

Command structure

Figure 248. DPCON_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 350: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-8

11.2.6 DPCON_DISABLE

Command structure

Figure 249. DPCON_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 351: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-9

11.2.7 DPCON_IS_ENABLED

Command structure

Figure 250. DPCON_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 352: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-10

Response structure

Figure 251. DPCON_IS_ENABLED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 353: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-11

11.2.8 DPCON_RESET

Command structure

Figure 252. DPCON_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 354: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-12

11.2.9 DPCON_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 253. DPCON_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 355: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-13

11.2.10 DPCON_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 254. DPCON_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 356: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-14

Response structure

Figure 255. DPCON_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 357: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-15

11.2.11 DPCON_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 256. DPCON_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 358: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-16

11.2.12 DPCON_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 257. DPCON_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 359: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-17

Response structure

Figure 258. DPCON_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 360: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-18

11.2.13 DPCON_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 259. DPCON_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPCON_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 361: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-19

Response structure

Figure 260. DPCON_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events:None

Page 362: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-20

11.2.14 DPCON_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 261. DPCON_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 363: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-21

11.2.15 DPCON_GET_ATTRIBUTES

Command structure

Figure 262. DPCON_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 364: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-22

Response structure

Figure 263. DPCON_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 56 55 48 47 32 31 0

0x08 — NUM_PRIORITIES QBMAN_CH_ID ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID DPCON object ID

32-47 QBMAN_CH_ID Channel ID to be used by dequeue operation

48-55 NUM_PRIORITIES Number of priorities for the DPCON channel (1-8)

Page 365: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-23

11.2.16 DPCON_SET_NOTIFICATION

Command structure

Figure 264. DPCON_SET_NOTIFICATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1001 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 — PRIORITY DPIO_ID

63 0

0x10 USER_CTX

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPIO_ID DPIO object ID; must be configured with a notification channel

32-39 PRIORITY Priority selection within the DPIO channel; valid valuesare 0-7, depending on the number of priorities in that channel

0x10 0-63 USER_CTX User context value provided with each CDAN message

Page 366: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-24

11.2.17 DPCON_GET_API_VERSION

Command structure

Figure 265. DPCON_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA081 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 367: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-25

Response structure

Figure 266. DPCON_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA081 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 368: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCON: Data Path Concentrator

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 11-26

Page 369: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-1

Chapter 12 DPCI: Data Path Communication InterfaceThe MC exports a generic interface for inter-partition communication (IPC). The DPCI enables frame-based communication between different software contexts, utilizing the DPAA2 QBMan infrastructure. The communication protocol is completely free, unlike DPNI, which is a standard network interface. DPCI objects may be connected in pairs (one DPCI in each software context) to form a communication link. This type of communication may serve basic management/control needs between GPP software and AIOP software, or between two separate GPP software contexts.

DPCI objects can be linked with DPCON objects but only if both are in AIOP container.The reason is that DPCON objects in AIOP container are exclusively used by Advanced I/O processor and allow implementing QoS on DPCI object receive queues-which implies that the DPCI object must be owned by AIOP container also.

By default, Rx queues start with a default priority, which can be overridden by DPCI_SET_Rx_QUEUE command.After DPCI_RESET the Rx queue priority values are reset to the default values.

Please refer to the API book for complete reference of available functions.

12.1 DPCI features

The following list summarizes the DPCI main features and capabilities:

• Supports up to two scheduling priorities for outgoing frames.

• Supports up to two scheduling priorities for incoming frames.

• Allows interaction with one or more Data Path I/O (DPIO) objects for dequeueing/enqueueing frame descriptors (FD) and for acquiring/releasing buffers.

• Supports different scheduling options for processing received packets:

— Queues can be configured either in ‘parked’ mode (default), or attached to a DPIO object, or attached to DPCON object

• Supports link state indication – a communication link is active only when both DPCI objects are initialized and enabled.

• Supports enable, disable, and reset operations

• Supports for QoS–only if both DPCI and DPCON are in AIOP context.

12.2 DPCI functional description

12.2.1 Connecting DPCI objects

The communication channel consists of two DPCI objects, each on a different software context. Each DPCI object owns up to two receive queues, matching the number of priorities requested when the object was created. The two objects should be connected using either DPL declaration or through DPRC CONNECT operation. The connection (link) will be in an active state (‘link up’) only after both DPCI objects are enabled. Once the link is up, each software context may query the DPCI attributes to find the queue IDs that should be used in enqueue and dequeue operations.

Page 370: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-2

12.2.2 Relationship with DPIO and DPCON objects

Each of the two DPCI receive queues may be associated with either a DPIO object or a DPCON object. This serves for notification purposes and/or advanced scheduling of received frames.

DPIO objects provide configuration of a QBMan software portal, with an option for data availability notifications. GPP software is free to relate DPIO objects to threads, or to share them between cores in SMP mode but this requires synchronized access to the QBMan software portal. It is possible to associate multiple DPIO objects with the same DPCI, in order to spread traffic from this DPCI across multiple QBMan software portals.

GPP software may decide to enable DPIO notifications, or it may dequeue frames based on its own scheduled polling logic. It is also possible for one GPP entity to receive the notification from one DPIO and alert another entity that will dequeue the packets using a different DPIO.

DPCON objects are used for concentrating traffic from several interfaces into sub-interfaces, mainly for scheduling purposes. It is possible to connect DPCON with DPIO so it generates notifications to the GPP

DPCI objects can be linked with DPCON objects that are in AIOP mode (DPCON utilizes a DCP AIOP channel instead of a SWP Channel.

Note that the QBMan software portal is used both for enqueue/dequeue operations on packets, and for acquire/release buffer operations. GPP software is responsible for the portal’s operation mode and usage i.e. sharing vs. affinity, association of queue context, etc.

DPIO objects may serve multiple interfaces. This is not limited to multiple DPCI objects; it can also be extended to network interfaces and accelerator interfaces. For example, the same DPIO may serve both a DPNI and a DPCI, assuming they are assigned to the same software context (container).

12.2.3 Buffer requirements

A DPCI does not need to be associated with a DPBP object; in addition, buffers for the communication messages (frames) may or may not be managed by buffer pools. However, these buffers must be shared by the two communicating software contexts, as the communication channel does not involve copying of the frame.

12.3 DPCI command reference

This section contains detailed programming model of DPCI commands.

Page 371: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-3

12.3.1 DPCI_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPCI_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

The command format is shown in the figure below.

Figure 267. DPCI_OPEN Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8071 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPCI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 28. DPCI_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPCI_ID DPCI unique ID

Page 372: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-4

12.3.2 DPCI_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 268. DPCI_CLOSE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 29. DPCI_CLOSE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 373: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-5

12.3.3 DPCI_CREATE

This command creates and initializes an instance of DPCI according to the specified command parameters. This command is not required for DPCI instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPCI ID that can be used to OPEN or DESTROY the object.

Command structure

Figure 269. DPCI_CREATE Command Description

1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0X9071 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — NUM_OF_PRIORITIES

63 0

0x10 —

63 32 31 0

0x18 — OPTIONS (details in the table below)

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 30. DPCI_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–7 NUM_OF_PRIORITIES Number of receive priorities (queues) for the DPCI; note, that the number of transmit priorities (queues) is determined by the number of receive priorities of the peer DPCI object. A value bigger than 0 is required. The maximum number of priorities is 4.

0x18 0–31 OPTIONS – select one or more of the options below. Valid only in DPL create.

6 DPCI_OPT_HAS_OPR Controls availability of Order Restoration:0 – Order Restoration is not available. Command DPCI_SET_OPR will return an error.1 – Order Restoration is available on this DPCI. Note that this option is not available for LS2080A

7 DPCI_OPT_OPR_SHARED 0 – Order Restoration Points can be set per each index or priority.1 – Order Restoration Points are shared for the entire DPCI.

Page 374: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-6

Response structure

Figure 270. DPCI_CREATE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9072 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPCI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 12-1. DPCI_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPCI_ID DPCI unique ID

Page 375: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-7

12.3.4 DPCI_DESTROY

This command destroys the DPCI object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 271. DPCI_DESTROY Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9871 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPCI_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 31. DPCI_DESTROY Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPCI_ID ID of the DPCI object to destroy

Page 376: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-8

12.3.5 DPCI_ENABLE

Command structure

Figure 272. DPCI_ENABLE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 32. DPCI_ENABLE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 377: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-9

12.3.6 DPCI_DISABLE

Command structure

Figure 273. DPCI_DISABLE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 33. DPCI_DISABLE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 378: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-10

12.3.7 DPCI_IS_ENABLED

Command structure

Figure 274. DPCI_IS_ENABLED Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 34. DPCI_IS_ENABLED Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 379: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-11

Response structure

Figure 275. DPCI_IS_ENABLED Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 35. DPCI_IS_ENABLED Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 380: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-12

12.3.8 DPCI_RESETCommand structure

Figure 276. DPCI_RESET Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 36. DPCI_RESET Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 381: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-13

12.3.9 DPCI_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 277. DPCI_SET_IRQ_ENABLE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 37. DPCI_SET_IRQ_ENABLE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 382: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-14

12.3.10 DPCI_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 278. DPCI_GET_IRQ_ENABLE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 38. DPCI_GET_IRQ_ENABLE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 383: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-15

Response structure

Figure 279. DPCI_GET_IRQ_ENABLE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 39. DPCI_GET_IRQ_ENABLE Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 384: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-16

12.3.11 DPCI_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 280. DPCI_SET_IRQ_MASK Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 40. DPCI_SET_IRQ_MASK Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 385: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-17

12.3.12 DPCI_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 281. DPCI_GET_IRQ_MASK Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 41. DPCI_GET_IRQ_MASK Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 386: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-18

Response structure

Figure 282. DPCI_GET_IRQ_MASK Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 42. DPCI_GET_IRQ_MASK Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 387: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-19

12.3.13 DPCI_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 283. DPCI_GET_IRQ_STATUS Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 43. DPCI_GET_IRQ_STATUS Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPCI_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 388: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-20

Response structure

Figure 284. DPCI_GET_IRQ_STATUS Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 44. DPCI_GET_IRQ_STATUS Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events for IRQ 0:Bit 0: DPCI_IRQ_EVENT_LINK_CHANGED – indicates a change in the link stateBit 1: DPCI_IRQ_EVENT_CONNECTED – indicates a peer was connectedBit 2: DPCI_IRQ_EVENT_DISCONNECTED – indicates a peer was disconnected

Page 389: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-21

12.3.14 DPCI_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 285. DPCI_CLEAR_IRQ_STATUS Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Table 45. DPCI_CLEAR_IRQ_STATUS Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 390: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-22

12.3.15 DPCI_GET_ATTRIBUTES

Command structure

Figure 286. DPCI_GET_ATTRIBUTES Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 46. DPCI_GET_ATTRIBUTES Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 391: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-23

Response structure

Figure 287. DPCI_GET_ATTRIBUTES Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 56 55 48 47 32 31 0

0x08 — NUM_OF_PRIORITIES

— ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 47. DPCI_GET_ATTRIBUTES Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID DPCI object ID

48-55 NUM_OF_PRIORITIES Number of receive priorities

Page 392: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-24

12.3.16 DPCI_GET_PEER_ATTRIBUTES

Command structure

Figure 288. DPCI_GET_PEER_ATTRIBUTES Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E21 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 48. DPCI_GET_PEER_ATTRIBUTES Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 393: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-25

Response structure

Figure 289. DPCI_GET_PEER_ATTRIBUTES Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — PEER_ID

63 8 7 0

0x10 — NUM_OF_PRIORITIES

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 49. DPCI_GET_PEER_ATTRIBUTES Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 PEER_ID DPCI peer ID; if no peer is connected returns (-1)

0x10 0-7 NUM_OF_PRIORITIES The peer's number of receive priorities; determines thenumber of transmit priorities for the local DPCI object

Page 394: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-26

12.3.17 DPCI_GET_LINK_STATE

Command structure

Figure 290. DPCI_GET_LINK_STATE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 50. DPCI_GET_LINK_STATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 395: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-27

Response structure

Figure 291. DPCI_GET_LINK_STATE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E11 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — UP

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 51. DPCI_GET_LINK_STATE Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 UP Returned link state; returns '1' if link is up, '0' otherwise

Page 396: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-28

12.3.18 DPCI_SET_RX_QUEUE

As a limitation, this command will fail if it is called twice without resetting the object. See Section 28.2, “Reconfiguring FQs associated with a channel.”

Command structure

Figure 292. DPCI_SET_RX_QUEUE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E01 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 53 52 51 48 47 40 39 32 31 0

0x08 —

OP

E

TYPE PRIORITY DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 32 31 0

0x18 — OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 52. DPCI_SET_RX_QUEUE Command Field Descriptions1

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 DEST_PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0-1 or 0-7, depending on the number of priorities in that channel; not relevant for 'DPCI_DEST_NONE' option, except if this DPCI is in AIOP context.In that case the DCI_SET_RX_QUEUE can be used to override the default assigned priority.

40-47 PRIORITY Select the queue relative to number of priorities configured at DPCI creation; use DPCI_ALL_QUEUES to configure all Rx queues identically.

48-51 DEST_TYPE Destination type:0x0 = DPCI_DEST_NONE - Unassigned destination; The queue is set in parked mode and does not generate

FQDAN notifications; user is expected to dequeue from the queue based on polling or other user-defined method0x1 = DPCI_DEST_DPIO- The queue is set in schedule mode and generates FQDAN notifications to the specified

DPIO; user is expected to dequeue from the queue only after notification is received0x2 = DPCI_DEST_DPCON - The queue is set in schedule mode and does not generate FQDAN notifications, but

is connected to the specified DPCON object; user is expected to dequeue from the DPCON channel

52 ORDER_PRESERVATION_EN (OPE)

Order preservation configuration for the rx queueValid only if 'DPCI_QUEUE_OPT_ORDER_PRESERVATION' is contained in ‘options'

Page 397: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-29

12.3.19 DPCI_GET_RX_QUEUE

Command structure

Figure 293. DPCI_GET_RX_QUEUE Command Description

0x10 0-63 USER_CTX User context value provided in the frame descriptor of eachdequeued frame;valid only if 'DPCI_QUEUE_OPT_USER_CTX' is contained in 'options'

0x18 0-32 OPTIONS Flags representing the suggested modifications to the queue;Use any combination of 'DPCI_QUEUE_OPT_<X>' flags:bit 0: DPCI_QUEUE_OPT_USER_CTX - Select to modify the user's context associated with the queuebit 1: DPCI_QUEUE_OPT_DEST - Select to modify the queue's destinationbit 2: DPCI_QUEUE_OPT_HOLD_ACTIVE - Select to set the queue hold active mode

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E31 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 40 39 0

0x08 — PRIORITY —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 53. DPCI_GET_RX_QUEUE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 40-47 PRIORITY Select the queue relative to number of priorities configured at DPCI creation

Table 52. DPCI_SET_RX_QUEUE Command Field Descriptions1

Offset Bits Name Description

Page 398: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-30

Response structure

Figure 294. DPCI_GET_RX_QUEUE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E31 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 0

0x08 — DEST_TYPE

— DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 32 31 0

0x18 — FQID

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 54. DPCI_GET_RX_QUEUE Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 PRIORITY Priority selection within the DPIO or DPCON channel; valid valuesare 0-1 or 0-7, depending on the number of priorities in thatchannel; not relevant for 'DPCI_DEST_NONE' option

48-51 DEST_TYPE Destination type

0x10 0-63 USER_CTX User context value provided in the frame descriptor of eachdequeued frame

0x18 0-31 FQID Virtual FQID value to be used for dequeue operations

Page 399: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-31

12.3.20 DPCI_GET_TX_QUEUE

Command structure

Figure 295. DPCI_GET_TX_QUEUE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E41 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 40 39 0

0x08 — PRIORITY —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 55. DPCI_GET_TX_QUEUE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 40-47 PRIORITY Priority of the virtual frame queue that a SW context uses to send frames to the pair SW context. DPCI objects work in pairs. To figure out which FQID one peer uses to receive data must provide the priority level.

Page 400: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-32

Response structure

Figure 296. DPCI_GET_TX_QUEUE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E41 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 0

0x08 FQID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 56. DPCI_GET_TX_QUEUE Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-63 FQID Virtual FQID to be used for sending frames to peer DPCI;returns 'DPCI_FQID_NOT_VALID' if a no peer is connected or ifthe selected priority exceeds the number of priorities of thepeer DPCI object

Page 401: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-33

12.3.21 DPCI_GET_API_VERSION

Command structure

Figure 297. DPCI_GET_API_VERSION Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA071 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 57. DPCI_GET_TX_QUEUE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 402: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-34

Response structure

Figure 298. DPCI_GET_TX_QUEUE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA071 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 58. DPCI_GET_TX_QUEUE Response Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 403: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-35

12.3.22 DPCI_SET_OPR

Set the Order Point Record configuration. The command works only if the DPCI is created with the DPCI_OPT_HAS_OPR option. It also works only for SoCs that support Order Restoration.

If the DPCI is configured with the DPCI_OPT_OPR_SHARED than all frame queues from the DPCI are configured to use the same Order Point Record. If the DPCI_OPT_OPR_SHARED option is not set the INDEX is used to select a specific queue.

Command structure

Figure 299. DPCI_SET_OPR Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E51 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 24 23 16 15 0

0x08 — OPTIONS INDEX —

63 56 55 48 47 40 39 32 31 24 23 0

0x10 OPRRWS OA OLWS OEANE OLOE —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 59. DPCI_SET_OPR Response Field Descriptions1

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 16-23 INDEX Selects a specific queue from the Rx DPCI queues. Accepted values are in range 0 to NUM_QUEUES – 1. This field is ignored for DPCI_OPT_OPR_SHARED.

24–31 OPTIONS The command can function in two ways, depending on the options field value: • OPR_OPT_CREATE (1): Create the OPR with the given configuration • OPR_OPT_RETIRE (2): Retire OPR. In this case the configuration options from offset 0x10 are

ignored.

Page 404: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-36

0x10 24–31 OLOE OPR loose ordering enable • 0: Strict ordering mode • 1: Loose ordering mode

32–39 OEANE Order restoration list (ORL) resource exhaustion advance NESN enable

40–47 OLWS OPR acceptable late arrival window size • 0: Disabled. Late arrivals are always rejected. • 1: Window size is 32 frames. • 2: Window size is the same as the OPR restoration window size configured in the OPRRWS field. • 3: Window size is 8192 frames. Late arrivals are always accepted.

48–55 OA OPR auto advance NESN window size

56–63 OPRRWS Order point record (OPR) restoration window size. • 0: Window size is 32 frames. • 1: Window size is 64 frames. • 2: Window size is 128 frames. • 3: Window size is 256 frames. • 4: Window size is 512 frames. • 5: Window size is 1024 frames. • 6–7: Reserved

1 All unspecified fields are reserved and must be cleared (set to zero).

Table 59. DPCI_SET_OPR Response Field Descriptions1

Offset Bits Name Description

Page 405: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-37

12.3.23 DPCI_GET_OPR

Get Order Point Record (OPR) configuration and state. Works for OPRs that are created. The creation of the OPR takes place the first time the DPCI is enabled after a DPCI_SET_OPR command.

Command structure

Figure 300. DPCI_GET_OPR Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E61 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 24 23 16 15 0

0x08 — INDEX —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 60. DPCI_GET_OPR Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0X08 16-23 INDEX Selects a specific queue from the Rx DPCI queues. This field is ignored for DPCI_OPT_OPR_SHARED.

Page 406: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-38

Response structure

Figure 301. DPCI_GET_OPR Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0E61 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 56 55 48 47 40 39 32 31 24 23 2 1 0

0x10 OPRRWS OA OLWS OEANE OLOE — EN RIP

63 48 47 32 31 16 15 0

0x18 — NDSN — NESN

63 48 47 32 31 16 15 0

0x20 —

NL

IS_

HS

EQ

EA_HSEQ —

NL

IS_T

SE

Q

EA_TSEQ

63 48 47 32 31 16 15 0

0x28 — EA_TPTR — EA_HPTR

63 48 47 32 31 16 15 0

0x30 — OPRID — VOPRID

63 0

0x38 —

Table 61. DPCI_GET_OPR Response Field Descriptions1

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0 RIP Retirement In Progress.

1 EN OPR is enabled.

24–31 OLOE OPR loose ordering enable

32–39 OEANE Order restoration list (ORL) resource exhaustion advance NESN enable

40–47 OLWS OPR acceptable late arrival window size

48–55 OA OPR auto advance NESN window size

56–63 OPRRWS Order point record (OPR) restoration window size

0x18 0–15 NESN Next expected sequence number.

32–47 NDSN Next dispensed sequence number.

0x20 0–15 EA_TSEQ Sequence number of the frame at the tail of the ORL.

16 NLIS_TSEQ Not last in sequence for EA_TSEQ

32–47 EA_HSEQ Sequence number of the frame at the head of the ORL.

48 NLIS_HSEQ Not last in sequence for EA_HSEQ

0x28 0–15 EA_HPTR Early arrival head pointer

32–47 EA_TPTR Early arrival tail pointer

Page 407: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-39

0x30 0–15 VOPRID Virtual Order Point Record ID

32–47 OPRID Order Point Record ID

1 All unspecified fields are reserved and must be cleared (set to zero).

Table 61. DPCI_GET_OPR Response Field Descriptions1

Offset Bits Name Description

Page 408: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPCI: Data Path Communication Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 12-40

Page 409: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-1

Chapter 13 DPDMUX: Data Path Network DeMuxThe DPDMUX object provides the functionality of Ethernet virtual bridging, based mainly on 802.1Qbg standard. The major role of the DPDMUX is forwarding traffic from a single uplink interface to one or more internal interfaces. The uplink interface can be an internal or external interface.

DPDMUX forwarding is decided by an internal database which classifies the received frames and sends them to either the uplink interface or to the internal interfaces. The DPDMUX database can be updated dynamically at run-time. DPDMUX does not support automatic learning from network traffic, however it does learn MAC addresses and VLAN IDs from connected DPNI objects. There is no aging mechanism support for database entries.

13.1 DPDMUX features

The following list summarizes the DPDMUX main features and capabilities:

• Supports 802.1Qbg configurations such as VEB and VEPA

• Splits ingress traffic from one uplink interface to multiple internal interfaces (DPNIs)

• Supports VM-to-VM bridging (VEB configuration mode)

• Supports the following demux methods:

— Split traffic by destination MAC address (DMAC)

— Split traffic by C-VLAN

— Split traffic by DMAC and C-VLAN combined

• Configurable number of demux table entries

• Support Unicast, Multicast and Broadcast frames, including Unicast and Multicast promiscuous modes for the internal interfaces.

• Supports the following frame acceptance policies per interface:

— All frames are accepted (default behavior)

— Only tagged frames are accepted

— Only untagged (or priority-tagged) frames are accepted

• Statistics counters per interface

• Link state indication per interface (interrupt GPP on change)

Page 410: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-2

13.2 DPDMUX functional description

13.2.1 Demux database

DPDMUX forwarding is decided by an internal database which classifies received frames and sends them to either the uplink interface or to the internal interfaces.

DPDMUX database can be updated dynamically through two main mechanisms:

• Interface learning – DPDMUX automatically queries DPNI objects after they are connected to its internal interfaces, and automatically configures the forwarding database with the matching MAC/VLAN rules according to the selected demux method. The information received from DPNI includes MAC filters (Unicast and Multicast), VLAN filters and promiscuous settings. Rules that were configured based on this mechanism are removed once the DPNI object is disconnected from the DPDMUX interface.

• Management configuration – The DPDMUX user (GPP driver) may add (or remove) forwarding rules directly through DPDMUX commands. Please refer to the DPDMUX_IF_ADD/REMOVE_L2_RULE commands for more details. Rules that were configured through management commands can only be removed by management commands, so connecting/disconnecting DPNI objects have no impact on such rules.

DPDMUX does not support automatic learning from network traffic. Frames that cannot be matched with any rule are either dropped or redirected to a selected interface.

There is no automatic aging support for database entries.

13.2.2 Broadcast and multicast support

Ethernet broadcast and multicast frames are replicated to the relevant interfaces. Replication is supported only when the demux method is based on MAC addresses (or MAC and VLAN). If the demux method is set to use both MAC and VLAN, then replication is limited to the scope of the VLAN ID that is found in the frame (frames do not cross VLAN boundaries).

Note, that if the demux method is not configured to use MAC address, frames are never replicated.

13.2.3 Promiscuous interfaces

As mentioned, the DPDMUX queries connected DPNI objects for their settings. If a DPNI is configured in promiscuous mode (Unicast or Multicast), then it will receive all frames that did not match the MAC address in any of the existing rules. Frames that match an existing rule are not forwarded to promiscuous interfaces. When the demux method is set to use both MAC and VLAN, then frames replication to promiscuous interfaces is limited to the scope of the VLAN ID that is found in the frame (frames do not cross VLAN boundaries).

Note, that if the demux method is not configured to use MAC address, frames are never replicated.

Page 411: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-3

13.2.4 Frames acceptance policy

The frames acceptance policy can be configured for each of the DPDMUX interfaces. Note, that the acceptance policy is applied before a frame is matched against the demux database.

Valid acceptance policies are:

• Admit all – The DPDMUX interface accepts all valid Ethernet frames (tagged, untagged and priority-tagged frames).

• Admit only tagged – The DPDMUX interface accepts only VLAN-tagged Ethernet frames.

• Admit only untagged – The DPDMUX interface accepts only untagged Ethernet frames and priority-tagged Ethernet frames (VLAN ID = 0).

For each interface, the user may select an action to apply on unaccepted frames – either drop the frame or redirect it to control interface.

Please refer to DPDMUX_IF_SET_ACCEPTED_FRAMES command.

13.3 DPDMUX command reference

This section contains detailed programming model of DPDMUX commands.

Page 412: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-4

13.3.1 DPDMUX_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPDMUX_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 302. DPDMUX_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPDMUX_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 62. DPDMUX_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDMUX_ID DPDMUX unique ID

Page 413: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-5

13.3.2 DPDMUX_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 303. DPDMUX_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 414: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-6

13.3.3 DPDMUX_CREATE

This command creates and initializes an instance of DPDMUX according to the specified command parameters. This command is not required for DPDMUX instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPDMUX ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 304. DPDMUX_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9063 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 DEFAULT_IF NUM_IFS MANIP METHOD

63 48 47 32 31 16 15 0

0x10 MEM_SIZE MAX_VLAN_IDS MAX_MC_GROUPS MAX_DMAT_ENTRIES

63 0

0x18 OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 METHOD Defines the operation method for the DPDMUX address table. select one of the supported values below:0x0 = DPDMUX_METHOD_NONE: No DPDMUX Method0x1 = DPDMUX_METHOD_C_VLAN_MAC: DPDMUX based on C-VLAN and MAC address0x2 = DPDMUX_METHOD_MAC: DPDMUX based on MAC address0x3 = DPDMUX_METHOD_C_VLAN: DPDMUX based on C-VLAN (works on outer VLAN)0x4 = DPDMUX_METHOD_S_VLAN: DPDMUX based on S-VLAN: Not Supported (See C-VLAN)0x5 = DPDMUX_METHOD_CUSTOM: Users can define own rules by DPDMUX_SET_CUSTOME_KEY command defined in 12.3.30 section.

8-15 MANIP Required manipulation operation. select one of the supported values below:0x0 = DPDMUX_MANIP_NONE: No manipulation on frames0x1 = DPDMUX_MANIP_ADD_REMOVE_S_VLAN: Add S-VLAN on egress, remove it on ingress

16-31 NUM_IFS Number of interfaces (excluding the uplink interface)

Page 415: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-7

All unspecified fields are reserved and must be cleared (set to zero)

Response structure

Figure 13-1. DPDMUX_CREATE Response Description

The following table describes the response fields.

0x08 32-47 DEFAULT_IF Interface ID for desired Default Interface.If IF_ID = 0, there won’t be any default interface, even if prior to this, one was set up.This value will be applied only if DPDMUX METHOD is DPDMUX_METHOD_CUSTOM.This value will be used after DPDMUX_RESET.

48-63 MEM_SIZE Represents the number of 256byte buffers allocated for DPDMUX’s buffer pool. If 0, default value is used (1024).

0x10 0-15 MAX_DMAT_ENTRIES Maximum entries in DPDMUX address table0- indicates default: 64 entries multiplied by number of interfaces

16-31 MAX_MC_GROUPS Number of multicast groups in DPDMUX tableWhen METHOD=DPDMUX_METHOD_C_VLAN_MAC, MAX_VLAN_IDS is taken into account, because a new broadcast address is added into the replication table for each vlan id.At limit, the number of vlan ids used should be the same as the configuration of MAX_VLAN_IDS.0 - indicates default: 32 multicast groups

32-47 MAX_VLAN_IDS Maximum VLANs allowed in the system – relevant only for METHOD=DPDMUX_METHOD_C_VLAN_MAC.0 - indicates default of 16 VLANs.

0x18 0-63 OPTIONS DPDMUX options - combination of 'DPDMUX_OPT_<X>' flags.Select any combination of supported options below:bit 1: DPDMUX_OPT_BRIDGE_EN - Enable bridging between internal interfaces; allowed only if METHOD is either DPDMUX_METHOD_C_VLAN_MAC or DPDMUX_METHOD_MAC.bit 5: DPDMUX_OPT_CLS_MASK_SUPPORT: Mask support classification; allowed only if METHOD is DPDMUX_METHOD_CUSTOM. Invalid option for LS1088.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9063 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPDMUX_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

Page 416: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-8

Table 13-1. DPDMUX_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDMUX_ID DPDMUX unique ID

Page 417: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-9

13.3.4 DPDMUX_DESTROY

This command destroys the DPDMUX object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 305. DPDMUX_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9861 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPDMUX_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPDMUX_ID ID of the DPDMUX object to destroy

Page 418: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-10

13.3.5 DPDMUX_ENABLE

Command structure

Figure 306. DPDMUX_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 419: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-11

13.3.6 DPDMUX_DISABLE

Command structure

Figure 307. DPDMUX_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 420: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-12

13.3.7 DPDMUX_IS_ENABLED

Command structure

Figure 308. DPDMUX_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 421: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-13

13.3.8 DPDMUX_RESET

Command structure

Figure 309. DPDMUX_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 422: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-14

13.3.9 DPDMUX_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 310. DPDMUX_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 423: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-15

13.3.10 DPDMUX_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 311. DPDMUX_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 424: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-16

Response structure

Figure 312. DPDMUX_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 425: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-17

13.3.11 DPDMUX_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 313. DPDMUX_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 426: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-18

13.3.12 DPDMUX_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 314. DPDMUX_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 427: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-19

Response structure

Figure 315. DPDMUX_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 428: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-20

13.3.13 DPDMUX_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 316. DPDMUX_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPDMUX_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 429: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-21

Response structure

Figure 317. DPDMUX_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask (bits 0-15), one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events for IRQ 0:Bit 0: DPDMUX_IRQ_EVENT_LINK_CHANGED – indicates a change in the link stateBits 16-31 contain the DPDMUX interface ID associated with the event.

Page 430: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-22

13.3.14 DPDMUX_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 318. DPDMUX_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 431: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-23

13.3.15 DPDMUX_GET_ATTRIBUTES

Command structure

Figure 319. DPDMUX_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0042 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 432: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-24

Response structure

Figure 320. DPDMUX_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0042 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 32 31 16 15 8 7 0

0x08 DEFAULT_IF MEM_SIZE NUM_IFS MANIP METHOD

63 0

0x10 —

63 32 31 0

0x18 — ID

63 0

0x20 OPTIONS

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 METHOD DPDMUX address table method. One of the supported values below:1 = DPDMUX_METHOD_C_VLAN_MAC - DPDMUX based on C-VLAN and MAC address2 = DPDMUX_METHOD_MAC - DPDMUX based on MAC address3 = DPDMUX_METHOD_C_VLAN - DPDMUX based on C-VLAN4 = DPDMUX_METHOD_S_VLAN - DPDMUX based on S-VLAN

8-15 MANIP DPDMUX manipulation type. One of the supported values below:0 = DPDMUX_MANIP_NONE - No manipulation on frames1 = DPDMUX_MANIP_ADD_REMOVE_S_VLAN - Add S-VLAN on egress, remove it on ingress

16-31 NUM_IFS Number of interfaces (excluding the uplink interface)

32-47 MEM_SIZE DPDMUX frame storage memory size

48-63 DEFAULT_IF Returns the Interface ID for default interface set at create ar through DPDMUX_IF_SET_DEFAULT command. If ID=0 means that there is no default interface set.

0x18 0-31 ID DPDMUX object ID

0x20 0-63 OPTIONS Configuration options (bitmap). Any combination of supported options below: bit 1: DPDMUX_OPT_BRIDGE_EN - Enable bridging between internal interfaces

Page 433: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-25

13.3.16 DPDMUX_SET_MAX_FRAME_LENGTH

Sets the maximum accepted frame length on all DPDMUX ports.

Command structure

Figure 321. DPDMUX_SET_MAX_FRAME_LENGTH Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — MAX_FRAME_LENGTH

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 MAX_FRAME_LENGTH The required maximum frame length

Page 434: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-26

13.3.17 DPDMUX_IF_SET_ACCEPTED_FRAMES

Command structure

Figure 322. DPDMUX_IF_SET_ACCEPTED_FRAMES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A71 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 24 23 20 19 16 15 0

0x08 — UNACCEPT_A

CT

TYPE IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID (0 for uplink, or 1-num_ifs);

16-19 TYPE Defines ingress accepted frames. Select one of the supported values below:0x0 = DPDMUX_ADMIT_ALL - The device accepts VLAN tagged, untagged andpriority-tagged frames0x1 = DPDMUX_ADMIT_ONLY_VLAN_TAGGED - The device discards untagged frames or priority-tagged frames that are received on this interface0x2 = DPDMUX_ADMIT_ONLY_UNTAGGED - Untagged frames or priority-tagged frames received on this interface are accepted

20-23 UNACCEPT_ACT Defines action on frames not accepted. Select one of the supported values below:0x0 = DPDMUX_ACTION_DROP: Drop un-accepted frames0x1 = DPDMUX_ACTION_REDIRECT_TO_CTRL: Redirect un-accepted frames to the control interface

Page 435: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-27

13.3.18 DPDMUX_IF_GET_ATTRIBUTES

Command structure

Figure 323. DPDMUX_IF_GET_ATTR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A81 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID (0 for uplink, or 1-num_ifs);

Page 436: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-28

Response structure

Figure 324. DPDMUX_IF_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A81 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 60 59 56 55 26 25 24 23 0

0x08 —

AC

CE

PT

_FR

AM

E_

TY

PE

IS_

DE

FAU

LT

EN —

63 32 31 0

0x10 — RATE

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 24 ENABLED Indicates if interface is enabled

25 IS__DEFAULT Indicates if configured as default interface

56-59 ACCEPT_FRAME_TYPE Indicates type of accepted frames for the interface. Select one of the supported values below:0x0 = DPDMUX_ADMIT_ALL - The device accepts VLAN tagged, untagged andpriority-tagged frames0x1 = DPDMUX_ADMIT_ONLY_VLAN_TAGGED - The device discards untagged frames or priority-tagged frames that are received on this interface0x2 = DPDMUX_ADMIT_ONLY_UNTAGGED - Untagged frames or priority-tagged frames received on this interface are accepted

0x10 0-31 RATE Configured interface rate (in bits per second)

Page 437: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-29

13.3.19 DPDMUX_IF_ENABLE

Command structure

Figure 325. DPDMUX_IF_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A91 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 438: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-30

13.3.20 DPDMUX_IF_DISABLE

Command structure

Figure 326. DPDMUX_IF_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0AA1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 439: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-31

13.3.21 DPDMUX_IF_SET_DEFAULT

This command sets which interface should be default.

Command structure

Figure 327. DPDMUX_IF_SET_DEFAULT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B81 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface IDIf IF_ID = 0, there won’t be any default interface, even if prior to this, one was set up.

Page 440: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-32

13.3.22 DPDMUX_IF_GET_DEFAULT

Command structure

Figure 328. DPDMUX_IF_GET_DEFAULT Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B91 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 441: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-33

Response structure

Figure 329. DPDMUX_IF_GET_DEFAULT Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xB91 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID The ID of the default interface

Page 442: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-34

13.3.23 DPDMUX_SET_RESETABLE

This command is used if the user wants to reset only certain attributes. For example, the default interface is replaced with the one in DPDMUX_CREATE when reset via DPDMUX_RESET. Setting DPDMUX_SKIP_DEFAULT_INTERFACE flag through DPDMUX_SET_RESETABLE, the default interface will remain unmodified after reset.

Command structure

Figure 330. DPDMUX_SET_RESETABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0BA1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — SKIP_FLAGS

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 SKIP_FLAGS Flags used to chose the attributes wanted to skip the reset. By default all flags are 0, DPDMUX being reset completely.Flags:bit 0: DPDMUX_SKIP_DEFAULT_INTERFACEbit 1: DPDMUX_SKIP_UNICAST_RULESbit 2: DPDMUX_SKIP_MULTICAST_RULES

Page 443: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-35

13.3.24 DPDMUX_GET_RESETABLE

Command structure

Figure 331. DPDMUX_GET_RESETABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0BB1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 444: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-36

Response structure

Figure 332. DPDMUX_GET_RESETABLE Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xBB1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 8 7 0

0x08 — SKIP_FLAGS

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 SKIP_FLAGS Flags used to chose the attributes wanted to skip the reset. By default all flags are 0, DPDMUX being reset completely.Flags:bit 0: DPDMUX_SKIP_DEFAULT_INTERFACEbit 1: DPDMUX_SKIP_UNICAST_RULESbit 2: DPDMUX_SKIP_MULTICAST_RULES

Page 445: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-37

13.3.25 DPDMUX_IF_REMOVE_L2_RULE

Command structure

Figure 333. DPDMUX_IF_REMOVE_L2_RULE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 IF_ID

63 48 47 32 31 0

0x10 — VLAN_ID —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Destination interface ID

16-63 MAC_ADDR[0-5] MAC address

0x10 32-47 VLAN_ID VLAN ID

Page 446: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-38

13.3.26 DPDMUX_IF_ADD_L2_RULE

Command structure

Figure 334. DPDMUX_IF_ADD_L2_RULE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B01 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 IF_ID

63 48 47 32 31 0

0x10 — VLAN_ID —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Destination interface ID

16-63 MAC_ADDR[0-5] MAC address

0x10 32-47 VLAN_ID VLAN ID

Page 447: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-39

13.3.27 DPDMUX_IF_GET_COUNTER

Command structure

Figure 335. DPDMUX_IF_GET_COUNTER Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B21 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 24 23 16 15 0

0x08 — COUNTER_TYPE

IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-23 COUNTER_TYPE Counter type. Select one of the supported values below:0x0 = DPDMUX_CNT_ING_FRAME- Counts ingress frames 0x1 = DPDMUX_CNT_ING_BYTE - Counts ingress bytes 0x2 = DPDMUX_CNT_ING_FLTR_FRAME - Counts filtered ingress frames 0x3 = DPDMUX_CNT_ING_FRAME_DISCARD - Counts discarded ingress frame 0x4 = DPDMUX_CNT_ING_MCAST_FRAME- Counts ingress multicast frames 0x5 = DPDMUX_CNT_ING_MCAST_BYTE- Counts ingress multicast bytes 0x6 = DPDMUX_CNT_ING_BCAST_FRAME- Counts ingress broadcast frames 0x7 = DPDMUX_CNT_ING_BCAST_BYTES - Counts ingress broadcast bytes 0x8 = DPDMUX_CNT_EGR_FRAME - Counts egress frames 0x9 = DPDMUX_CNT_EGR_BYTE- Counts eEgress bytes 0xa = DPDMUX_CNT_EGR_FRAME_DISCARD - Counts discarded egress frames 0xb = DPDMUX_CNT_ING_NO_BUFFER_DISCARD - Counts discarded ingress no buffer frames

Page 448: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-40

Response structure

Figure 336. DPDMUX_IF_GET_COUNTER Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B21 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 COUNTER

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-63 COUNTER Returned specific counter information

Page 449: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-41

13.3.28 DPDMUX_UL_RESET_COUNTERS

Command structure

Figure 337. DPDMUX_IF_RESET_COUNTERS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A31 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 450: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-42

13.3.29 DPDMUX_IF_SET_LINK_CFG

Command structure

Figure 338. DPDMUX_IF_SET_LINK_CFG Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B31 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 32 31 0

0x10 — RATE

63 0

0x18 OPTIONS

63 0

0x20 ADVERTISING

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

0x10 0-63 RATE Rate

0x18 0-31 OPTIONS Mask of available options; use ‘DPDMUX_LINK_OPT_<x>’ values

0x20 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 451: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-43

13.3.30 DPDMUX_IF_GET_LINK_STATE

Command structure

Figure 339. DPDMUX_IF_GET_LINK_STATE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B41 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 452: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-44

Response structure

Figure 340. DPDMUX_IF_GET_LINK_STATE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B41 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 33 32 31 0

0x08 — STA

TE

_V

AL

I

UP

63 32 31 0

0x10 — RATE

63 0

0x18 OPTIONS

63 0

0x20 SUPPORTED

63 0

0x28 ADVERTISING

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32 UP 0 - down, 1 - up

33 STATE_VALID Ignore/Update the state of the link

0x10 0-31 RATE Rate

0x18 0-63 OPTIONS Mask of available options; use ‘DPDMUX_LINK_OPT_<x>’ values

0X20 0-63 SUPPORTED Speeds capability of the phy

0X28 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 453: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-45

13.3.31 DPDMUX_GET_API_VERSION

Command structure

Figure 341. DPDMUX_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 454: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-46

Response structure

Figure 342. DPDMUX_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 455: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-47

13.3.32 DPDMUX_SET_CUSTOM_KEY

This API is used to set a custom classification key. It is available only for DPDMUX instances, created with DPDMUX_METHOD_CUSTOM. This API must be called before populating the classification table using DPDMUX_ADD_CUSTOM_CLS_ENTRY command.All calls to DPDMUX_SET_CUSTOM_KEY remove the existing classification entries that may have been added previously using the DPDMUX_ADD_CUSTOM_CLS_ENTRY command.

Command structure

Figure 343. DPDMUX_SET_CUSTOM_KEY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B51 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 KEY_CFG_IOVA

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x38 0-63 KEY_CFG_IOVA I/O virtual address of a configuration structure set up usingDPKG_PREPARE_KEY_CFG.. Maximum key size is 24 bytes.

Page 456: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-48

13.3.33 DPDMUX_ADD_CUSTOM_CLS_ENTRY

This API is used to add a custom classification entry. It is available for only DPDMUX instances, created with DPDMUX_METHOD_CUSTOM. Before calling this function, a classification key composition rule must be set up using DPDMUX_SET_CUSTOM_KEY.

Command structure

Figure 344. DPDMUX_ADD_CUSTOM_CLS_ENTRY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B61 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 24 23 0

0x08 DEST_IF ENTRY_INDEX KEY_SIZE —

63 0

0x10 KEY_IOVA

63 0

0x18 MASK_IOVA

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 24-31 KEY_SIZE Size, in bytes, of the look-up value. This must match the size of the look-up key defined using DPDMUX_SET_CUSTOM_KEY, otherwise the entry will never be hit.

32-47 ENTRY_INDEX This field is used for rule index into TCAM lookup table. This index is used only when DPDMUX was created using option DPDMUX_OPT_CLS_MASK_SUPPORT (implicitly DPDMUX_METHOD_CUSTOM).

48–63 DEST_IF Interface to forward the frames to. Port numbering is similar to the one used to connect interfaces:• 0 is the uplink port• all others are downlink ports.

0x10 0-63 KEY_IOVA I/O virtual address of buffer storing the look-up value.

0x18 0-63 MASK_IOVA I/O virtual address of the mask used for TCAM classification.

Page 457: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-49

13.3.34 DPDMUX_REMOVE_CUSTOM_CLS_ENTRY

This API is used to remove a custom classification entry. It is available only for DPDMUX instances, created with DPDMUX_METHOD_CUSTOM. This API is also used to remove the previously inserted classification entries using DPDMUX_ADD_CUSTOM_CLS_ENTRY.

Command structure

Figure 345. DPDMUX_REMOVE_CUSTOM_CLS_ENTRY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0B71 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 24 23 0

0x08 — KEY_SIZE —

63 0

0x10 KEY_IOVA

63 0

0x18 MASK_IOVA

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 24-31 KEY_SIZE Size, in bytes, of the look-up value. This must match the size of the look-up key defined using DPDMUX_SET_CUSTOM_KEY, otherwise the entry will never be hit.

0x10 0-63 KEY_IOVA I/O virtual address of buffer storing the look-up value.

0x18 0-63 MASK_IOVA I/O virtual address of the mask used for TCAM classification.

Page 458: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-50

13.3.35 DPDMUX_IF_SET_TAILDROP

Using this command, tail drop can be configured at run time.

Command structure

Figure 346. DPDMUX_IF_SET_TAILDROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0BC1 TOKEN — STATUS P — SRCID

63 48 47 32 31 0

0x08 — IF_ID —

63 32 31 24 23 16 15 0

0x10 THRESHOLD — UNITS — EN

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-47 IF_ID Interface ID.

0x10 0 EN Tail drop enabling.

16-23 UNITS Set the units used in relation with threshold:0: Unit Bytes1: Unit Packets2: Unit Buffers

32-63 THRESHOLD The threshold value of “UNITS” used for tail drop.

Page 459: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-51

13.3.36 DPDMUX_IF_GET_TAILDROP

Get information related to tail drop.

Command structure

Figure 347. DPDMUX_IF_GET_TAILDROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0BD1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 24 23 16 15 0

0x08 — IF_ID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-47 IF_ID Interface ID.

Page 460: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-52

Response structure

Figure 348. DPDMUX_IF_GET_TAILDROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0BD1 TOKEN — STATUS P — SRCID

63

0x08 —

63 32 31 24 23 16 15 1 0

0x10 Threshold — UNITS — EN

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0 EN Tail drop enabling.

16-23 UNITS Set the units used in relation with threshold:0: Unit Bytes1: Unit Packets2: Unit Buffers

32-63 THRESHOLD The threshold value of “UNITS” used for tail drop.

Page 461: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-53

13.3.37 DPDMUX_DUMP_TABLE

Dump at IOVA address information about all entries of the desired table. Return the number of dumped entries.

Command structure

Figure 349. DPDMUX_DUMP_TABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0BE1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — TABLE_INDEX TABLE_TYPE

63 0

0x10 SNAPSHOT_IOVA

63 32 31 0

0x18 — SIZE

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 TABLE_TYPE 1: DPDMUX_DMAT_TABLE2: DPDMUX_MISS_TABLE3: DPDMUX_PRUNE_TABLE

16-31 TABLE_INDEX Always zero

0x10 0-63 SNAPSHOT_IOVA IOVA address.

0x18 0-31 SIZE Size to be dump.

Page 462: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMUX: Data Path Network DeMux

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 13-54

Response structure

Figure 350. DPDMUX_DUMP_TABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0BE1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 — NUM_ENTRIES

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 NUM_ENTRIES The number of dump entries.

Page 463: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-1

Chapter 14 DPSW: Data Path L2 SwitchThe DPSW object provides the functionality of a general layer-2 switch. It receives packets on one port and sends them on another. It can also send packets out on multiple ports for the purposes of broadcast, multicast, or mirroring.

14.1 DPSW features

The following list summarizes the DPSW main features and capabilities:

• Supports 802.1Q switching:

— Forwarding based on (outer) VLAN and MAC address

— Forwarding of L2 unicast, multicast and broadcast frames

• Supports connections to DPMAC and DPNI

• Supports separate MAC table (FDB) per VLAN

• Supports sharing of FDB between multiple VLANs

• Supports flooding (configuration per VLAN)

• Supports three address learning modes, selected per FDB:

— Automatic learning by the switch hardware

— Secure learning by host GPP software

— Non-secure learning by host GPP software

• Supports port-based VLAN – definition of default VLAN per interface

• Supports untagged frames transmission (configuration per VLAN/interface)

• Supports untagged frames admittance:

— Admit tagged and untagged frames

— Admit only tagged frames

• Supports VLAN filtering – dropping frames with unregistered VLANs

• Supports trunk interface – accepting all VLANs (configurtion per interface)

• Supports two custom TPIDs per switch

• Supports interface mirroring, with option to mirror only specific VLAN

— One mirroring destination interface per VLAN

• Supports STP/RSTP/MSTP marking (Spanning Tree Protocol handled by host GPP software)

• Supports QoS capabilities:

— Traffic class selection based on DSCP or 802.1P

— Supports transmission bandwidth allocation per traffic class

— Supports transmission rate configuration per interface

— Supports WRED on ingress (configuration per traffic class)

• Supports policy-based forwarding on ingress:

— TCAM lookup with keys formed of L2-L4 fields

• Supports forwarding of selective protocols to a control interface, for example:

Page 464: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-2

— Ethernet monitoring packets (IEEE 802.3 clause 57, IEEE 802.1ag, ITU-T Y.1731)

— Multicast groups management packets (IGMP/MLD)

— Spanning Tree Protocol packets (BPDU)

• Supports statistics counters per interface

• Supports link state indication per interface

• Supports interrupts to host GPP software:

— Link change events (per interface)

• Supports switch enable, disable, and reset operations

• Supports interface enable and disable operations

• Supports Link Aggregation

14.2 DPSW functional description

14.2.1 Creating L2 switch instance

The DPSW may be declared in the DPL (Data Path Layout) file or created dynamically by submitting explicit DPSW_CREATE command to the Management Complex. The DPSW has only one mandatory input for creating a working L2 switch instance, and that is the requested number of switch interfaces. Other configuration options are possible but have default settings for simplicity.

The default operation mode for a DPSW (unless requetsed otherqise in DPSW creation) is with a default VLAN (VID = 1), a single Forwardimg Data Base (FDB 0) and with automatic learning enabled in hardware. This implies that the switch is fully functional after creation, and user only needs to connect each of its interfaces to either DPMAC objects or DPNI objects. Connections can be made initially in the DPL or later through DPRC object.

14.2.2 VLAN configuration

The switch starts up with VLAN 1 being configured as default VLAN. All untagged traffic received on any switch port is classified to VLAN 1 and all frames classified in VLAN 1 are sent out untagged on all ports.

The DPSW allows to add (and remove) other VLANs at any time. Each VLAN can include any subset of the switch ports.

14.2.3 Learning modes

The default configuration of the switch enables automatic learning by the switch hardware. It is possible to set Secure or Unsecure CPU learning modes instead of automatic learning. The leraning mode is configurable per FDB.

The table below summarizes the differences between the two CPU learning modes. These modes require that one of the switch interfaces is defined as control interface.

Page 465: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-3

Note that turning off automatic learning does not remove the learned entries. Therefore, learning should be disabled before injecting any traffic if the intent is to establish a static topology.

14.2.4 FDB configuration

The default switch configuration does not include any static entries. It is possible to add (and remove) static rules for forwarding to different interfaces based on their MAC addresses.

The user may select to use a separate FDB per VLAN or decide to share FDBs between different VLANs.

14.2.5 LAG configuration

The Link Aggregation feature is implemented as part of the DPSW object. Two types of configurations are supported: static (via DPL) and dynamic (via API).

The following items summarize the current status of LAG support:

• The feature has been validated on LS2088 platform

• Maximum groups supported is 8; maximum ports in a group is 8

• Only physical ports (DPMACs) can be added in LAG groups

• A hash is computed by HW to select the port for transmission. The hash is performed on a 5-tuple composed of: MAC SRC, MAC DST, IP SRC, IP DST, L3 PROTOCOL.

• When defining LAG groups users should use the interface ID of the master port (the first port in a LAG group) when calling any of the DPSW APIs which require an interface ID (E.g.: dpsw_if_set_tci). Slave ports IDs (the rest of the ports in a LAG group except the first port) should not be used when calling DPSW APIs.

Learning ModeSMAC known

DMAC known

Action

Non-SecureCPU learning

V V Forward to DMAC destination

- V Forward to DMAC destination + control interface

V - Forward to list of flooding-enabled interfaces

- - Forward to list of flooding-enabled interfaces + control interface

SecureCPU learning

V V Forward to DMAC destination

- V Forward to control interface

V - Forward to list of flooding-enabled interfaces

- - Forward to control interface

Page 466: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-4

API configuration example:

struct dpsw_lag_cfg dpsw_lag_cfg = {0};

dpsw_lag_cfg.group_id = 1; /*group ID*/dpsw_lag_cfg.num_ifs = 2; /*number of ports */dpsw_lag_cfg.if_id[0] = 0; dpsw_lag_cfg.if_id[1] = 1;

err = dpsw_lag_set(&dpsw->io, 0, dpsw->token, &dpsw_lag_cfg);

In this example dpsw_lag_set creates LAG group with ID=1 and two interfaces: 0 (dpsw@1/if@0) and 1 (dpsw@1/if@1).

LAG groups configuration can be retrieved using dpsw_lag_get_cfg API as shown below:int group_id = 1;

err = dpsw_lag_get_cfg(&dpsw->io,0,dpsw->token,group_id,&dpsw_lag_cfg);

Page 467: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-5

14.3 DPSW command reference

This section contains detailed programming model of DPSW commands.

14.3.1 DPSW_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPSW_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 351. DPSW_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8021 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 DPSW_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 63. DPSW_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPSW_ID DPSW unique ID

Page 468: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-6

14.3.2 DPSW_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 352. DPSW_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 469: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-7

14.3.3 DPSW_CREATE

This command creates and initializes an instance of DPSW according to the specified command parameters. This command is not required for DPSW instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPSW ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 353. DPSW_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9022 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 36 35 32 31 24 23 16 15 0

0x08 MEM_SIZE — COMPONENT

_TYPE

MAX_METERS_PER_IF

MAX_FDBS NUM_IFS

63 48 47 32 31 16 15 0

0x10 MAX_FDB_MC_GROUPS FDB_AGING_TIME MAX_FDB_ENTRIES MAX_VLANS

63 0

0x18 OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 64. DPSW_CREATE Command Field Descriptions1

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 470: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-8

0x08 0-15 NUM_IFS Number of external and internal interfaces

16-23 MAX_FDBS Maximum number of FDB’s; 0 - indicates default 8

24-31 MAX_METERS_PER_IF Number of meters per interface; 0 - indicates default 4

32-35 COMPONENT_TYPE Type of component C_VLAN or S_VLAN0 – for C_VLAN1 – for S_VLAN

48-63 MEM_SIZE Represents the number of 256byte buffers allocated for DPSW’s buffer pool or for all buffer pools if DPSW_OPT_BP_PER_IF options is used.If 0, default value is used which depends on number of interfaces.

0x10 0-15 MAX_VLANS Maximum number of VLAN’s; 0 - indicates default 8

16-31 MAX_FDB_ENTRIES Number of FDB entries for default FDB table;0 - indicates default 64 entries.

32-47 FDB_AGING_TIME Default FDB aging time for default FDB table;0 - indicates default 256 seconds

48-63 MAX_FDB_MC_GROUPS Number of multicast groups in each FDB table;0 - indicates default 8

0x18 0-63 OPTIONS Enable/Disable DPSW features (bitmap). Select any combination of supported errors below:bit 0: DPSW_OPT_FLOODING_DIS - Disable floodingbit 2: DPSW_OPT_MULTICAST_DIS - Disable Multicastbit 4: DPSW_OPT_CTRL_IF_DIS - Disable Interface Controlbit 5: DPSW_OPT_FLOODING_METERING_DIS - Disable Flooding Meteringbit 6: DPSW_OPT_METERING_EN - Enable Flooding Meteringbit 7: DPSW_OPT_BP_PER_IF - If enabled each interface will use a private buffer pool to keep a copy of the received frame.bit 8: DPSW_OPT_LAG_DIS - option used to disable link aggregation.bit 9: DPSW_OPT_VLAN_MISS - option used to programm VLAN miss action.

1 All unspecified fields are reserved and must be cleared (set to zero).

Table 64. DPSW_CREATE Command Field Descriptions1

Offset Bits Name Description

Page 471: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-9

Response structure

Figure 14-1. DPSW_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPSW_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 14-1. DPSW_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPSW_ID DPSW unique ID

Page 472: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-10

14.3.4 DPSW_DESTROY

This command destroys the DPSW object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 354. DPSW_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9821 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPSW_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPSW_ID ID of the DPSW object to destroy

Page 473: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-11

14.3.5 DPSW_ENABLE

Command structure

Figure 355. DPSW_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 474: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-12

14.3.6 DPSW_DISABLE

Command structure

Figure 356. DPSW_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 475: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-13

14.3.7 DPSW_IS_ENABLED

Command structure

Figure 357. DPSW_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 476: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-14

Response structure

Figure 358. DPSW_IS_ENABLED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 477: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-15

14.3.8 DPSW_RESET

Command structure

Figure 359. DPSW_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 478: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-16

14.3.9 DPSW_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 360. DPSW_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 479: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-17

14.3.10 DPSW_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 361. DPSW_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 480: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-18

Response structure

Figure 362. DPSW_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 481: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-19

14.3.11 DPSW_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 363. DPSW_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 482: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-20

14.3.12 DPSW_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 364. DPSW_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 483: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-21

Response structure

Figure 365. DPSW_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 484: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-22

14.3.13 DPSW_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 366. DPSW_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPSW_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 485: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-23

Response structure

Figure 367. DPSW_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask (bits 0-15), one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events for IRQ 0:Bit 0: DPDMUX_IRQ_EVENT_LINK_CHANGED – indicates a change in the link stateBits 16-31 contain the DPDMUX interface ID associated with the event.

Page 486: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-24

14.3.14 DPSW_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 368. DPSW_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63tl 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 487: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-25

14.3.15 DPSW_GET_ATTRIBUTES

Command structure

Figure 369. DPSW_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 488: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-26

Response structure

Figure 370. DPSW_GET_ATTRIBUTES Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 32 31 24 23 16 15 0

0x08 NUM_VLANS MAX_VLANS NUM_FDBS MAX_FDBS NUM_IFS

63 32 31 16 15 0

0x10 ID FDB_AGING_TIME MAX_FDB_ENTRIES

63 44 43 40 39 32 31 16 15 0

0x18 — COMPONENT_TYPE

MAX_METERS_PER_IF

MAX_FDB_MC_GROUPS MEM_SIZE

63 0

0x20 OPTIONS

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 NUM_IFS Number of interfaces

16-23 MAX_FDBS Maximum Number of FDBs

24-31 NUM_FDBS Current number of FDBs

32-47 MAX_VLANS Maximum number of VLANs

48-63 NUM_VLANS Current number of VLANs

0x10 0-15 MAX_FDB_ENTRIES Number of FDB entries for default FDB table;0 - indicates default 1024 entries.

16-31 FDB_AGING_TIME Default FDB aging time for default FDB table;0 - indicates default 300 seconds

32–63 ID DPSW object ID

0x18 0-15 MEM_SIZE DPSW frame storage memory size

16-31 MAX_FDB_MC_GROUPS Number of multicast groups in each FDB table;0 - indicates default 32

32-39 MAX_METERS_PER_IF Number of meters per interface

40-43 COMPONENT_TYPE Type of component C_VLAN or VLAN0 – for C_VLAN1 – for VLAN

Page 489: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-27

All unspecified fields are reserved and must be cleared (set to zero)

14.3.16 DPSW_SET_REFLECTION_IF

Command structure

Figure 371. DPSW_SET_REFLECTION_IF Command Description

All unspecified fields are reserved and must be cleared (set to zero)

0x20 0-63 OPTIONS Enable/Disable DPSW features.bit 0: DPSW_OPT_FLOODING_DIS - Disable floodingbit 2: DPSW_OPT_MULTICAST_DIS - Disable Multicastbit 4: DPSW_OPT_CTRL_IF_DIS - Disable Interface Controlbit 5: DPSW_OPT_FLOODING_METERING_DIS - Disable Flooding Meteringbit 6: DPSW_OPT_METERING_EN - Enable Flooding Meteringbit 7: DPSW_OPT_BP_PER_IF - If enabled each interface will use a private buffer pool to keep a copy of the received frame.bit 8: DPSW_OPT_LAG_DIS - option used to disable link aggregation.

0x28 0-7 MAX_METERS_PER_IF Number of meters per interface

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0221 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Offset Bits Name Description

Page 490: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-28

14.3.17 DPSW_IF_SET_FLOODING

Command structure

Figure 372. DPSW_IF_SET_FLOODING Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0471 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 17 16 15 0

0x08 — EN IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16 EN 1 - enable, 0 - disable

Page 491: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-29

14.3.18 DPSW_IF_SET_BROADCAST

Command structure

Figure 373. DPSW_IF_SET_BROADCAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0481 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 19 16 15 0

0x08 — EN IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16 EN 1 - enable, 0 - disable

Page 492: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-30

14.3.19 DPSW_IF_SET_MULTICAST

Command structure

Figure 374. DPSW_IF_SET_MULTICAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0491 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 17 16 15 0

0x08 — EN IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16 EN 1 - enable, 0 - disable

Page 493: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-31

14.3.20 DPSW_IF_SET_TCI

Command structure

Figure 375. DPSW_IF_SET_TCI Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0301 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 29 28 27 16 15 0

0x08 — PCP DEI

VLAN_ID IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-27 VLAN_ID VLAN Identifier (VID): a 12-bit field specifying the VLANto which the frame belongs. The hexadecimal valuesof 0x000 and 0xFFF are reserved;all other values may be used as VLAN identifiers, allowing upto 4,094 VLANs

28 DEI Drop Eligible Indicator (DEI): a 1-bit field. May be used separately or in conjunction with PCP to indicate frameseligible to be dropped in the presence of congestion

29-31 PCP Priority Code Point (PCP): a 3-bit field which refersto the IEEE 802.1p priority

Page 494: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-32

14.3.21 DPSW_IF_GET_TCI

Command structure

Figure 376. DPSW_IF_GET_TCI Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x04A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 495: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-33

Response structure

Figure 377. DPSW_IF_GET_TCI Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x04A1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 40 39 32 31 16 15 0

0x08 — PCP DEI VLAN_ID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN Identifier (VID): a 12-bit field specifying the VLANto which the frame belongs. The hexadecimal valuesof 0x000 and 0xFFF are reserved;all other values may be used as VLAN identifiers, allowing upto 4,094 VLANs

32-39 DEI Drop Eligible Indicator (DEI): a 1-bit field. May be usedseparately or in conjunction with PCP to indicate frameseligible to be dropped in the presence of congestion

40-47 PCP Priority Code Point (PCP): a 3-bit field which refersto the IEEE 802.1p priority

Page 496: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-34

14.3.22 DPSW_IF_SET_STP

Command structure

Figure 378. DPSW_IF_SET_STP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0311 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 36 35 32 31 16 15 0

0x08 — STATE VLAN_ID IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-31 VLAN_ID VLAN ID STP state

32-35 STATE STP state. Select one of the supported values below:0x0 = DPSW_STP_STATE_BLOCKING - Blocking state 0x1 = DPSW_STP_STATE_LISTENING - Listening state 0x2 = DPSW_STP_STATE_LEARNING - Learning state0x3 = DPSW_STP_STATE_FORWARDING - Forwarding state

Page 497: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-35

14.3.23 DPSW_IF_SET_ACCEPTED_FRAMES

Command structure

Figure 379. DPSW_IF_SET_ACCEPTED_FRAMES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0321 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 24 23 20 19 16 15 0

0x08 —

UA

CC

EP

T_

AC

T

TYPE IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-19 TYPE Defines ingress accepted frames. Select one of the supported values below:0x1 = DPSW_ADMIT_ALL - The device accepts VLAN tagged, untagged and priority tagged frames0x3 = DPSW_ADMIT_ONLY_VLAN_TAGGED - The device discards untagged frames or Priority-Tagged frames received on this interface.

20-23 UNACCEPT_ACT When a frame is not accepted, it may be discarded or redirectedto control interface depending on this mode. Select one of the supported values below:0x0 = DPSW_ACTION_DROP - Drop frame0x1 = DPSW_ACTION_REDIRECT_TO_CTRL - Redirect frame to control interface

Page 498: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-36

14.3.24 DPSW_SET_IF_ACCEPT_ALL_VLAN

Command structure

Figure 380. DPSW_SET_IF_ACCEPT_ALL_VLAN Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0331 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 —

AC

CE

PT

_A

LL

IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16 ACCEPT_ALL Accept or drop frames having different VLAN

Page 499: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-37

14.3.25 DPSW_IF_GET_COUNTER

Command structure

Figure 381. DPSW_IF_GET_COUNTER Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0342 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 21 20 16 15 0

0x08 — TYPE IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-20 TYPE Counter type. Select one of the supported values below:0x0 = DPSW_CNT_ING_FRAME- Counts ingress frames 0x1 = DPSW_CNT_ING_BYTE - Counts ingress bytes 0x2 = DPSW_CNT_ING_FLTR_FRAME - Counts filtered ingress frames 0x3 = DPSW_CNT_ING_FRAME_DISCARD - Counts discarded ingress frame 0x4 = DPSW_CNT_ING_MCAST_FRAME- Counts ingress multicast frames 0x5 = DPSW_CNT_ING_MCAST_BYTE- Counts ingress multicast bytes 0x6 = DPSW_CNT_ING_BCAST_FRAME- Counts ingress broadcast frames 0x7 = DPSW_CNT_ING_BCAST_BYTES - Counts ingress broadcast bytes 0x8 = DPSW_CNT_EGR_FRAME - Counts egress frames 0x9 = DPSW_CNT_EGR_BYTE- Counts eEgress bytes 0xa =DPSW_CNT_EGR_FRAME_DISCARD - Counts discarded egress frames 0xb =DPSW_CNT_EGR_STP_FRAME_DISCARD - Counts discarded egress STP frames0xc =DPSW_CNT_ING_NO_BUFFER_DISCARD - Counts discarded ingress no buffer frames

Page 500: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-38

Response structure

Figure 382. DPSW_IF_GET_COUNTER Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0342 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 COUNTER

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-63 COUNTER counter return value

Page 501: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-39

14.3.26 DPSW_IF_SET_COUNTER

Command structure

Figure 383. DPSW_IF_SET_COUNTER Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0351 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 21 20 16 15 0

0x08 — TYPE IF_ID

63 0

0x10 COUNTER

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-20 TYPE Counter type. Select one of the supported values below:0x0 = DPSW_CNT_ING_FRAME- Counts ingress frames 0x1 = DPSW_CNT_ING_BYTE - Counts ingress bytes 0x2 = DPSW_CNT_ING_FLTR_FRAME - Counts filtered ingress frames 0x3 = DPSW_CNT_ING_FRAME_DISCARD - Counts discarded ingress frame 0x4 = DPSW_CNT_ING_MCAST_FRAME- Counts ingress multicast frames 0x5 = DPSW_CNT_ING_MCAST_BYTE- Counts ingress multicast bytes 0x6 = DPSW_CNT_ING_BCAST_FRAME- Counts ingress broadcast frames 0x7 = DPSW_CNT_ING_BCAST_BYTES - Counts ingress broadcast bytes 0x8 = DPSW_CNT_EGR_FRAME - Counts egress frames 0x9 = DPSW_CNT_EGR_BYTE- Counts eEgress bytes 0xa =DPSW_CNT_EGR_FRAME_DISCARD - Counts discarded egress frames0xb =DPSW_CNT_EGR_STP_FRAME_DISCARD - Counts discarded egress STP frames0xc =DPSW_CNT_ING_NO_BUFFER_DISCARD - Counts discarded ingress no buffer frames

0x10 0-63 COUNTER New counter value

Page 502: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-40

14.3.27 DPSW_IF_SET_TX_SELECTION

Command structure

Figure 384. DPSW_IF_SET_TX_SELECTION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0361 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 19 18 16 15 0

0x08 — PRIORITY_SELECTO

R

IF_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 TC_ID7 TC_ID6 TC_ID5 TC_ID4 TC_ID3 TC_ID2 TC_ID1 TC_ID

63 51 48 47 32 31 20 19 16 15 0

0x18 — TC_SHED1_M

ODE

TC_SCHED1_DELTA_BANDWIDTH — TC_SHED0_M

ODE

TC_SCHED0_DELTA_BANDWIDTH

63 51 48 47 32 31 20 19 16 15 0

0x20 — TC_SHED3_M

ODE

TC_SCHED3_DELTA_BANDWIDTH — TC_SHED2_M

ODE

TC_SCHED2_DELTA_BANDWIDTH

63 51 48 47 32 31 20 19 16 15 0

0x28 — TC_SHED5_M

ODE

TC_SCHED5_DELTA_BANDWIDTH — TC_SHED4_M

ODE

TC_SCHED4_DELTA_BANDWIDTH

63 51 48 47 32 31 20 19 16 15 0

0x30 — TC_SHED7_M

ODE

TC_SCHED7_DELTA_BANDWIDTH — TC_SHED6_M

ODE

TC_SCHED6_DELTA_BANDWIDTH

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-18 PRIORITY_SELECTOR Source for user priority regeneration. Select one of the supported values below:0x0 = DPSW_UP_PCP - Priority Code Point (PCP): a 3-bit field which refers to the IEEE 802.1p priority.0x1 = DPSW_UP_PCP_DEI - Priority Code Point (PCP) combined with Drop Eligible Indicator (DEI)0x2 = DPSW_UP_DSCP - Differentiated services Code Point (DSCP): 6 bit field from IP header

0x10 0-63 TC_ID[0-7] The Regenerated User priority that the incomingUser Priority is mapped to for this interface

0x18- 0x30

0-15/32-47

TC_SHED[0-7]_DELTA_BANDWIDTH weighted Bandwidth in range from 100 to 10000

16-19/ 47-51

TC_SCHED[0-7]_MODE Strict or weight-based scheduling

Page 503: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-41

14.3.28 DPSW_IF_ADD_REFLECTION

Command structure

Figure 385. DPSW_IF_ADD_REFLECTION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0371 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 34 33 32 31 16 15 0

0x08 — FILTER VLAN_ID IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-31 VLAN_ID VLAN ID to reflect;valid only when filter type is DPSW_INGRESS_VLAN

32-33 FILTER Filter type for frames to reflect. Select one of the supported values below:0x0 = DPSW_REFLECTION_FILTER_INGRESS_ALL - Reflect all frames 0x1 = DPSW_REFLECTION_FILTER_INGRESS_VLAN - Reflect only frames belong to particular VLAN defined by vid parameter

Page 504: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-42

14.3.29 DPSW_IF_REMOVE_REFLECTION

Command structure

Figure 386. DPSW_IF_REMOVE_REFLECTION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0381 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 34 33 32 31 16 15 0

0x08 — FILTER VLAN_ID IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-31 VLAN_ID VLAN ID to reflect;valid only when filter type is DPSW_INGRESS_VLAN

32-33 FILTER Filter type for frames to reflect. Select one of the supported values below:0x0 = DPSW_REFLECTION_FILTER_INGRESS_ALL - Reflect all frames 0x1 = DPSW_REFLECTION_FILTER_INGRESS_VLAN - Reflect only frames belong to particular VLAN defined by vid parameter

Page 505: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-43

14.3.30 DPSW_IF_SET_FLOODING_METERING

Command structure

Figure 387. DPSW_IF_SET_FLOODING_METERING Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0391 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 28 27 24 23 16 15 0

0x08 CIR UNITS MODE — IF_ID

63 32 31 0

0x10 CBS EIR

63 32 31 0

0x18 — EBS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

24-27 MODE Metering modes. Select one of the supported values below: 0x0 = DPSW_METERING_MODE_NONE: metering disabled0x1 = DPSW_METERING_MODE_RFC2698: RFC 26980x2 = DPSW_METERING_MODE_RFC4115: RFC 4115

28-31 UNITS Metering count. Select one of the supported values below: 0x0 = DPSW_METERING_UNIT_BYTES: count in byte units0x1 = DPSW_METERING_UNIT_FRAMES: count in frame units

32-63 CIR Committed information rate (CIR) in bits/s

0x10 0-31 EIR Excess information rate (EIR) in bits/s

32-63 CBS Committed burst size (CBS) in bytes

0x18 0-31 EBS Excess bust size (EBS) in bytes

Page 506: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-44

14.3.31 DPSW_IF_SET_METERING

Command structure

Figure 388. DPSW_IF_SET_METERING Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x03A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 28 27 24 23 16 15 0

0x08 CIR UNITS MODE TC_ID IF_ID

63 32 31 0

0x10 CBS EIR

63 32 31 0

0x18 — EBS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-23 TC_ID Traffic class ID

24-27 MODE Metering modes. Select one of the supported values below: 0x0 = DPSW_METERING_MODE_NONE: metering disabled0x1 = DPSW_METERING_MODE_RFC2698: RFC 26980x2 = DPSW_METERING_MODE_RFC4115: RFC 4115

28-31 UNITS Metering count. Select one of the supported values below: 0x0 = DPSW_METERING_UNIT_BYTES: count in byte units0x1 = DPSW_METERING_UNIT_FRAMES: count in frame units

32-63 CIR Committed information rate (CIR) in bits/s

0x10 0-31 EIR Excess information rate (EIR) in bits/s

32-63 CBS Committed burst size (CBS) in bytes

0x18 0-31 EBS Excess bust size (EBS) in bytes

Page 507: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-45

14.3.32 DPSW_IF_SET_EARLY_DROP

Command structure

Figure 389. DPSW_IF_SET_EARLY_DROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x03B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 IF_ID TC_ID —

63 0

0x10 EARLY_DROP_IOVA

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 8-15 TC_ID Traffic class ID

16-31 IF_ID Interface ID

0x10 0-63 EARLY_DROP_IOVA I/O virtual address of 64 bytes;Must be cacheline-aligned and DMA-able memory

Page 508: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-46

Extension structure

Figure 390. DPSW_IF_SET_EARLY_DROP Extension Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

0x00 TAIL_DROP_THRESHOLD — UN

ITS

DR

OP

_MO

DE

63 8 7 0

0x08 GREEN_DROP_PROBABILITY

63 0

0x10 GREEN_MAX_THRESHOLD

63 0

0x18 GREEN_MIN_THRESHOLD

63 8 7 0

0x20 YELLOW_DROP_PROBABILITY

63 0

0x28 YELLOW_MAX_THRESHOLD

63 0

0x30 YELLOW_MIN_THRESHOLD

Offset Bits Name Description

0x00 0-1 DROP_MODE Drop mode

2-3 UNITS Count units

32-63 TAIL_DROP_THRESHOLD Tail drop threshold

0x08 0-7 GREEN_DROP_PROBABILITY probability for green WRED that a packet will be discarded (1-100,associated with the maximum threshold)

0x10 0-63 GREEN_MAX_THRESHOLD maximum threshold for green WRED hat packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x18 0-63 GREEN_MIN_THRESHOLD minimum threshold for green WRED that packets may be discarded at

0x20 0-7 YELLOW_DROP_PROBABILITY probability for yellow WRED that a packet will be discarded (1-100,associated with the maximum threshold)

0x28 0-63 YELLOW_MAX_THRESHOLD maximum threshold for yellow WRED hat packets may be discarded. Above this threshold all packets are discarded; must be less than 2^39; approximated to be expressed as (x+256)*2^(y-1) due to HW implementation.

0x30 0-63 YELLOW_MIN_THRESHOLD minimum threshold for yellow WRED that packets may be discarded at

Page 509: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-47

14.3.33 DPSW_ADD_CUSTOM_TPID

Command structure

Figure 391. DPSW_ADD_CUSTOM_TPID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0241 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 TPID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 TPID An additional tag protocol identifier

Page 510: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-48

14.3.34 DPSW_REMOVE_CUSTOM_TPID

Command structure

Figure 392. DPSW_REMOVE_CUSTOM_TPID Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0261 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 TPID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 TPID An additional tag protocol identifier

Page 511: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-49

14.3.35 DPSW_IF_ENABLE

Command structure

Figure 393. DPSW_IF_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x03D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 512: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-50

14.3.36 DPSW_IF_DISABLE

Command structure

Figure 394. DPSW_IF_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x03E1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 513: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-51

14.3.37 DPSW_IF_GET_ATTRIBUTES

Command structure

Figure 395. DPSW_IF_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0421 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 514: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-52

Response structure

Figure 396. DPSW_IF_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0421 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 32 31 24 23 16 15 7 6 5 4 3 0

0x08 — QDID — NUM_TCS —

AC

CE

PT

_A

LL

_V

LA

N

EN

AB

LED

AD

MIT

_U

NTA

GG

ED

63 32 31 0

0x10 — OPTIONS

63 32 31 0

0x18 — RATE

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-3 ADMIT_UNTAGGED When set to 'DPSW_ADMIT_ONLY_VLAN_TAGGED', the device discardsuntagged frames or priority-tagged frames received on thisinterface;When set to 'DPSW_ADMIT_ALL', untagged frames or priority-tagged frames received on this interface are accepted

5 ENABLED Indicates if interface is enabled

6 ACCEPT_ALL_VLAN The device discards/accepts incoming framesfor VLANs that do not include this interface

16-23 NUM_TCS Number of traffic classes

32-47 QDID QDID value to use when transmitting control frames through this interface

0x10 0-32 OPTIONS Interface configuration options (bitmap)

0x18 0-32 RATE Transmit rate in bits per second

Page 515: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-53

14.3.38 DPSW_IF_SET_MAX_FRAME_LENGTH

Command structure

Figure 397. DPSW_IF_SET_MAX_FRAME_LENGTH Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0441 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — FRAME_LENGTH IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

16-31 FRAME_LENGTH Maximum Frame Length

Page 516: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-54

14.3.39 DPSW_IF_SET_LINK_CFG

Command structure

Figure 398. DPSW_IF_SET_LINK_CFG Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x04C1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 32 31 0

0x10 — RATE

63 0

0x18 OPTIONS

63 0

0x20 ADVERTISING

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

0x10 0-32 RATE Rate

0x18 0-63 OPTIONS Mask of available options; use ‘DPSW_LINK_OPT_<x> values

0X20 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 517: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-55

14.3.40 DPSW_IF_GET_LINK_STATE

Command structure

Figure 399. DPSW_IF_GET_LINK_STATE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0461 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 518: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-56

Response structure

Figure 400. DPSW_IF_GET_LINK_STATE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0461 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — STA

TE

_V

AL

I

UP

63 32 31 0

0x10 — RATE

63 0

0x18 OPTIONS

63 0

0x20 SUPPORTED

63 0

0x28 ADVERTISING

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32 UP 0 - down, 1- up

33 STATE_VALID Ignore/Update the state of the link

0x10 0-32 RATE Rate

0x18 0-63 OPTIONS Mask of available options; use ‘DPSW_LINK_OPT_<x>’ values

0X20 0-63 SUPPORTED Speeds capability of the phy

0X28 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 519: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-57

14.3.41 DPSW_IF_GET_MAX_FRAME_LENGTH

Command structure

Figure 401. DPSW_IF_GET_MAX_FRAME_LENGTH Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0451 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — IF_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IF_ID Interface ID

Page 520: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-58

Response structure

Figure 402. DPSW_IF_GET_MAX_FRAME_LENGTH Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0451 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — FRAME_LENGTH —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 FRAME_LENGTH Maximum Frame Length

Page 521: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-59

14.3.42 DPSW_VLAN_ADD

Command structure

Figure 403. DPSW_VLAN_ADD Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0601 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID FDB_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Data base

16-31 VLAN_ID VLAN ID

Page 522: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-60

14.3.43 DPSW_VLAN_ADD_IF

Command structure

Figure 404. DPSW_VLAN_ADD_IF Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0611 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID —

63 0

0x10 IF_ID (Bitmap)

63 0

0x18 IF_ID (Bitmap)

63 0

0x20 IF_ID (Bitmap)

63 0

0x28 IF_ID (Bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN ID

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 523: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-61

14.3.44 DPSW_VLAN_ADD_IF_UNTAGGED

Command structure

Figure 405. DPSW_VLAN_ADD_IF_UNTAGGED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0621 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID —

63 0

0x10 IF_ID (Bitmap)

63 0

0x18 IF_ID (Bitmap)

63 0

0x20 IF_ID (Bitmap)

63 0

0x28 IF_ID (Bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN ID

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 524: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-62

14.3.45 DPSW_VLAN_ADD_IF_FLOODING

Command structure

Figure 406. DPSW_VLAN_ADD_IF_FLOODING Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0631 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID —

63 0

0x10 IF_ID (bitmap)

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN ID

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 525: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-63

14.3.46 DPSW_VLAN_REMOVE_IF

Command structure

Figure 407. DPSW_VLAN_REMOVE_IF Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0641 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID —

63 0

0x10 IF_ID (bitmap)

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN ID

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 526: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-64

14.3.47 DPSW_VLAN_REMOVE_IF_UNTAGGED

Command structure

Figure 408. DPSW_VLAN_REMOVE_IF_UNTAGGED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0651 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID —

63 0

0x10 IF_ID (bitmap)

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN ID

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 527: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-65

14.3.48 DPSW_VLAN_REMOVE_IF_FLOODING

Command structure

Figure 409. DPSW_VLAN_REMOVE_IF_FLOODING Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0661 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID —

63 0

0x10 IF_ID (bitmap)

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN ID

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 528: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-66

14.3.49 DPSW_VLAN_REMOVE

Command structure

Figure 410. DPSW_VLAN_REMOVE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0671 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 VLAN_ID VLAN ID

Page 529: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-67

14.3.50 DPSW_VLAN_GET_ATTRIBUTES

Command structure

Figure 411. DPSW_VLAN_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x06B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — VLAN_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VLAN_ID VLAN ID

Page 530: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-68

Response structure

Figure 412. DPSW_VLAN_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x06B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 48 47 32 31 16 15 0

0x10 NUM_FLOODING_IFS NUM_UNTAGGED_IFS NUM_IFS FDB_ID

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08

0x10 0-15 FDB_ID Associated FDB ID

16-31 NUM_IFS Number of interfaces

32-47 NUM_UNTAGGED_IFS Number of untagged interfaces

48-63 NUM_FLOODING_IFS Number of flooding interfaces

Page 531: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-69

14.3.51 DPSW_VLAN_GET_IF

Command structure

Figure 413. DPSW_VLAN_GET_IF Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0681 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — VLAN_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VLAN_ID VLAN ID

Page 532: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-70

Response structure

Figure 414. DPSW_VLAN_GET_IF Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0681 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — NUM_IFS —

63 0

0x10 IF_ID (bitmap)

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 NUM_IFS The number of interfaces that areassigned to the egress list for this VLAN

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 533: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-71

14.3.52 DPSW_VLAN_GET_IF_FLOODING

Command structure

Figure 415. DPSW_VLAN_GET_IF_FLOODING Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0691 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VLAN_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VLAN_ID VLAN ID

Page 534: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-72

Response structure

Figure 416. DPSW_VLAN_GET_IF_FLOODING Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0691 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — NUM_IFS —

63 0

0x10 IF_ID (bitmap)

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 NUM_IFS The number of interfaces that areassigned to the egress list for this VLAN

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 535: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-73

14.3.53 DPSW_VLAN_GET_IF_UNTAGGED

Command structure

Figure 417. DPSW_VLAN_GET_IF_UNTAGGED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x06A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — VLAN_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VLAN_ID VLAN ID

Page 536: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-74

Response structure

Figure 418. DPSW_VLAN_GET_IF_UNTAGGED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x06A1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — NUM_IFS —

63 0

0x10 IF_ID (bitmap)

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 NUM_IFS The number of interfaces that areassigned to the egress list for this VLAN

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 537: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-75

14.3.54 DPSW_FDB_ADD

Command structure

Figure 419. DPSW_FDB_ADD Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0821 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 0

0x08 NUM_FDB_ENTRIES FDB_AGING_TIME —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-47 FDB_AGING_TIME Aging time in seconds

48-63 NUM_FDB_ENTRIES Number of FDB entries

Page 538: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-76

Response structure

Figure 420. DPSW_FDB_ADD Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0821 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 16 15 0

0x08 — FDB_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

Page 539: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-77

14.3.55 DPSW_FDB_REMOVE

Command structure

Figure 421. DPSW_FDB_REMOVE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0831 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — FDB_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

Page 540: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-78

14.3.56 DPSW_FDB_ADD_UNICAST

Command structure

Figure 422. DPSW_FDB_ADD_UNICAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0841 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 40 39 32 31 24 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 FDB_ID

63 20 19 16 15 0

0x10 — TYPE IF_EGRESS

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

16-63 MAC_ADDR[0-5] MAC address

0x10 0-15 IF_EGRESS Egress interface ID

16-19 TYPE Select static or dynamic entry. Select one of the supported values below:0x0 = DPSW_FDB_ENTRY_STATIC - Static entry 0x1 = DPSW_FDB_ENTRY_DINAMIC - Dynamic entry

Page 541: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-79

14.3.57 DPSW_FDB_GET_UNICAST

Command structure

Figure 423. DPSW_FDB_GET_UNICAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0811 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 40 39 32 31 24 21 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 FDB_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

16-63 MAC_ADDR[0-5] MAC address

Page 542: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-80

Response structure

Figure 424. DPSW_FDB_GET_UNICAST Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0811 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 20 19 16 15 0

0x10 — TYPE IF_EGRESS

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-15 IF_EGRESS Egress interface ID

16-19 TYPE Select static or dynamic entry:0x0 = DPSW_FDB_ENTRY_STATIC - Static entry 0x1 = DPSW_FDB_ENTRY_DINAMIC - Dynamic entry

Page 543: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-81

14.3.58 DPSW_FDB_REMOVE_UNICAST

Command structure

Figure 425. DPSW_FDB_REMOVE_UNICAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0851 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 40 39 32 31 24 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 FDB_ID

63 20 19 16 15 0

0x10 — TYPE IF_EGRESS

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

16-63 MAC_ADDR[0-5] MAC address

0x10 0-15 IF_EGRESS Egress interface ID

16-19 TYPE Select static or dynamic entry:0x0 = DPSW_FDB_ENTRY_STATIC - Static entry 0x1 = DPSW_FDB_ENTRY_DINAMIC - Dynamic entry

Page 544: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-82

14.3.59 DPSW_FDB_ADD_MULTICAST

Command structure

Figure 426. DPSW_FDB_ADD_MULTICAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0861 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 36 35 32 31 16 15 0

0x08 — TYPE NUM_IFS FDB_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x10 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 —

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 IF_ID (bitmap)

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

16-31 NUM_IFS Number of external and internal interfaces

32-35 TYPE Select static or dynamic entry:0x0 = DPSW_FDB_ENTRY_STATIC - Static entry 0x1 = DPSW_FDB_ENTRY_DINAMIC - Dynamic entry

0x10 16-63 MAC_ADDR[0-5] MAC address

0x18- 0x37

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 545: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-83

14.3.60 DPSW_FDB_GET_MULTICAST

Command structure

Figure 427. DPSW_FDB_GET_MULTICAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0801 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x08 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 FDB_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

16-63 MAC_ADDR[0-5] MAC address

Page 546: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-84

Response structure

Figure 428. DPSW_FDB_GET_MULTICAST Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0801 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 20 19 16 15 0

0x10 — TYPE NUM_IFS

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 IF_ID (bitmap)

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 Reserved

0x10 0-15 NUM_IFS Number of external and internal interfaces

16-19 TYPE Select static or dynamic entry:0x0 = DPSW_FDB_ENTRY_STATIC - Static entry 0x1 = DPSW_FDB_ENTRY_DINAMIC - Dynamic entry

0x18- 0x37

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 547: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-85

14.3.61 DPSW_FDB_REMOVE_MULTICAST

Command structure

Figure 429. DPSW_FDB_REMOVE_MULTICAST Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0871 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 36 35 32 31 16 15 0

0x08 — TYPE NUM_IFS FDB_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 0

0x10 MAC_ADDR0 MAC_ADDR1 MAC_ADDR2 MAC_ADDR3 MAC_ADDR4 MAC_ADDR5 —

63 0

0x18 IF_ID (bitmap)

63 0

0x20 IF_ID (bitmap)

63 0

0x28 IF_ID (bitmap)

63 0

0x30 IF_ID (bitmap)

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

16-31 NUM_IFS Number of external and internal interfaces

32-35 TYPE Select static or dynamic entry:0x0 = DPSW_FDB_ENTRY_STATIC - Static entry 0x1 = DPSW_FDB_ENTRY_DINAMIC - Dynamic entry

0x10 16-63 MAC_ADDR[0-5] MAC address

0x18- 0x37

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 548: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-86

14.3.62 DPSW_FDB_SET_LEARNING_MODE

Command structure

Figure 430. DPSW_FDB_SET_LEARNING_MODE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0881 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 20 19 16 15 0

0x08 — MODE FDB_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

16-19 MODE learning mode. Select one of the supported values below:0x0 = DPSW_FDB_LEARNING_MODE_DIS - Disable Auto-learning 0x1 = DPSW_FDB_LEARNING_MODE_HW - Enable HW auto-Learning 0x2 = DPSW_FDB_LEARNING_MODE_NON_SECURE - Enable None secure learning by CPU 0x3 = DPSW_FDB_LEARNING_MODE_SECURE - Enable secure learning by CPU

Page 549: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-87

14.3.63 DPSW_FDB_GET_ATTRIBUTES

Command structure

Figure 431. DPSW_FDB_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0891 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — FDB_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 FDB_ID Forwarding Database Identifier

Page 550: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-88

Response structure

Figure 432. DPSW_FDB_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0891 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 32 31 16 15 0

0x08 NUM_FDB_MC_GROUPS FDB_AGING_TIME MAX_FDB_ENTRIES —

63 20 19 16 15 0

0x10 — LEARNING_MO

DE

MAX_FDB_MC_GROUPS

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-31 MAX_FDB_ENTRIES Number of FDB entries

32-47 FDB_AGING_TIME Aging time in seconds

48-63 NUM_FDB_MC_GROUPS Current number of multicast groups

0x10 0-15 MAX_FDB_MC_GROUPS Maximum number of multicast groups

16-19 LEARNING_MODE learning mode. Select one of the supported values below:0x0 = DPSW_FDB_LEARNING_MODE_DIS - Disable Auto-learning 0x1 = DPSW_FDB_LEARNING_MODE_HW - Enable HW auto-Learning 0x2 = DPSW_FDB_LEARNING_MODE_NON_SECURE - Enable None secure learning by CPU 0x3 = DPSW_FDB_LEARNING_MODE_SECURE - Enable secure learning by CPU

Page 551: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-89

14.3.64 DPSW_ACL_ADD

Command structure

Figure 433. DPSW_ACL_ADD Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0901 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — MAX_ENTRIES —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-32 MAX_ENTIRIES Number of FDB entries

Page 552: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-90

Response structure

Figure 434. DPSW_ACL_ADD Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0901 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 16 15 0

0x08 — ACL_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ACL_ID Returned ACL ID, for the future reference

Page 553: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-91

14.3.65 DPSW_ACL_REMOVE

Command structure

Figure 435. DPSW_ACL_REMOVE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0911 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — ACL_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ACL_ID ACL ID

Page 554: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-92

14.3.66 DPSW_ACL_PREPARE_ENTRY_CFG

Extension structure

Figure 436. DPSW_ACL_PREPARE_ENTRY_CFG Extension Description

Offset from Management Command Portal base Read-Write Access

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x00 L2_TPID L2_DEST_MAC0 L2_DEST_MAC1 L2_DEST_MAC2 L2_DEST_MAC3 L2_DEST_MAC4 L2_DEST_MAC5

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x08 L2_VLAN_ID L2_SOURCE_MAC0

L2_SOURCE_MAC1

L2_SOURCE_MAC2

L2_SOURCE_MAC3

L2_SOURCE_MAC4

L2_SOURCE_MAC5

63 32 31 0

0x10 L3_SOURCE_IP L3_DEST_IP

63 56 55 48 47 32 31 16 15 0

0x18 L3_DSCP L2_PCP_DEI L2_ETHR_TYPE L4_SOURCE_PORT L4_DEST_PORT

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 TPID L2_DEST_MAC0 L2_DEST_MAC1 L2_DEST_MAC2 L2_DEST_MAC3 L2_DEST_MAC4 L2_DEST_MAC5

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 L2_VLAN_ID L2_SOURCE_MAC0

L2_SOURCE_MAC1

L2_SOURCE_MAC2

L2_SOURCE_MAC3

L2_SOURCE_MAC4

L2_SOURCE_MAC5

63 32 31 0

0x30 L3_SOURCE_IP L3_DEST_IP

63 56 55 48 47 32 31 16 15 0

0x38 L3_DSCP L2_PCP_DEI L2_ETHR_TYPE L4_SOURCE_PORT L4_DEST_PORT

63 16 15 8 7 0

0x40 — L3_PROTOCOL L3_ROTOCOL

Offset Bits Name Description

0x00 0-47 L2_DEST_MAC[0-5] Destination MAC address: BPDU, Multicast, Broadcast, Unicast, slow protocols, MVRP, STP

Key match Fields

48-63 L2_TPID Layer 2 (Ethernet) protocol type, used to identify the following protocols: MPLS, PTP, PFC, ARP, Jumbo frames, LLDP, IEEE802.1ae, Q-in-Q, IPv4, IPv6, PPPoE

0x08 0-47 L2_SOURCE_MAC[0-5] Source MAC address

48-63 L2_VLAN_ID layer 2 VLAN ID

0x10 0-31 L3_DEST_IP Destination IPv4 IP

32-63 L3_SOURCE_IP Source IPv4 IP

0x18 0-15 L4_DEST_PORT Destination TCP/UDP port

16-31 L4_SOURCE_PORT Source TCP/UDP port

32-47 L2_ETHR_TYPE Layer 2 Ethernet Type

48-55 L2_PCP_DEI Indicate which protocol is encapsulated in the payload

56-63 L3_DSCP Layer 3 differentiated services code point

Page 555: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-93

All unspecified fields are reserved and must be cleared (set to zero)

0x20 0-47 L2_DEST_MAC[0-5] Destination MAC address: BPDU, Multicast, Broadcast, Unicast, slow protocols, MVRP, STP

key mask : b’1 - valid, b’0 don’t care

48-63 L2_TPID Layer 2 (Ethernet) protocol type, used to identify the following protocols: MPLS, PTP, PFC, ARP, Jumbo frames, LLDP, IEEE802.1ae, Q-in-Q, IPv4, IPv6, PPPoE

0x28 0-47 L2_SOURCE_MAC[0-5] Source MAC address

48-63 L2_VLAN_ID layer 2 VLAN ID

0x30 0-31 L3_DEST_IP Destination IPv4 IP

32-63 L3_SOURCE_IP Source IPv4 IP

0x38 0-15 L4_DEST_PORT Destination TCP/UDP port

16-31 L4_SOURCE_PORT Source TCP/UDP port

32-47 L2_ETHR_TYPE Layer 2 Ethernet Type

48-55 L2_PCP_DEI Indicate which protocol is encapsulated in the payload

56-63 L3_DSCP Layer 3 differentiated services code point

0x40 0-7 L3_PROTOCOL Tells the Network layer at the destination host, to which Protocol this packet belongs to. The following protocol are supported: ICMP, IGMP, IPv4 (encapsulation), TCP, IPv6(encapsulation), GRE, PTP

Match Fields

8-15 L3_PROTOCOL Tells the Network layer at the destination host, to which Protocol this packet belongs to. The following protocol are supported: ICMP, IGMP, IPv4 (encapsulation), TCP, IPv6(encapsulation), GRE, PTP

Mask : b’1 - valid, b’0 don’t care

Offset Bits Name Description

Page 556: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-94

14.3.67 DPSW_ACL_ADD_ENTRY

Command structure

Figure 437. DPSW_ACL_ADD_ENTRY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0921 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 PRECEDENCE RESULT_IF_ID ACL_ID

63 4 3 0

0x10 —

RE

SU

LT_A

CT

ION

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 KEY_IOVA

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ACL_ID ACL ID

16-31 RESULT_IF_ID Interface IDs to redirect frame. Valid only if redirect selected for action

32-63 PRECEDENCE Precedence inside ACL 0 is lowest; This priority can not changeduring the lifetime of a Policy. It is user responsibility tospace the priorities according to consequent rule additions.

0x10 0-3 RESULT_ACTION Action should be taken when ACL entry hit

0x38 0-63 KEY_IOVA I/O virtual address of DMA-able memory filled with key after call to dpsw_acl_prepare_entry_cfg()

Page 557: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-95

14.3.68 DPSW_ACL_REMOVE_ENTRY

Command structure

Figure 438. DPSW_ACL_REMOVE_ENTRY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0931 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 PRECEDENCE RESULT_IF_ID ACL_ID

63 4 3 0

0x10 —

RE

SU

LT_A

CT

ION

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 KEY_IOVA

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ACL_ID ACL ID

16-31 RESULT_IF_ID Interface IDs to redirect frame. Valid only if redirect selected for action

32-63 PRECEDENCE Precedence inside ACL 0 is lowest; This priority can not changeduring the lifetime of a Policy. It is user responsibility tospace the priorities according to consequent rule additions.

0x10 0-3 RESULT_ACTION Action should be taken when ACL entry hit

0x38 0-63 KEY_IOVA I/O virtual address of DMA-able memory filled with key after call to dpsw_acl_prepare_entry_cfg()

Page 558: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-96

Extension structure

Figure 439. DPSW_ACL_REMOVE_ENTRY Extension Description

Offset from Management Command Portal base Read-Write Access

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x00 L2_TPID L2_DEST_MAC0 L2_DEST_MAC1 L2_DEST_MAC2 L2_DEST_MAC3 L2_DEST_MAC4 L2_DEST_MAC5

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x08 L2_VLAN_ID L2_SOURCE_MAC0

L2_SOURCE_MAC1

L2_SOURCE_MAC2

L2_SOURCE_MAC3

L2_SOURCE_MAC4

L2_SOURCE_MAC5

63 32 31 0

0x10 L3_SOURCE_IP L3_DEST_IP

63 56 55 48 47 32 31 16 15 0

0x18 L3_DSCP L2_PCP_DEI L2_ETHR_TYPE L4_SOURCE_PORT L4_DEST_PORT

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x20 TPID L2_DEST_MAC0 L2_DEST_MAC1 L2_DEST_MAC2 L2_DEST_MAC3 L2_DEST_MAC4 L2_DEST_MAC5

63 48 47 40 39 32 31 24 23 16 15 8 7 0

0x28 L2_VLAN_ID L2_SOURCE_MAC0

L2_SOURCE_MAC1

L2_SOURCE_MAC2

L2_SOURCE_MAC3

L2_SOURCE_MAC4

L2_SOURCE_MAC5

63 32 31 0

0x30 L3_SOURCE_IP L3_DEST_IP

63 56 55 48 47 32 31 16 15 0

0x38 L3_DSCP L2_PCP_DEI L2_ETHR_TYPE L4_SOURCE_PORT L4_DEST_PORT

63 32 31 16 15 8 7 0

0x40 PRECEDENCE IF_ID L3_PROTOCOL L3_ROTOCOL

63 4 3 0

0x48 — ACTION

Offset Bits Name Description

0x00 0-47 L2_DEST_MAC[0-5] Destination MAC address: BPDU, Multicast, Broadcast, Unicast, slow protocols, MVRP, STP

Key match Fields

48-63 L2_TPID Layer 2 (Ethernet) protocol type, used to identify the following protocols: MPLS, PTP, PFC, ARP, Jumbo frames, LLDP, IEEE802.1ae, Q-in-Q, IPv4, IPv6, PPPoE

0x08 0-47 L2_SOURCE_MAC[0-5] Source MAC address

48-63 L2_VLAN_ID layer 2 VLAN ID

0x10 0-31 L3_DEST_IP Destination IPv4 IP

32-63 L3_SOURCE_IP Source IPv4 IP

0x18 0-15 L4_DEST_PORT Destination TCP/UDP port

16-31 L4_SOURCE_PORT Source TCP/UDP port

32-47 L2_ETHR_TYPE Layer 2 Ethernet Type

48-55 L2_PCP_DEI Indicate which protocol is encapsulated in the payload

56-63 L3_DSCP Layer 3 differentiated services code point

Page 559: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-97

All unspecified fields are reserved and must be cleared (set to zero)

0x20 0-47 L2_DEST_MAC[0-5] Destination MAC address: BPDU, Multicast, Broadcast, Unicast, slow protocols, MVRP, STP

key mask : b’1 - valid, b’0 don’t care

48-63 L2_TPID Layer 2 (Ethernet) protocol type, used to identify the following protocols: MPLS, PTP, PFC, ARP, Jumbo frames, LLDP, IEEE802.1ae, Q-in-Q, IPv4, IPv6, PPPoE

0x28 0-47 L2_SOURCE_MAC[0-5] Source MAC address

48-63 L2_VLAN_ID layer 2 VLAN ID

0x30 0-31 L3_DEST_IP Destination IPv4 IP

32-63 L3_SOURCE_IP Source IPv4 IP

0x38 0-15 L4_DEST_PORT Destination TCP/UDP port

16-31 L4_SOURCE_PORT Source TCP/UDP port

32-47 L2_ETHR_TYPE Layer 2 Ethernet Type

48-55 L2_PCP_DEI Indicate which protocol is encapsulated in the payload

56-63 L3_DSCP Layer 3 differentiated services code point

0x40 0-7 L3_PROTOCOL Tells the Network layer at the destination host, to which Protocol this packet belongs to. The following protocol are supported: ICMP, IGMP, IPv4 (encapsulation), TCP, IPv6(encapsulation), GRE, PTP

Match Fields

8-15 L3_PROTOCOL Tells the Network layer at the destination host, to which Protocol this packet belongs to. The following protocol are supported: ICMP, IGMP, IPv4 (encapsulation), TCP, IPv6(encapsulation), GRE, PTP

Mask : b’1 - valid, b’0 don’t care

16-31 IF_ID Interface IDs to redirect frame. Valid only if redirect selected for action

result - Required action when entry hit occurs

32-63 PRECEDENCE Precedence inside ACL 0 is lowest; This priority can not change during the lifetime of a Policy. It is user responsibility to space the priorities according to consequent rule additions.

0x48 0-4 ACTION Action should be taken whenACL entry hit result - Required action when entry hit occurs

Offset Bits Name Description

Page 560: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-98

14.3.69 DPSW_ACL_ADD_IF

Command structure

Figure 440. DPSW_ACL_ADD_IF Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0941 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — NUM_IFS ACL_ID

63 0

0x10 IF_ID (Bitmap)

63 0

0x18 IF_ID (Bitmap)

63 0

0x20 IF_ID (Bitmap)

63 0

0x28 IF_ID (Bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ACL_ID ACL ID

16-31 NUM_IFS Number of interfaces

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 561: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-99

14.3.70 DPSW_ACL_REMOVE_IF

Command structure

Figure 441. DPSW_ACL_REMOVE_IF Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0951 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — NUM_IFS ACL_ID

63 0

0x10 IF_ID (Bitmap)

63 0

0x18 IF_ID (Bitmap)

63 0

0x20 IF_ID (Bitmap)

63 0

0x28 IF_ID (Bitmap)

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ACL_ID ACL ID

16-31 NUM_IFS Number of interfaces

0x10- 0x2F

0-63 IF_ID (bitmap) The set of interfaces that are assigned to the egress list for this VLAN

Page 562: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-100

14.3.71 DPSW_ACL_GET_ATTRIBUTES

Command structure

Figure 442. DPSW_ACL_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0961 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — ACL_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ACL_ID ACL ID

Page 563: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-101

Response structure

Figure 443. DPSW_ACL_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0961 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 32 31 16 15 0

0x10 NUM_IFS NUM_ENTRIES MAX_ENTRIES

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-15 MAX_ENTRIES Max number of ACL entries

16-31 NUM_ENTRIES Number of used ACL entries

32-63 NUM_IFS Number of interfaces associated with ACL

Page 564: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-102

14.3.72 DPSW_CTRL_IF_GET_ATTRIBUTES

Command structure

Figure 444. DPSW_CTRL_IF_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A01 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 565: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-103

Response structure

Figure 445. DPSW_CTRL_IF_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A01 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 32 31 0

0x10 RX_ERR_FQID RX_FQID

63 32 31 0

0x18 — TX_ERR_CONF_FQID

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-31 RX_FQID Receive FQID

32-63 RX_ERR_FQID Receive error FQID

0x18 0-31 TX_ERR_CONF_FQID Transmit error and confirmation FQID

Page 566: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-104

14.3.73 DPSW_CTRL_IF_SET_POOLS

Command structure

Figure 446. DPSW_CTRL_IF_SET_POOLS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 14 13 12 11 10 9 8 7 0

0x08 POOL0_DPBP_ID —

PO

OL

7_B

AC

KU

P_

PO

O

PO

OL

6_B

AC

KU

P_

PO

O

PO

OL

5_B

AC

KU

P_

PO

O

PO

OL

4_B

AC

KU

P_

PO

O

PO

OL

3_B

AC

KU

P_

PO

O

PO

OL

2_B

AC

KU

P_

PO

O

PO

OL

1_B

AC

KU

P_

PO

O

PO

OL

0_B

AC

KU

P_

PO

O

NUM_DPBP

63 32 31 0

0x10 POOL2_DPBP_ID POOL1_DPBP_ID

63 32 31 0

0x18 POOL4_DPBP_ID POOL3_DPBP_ID

63 32 31 0

0x20 POOL6_DPBP_ID POOL5_DPBP_ID

63 48 47 32 31 0

0x28 POOL1_BUFFER_SIZE POOL0_BUFFER_SIZE POOL7_DPBP_ID

63 48 47 32 31 16 15 0

0x30 POOL5_BUFFER_SIZE POOL4_BUFFER_SIZE POOL3_BUFFER_SIZE POOL2_BUFFER_SIZE

63 32 31 16 15 0

0x38 — POOL7_BUFFER_SIZE POOL6_BUFFER_SIZE

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 NUM_DPBP Number of DPBPs

8-15 POOLS[0-7]_BACKUP_POOL Backup pool

0x08 - 0x28

0-31 / 32-63

POOLS[0-7]_DPBP_ID DPBP object ID

0x28 - 0x30

0-15 / 16-31/ 32-47/ 48-63

POLS[0-7]_BUFFER_SIZE Buffer size

Page 567: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-105

14.3.74 DPSW_CTRL_IF_ENABLE

Command structure

Figure 447. DPSW_CTRL_IF_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A21 TOKEN — STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 568: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-106

14.3.75 DPSW_CTRL_IF_DISABLE

Command structure

Figure 448. DPSW_CTRL_IF_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A31 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 569: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-107

14.3.76 DPSW_CTRL_IF_SET_QUEUE

Set queue configuration, including binding of the queue to a DPIO object to receive notifications and traffic on the CPU.

Command structure

Figure 449. DPSW_CTRL_IF_SET_QUEUE Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A61 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 QUEUE_TYPE DEST_TYPE

— PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 0

0x18 — OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-32 DEST_ID The ID of a DPIO object if DEST_TYPE is set to 1 (DPSW_CTRL_IF_DEST_DPIO).This field is ignored for DEST_TYPE set to 0 (DPSW_CTRL_IF_DEST_NONE).

32-40 PRIORITY Sets the priority in the destination DPIO for dequeued traffic. Supported values are 0 to # of priorities in destination DPIO-1.This field is ignored for DEST_TYPE set to 0 (DPSW_CTRL_IF_DEST_NONE).

48-52 QUEUE_TYPE Queue type. Select one of the supported values:0x0 = DPSW_QUEUE_RX0x1 = DPSW_QUEUE_TX_ERR_CONF0x2 = DPSW_QUEUE_RX_ERR

56-63 DEST_TYPE Type of destination for dequeued traffic. Supported values:0x0 = DPSW_CTRL_IF_DEST_NONE Unassigned destination; The queue is set in parked mode and does not generate FQDAN notifications; user is expected to dequeue from the queue based on polling or other user-defined method0x1 = DPSW_CTRL_IF_DEST_DPIO The queue is set in schedule mode and generates FQDAN notifications to the specified DPIO; user is expected to dequeue from the queue only after notification is received

Page 570: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-108

All unspecified fields are reserved and must be cleared (set to zero)

14.3.77 DPSW_GET_API_VERSION

Command structure

Figure 450. DPSW_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

0x10 0-63 USER_CTX User context value provided in the frame descriptor of each dequeued frame; valid only if 'DPSW_CTRL_IF_QUEUE_OPT_USER_CTX' is contained in 'options'.

0x18 0-32 OPTIONS Flags representing the suggested modifications to the queue;Use any combination of 'DPSW_CTRL_IF_QUEUE_OPT_<X>' flags below:bit 0: DPSW_CTRL_IF_QUEUE_OPT_USER_CTX - Select to modify the user's context associated with the queuebit 1: DPSW_CTRL_IF_QUEUE_OPT_DEST - Select to modify the queue's destination

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Offset Bits Name Description

Page 571: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-109

Response structure

Figure 451. DPSW_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA021 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 572: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-110

14.3.78 DPSW_LAG_SET

Creates and configure LAG group.

Command structure

Figure 452. DPSW_LAG_SET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A41 TOKEN — STATUS P — SRCID

63 16 15 8 7 0

0x08 — NUM_IFS GROUP_ID

63 56 55 48 47 41 40 32 31 24 23 16 15 8 7 0

0x10 IF_ID7 IF_ID6 IF_ID5 IF_ID4 IF_ID3 IF_ID2 IF_ID1 IF_ID0

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 GROUP_ID LAG group ID.

8-15 NUM_IFS Number of interfaces in group. Maximum value is 8.

0x10 0-7 IF_ID0 IF_IDn: index of the n’th dpsw interface from this group. Only values from 0 to NUM_IFS are used.

8-15 IF_ID1

16-23 IF_ID2

24-31 IF_ID3

32-40 IF_ID4

41-47 IF_ID5

48-55 IF_ID6

56-63 IF_ID7

Page 573: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-111

14.3.79 DPSW_LAG_GET_CFG

Read LAG configuration data.

Command structure

Figure 453. DPSW_LAG_GET_CFG Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A51 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — GROUP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 GROUP_ID LAG group ID

Page 574: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-112

Response structure

Figure 454. DPSW_LAG_GET_CFG Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A51 TOKEN — STATUS P — SRCID

63 16 15 8 7 0

0x08 — NUM_IFS GROUP_ID

63 56 55 48 47 41 40 32 31 24 23 16 15 8 7 0

0x10 IF_ID7 IF_ID6 IF_ID5 IF_ID4 IF_ID3 IF_ID2 IF_ID1 IF_ID0

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 GROUP_ID LAG group ID

8-15 NUM_IFS Number of interfaces in group.

0x10 0-7 IF_ID0 IF_IDn: index of the n’th dpsw interface from this group.

8-15 IF_ID1

16-23 IF_ID2

24-31 IF_ID3

32-40 IF_ID4

41-47 IF_ID5

48-55 IF_ID6

56-63 IF_ID7

Page 575: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-113

14.3.80 DPSW_IF_SET_TAILDROP

Using this command, tail drop ca be configured at runtime.

Command structure

Figure 455. DPSW_IF_SET_TAILDROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A81 TOKEN — STATUS P — SRCID

63 48 47 32 31 24 23 16 15 0

0x08 — IF_ID — TC_ID —

63 56 55 48 47 41 40 32 31 24 23 16 15 0

0x10 THRESHOLD — UNITS — EN

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-23 TC_ID Traffic class ID.

32-47 IF_ID Interface ID.

0x10 0 EN Tail drop enabling.

16-23 UNITS Set the units used in relation with threshold:0: Unit Bytes1: Unit Packets2: Unit Buffers

32-63 THRESHOLD The threshold value of “UNITS” used for tail drop.

Page 576: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-114

14.3.81 DPSW_IF_GET_TAILDROP

Get information related to tail drop.

Command structure

Figure 456. DPSW_IF_GET_TAILDROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A91 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 24 23 16 15 0

0x08 — IF_ID — TC_ID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-23 TC_ID Traffic class ID.

32-47 IF_ID Interface ID.

Page 577: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-115

Response structure

Figure 457. DPSW_IF_GET_TAILDROP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0A91 TOKEN — STATUS P — SRCID

63

0x08 —

63 32 31 24 23 16 15 1 0

0x10 Threshold — UNITS — EN

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0 EN Tail drop enabling.

16-23 UNITS Set the units used in relation with threshold:0: Unit Bytes1: Unit Packets2: Unit Buffers

32-63 THRESHOLD The threshold value of “UNITS” used for tail drop.

Page 578: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-116

14.3.82 DPSW_DUMP_TABLE

Dump at IOVA address information about all entries of the desired table. Return the number of dumped entries.

Command structure

Figure 458. DPSW_DUMP_TABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0AA1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — TABLE_INDEX TABLE_TYPE

63 0

0x10 SNAPSHOT_IOVA

63 32 31 0

0x18 — SIZE

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 TABLE_TYPE 1: DPSW_FDB_TABLE2: DPSW_VLAN_ING_TABLE3: DPSW_VLAN_EGR_TABLE4: DPSW_ACL_TABLE5: DPSW_BCAST_TABLE (Broadcast Message Isolation feature)

16-31 TABLE_INDEX Index of desired table to be dump.In case of DPSW_FDB_TABLE the index of the FDB table to be dump.In case of DPSW_ACL_TABLE the index of the ACL table to be dump.Otherwise zero.

0x10 0-63 SNAPSHOT_IOVA IOVA address.

0x18 0-31 SIZE Size to be dump.

Page 579: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-117

Response structure

Figure 459. DPSW_DUMP_TABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0AA1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 — NUM_ENTRIES

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 NUM_ENTRIES The number of dumped entries.

Page 580: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSW: Data Path L2 Switch

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 14-118

Page 581: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-1

Chapter 15 DPMAC: Data Path MACFor every DPAA2 MAC, there is an MC object named DPMAC, for MDIO and link state updates.

The DPMAC virtualizes the MDIO interface, so each PHY driver may see a private interface (removing the need for synchronization in GPP on the multiplexed MDIO hardware).

DPMAC objects are expected to be accessed only by kernel/host when the PHYs are configured or when a PHY interrupt occurs. PHY driver and PHY interrupt handling are kept in the responsibility of the GPP (preferably BSP software in the kernel only).

MC does not handle PHY interrupts, therefore the PHY driver in GPP must notify state changes and adjust the link setup through the DPMAC API.

15.1 DPMAC features

The following list summarizes the DPMAC main features and capabilities:

• Initialization of MAC controllers according to selected Reset Configuration Word and SerDes protocols.

• Link configuration requests are taken from network objects connected to the DPMAC (for example, DPNI, DPSW, or DPDMUX).

• Link state setting (by PHY driver) – the DPMAC propagates link state from the PHY to the connected network object.

• IRQ support for link configuration request (to PHY driver) and for link state change.

• MDIO read/write commands

• Query MAC counters

• Supports various types of Ethernet links:

— Regular PHY links – Link is negotiated or set manually through PHY configuration.

— Fixed links – MC assumes that the link is always on (PHY configuration is assumed to be fixed).

Page 582: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-2

15.2 DPMAC command reference

This section contains detailed programming model of DPMAC commands.

15.2.1 DPMAC_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPMAC_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 460. DPMAC_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x80C1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 DPMAC_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 65. DPMAC_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPMAC_ID DPMAC unique ID

Page 583: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-3

15.2.2 DPMAC_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 461. DPMAC_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 584: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-4

15.2.3 DPMAC_CREATE

This command creates and initializes an instance of DPMAC according to the specified command parameters. This command is not required for DPMAC instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPMAC ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 462. DPMAC_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x90C1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 16 15 0

0x08 — MAC_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 66. DPMAC_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 MAC_ID Represents the Hardware MAC ID; in case of multiple WRIOP,the MAC IDs are continuous.For example: * 2 WRIOPs, 16 MACs in each:* MAC IDs for the 1st WRIOP: 1-16,* MAC IDs for the 2nd WRIOP: 17-32.

Page 585: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-5

Response structure

Figure 15-1. DPMAC_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x90C1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPMAC_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 15-1. DPMAC_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPMAC_ID DPMAC unique ID

Page 586: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-6

15.2.4 DPMAC_DESTROY

This command destroys the DPMAC object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 463. DPMAC_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x98C1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPMAC_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPMAC_ID ID of the DPMAC object to destroy

Page 587: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-7

15.2.5 DPMAC_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 464. DPMAC_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 588: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-8

15.2.6 DPMAC_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 465. DPMAC_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 589: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-9

Response structure

Figure 466. DPMAC_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 590: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-10

15.2.7 DPMAC_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 467. DPMAC_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 591: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-11

15.2.8 DPMAC_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 468. DPMAC_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 592: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-12

Response structure

Figure 469. DPMAC_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 593: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-13

15.2.9 DPMAC_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 470. DPMAC_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPMAC_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 594: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-14

Response structure

Figure 471. DPMAC_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events in IRQ 0:Bit 0: DPMAC_IRQ_EVENT_LINK_CFG_REQ – indicates a change in requested link configuration; PHY driver (if exists) is expected to renogotiate the configuration.Bit 1: DPMAC_IRQ_EVENT_LINK_CHANGED – indicates a change in the link state

Page 595: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-15

15.2.10 DPMAC_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 472. DPMAC_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 596: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-16

15.2.11 DPMAC_GET_ATTRIBUTES

Command structure

Figure 473. DPMAC_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0043 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 597: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-17

Response structure

Figure 474. DPMAC_GET_ATTRIBUTES Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0043 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 MAX_RATE ID LINK_TYPE ETH_IF

63 24 23 16 15 8 7 0

0x10 --- IFG_LENGTH IFG_MODE FEC_MODE

63 48 47 40 39 32 31 24 23 16 15 8 7 1 0

0x18 --- EQ_TYPE EQ_PREQ EQ_POST1Q EQ_AMP_RED SERDES_CFG_MODE

SG

N_

PR

EQ

SG

N_

PO

ST

1Q

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 ETH_IF Ethernet interface

8-15 LINK_TYPE Link type

16-31 ID DPMAC object ID

32-63 MAX_RATE Maximum supported rate - in Mbps

0x10 0-7 FEC_MODE Configurable only for LX2160 CAUI ports.0: FEC_NONE - RS-FEC (enabled by default) is disabled1: FEC_RS - RS-FEC (Clause 91) mode configured2: FEC_FC - FC-FEC (Clause 74) mode configured (not yet supported)DPMAC FEC mode default is “FEC_RS”.

8-15 IFG_MODE Inter Frame Gap mode selection:0: IFG_MODE_FIXED - IFG_LENGTH represents number of octets in steps of 4 (gap dimension) 1: IFG_MODE_STRETCHED - IFG_LENGTH represents the stretched factor depending on bandwidth.

16-23 IFG_LENGTH Inter Frame Gap length value. Default value is 12.

Page 598: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-18

All unspecified fields are reserved and must be cleared (set to zero)

0x18 0 SGN_POST1Q First post-cursor sign indicating direction of eye closure0b - Negative Sign (close eye)1b - Positive Sign (open eye)

1 SGN_PREQ Precursor sign indicating direction of eye closure0b - Negative Sign (close eye)1b - Positive Sign (open eye)

8-15 SERDES_CFG_MODE 0: SERDES_CFG_DEFAULT - This is the default configuration.1: SERDES_CFG_SFI - Can be used with XFI and XLAUI4 interfaces from a SFI compatible SerDes, currently available on LX2 SoC.This is the default operating mode for XFI interfaces, while the XLAUI4 interfaces run with full amplitude and no de-emphasis as default settings. This mode will apply equalization settings that will bring the electrical interface in the SFI specifications.2: SERDES_CFG_CUSTOM - It allows the user to manually configure the type of equalization, amplitude, preq and post1q settings. Can be used with all interfaces except RGMII.

16-23 EQ_AMP_RED Overall transmit amplitude reduction

24-31 EQ_POST1Q Drive strength of full swing transition bit to first post-cursor

32-39 EQ_PREQ Drive strength of TX full swing transition bit to precursor.

40-47 EQ_TYPE Number of levels of TX equalization000b - No equalization001b - 2-tap equalization010b - 3-tap equalization011b - Reserved

Offset Bits Name Description

Page 599: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-19

15.2.12 DPMAC_SET_PARAMS

This command is used to configure the Inter Frame Gap

Command structure

Figure 475. DPMAC_SET_PARAMS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C61 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 47 40 39 32 31 0

0x08 — IFG_LENGTH IFG_MODE FLAGS

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 FLAGS Bits:0: SET_PARAMS_IFG - If set, the configuration will be applied.

32-39 IFG_MODE Inter Frame Gap mode selection:0: IFG_MODE_FIXED - IFG_LENGTH represents number of octets in steps of 4 (gap dimension) 1: IFG_MODE_STRETCHED - IFG_LENGTH represents the stretched factor depending on bandwidth.

40-47 IFG_LENGTH Inter Frame Gap length value. Default value is 12.

Page 600: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-20

15.2.13 DPMAC_MDIO_READ

This command is used to read through MDIO bus.

Command structure

Figure 476. DPMAC_MDIO_READ Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C01 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 -- REGISTER PHY_ADDRESS CL45

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 CL45 Use to chose the Clause. Set to 0 if Clause 22 is desired or any another value for Clause 45. Clause 22 is used by default if the field is not completed.

8-15 PHY_ADDRESS The MDIO address of the PHY.

16-31 REGISTER The register from which to read.

Page 601: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-21

Response structure

Figure 477. DPMAC_MDIO_READ Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C01 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 16 15 0

0x08 -- DATA

63 0

0x10 —

63 0

0x18 --

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 Data Data read from register.

Page 602: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-22

15.2.14 DPMAC_MDIO_WRITE

Command structure

Figure 478. DPMAC_MDIO_WRITE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 32 31 16 15 8 7 0

0x08 DATA REGISTER PHY_ADDRESS CL45

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 CL45 Use to chose the Clause. Set to 0 if Clause 22 is desired or any another value for Clause 45. Clause 22 is used by default if the field is not completed.

8-15 PHY_ADDRESS The MDIO address of the PHY.

16-31 REGISTER The register to which to write.

32-47 DATA Data to be written.

Page 603: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-23

15.2.15 DPMAC_GET_LINK_CFG

Command structure

Figure 479. DPMAC_GET_LINK_CFG Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C21 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 604: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-24

Response structure

Figure 480. DPMAC_GET_LINK_CFG Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C21 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 OPTIONS

63 32 31 0

0x10 — RATE

63 0

0x18 ADVERTISING

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 OPTIONS Enable/Disable DPMAC link cfg features (bitmap). See Table 15-2 for option values.

0x10 0-31 RATE Link’s rate

0X18 0-63 ADVERTISING Speeds that are advertised for autoneg

Table 15-2. DPMAC link options

Option value Description

0x0000000000000001ULL Enable auto-negotiation

0x0000000000000002ULL Enable half-duplex mode

0x0000000000000004ULL Enable pause frames

0x0000000000000008ULL Enable a-symmetric pause frames

Page 605: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-25

15.2.16 DPMAC_SET_LINK_STATE

Command structure

Figure 481. DPMAC_SET_LINK_STATE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C31 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 OPTIONS

63 32 31 0

0x10 — RATE

63 1 0

0x18 — STA

TE

_V

ALI

UP

63 0

0x20 SUPPORTED

63 0

0x28 ADVERTISING

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 OPTIONS Enable/Disable DPMAC link cfg features (bitmap). See Table 15-2 for option values.

0x10 0-31 RATE Link’s rate

0x18 0 UP Link state

1 STATE_VALID Ignore/Update the state of the link

0X20 0-63 SUPPORTED Speeds capability of the phy

0X28 0-63 ADVERTISING Speeds that are advertised for autoneg

Page 606: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-26

15.2.17 DPMAC_GET_COUNTER

Command structure

Figure 482. DPMAC_GET_COUNTER Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C41 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — TYPE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portypal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 TYPE The requested counter. See Table 67 for possible counter values and their meanings.

Table 67. DPMAC counter values

Counter value Description

0x0 Counts 64-bytes frames, good or bad

0x1 Counts 65- to 127-bytes frames, good or bad

0x2 Counts 128- to 255-bytes frames, good or bad

0x3 Counts 256- to 511-bytes frames, good or bad

0x4 Counts 512- to 1023-bytes frames, good or bad

0x5 Counts 1024- to 1518-bytes frames, good or bad

0x6 Counts 1519-bytes frames and larger (up to max frame length specified), good or bad

0x7 Counts frames which are shorter than 64 bytes received with a wrong CRC

0x8 Counts frames longer than the maximum frame length specified, with a bad frame check sequence

0x9 Counts dropped frames due to internal errors • occurs when a receive FIFO overflows. • includes also frames truncated as a result of the receive FIFO overflow

0xA Counts frames with an alignment error (optional used for wrong SFD)

0xA Counts frames transmitted that was less than 64 bytes long with a good CRC

0xC Counts frames longer than the maximum frame length specified, with a good frame check sequence

Page 607: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-27

Response structure

Figure 483. DPMAC_GET_COUNTER Response Description

All unspecified fields are reserved and must be cleared (set to zero)

0xD Counts valid pause frames (regular and PFC)

0xE Counts valid pause frames transmitted (regular and PFC)

0xF Counts bytes received except preamble for all valid frames and valid pause frames

0x10 Counts received multicast frames

0x11 Counts received broadcast frames

0x12 Counts each good or bad frames received

0x13 Counts received unicast frames

0x14 Counts frames received with an error (except for undersized/fragment frame)

0x15 Counts bytes transmitted except preamble for all valid frames and valid pause frames transmitted

0x16 Counts transmitted multicast frames

0x17 Counts transmitted broadcast frames

0x18 Counts transmitted unicast frames

0x19 Counts frames transmitted with an error

0x1A Counts frames received without error, including pause frames

0x1B Counts frames transmitted without error, including pause frames

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0C41 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 COUNTER

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-63 COUNTER The requested counter

Table 67. DPMAC counter values

Counter value Description

Page 608: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-28

15.2.18 DPMAC_GET_API_VERSION

Command structure

Figure 484. DPMAC_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0C1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 609: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-29

Response structure

Figure 485. DPMAC_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0C1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 610: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-30

15.2.19 DPMAC_RESET

Reset the DPMAC. Returns the object to initial state.

Command structure

Figure 486. DPMAC_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 611: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-31

15.2.20 DPMAC_GET_MAC_ADDR

Command structure

Figure 487. DPMAC_GET_MAC_ADDR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0c51 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 612: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMAC: Data Path MAC

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 15-32

Response structure

Figure 488. DPMAC_GET_MAC_ADDR Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0c51 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 16 15 0

0x08 MAC_ADDR —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16 - 63 MAC_ADDR The MAC address of the physical port, if any, otherwise 0.

Page 613: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-1

Chapter 16 DPRTC: Data Path Real Time ClockThe MC exports the DPRTC object to allow GPP software to control the physical IEEE-1588 Real Time Clock. A single DPRTC object is needed to control the IEEE-1588 RTC, and this object is expected to serve the PTP stack running in GPP.

16.1 DPRTC features

The following list summarizes the DPRTC main features and capabilities:

• IEEE-1588 RTC accuracy in nanoseconds.

• Supports RTC frequency compensation.

• Supports modification of RTC clock offset.

• Supports direct setting of the RTC time – useful mainly for zeroing the timer, as the recommended method for RTC modifications is through offset and/or frequency change.

• Supports setting an alarm time – generates an event to GPP at a requested time.

• Supports 2 pulse-per-second events.

• Supports 2 timestamp external trigger interrupts (ETS1 and ETS2).

• Supports fiper loopback mode, in which the generated pulse will be the interrupt source for external trigger.

Page 614: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-2

16.2 DPRTC command reference

This section contains the detailed programming model of DPRTC commands.

16.2.1 DPRTC_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPRTC_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

The command format is shown in the figure below.

Figure 489. DPRTC_OPEN Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8101 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 DPRTC_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 68. DPRTC_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPRTC_ID DPRTC unique ID

Page 615: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-3

16.2.2 DPRTC_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 490. DPRTC_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 616: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-4

16.2.3 DPRTC_CREATE

This command creates and initializes an instance of DPRTC according to the specified command parameters. This command is not required for DPRTC instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPRTC ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 491. DPRTC_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9101 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 69. DPRTC_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 617: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-5

Response structure

Figure 16-1. DPRTC_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9101 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPRTC_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 16-1. DPRTC_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPRTC_ID DPRTC unique ID

Page 618: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-6

16.2.4 DPRTC_DESTROY

This command destroys the DPRTC object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 492. DPRTC_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9901 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPRTC_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPRTC_ID ID of the DPRTC object to destroy

Page 619: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-7

16.2.5 DPRTC_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 493. DPRTC_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 620: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-8

16.2.6 DPRTC_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 494. DPRTC_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 621: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-9

Response structure

Figure 495. DPRTC_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 622: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-10

16.2.7 DPRTC_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 496. DPRTC_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 623: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-11

16.2.8 DPRTC_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 497. DPRTC_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 624: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-12

Response structure

Figure 498. DPRTC_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 625: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-13

16.2.9 DPRTC_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 499. DPRTC_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPRTC_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 626: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-14

Response structure

Figure 500. DPRTC_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events for IRQ 0:Bit 22: DPRTC_EVENT_ETS2 - indicates an event from external trigger timestamp 2Bit 23: DPRTC_EVENT_ETS1 - indicates an event from external trigger timestamp 1Bit 26: DPRTC_EVENT_PPS2 – indicates a pulse per 4 seconds eventBit 27: DPRTC_EVENT_PPS – indicates a pulse per second eventBit 30: DPRTC_EVENT_ALARM – indicates that the requested alarm time was reached

Page 627: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-15

16.2.10 DPRTC_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 501. DPRTC_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 628: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-16

16.2.11 DPRTC_GET_ATTRIBUTES

Command structure

Figure 502. DPRTC_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 629: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-17

Response structure

Figure 503. DPRTC_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 ID ADDR

63 1 0

0x10 —

EN

DIA

NN

ES

S

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ADDR Registers base address

32-63 ID DPRTC object ID

0x10 0 ENDIANNESS 1588 block endianness:0 - big endian1 - little endian

Page 630: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-18

16.2.12 DPRTC_SET_CLOCK_OFFSET

Command structure

Figure 504. DPRTC_SET_CLOCK_OFFSET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D01 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 OFFSET

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 OFFSET New clock offset (in nanoseconds)

Page 631: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-19

16.2.13 DPRTC_GET_CLOCK_OFFSET

Command structure

Figure 505. DPRTC_GET_CLOCK_OFFSET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1DC1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 632: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-20

Response structure

Figure 506. DPRTC_GET_CLOCK_OFFSET Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1DC1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 CLOCK_OFFSET

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 CLOCK_OFFSET Clock offset value.

Page 633: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-21

16.2.14 DPRTC_SET_FREQ_COMPENSATION

Command structure

Figure 507. DPRTC_SET_FREQ_COMPENSATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — FREQ_COMPENSATION

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 FREQ_COMPENSATION The new frequency compensation value to set.

Page 634: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-22

16.2.15 DPRTC_GET_FREQ_COMPENSATION

Command structure

Figure 508. DPRTC_GET_FREQ_COMPENSATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D21 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 635: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-23

Response structure

Figure 509. DPRTC_GET_FREQ_COMPENSATION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D21 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — FREQ_COMPENSATION

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 FREQ_COMPENSATION Frequency compensation value

Page 636: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-24

16.2.16 DPRTC_GET_TIME

Command structure

Figure 510. DPRTC_GET_TIME Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D31 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 637: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-25

Response structure

Figure 511. DPRTC_GET_TIME Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D31 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 TIME

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 TIME Current RTC time in nanoseconds

Page 638: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-26

16.2.17 DPRTC_SET_TIME

Command structure

Figure 512. DPRTC_SET_TIME Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D41 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 TIME

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 TIME New RTC time in nanoseconds

Page 639: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-27

16.2.18 DPRTC_SET_ALARM

Command structure

Figure 513. DPRTC_SET_ALARM Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D51 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 TIME

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 TIME In nanoseconds, the time when the alarmshould go off - must be a multiple of the RTC period

Page 640: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-28

16.2.19 DPRTC_GET_EXT_TRIGGER_TIMESTAMP

Command structure

Figure 514. DPRTC_GET_EXT_TRIGGER_TIMESTEMP Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1DA1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 --- ETS_ID ---

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 ETS_ID Represents the ID for external trigger interrupt01b - ETS110b - ETS2

Page 641: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-29

Response structure

Figure 515. DPRTC_GET_EXT_TRIGGER_TIMESTEMP Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1D31 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 --- UN

RE

AD

_V

ALID

_T

IME

STA

M

63 0

0x10 TIMESTAMP

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 UNREAD_VALID_TIMESTAMP If set means that in FIFO there is another timestamp that have to be read. If unset and the TIMESTAMP is a value different of 0, means that this value was the last entry in FIFO.

0x10 0-63 TIMESTAMP Timestamp value in nanoseconds.

Page 642: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-30

16.2.20 DPRTC_SET_FIPER_LOOPBACK

Through this command, for both external trigger interrupt (ETS1 and ETS2), the source of interrupt can be switched between normal external trigger input and fiper pulse signal (fiper in loopback mode).

Command structure

Figure 516. DPRTC_SET_FIPER_LOOPBACK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1DB1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 16 15 8 7 0

0x08 --- FIPER_AS_INPUT

ETS_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 ETS_ID Represents the ID for external trigger interrupt01b - ETS110b - ETS2

8-15 FIPER_AS_INPUT If set, the fiper will be configured in loopback mode. Will represent the interrupt signal source for ETS selected.If unset, ETS input is based upon normal external trigger input.

Page 643: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-31

16.2.21 DPRTC_GET_API_VERSION

Command structure

Figure 517. DPRTC_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA101 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 644: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPRTC: Data Path Real Time Clock

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 16-32

Response structure

Figure 518. DPRTC_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA101 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 645: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-1

Chapter 17 DPSECI: Data Path SEC InterfaceThe MC exports the DPSECI object as an interface to operate the DPAA2 Security Engine (SEC).

The DPSECI enables sending frame-based requests to the SEC and receiving back the processed response, utilizing the DPAA2 QBMan infrastructure. The DPSECI object provides up to eight priorities for processing SEC requests.

17.1 DPSECI features

The following list summarizes the main DPSECI features and capabilities:

• Supports up to eight scheduling priorities for processing service requests

— Each DPSECI transmit queue is mapped to one of eight service priorities, allowing further prioritization in hardware between requests from different DPSECI objects.

• Supports up to sixteen receive queues for incoming response frames

— Each DPSECI response (receive) queue is mapped to one of eight receive priorities, allowing further prioritization between other interfaces when associating the DPSECI receive queues to DPIO or DPCON objects.

• Supports different scheduling options for processing received packets:

— Queues can be configured either in ‘parked’ mode (default), or attached to a DPIO object, or attached to DPCON object

• Allows interaction with one or more DPIO objects for dequeueing/enqueueing frame descriptors (FD) and for acquiring/releasing buffers.

• Supports enable, disable, and reset operations

17.2 DPSECI functional description

17.2.1 Setting the DPSECI for SEC operation

The DPSECI is an interface object that allows GPP software to send service requests to the SEC engine and receive back the processed response. The actual description of the requested SEC service is built by GPP software in the form of a frame descriptor. GPP software is also responsible for reading and parsing the response frame descriptor containing the ouptut and status of the processed request.

The DPSECI is not aware of the content of SEC requests being sent, and does not perform any checks on their correctness. It is involved only in setting up the QMan infrastructure for communicating with the SEC engine.

The driver software must declare the number of queues (up to 16 for LX2160A) for SEC processing. The DPSECI queues are mapped to one of eight global priorities of the SEC hardware block; this allows further prioritization of service requests between different DPSECI objects.

Page 646: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-2

17.2.2 Relationship with DPIO and DPCON objects

Each of the DPSECI response (receive) queues may be associated with either a DPIO object or a DPCON object. This serves for notification purposes and/or advanced scheduling of received response frames.

DPIO objects provide configuration of a QBMan software portal, with an option for data availability notifications. GPP software is free to relate DPIO objects to threads, or to share them between cores in SMP mode, but this requires synchronized access to the QBMan software portal. It is possible to associate multiple DPIO objects with the same DPSECI, in order to spread responses from this DPSECI across multiple QBMan software portals.

GPP software may decide to enable DPIO notifications, or it may dequeue frames based on its own scheduled polling logic. It is also possible for one GPP entity to receive the notification from one DPIO and alert another entity that will dequeue the packets using a different DPIO.

DPCON objects are used for concentrating traffic from several interfaces into sub-interfaces, mainly for scheduling purposes. It is possible to connect DPCON with DPIO so it generates notifications to the GPP.

Note that the QBMan software portal is used both for enqueue/dequeue operations on packets, and for acquire/release buffer operations. GPP software is responsible for the portal’s operation mode and usage i.e. sharing vs. affinity, association of queue context, etc.

DPIO objects may serve multiple interfaces. This is not limited to multiple DPSECI objects; it can also be extended to network interfaces and communication interfaces. For example, the same DPIO may serve both a DPNI and a DPSECI, assuming they are assigned to the same software context (container).

17.2.3 Buffer requirements

A DPSECI does not need to be directly associated with a DPBP object; in addition, buffers for the SEC service requests (frames) may or may not be managed by buffer pools. However, SEC response frames are usually built by allocation of buffers from BMan buffer pools; therefore, GPP software should specify in the SEC service requests which buffer pool ID to use for allocating the response buffer. The buffer pool ID can be retrieved from the DPBP object (please refer to the DPBP API description).

Page 647: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-3

17.3 DPSECI command reference

This section contains the detailed programming model of DPSECI commands.

17.3.1 DPSECI_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPSECI_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 519. DPSECI_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8091 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 DPSECI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 70. DPSECI_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPSECI_ID

Page 648: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-4

17.3.2 DPSECI_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 520. DPSECI_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero).

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 649: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-5

17.3.3 DPSECI_CREATE

This command creates and initializes an instance of DPSECI according to the specified command parameters. This command is not required for DPSECI instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPSECI ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 521. DPSECI_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9091 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x08 PRIORITIES7 PRIORITIES6 PRIORITIES5 PRIORITIES4 PRIORITIES3 PRIORITIES2 PRIORITIES1 PRIORITIES0

63 16 15 8 7 0

0x10 — NUM_RX_QUEUES

NUM_TX_QUEUES

63 0

0x18 — OPTIONS

63 0

0x20 PRIORITIES15 PRIORITIES14 PRIORITIES13 PRIORITIES12 PRIORITIES11 PRIORITIES10 PRIORITIES9 PRIORITIES8

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 71. DPSECI_CREATE Command Field Descriptions1

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 PRIORITIES[0-7] Priorities for the SEC hardware processing; valid priorities are configured with values 1-8; the entry following last valid entry should be configured with 0

0x10 0-7 NUM_TX_QUEUES Number of queues towards the SEC

8-15 NUM_RX_QUEUES Number of queues back from the SEC

Page 650: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-6

Response structure

Figure 17-1. DPSECI_CREATE Response Description

The following table describes the response fields.

0x18 0-31 OPTIONS Select one or more of the options below

5 DPSECI_OPT_HAS_CG Controls availability of congestion groups:0 – congestion groups is not available1 – congestion group available (a single congestion group for all queues)

6 DPSECI_OPT_HAS_OPR Controls availability of Order Restoration:0 – Order Restoration is not available1 – Order Restoration is available

7 DPSECI_OPT_OPR_SHARED Controls the number of Order Restoration points:0 – Order Restoration is available per queue1 – Order Restoration is available per DPSECI object (a single “shared” point for all queues)

0x20 0-63 PRIORITIES[8-15] Priorities for the SEC hardware processing; valid priorities are configured with values 1-8; the entry following last valid entry should be configured with 0

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPSECI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 17-1. DPSECI_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPSECI_ID DPSECI unique ID

Table 71. DPSECI_CREATE Command Field Descriptions1

Offset Bits Name Description

Page 651: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-7

17.3.4 DPSECI_DESTROY

This command destroys the DPSECI object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 522. DPSECI_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9891 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPSECI_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPSECI_ID ID of the DPSECI object to destroy

Page 652: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-8

17.3.5 DPSECI_ENABLE

Command structure

Figure 523. DPSECI_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 653: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-9

17.3.6 DPSECI_DISABLE

Command structure

Figure 524. DPSECI_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 654: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-10

17.3.7 DPSECI_IS_ENABLED

Command structure

Figure 525. DPSECI_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 655: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-11

Response structure

Figure 526. DPSECI_IS_ENABLED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 656: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-12

17.3.8 DPSECI_RESET

Command structure

Figure 527. DPSECI_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 657: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-13

17.3.9 DPSECI_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 528. DPSECI_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

0x10 - 0x3F

– Reserved

Page 658: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-14

17.3.10 DPSECI_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 529. DPSECI_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 659: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-15

Response structure

Figure 530. DPSECI_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 660: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-16

17.3.11 DPSECI_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 531. DPSECI_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 661: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-17

17.3.12 DPSECI_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 532. DPSECI_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 662: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-18

Response structure

Figure 533. DPSECI_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 663: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-19

17.3.13 DPSECI_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 534. DPSECI_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPSECI_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 664: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-20

Response structure

Figure 535. DPSECI_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events:None

Page 665: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-21

17.3.14 DPSECI_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 536. DPSECI_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 666: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-22

17.3.15 DPSECI_GET_ATTRIBUTES

Command structure

Figure 537. DPSECI_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 667: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-23

Response structure

Figure 538. DPSECI_GET_ATTRIBUTES Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — ID

63 16 15 8 7 0

0x10 — NUM_RX_QUEUES

NUM_TX_QUEUES

63 32 31 0

0x18 — OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID DPSECI object ID

0x10 0-7 NUM_TX_QUEUES number of queues towards the SEC

8-15 NUM_RX_QUEUES number of queues back from the SEC

0x18 0-31 OPTIONS Options that were used to create the DPSECI object (same as DPSECI_CREATE options). Any combination of the following options: DPSECI_OPT_HAS_CG, DPSECI_OPT_HAS_OPR, DPSECI_OPT_OPR_SHARED.

Page 668: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-24

17.3.16 DPSECI_SET_OPR

Set the Order Point Record configuration. The command works only if the DPSECI is created with theDPSECI_OPT_HAS_OPR option. It also works only for SoCs that support Order Restoration.

If the DPSECI is configured with the DPSECI_OPT_OPR_SHARED option, then all frame queues within a single “shared” point only if DPSECI is enabled ( in other words, Order Restoration is available per DPSECI object). If the DPSECI_OPT_OPR_SHARED option is not set, the INDEX is used to select a specific queue. The INDEX value must be smaller than NUM_RX_QUEUES which was set throughDPSECI_CREATE.

The order restoration is done for all enqueue commands that respect an order restoration point and are coupled with a sequence number. These are judged by comparing that sequence number to the next expected sequence number for that order point record. The treatment of the frame enqueued via an OPR is determined by which window the sequence number of that frame falls within, what resources are still available, and if loose ordering is enabled. The windows are shown in the Figure 7-5.

Page 669: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-25

Command structure

Figure 539. DPSECI_SET_OPR Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x19A1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 24 23 16 15 8 7 0

0x08 — OPTIONS INDEX — —

63 56 55 48 47 40 39 32 31 24 23 0

0x10 OPRRWS OA OLWS OEANE OLOE —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-23 INDEX Selects a specific queue. Accepted values are in range 0 to NUM_RX_QUEUES – 1. This field is ignored if DPSECI_OPT_OPR_SHARED is set.

24–31 OPTIONS The command can function in two ways, depending on the options field value: • OPR_OPT_CREATE (1): Create the OPR with the given configuration • OPR_OPT_RETIRE (2): Retire OPR. In this case the configuration options from offset 0x10 are ignored.

The OPR is emptied by individually rejecting all enqueue commands held on the ORL.

0x10 24–31 OLOE OPR loose ordering enable • 0: Strict ordering mode • 1: Loose ordering mode

The ordering mode determines the action taken for OR enabled enqueues that fall in either the early or late arrival rejection window or that need to be deferred when ORL resources are exhausted. For strict ordering mode they are rejected and returned to software, and for loose ordering mode they are enqueued immediately.

32–39 OEANE Order restoration list (ORL) resource exhaustion advance NESN enable

40–47 OLWS OPR acceptable late arrival window size • 0: Disabled. Late arrivals are always rejected. • 1: Window size is 32 frames. • 2: Window size is the same as the OPR restoration window size configured in the OPRRWS field. • 3: Window size is 8192 frames. Late arrivals are always accepted.

48–55 OA OPR auto advance NESN window size

56–63 OPRRWS Order point record (OPR) restoration window size. • 0: Window size is 32 frames. • 1: Window size is 64 frames. • 2: Window size is 128 frames. • 3: Window size is 256 frames. • 4: Window size is 512 frames. • 5: Window size is 1024 frames. • 6–7: Reserved

Page 670: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-26

17.3.17 DPSECI_GET_OPR

Command structure

Figure 540. DPSECI_GET_OPR Command Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x19B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 24 23 16 15 8 7 0

0x08 — INDEX — —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 16-23 INDEX Selects a specific queue. Accepted values are in range 0 to NUM_RX_QUEUES – 1. This field is ignored for DPSECI_OPT_OPR_SHARED.

Page 671: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-27

Response structure

Figure 541. DPSECI_GET_OPR Response Rescription

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x19B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 56 55 48 47 40 39 32 31 24 23 2 1 0

0x10 OPRRWS OA OLWS OEANE OLOE — EN RIP

63 48 47 32 31 16 15 0

0x18 — NDSN — NESN

63 48 47 32 31 16 15 0

0x20 —

NL

IS_

HS

EQ

EA_HSEQ —

NL

IS_ T

SE

Q

EA_TSEQ

63 48 47 32 31 16 15 0

0x28 — EA_TPTR — EA_HPTR

63 48 47 32 31 16 15 0

0x30 — OPRID — VOPRID

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0 RIP Retirement In Progress.

1 EN OPR is enabled.

24–31 OLOE OPR loose ordering enable

32–39 OEANE Order restoration list (ORL) resource exhaustion advance NESN enable

40–47 OLWS OPR acceptable late arrival window size

48–55 OA OPR auto advance NESN window size

56–63 OPRRWS Order point record (OPR) restoration window size

0x18 0–15 NESN Next expected sequence number.

32–47 NDSN Next dispensed sequence number.

0x20 0–15 EA_TSEQ Sequence number of the frame at the tail of the ORL.

16 NLIS_ TSEQ Not last in sequence for EA_TSEQ

32–47 EA_HSEQ Sequence number of the frame at the head of the ORL.

48 NLIS_ HSEQ Not last in sequence for EA_HSEQ

0x28 0–15 EA_HPTR Early arrival head pointer

32–47 EA_TPTR Early arrival tail pointer

0x30 0–15 VOPRID Virtual Order Point Record ID

32–47 OPRID Order Point Record ID

Page 672: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-28

17.3.18 DPSECI_SET_RX_QUEUE

Command structure

Figure 542. DPSECI_SET_RX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1941 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 16 15 0

0x08 — DEST_TYPE

QUEUE DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 33 32 31 0

0x18

OP

E

OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 DEST_PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0-1 or 0-7, depending on the number of priorities in that channel; not relevant for 'DPSECI_DEST_NONE' option

40-47 QUEUE Select the queue relative to number of priorities configured at DPSECI creation; use DPSECI_ALL_QUEUES to configure all Rx queues identically.

48-51 DEST_TYPE Destination type. Select one of the supported values:0x0 = DPSECI_DEST_NONE- Unassigned destination; The queue is set in parked mode and does not generate FQDAN notifications; user is expected to dequeue from the queue based on polling or other user-defined method0x1 = DPSECI_DEST_DPIO - The queue is set in schedule mode and generates FQDAN notifications to the specified DPIO; user is expected to dequeue from the queue only after notification is received0x2 = DPSECI_DEST_DPCON - The queue is set in schedule mode and does not generate FQDAN notifications, but is connected to the specified DPCON object; user is expected to dequeue from the DPCON channel

0x10 0-63 USER_CTX User context value provided in the frame descriptor of each dequeued frame; valid only if 'DPSECI_QUEUE_OPT_USER_CTX' is contained in 'options'

0x18 0-31 OPTIONS Flags representing the suggested modifications to the queue;Use any combination of 'DPSECI_QUEUE_OPT_<X>' flags below:bit 0: DPSECI_QUEUE_OPT_USER_CTX - Select to modify the user's context associated with the queuebit 1: DPSECI_QUEUE_OPT_DEST - Select to modify the queue's destination

32 ORDER_PRESERVATION_EN (OPE)

order preservation configuration for the rx queuevalid only if 'DPSECI_QUEUE_OPT_ORDER_PRESERVATION' is contained in ‘options'

Page 673: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-29

17.3.19 DPSECI_GET_RX_QUEUE

Command structure

Figure 543. DPSECI_GET_RX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1961 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 40 39 0

0x08 — QUEUE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 40-47 QUEUE Select the queue relative to number of priorities configured at DPSECI creation

Page 674: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-30

Response structure

Figure 544. DPSECI_GET_RX_QUEUE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1961 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 0

0x08 — DEST_TYPE

— DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 33 32 31 0

0x18

OP

E

FQID

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0-1 or 0-7, depending on the number of priorities in that channel; not relevant for 'DPSECI_DEST_NONE' option

48-51 DEST_TYPE Destination type. Select one of the supported values:0x0 = DPSECI_DEST_NONE- Unassigned destination; The queue is set in parked mode and does not generate FQDAN notifications; user is expected to dequeue from the queue based on polling or other user-defined method0x1 = DPSECI_DEST_DPIO - The queue is set in schedule mode and generates FQDAN notifications to the specified DPIO; user is expected to dequeue from the queue only after notification is received0x2 = DPSECI_DEST_DPCON - The queue is set in schedule mode and does not generate FQDAN notifications, but is connected to the specified DPCON object; user is expected to dequeue from the DPCON channel

0x10 0-63 USER_CTX User context value provided in the frame descriptor of each dequeued frame

0x18 0-31 FQID Virtual FQID value to be used for dequeue operations

32 ORDER_PRESERVATION_EN (OPE) Status of the order preservation configuration on the queue

Page 675: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-31

17.3.20 DPSECI_GET_TX_QUEUE

Command structure

Figure 545. DPSECI_GET_TX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1971 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 40 39 0

0x08 — QUEUE —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 40-47 QUEUE Select the queue relative to number of priorities configured at DPSECI creation

Page 676: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-32

Response structure

Figure 546. DPSECI_GET_TX_QUEUE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1971 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 0

0x08 FQID

63 32 31 0

0x10 — PRIORITY

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-63 FQID Virtual FQID to be used for sending frames to SEC hardware

0x10 0-31 PRIORITY SEC hardware processing priority for the queue

Page 677: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-33

17.3.21 DPSECI_GET_SEC_ATTR

Command structure

Figure 547. DPSECI_GET_SEC_ATTR Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1981 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 678: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-34

Response structure

Figure 548. DPSECI_GET_SEC_ATTR Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1981 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 24 23 16 15 0

0x08 — ERA MINOR_REV MAJOR_REV IP_ID

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x10 — CRC_ACC_NUM SNOW_F9_ACC_NUM

SNOW_F8_ACC_NUM

— ZUC_ENC_ACC_NUM

ZUC_AUTH_ACC_NUM

DECO_NUM

63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

0x18 AES_ACC_NUM DES_ACC_NUM ARC4_ACC_NUM

MD_ACC_NUM — RNG_ACC_NUM KASUMI_ACC_NUM

PK_ACC_NUM

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 IP_ID ID for SEC.

16-23 MAJOR_REV Major revision number for SEC.

24-31 MINOR_REV Minor revision number for SEC.

32-39 ERA SEC controller era.

0x10 0-7 DECO_NUM The number of copies of the DECO that are implemented in this version of SEC.

8-15 ZUC_AUTH_ACC_NUM The number of copies of ZUCA that are implemented in this version of SEC.

16-24 ZUC_ENC_ACC_NUM The number of copies of ZUCE that are implemented in this version of SEC.

32-39 SNOW_F8_ACC_NUM The number of copies of the SNOW-f8 module that are implemented in this version of SEC.

40-47 SNOW_F9_ACC_NUM The number of copies of the SNOW-f9 module that are implemented in this version of SEC.

48-55 CRC_ACC_NUM The number of copies of the CRC module that are implemented in this version of SEC.

0x18 0-7 PK_ACC_NUM The number of copies of the Public Key module that are implemented in this version of SEC.

8-15 KASUMI_ACC_NUM The number of copies of the Kasumi module that are implemented in this version of SEC.

16-24 RNG_ACC_NUM The number of copies of the Random Number Generator that are implemented in this version of SEC.

32-39 MD_ACC_NUM The number of copies of the MDHA (Hashing module) that are implemented in this version of SEC.

40-47 ARC4_ACC_NUM The number of copies of the ARC4 module that are implemented in this version of SEC.

48-55 DES_ACC_NUM The number of copies of the DES module that are implemented in this version of SEC.

56-63 AES_ACC_NUM The number of copies of the AES module that are implemented in this version of SEC.

Page 679: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-35

All unspecified fields are reserved and must be cleared (set to zero)

17.3.22 DPSECI_GET_SEC_COUNTERS

Command structure

Figure 549. DPSECI_GET_SEC_COUNTERS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1991 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 680: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-36

Response structure

Figure 550. DPSECI_GET_SEC_COUNTERS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1991 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 DEQUEUED_REQUESTS

63 0

0x10 OB_ENC_REQUESTS

63 0

0x18 IB_DEC_REQUESTS

63 0

0x20 OB_ENC_BYTES

63 0

0x28 OB_PROT_BYTES

63 0

0x30 IB_DEC_BYTES

63 0

0x38 IB_VALID_BYTES

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 DEQUEUED_REQUESTS Number of Requests Dequeued

0x10 0-63 OB_ENC_REQUESTS Number of Outbound Encrypt Requests

0x18 0-63 IB_DEC_REQUESTS Number of Inbound Decrypt Requests

0x20 0-63 OB_ENC_BYTES Number of Outbound Bytes Encrypted

0x28 0-63 OB_PROT_BYTES Number of Outbound Bytes Encrypted

0x30 0-63 IB_DEC_BYTES Number of Inbound Bytes Decrypted

0x38 0-63 IB_VALID_BYTES Number of Inbound Bytes Validated

Page 681: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-37

17.3.23 DPSECI_GET_API_VERSION

Command structure

Figure 551. DPSECI_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA091 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 682: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSECI: Data Path SEC Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 17-38

Response structure

Figure 552. DPSECI_GET_API_VERSION Response Description

Figure 553.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA091 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 683: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-1

Chapter 18 DPDCEI: Data Path DCE InterfaceThe MC exports the DPDCEI object as an interface to operate the DPAA2 Data Compression Engine (DCE).

The DPDCEI enables sending frame-based requests to DCE and receiving back the processed response, utilizing the DPAA2 QBMan infrastructure. The DPDCEI object can be configured either for compression mode or for decompression mode (but not for both).

18.1 DPDCEI features

The following list summarizes the main DPDCEI features and capabilities:

• A DPDCEI object can be configured either for compression mode or for decompression mode (but not for both). Applications that require both services should create two distinct DPDCEI objects, one for each operation type.

• Supports up to two scheduling priorities for processing service requests.

• Supports one receive queue for incoming response frames.

— A DPDCEI response (receive) queue is mapped to one of 8 receive priorities, allowing further prioritization between other interfaces when associating the DPDCEI receive queue to DPIO or DPCON objects.

• Supports different scheduling options for processing received packets:

— A DPDCEI receive queue can be configured either in ‘parked’ mode (default), or attached to a DPIO object, or attached to DPCON object

• Allows interaction with one or more DPIO objects for dequeueing/enqueueing frame descriptors (FD) and for acquiring/releasing buffers.

• Supports enable, disable, and reset operations

Page 684: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-2

18.2 DPDCEI command reference

This section contains the detailed programming model of DPDCEI commands.

18.2.1 DPDCEI_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPDCEI_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

The command format is shown in the figure below.

Figure 554. DPDCEI_OPEN Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x80D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPDCEI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 72. DPDCEI_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDCEI_ID DPDCEI unique ID

Page 685: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-3

18.2.2 DPDCEI_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 555. DPDCEI_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 686: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-4

18.2.3 DPDCEI_CREATE

This command creates and initializes an instance of DPDCEI according to the specified command parameters. This command is not required for DPDCEI instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPDCEI ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 556. DPDCEI_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x90D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 24 23 16 15 8 7 0

0x08 — PRIORITY — ENGINE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 73. DPDCEI_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 ENGINE compression or decompression engine to be selected

16-23 PRIORITY Priority for the DCE hardware processing (valid values 1-8).

Page 687: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-5

Response structure

Figure 18-1. DPDCEI_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x90D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPDCEI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 18-1. DPDCEI_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDCEI_ID DPDCEI unique ID

Page 688: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-6

18.2.4 DPDCEI_DESTROY

This command destroys the DPDCEI object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 557. DPDCEI_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x98D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPDCEI_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPDCEI_ID ID of the DPDCEI object to destroy

Page 689: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-7

18.2.5 DPDCEI_ENABLE

Command structure

Figure 558. DPDCEI_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 690: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-8

18.2.6 DPDCEI_DISABLE

Command structure

Figure 559. DPDCEI_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 691: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-9

18.2.7 DPDCEI_IS_ENABLED

Command structure

Figure 560. DPDCEI_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 692: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-10

Response structure

Figure 561. DPDCEI_IS_ENABLED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 693: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-11

18.2.8 DPDCEI_RESET

Command structure

Figure 562. DPDCEI_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 694: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-12

18.2.9 DPDCEI_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 563. DPDCEI_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 695: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-13

18.2.10 DPDCEI_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 564. DPDCEI_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 696: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-14

Response structure

Figure 565. DPDCEI_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 697: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-15

18.2.11 DPDCEI_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 566. DPDCEI_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 698: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-16

18.2.12 DPDCEI_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 567. DPDCEI_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 699: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-17

Response structure

Figure 568. DPDCEI_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 700: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-18

18.2.13 DPDCEI_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 569. DPDCEI_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPDCEI_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 701: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-19

Response structure

Figure 570. DPDCEI_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events:None.

Page 702: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-20

18.2.14 DPDCEI_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 571. DPDCEI_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 703: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-21

18.2.15 DPDCEI_GET_ATTRIBUTES

Command structure

Figure 572. DPDCEI_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 704: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-22

Response structure

Figure 573. DPDCEI_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 — ENGINE ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID DPDCEI object ID

32-39 ENGINE DCE engine block

Page 705: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-23

18.2.16 DPDCEI_SET_RX_QUEUE

Command structure

Figure 574. DPDCEI_SET_RX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1B01 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 0

0x08 — DEST_TYPE

— DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 0

0x18 OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 DEST_PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0-1 or 0-7, depending on the number of priorities in that channel; not relevant for 'DPDCEI_DEST_NONE' option

48-51 DEST_TYPE Destination type

0x10 0-63 USER_CTX User context value provided in the frame descriptor of each dequeued frame;valid only if 'DPDCEI_QUEUE_OPT_USER_CTX' is contained in 'options'

0x18 0-63 OPTIONS Flags representing the suggested modifications to the queue;Use any combination of 'DPDCEI_QUEUE_OPT_<X>' flags

Page 706: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-24

18.2.17 DPDCEI_GET_RX_QUEUE

Command structure

Figure 575. DPDCEI_GET_RX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1B11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 707: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-25

Response structure

Figure 576. DPDCEI_GET_RX_QUEUE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1B11 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 0

0x08 — DEST_TYPE

— DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 32 31 0

0x18 — FQID

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 DEST_PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0-1 or 0-7, depending on the number of priorities in that channel; not relevant for 'DPDCEI_DEST_NONE' option

48-51 DEST_TYPE Destination type

0x10 0-63 USER_CTX User context value provided in the frame descriptor of each dequeued frame;valid only if 'DPDCEI_QUEUE_OPT_USER_CTX' is contained in 'options'

0x18 0-31 FQID Virtual FQID value to be used for dequeue operations

Page 708: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-26

18.2.18 DPDCEI_GET_TX_QUEUE

Command structure

Figure 577. DPDCEI_GET_TX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A11 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 709: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-27

Response structure

Figure 578. DPDCEI_GET_TX_QUEUE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A11 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 32 31 0

0x10 — FQID

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-31 FQID Virtual FQID to be used for sending frames to DMA hardware

Page 710: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-28

18.2.19 DPDCEI_GET_API_VERSION

Command structure

Figure 579. DPDCEI_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0D1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 711: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-29

Response structure

Figure 580. DPDCEI_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0D1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 712: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDCEI: Data Path DCE Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 18-30

Page 713: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-1

Chapter 19 DPDMAI: Data Path DMA InterfaceThe MC exports the DPDMAI object as an interface to operate the DPAA2 QDMA Engine.

The DPDMAI enables sending frame-based requests to QDMA and receiving back confirmation response on transaction completion, utilizing the DPAA2 QBMan infrastructure. DPDMAI object provides up to two priorities for processing QDMA requests.

19.1 DPDMAI features

The following list summarizes the DPDMAI main features and capabilities:

• Supports up to two scheduling priorities for processing service requests.

— Each DPDMAI transmit queue is mapped to one of two service priorities, allowing further prioritization in hardware between requests from different DPDMAI objects.

• Supports up to two receive queues for incoming transaction completion confirmations.

— Each DPDMAI receive queue is mapped to one of two receive priorities, allowing further prioritization between other interfaces when associating the DPDMAI receive queues to DPIO or DPCON objects.

• Supports different scheduling options for processing received packets:

— Queues can be configured either in ‘parked’ mode (default), or attached to a DPIO object, or attached to DPCON object

• Allows interaction with one or more DPIO objects for dequeueing/enqueueing frame descriptors (FD) and for acquiring/releasing buffers.

• Supports enable, disable, and reset operations

Page 714: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-2

19.2 DPDMAI command reference

This section contains the detailed programming model of DPDMAI commands.

19.2.1 DPDMAI_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPDMAI_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

The command format is shown in the figure below.

Figure 581. DPDMAI_OPEN Command Description

The following table describes the command fields.1

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x80E1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPDMAI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 74. DPDMAI_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDMAI_ID DPDMAI unique ID

Page 715: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-3

19.2.2 DPDMAI_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 582. DPDMAI_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 716: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-4

19.2.3 DPDMAI_CREATE

This command creates and initializes an instance of DPDMAI according to the specified command parameters. This command is not required for DPDMAI instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPDMAI ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 583. DPDMAI_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x90E3 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 24 23 16 15 8 7 0

0x08 OPTIONS — PRIORITIES[1] PRIORITIES[0] NUM_QUEUES

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 75. DPDMAI_CREATE Command Field Descriptions1

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 NUM_QUEUES Number of queues available for each object.Valid values are from 1 to number of cores on platform.

8-23 PRIORITIES[0..1] Priorities for the DMA hardware processing; valid priorities are configured with values 1-8; the entry following last valid entry should be configured with 0

32-63 OPTIONS Options:bit 0: DPDMAI_OPT_CG_PER_PRIORITY - Used to add Congestion Group on each priority.

Page 717: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-5

Response structure

Figure 19-1. DPDMAI_CREATE Response Description

The following table describes the response fields.

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x90E1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — DPDMAI_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 19-1. DPDMAI_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPDMAI_ID DPDMAI unique ID

Page 718: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-6

19.2.4 DPDMAI_DESTROY

This command destroys the DPDMAI object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 584. DPDMAI_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero).

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x98E1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPDMAI_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPDMAI_ID ID of the DPDMAI object to destroy

Page 719: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-7

19.2.5 DPDMAI_ENABLE

Command structure

Figure 585. DPDMAI_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0021 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 720: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-8

19.2.6 DPDMAI_DISABLE

Command structure

Figure 586. DPDMAI_DISABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0031 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 721: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-9

19.2.7 DPDMAI_IS_ENABLED

Command structure

Figure 587. DPDMAI_IS_ENABLED Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 722: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-10

Response structure

Figure 588. DPDMAI_IS_ENABLED Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0061 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 — EN

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Returns '1' if object is enabled; '0' otherwise

Page 723: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-11

19.2.8 DPDMAI_RESET

Command structure

Figure 589. DPDMAI_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 724: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-12

19.2.9 DPDMAI_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 590. DPDMAI_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 725: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-13

19.2.10 DPDMAI_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 591. DPDMAI_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 726: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-14

Response structure

Figure 592. DPDMAI_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 727: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-15

19.2.11 DPDMAI_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 593. DPDMAI_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 728: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-16

19.2.12 DPDMAI_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 594. DPDMAI_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 729: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-17

Response structure

Figure 595. DPDMAI_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 730: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-18

19.2.13 DPDMAI_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 596. DPDMAI_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPDMAI_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 731: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-19

Response structure

Figure 597. DPDMAI_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events:None.

Page 732: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-20

19.2.14 DPDMAI_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 598. DPDMAI_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 733: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-21

19.2.15 DPDMAI_GET_ATTRIBUTES

Command structure

Figure 599. DPDMAI_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0043 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 734: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-22

Response structure

Figure 600. DPDMAI_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0043 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 48 47 40 39 32 31 0

0x08 — NUM_QUEUES NUM_OF_PRIORITIES

ID

63 32 31 0

0x10 — OPTIONS

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID DPDMAI object ID

32-39 NUM_OF_PRIORITIES Number of priorities

40-47 NUM_QUEUES Number of queues

0x10 0-31 OPTIONS Options:bit 0: DPDMAI_OPT_CG_PER_PRIORITY - Used to add Congestion Group on each priority.

Page 735: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-23

19.2.16 DPDMAI_SET_RX_QUEUE

Command structure

Figure 601. DPDMAI_SET_RX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A02 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 56 55 52 51 48 47 40 39 32 31 0

0x08 QUEUE_IDX — DEST_TYPE

PRIORITY DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 0

0x18 OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 DEST_PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0-1 or 0-7, depending on the number of priorities in that channel; not relevant for 'DPDMAI_DEST_NONE' option

40-47 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation; use DPDMAI_ALL_QUEUES to configure all Rx queues identically.

48-51 DEST_TYPE Destination type

56-63 QUEUE_IDX Queue index. Valid values are 0...NUM_QUEUES

0x10 0-63 USER_CTX User context value provided in the frame descriptor of each dequeued frame;valid only if 'DPDMAI_QUEUE_OPT_USER_CTX' is contained in 'options'

0x18 0-63 OPTIONS Flags representing the suggested modifications to the queue;Use any combination of 'DPDMAI_QUEUE_OPT_<X>' flags

Page 736: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-24

19.2.17 DPDMAI_GET_RX_QUEUE

Command structure

Figure 602. DPDMAI_GET_RX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A12 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 40 39 0

0x08 — QUEUE_IDX PRIORITY —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 40-47 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation; use DPDMAI_ALL_QUEUES to configure all Rx queues identically.

48-55 QUEUE_IDX Queue index. Valid values are 0...NUM_QUEUES

Page 737: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-25

Response structure

Figure 603. DPDMAI_GET_RX_QUEUE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A21 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 52 51 48 47 40 39 32 31 0

0x08 — DEST_TYPE

— DEST_PRIORITY DEST_ID

63 0

0x10 USER_CTX

63 32 31 0

0x18 — FQID

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DEST_ID Either DPIO ID or DPCON ID, depending on the destination type

32-39 DEST_PRIORITY Priority selection within the DPIO or DPCON channel; valid values are 0-1 or 0-7, depending on the number of priorities in that channel; not relevant for 'DPDMAI_DEST_NONE' option

48-51 DEST_TYPE Destination type

0x10 0-63 USER_CTX User context value provided in the frame descriptor of each dequeued frame;valid only if 'DPDMAI_QUEUE_OPT_USER_CTX' is contained in 'options'

0x18 0-31 FQID Virtual FQID value to be used for dequeue operations

Page 738: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-26

19.2.18 DPDMAI_GET_TX_QUEUE

Command structure

Figure 604. DPDMAI_GET_TX_QUEUE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A22 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 48 47 40 39 0

0x08 — QUEUE_IDX PRIORITY —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 40-47 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation;

48-56 QUEUE_IDX Queue index. Valid values are 0...NUM_QUEUES

Page 739: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-27

Response structure

Figure 605. DPDMAI_GET_TX_QUEUE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A31 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 32 31 0

0x10 — FQID

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x10 0-31 FQID Virtual FQID to be used for sending frames to DMA hardware

Page 740: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-28

19.2.19 DPDMAI_GET_API_VERSION

Command structure

Figure 606. DPDMAI_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0E1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 741: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-29

Response structure

Figure 607. DPDMAI_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0E1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 742: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-30

19.2.20 DPDMAI_SET_RX_CONGESTION_NOTIFICATION

Command structure

Figure 608. DPDMAI_SET_RX_CONGESTION_NOTIFICATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A41 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 — MODE UNITS PRIORITY

63 32 31 0

0x10 THRESHOLD_EXIT THRESHOLD_ENTRY

63 0

0x18 MSG_CTX

63 0

0x20 MSG_IOVA

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation.

8-15 UNITS Units type used by THRESHOLD_ENTRY/EXIT:- 0 : Bytes- 1 : Frames

16-31 MODE Congestion Notification mode:bit 0: DPDMAI_CGN_MODE_WRITE_MEM_ON_ENTERbit 1: DPDMAI_CGN_MODE_WRITE_MEM_ON_EXITbit 2: DPDMAI_CGN_MODE_COHERENT_WRITE

0x10 0-31 THRESHOLD_ENTRY Threshold value in UNITS used to trigger congestion notification.

32-63 THRESHOLD_EXIT Threshold value in UNITS used to exit from congestion notification.

0x18 0-63 MSG_CTX Message context.

0x20 0-63 MSG_IOVA Message IOVA.(I/O virtual address of the message)

Page 743: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-31

19.2.21 DPDMAI_GET_RX_CONGESTION_NOTIFICATION

Command structure

Figure 609. DPDMAI_GET_RX_CONGESTION_NOTIFICATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A61 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — PRIORITY

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation.

Page 744: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-32

Response structure

Figure 610. DPDMAI_GET_RX_CONGESTION_NOTIFICATION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A61 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 — MODE UNITS PRIORITY

63 32 31 0

0x10 THRESHOLD_EXIT THRESHOLD_ENTRY

63 0

0x18 MSG_CTX

63 0

0x20 MSG_IOVA

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation.

8-15 UNITS Units type used by THRESHOLD_ENTRY/EXIT:- 0 : Bytes- 1 : Frames

16-31 MODE Congestion Notification mode:bit 0: DPDMAI_CGN_MODE_WRITE_MEM_ON_ENTERbit 1: DPDMAI_CGN_MODE_WRITE_MEM_ON_EXITbit 2: DPDMAI_CGN_MODE_COHERENT_WRITE

0x10 0-31 THRESHOLD_ENTRY Threshold value in UNITS used to trigger congestion notification.

32-63 THRESHOLD_EXIT Threshold value in UNITS used to exit from congestion notification.

0x18 0-63 MSG_CTX Message context.

0x20 0-63 MSG_IOVA Message IOVA.(I/O virtual address of the message)

Page 745: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-33

19.2.22 DPDMAI_SET_TX_CONGESTION_NOTIFICATION

Command structure

Figure 611. DPDMAI_SET_TX_CONGESTION_NOTIFICATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A51 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 — MODE UNITS PRIORITY

63 32 31 0

0x10 THRESHOLD_EXIT THRESHOLD_ENTRY

63 0

0x18 MSG_CTX

63 0

0x20 MSG_IOVA

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation.

8-15 UNITS Units type used by THRESHOLD_ENTRY/EXIT:- 0 : Bytes- 1 : Frames

16-31 MODE Congestion Notification mode:bit 0: DPDMAI_CGN_MODE_WRITE_MEM_ON_ENTERbit 1: DPDMAI_CGN_MODE_WRITE_MEM_ON_EXITbit 2: DPDMAI_CGN_MODE_COHERENT_WRITE

0x10 0-31 THRESHOLD_ENTRY Threshold value in UNITS used to trigger congestion notification.

32-63 THRESHOLD_EXIT Threshold value in UNITS used to exit from congestion notification.

0x18 0-63 MSG_CTX Message context.

0x20 0-63 MSG_IOVA Message IOVA.(I/O virtual address of the message)

Page 746: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-34

19.2.23 DPDMAI_GET_TX_CONGESTION_NOTIFICATION

Command structure

Figure 612. DPDMAI_GET_TX_CONGESTION_NOTIFICATION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A71 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — PRIORITY

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation.

Page 747: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-35

Response structure

Figure 613. DPDMAI_GET_TX_CONGESTION_NOTIFICATION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1A71 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 8 7 0

0x08 — MODE UNITS PRIORITY

63 32 31 0

0x10 THRESHOLD_EXIT THRESHOLD_ENTRY

63 0

0x18 MSG_CTX

63 0

0x20 MSG_IOVA

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 PRIORITY Select the queue relative to number of priorities configured at DPDMAI creation.

8-15 UNITS Units type used by THRESHOLD_ENTRY/EXIT:- 0 : Bytes- 1 : Frames

16-31 MODE Congestion Notification mode:bit 0: DPDMAI_CGN_MODE_WRITE_MEM_ON_ENTERbit 1: DPDMAI_CGN_MODE_WRITE_MEM_ON_EXITbit 2: DPDMAI_CGN_MODE_COHERENT_WRITE

0x10 0-31 THRESHOLD_ENTRY Threshold value in UNITS used to trigger congestion notification.

32-63 THRESHOLD_EXIT Threshold value in UNITS used to exit from congestion notification.

0x18 0-63 MSG_CTX Message context.

0x20 0-63 MSG_IOVA Message IOVA.(I/O virtual address of the message)

Page 748: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPDMAI: Data Path DMA Interface

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 19-36

Page 749: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-1

Chapter 20 DPAIOP: Data Path AIOP ControlDPAIOP object represents an AIOP tile and is responsible for AIOP tile initialization and management. MC performs initialization of the AIOP tile and its hardware blocks. MC is responsible for loading an AIOP image into appropriate AIOP memory and releasing the AIOP cores for boot.

One of the main responsibilities of MC is loading an image to be used by the AIOP cores. Here are the steps required to load an image. The AIOP cannot run without having a DPAIOP object residing in the container (DPRC) of a GPP software context. that GPP software context will be responsible for controlling the AIOP load and run, through the DPAIOP object.

After an AIOP image was successfully loaded, MC will kick AIOP cores to start running.

20.1 DPAIOP features

The following list summarizes the DPAIOP main features and capabilities:

• Create and destroy – DPAIOP object is associated with a single AIOP tile

• Load AIOP software image (including arguments string for the AIOP application)

• Run the AIOP

• Query AIOP state

• Query AIOP Service Layer version

• Set (and get) time of day in AIOP

• Reset the AIOP (not supported in LS2085A revision 1.0)

20.1.1 Resetting the AIOP and reloading applications

Use cases like loading a new AIOP elf or reloading the current application can be done without resetting the data path HW or the entire SoC. The DPAIOP_RESET command handles the reset and prepares the AIOP HW for loading the new application. During the reset command the management complex firmware will execute the following steps sequentially:

1. Gracefully shuts down the task generation sources: TMan and Work Scheduler

2. Waits for QMan queues associated with the AIOP to drain; the MC firmware polls for completion

3. Waits for cores to finish processing the tasks in execution; the MC firmware polls for completion

4. Moves cores to reset mode

5. Requests the DPAA2 power management unit to reset the AIOP HW

6. Frees AIOP-allocated resources: disables AIOP error interrupts and DP-DDR/System DDR/PEB memory resources allocated for TMan and CTLU

The MC firmware will wait for a defined time for each of these steps to finish. If the one of these steps fails the command will immediately terminate with an error. This guarantees that the MC will not indefinitely block the SW context that sent the reset command.

Resending the reset command or sending the load command (or any command) after an unsuccessful reset will fail since AIOP reset errors may indicate a HW malfunction which can prevent an AIOP application

Page 750: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-2

from running properly. In case of reset errors the MC log (configured with debug detail level) will detail the exact step that failed. At this point the only way to load a new AIOP application is to do an SoC-wide reset. In order to check if the reset command finished successfully or not (or there is an ongoing reset command) the SW context must use the DPAIOP_GET_STATE command.

The DPAIOP_GET_STATE command can also be used to check if the AIOP application was loaded (the AIOP elf image was deployed) and booted (AIOP cores are running and the application marks the boot step as completed) successfully.

The reset command can be executed if either the DPAIOP_LOAD or DPAIOP_RUN commands fail, but the run command can’t be executed if the elf image load command failed.

The DPAIOP_RESET command will affect only the AIOP HW block; however, in order to properly boot the new application, the AIOP’s container, along with the comprised child objects, must also be reset.

The following steps summarize the AIOP application reload procedure and provide the order in which to execute the involved commands:

1. DPAIOP_RESET - AIOP HW block reset: gracefully shutdown of AIOP HW and free resources

2. DPRC_RESET - Reset AIOP’s container: reset the state of all contained object;

3. DPAIOP_LOAD - Load AIOP application: deploy the elf image and allocate resources

4. DPAIOP_RUN - Start the configured AIOP cores and boot the new AIOP application

Page 751: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-3

20.2 DPAIOP command reference

This section contains the detailed programming model of DPAIOP commands.

20.2.1 DPAIOP_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPAIOP_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 614. DPAIOP_OPEN Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x80A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPAIOP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 76. DPAIOP_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPAIOP_ID DPAIOP unique ID

Page 752: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-4

20.2.2 DPAIOP_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 615. DPAIOP_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 753: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-5

20.2.3 DPAIOP_CREATE

This command creates and initializes an instance of DPAIOP according to the specified command parameters. This command is not required for DPAIOP instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPAIOP ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 616. DPAIOP_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x90A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 AIOP_CONTAINER_ID AIOP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 77. DPAIOP_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 AIOP_ID AIOP ID

32-63 AIOP_CONTAINER_ID AIOP container ID

Page 754: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-6

Response structure

Figure 20-1. DPAIOP_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x90A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPAIOP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 20-1. DPAIOP_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPAIOP_ID DPAIOP unique ID

Page 755: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-7

20.2.4 DPAIOP_DESTROY

This command destroys the DPAIOP object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 617. DPAIOP_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x98A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPAIOP_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPAIOP_ID ID of the DPAIOP object to destroy

Page 756: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-8

20.2.5 DPAIOP_RESET

The DPAIOP_RESET command handles the reset and prepares the AIOP HW for loading the new application. During the reset command the management complex firmware will execute the following steps sequentially:

1. Gracefully shuts down the task generation sources: TMan and Work Scheduler

2. Waits for QMan queues associated with AIOP to drain; MC firmware polls for completion

3. Waits for cores to finish processing the tasks in execution; MC firmware polls for completion

4. Moves cores to reset mode

5. Requests the DPAA2 Power Management Unit to reset the AIOP HW

6. Frees AIOP allocated resources: disable AIOP error interrupts and DP-DDR/System DDR/PEB memory resources allocated for TMan and CTLU

Read more about the reset procedure in Section 20.1.1, “Resetting the AIOP and reloading applications.”

Command structure

Figure 618. DPAIOP_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 757: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-9

20.2.6 DPAIOP_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 619. DPAIOP_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 758: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-10

20.2.7 DPAIOP_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 620. DPAIOP_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 759: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-11

Response structure

Figure 621. DPAIOP_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 760: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-12

20.2.8 DPAIOP_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 622. DPAIOP_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 761: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-13

20.2.9 DPAIOP_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 623. DPAIOP_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 762: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-14

Response structure

Figure 624. DPAIOP_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 763: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-15

20.2.10 DPAIOP_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 625. DPAIOP_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state (removing the need for DPAIOP_CLEAR_IRQ_STATUS command). Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 764: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-16

Response structure

Figure 626. DPAIOP_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events:None

Page 765: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-17

20.2.11 DPAIOP_CLEAR_IRQ_STATUS

Clear (mark as handled) pending events of the specified interrupt index.

Command structure

Figure 627. DPAIOP_CLEAR_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0171 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Mask for clearing handled events; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = don’t change event status1 = clear event status bit to indicate that it was handled

32-39 IRQ_INDEX The interrupt index to configure

Page 766: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-18

20.2.12 DPAIOP_GET_ATTRIBUTES

Command structure

Figure 628. DPAIOP_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 767: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-19

Response structure

Figure 629. DPAIOP_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 ID AIOP ID

Page 768: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-20

20.2.13 DPAIOP_LOAD

The command will deploy an AIOP elf image and it will allocate memory resources requested by the new AIOP application. If the command fails, DPAIOP_RESET must be run before trying to load another AIOP image. To properly load a new AIOP application, the AIOP HW block must be in reset state. This is accomplished after an SoC-wide reset or after a DPAIOP_RESET command. For more information about the reload procedure, see Section 20.1.1, “Resetting the AIOP and reloading applications.”

Command structure

Figure 630. DPAIOP_LOAD Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2801 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x10 IMG_IOVA

63 0

0x18 OPTIONS

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0–63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–31 IMG_SIZE Size of AIOP ELF image in memory (in bytes)

0x10 0–63 IMG_IOVA I/O virtual address of AIOP ELF image

0x18 0–63 OPTIONS AIOP load options

Page 769: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-21

20.2.14 DPAIOP_RUN

Launches the AIOP application. The SW context can choose which cores to run and pass parameters to the AIOP application. The command can be executed only if DPAIOP_LOAD was previously run. If the command fails, it is not permitted to resend the DPAIOP_RUN or DPAIOP_LOAD command. The SW context must reiterate the application load procedure from the start. Please check the full AIOP application load procedure in Section 20.1.1, “Resetting the AIOP and reloading applications.”

Command structure

Figure 631. DPAIOP_RUN Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2811 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 ARGS_SIZE —

63 0

0x10 CORES_MASK

63 0

0x18 OPTIONS

63 0

0x20 ARGS_IOVA

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-63 ARGS_SIZE Size of AIOP arguments in memory (in bytes)

0x10 0-63 CORES_MASK Mask of AIOP cores to run (core 0 in most significant bit)

0x18 0-63 OPTIONS Execution options (currently none defined)

0x20 0-63 ARGS_IOVA I/O virtual address of AIOP arguments

Page 770: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-22

20.2.15 DPAIOP_GET_SL_VERSION

Command structure

Figure 632. DPAIOP_GET_SL_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2821 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 771: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-23

Response structure

Figure 633. DPAIOP_GET_SL_VERSION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2821 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MINOR MAJOR

63 32 31 0

0x10 — REVISION

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MAJOR AIOP SL major version number

32-63 MINOR AIOP SL minor version number

0x10 0-31 REVISION AIOP SL revision number

Page 772: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-24

20.2.16 DPAIOP_GET_STATE

Command structure

Figure 634. DPAIOP_GET_STATE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2831 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 773: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-25

Response structure

Figure 635. DPAIOP_GET_STATE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2831 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 — STATE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATE AIOP state0x00: AIOP reset successfully completed.0x01: AIOP reset is ongoing.0x02: AIOP image loading successfully completed.0x04: AIOP image loading is ongoing.0x08: AIOP image loading completed with error.0x10: Boot process of AIOP cores is ongoing.0x20: Boot process of AIOP cores completed with an error.0x40: AIOP cores are functional and running

Page 774: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-26

20.2.17 DPAIOP_SET_TIME_OF_DAY

Command structure

Figure 636. DPAIOP_SET_TIME_OF_DAY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2841 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 TIME_OF_DAY

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 TIME_OF_DAY Current number of milliseconds since the Epoch

Page 775: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-27

20.2.18 DPAIOP_GET_TIME_OF_DAY

Command structure

Figure 637. DPAIOP_GET_TIME_OF_DAY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2851 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 776: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-28

Response structure

Figure 638. DPAIOP_GET_TIME_OF_DAY Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2851 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 TIME_OF_DAY

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 TIME_OF_DAY Current number of milliseconds since the Epoch

Page 777: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-29

20.2.19 DPAIOP_GET_API_VERSION

Command structure

Figure 639. DPAIOP_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0A1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 778: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-30

Response structure

Figure 640. DPAIOP_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0A1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 779: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-31

20.2.20 DPAIOP_SET_RESETABLE

Instruct DPAIOP to ignore or execute reset command.

Command structure

Figure 641. DPAIOP_SET_RESETABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2861 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 8 7 0

0x08 — RESETABLE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-7 RESETABLE If set to zero DPAIOP will ignore all reset commands. The reset command will not return error.If set to one the reset command will be executed.

Page 780: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-32

20.2.21 DPAIOP_GET_RESETABLE

Verifies if DPAIOP object will ignore or execute reset command.

Command structure

Figure 642. DPAIOP_GET_RESETABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0x2871 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 781: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-33

Response structure

Figure 643. DPAIOP_GET_RESETABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x2871 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 8 7 0

0x08 — RESETABLE

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-8 RESETABLE 1 - DPAIOP object executes reset command0 - DPAIOP object will ignore reset command

Page 782: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPAIOP: Data Path AIOP Control

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 20-34

Page 783: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-1

Chapter 21 DPMCP: Data Path MC PortalThe MC exports the DPMCP object to allow GPP software to control the MC portal operation mode, be it polling mode or interrupt mode.

Each DPMCP object is associated with a single Management Complex Portal, and allows GPP software to configure command completion interrupts for that portal. The DPMCP object is optional if the GPP software is polling the portal and not using portal interrupts. However, for consistency and for better tracking of MC portals that are in use, it is recommended to always create DPMCP objects for MC portals used by GPP.

21.1 DPMCP features

The following list summarizes the DPMCP main features and capabilities:

• DPMCP can be created and destroyed via DPL or dynamically through MC commands.

• IRQ support for command completion.

• Reset support (closes all open tokens on the associated MC portal)

Page 784: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-2

21.2 DPMCP command reference

This section contains detailed programming model of DPMCP commands.

21.2.1 DPMCP_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPMCP_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

Figure 644. DPMCP_OPEN Command Description

The following table describes the command fields.1-

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x80B1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 DPMCP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 78. DPMCP_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPMCP_ID DPMCP unique ID

Page 785: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-3

21.2.2 DPMCP_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 645. DPMCP_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 786: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-4

21.2.3 DPMCP_CREATE

This command creates and initializes an instance of DPMCP according to the specified command parameters. This command is not required for DPMCP instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPMCP ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 646. DPMCP_CREATE Command Description

The following table describes the command fields.1-5

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x90B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — PORTAL_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 79. DPMCP_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero).

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 PORTAL_ID Portal ID

Page 787: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-5

Response structure

Figure 21-1. DPMCP_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x90B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPMCP_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 21-1. DPMCP_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPMCP_ID DPMCP unique ID

Page 788: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-6

21.2.4 DPMCP_DESTROY

This command destroys the DPMCP object and releases all its resources. It must be invoked in the software context that created the object. The caller must provide the object id and the authentication token of the parent container that created the object. Note that the object can be assigned to another container and sending the authentication token of this container will return an error.

All open authentication tokens to the object must be closed before calling the destroy command.

After this function is called, no further operations are allowed on the object.

Command structure

Figure 647. DPMCP_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x98B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPMCP_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPMCP_ID ID of the DPMCP object to destroy

Page 789: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-7

21.2.5 DPMCP_RESET

Command structure

Figure 648. DPMCP_RESET Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0051 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 790: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-8

21.2.6 DPMCP_SET_IRQ_ENABLE

Set overall interrupt state. Allows GPP software to control when interrupts are generated. Each interrupt can have up to 32 causes. The enable/disable control's the overall interrupt state. if the interrupt is disabled no causes will cause an interrupt.

Command structure

Figure 649. DPMCP_SET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0121 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 1 0

0x08 – IRQ_INDEX – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN Interrupt state: set to ‘1’ to enable, ‘0’ to disable

32-39 IRQ_INDEX Identifies the interrupt index to configure

Page 791: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-9

21.2.7 DPMCP_GET_IRQ_ENABLE

Get overall interrupt state.

Command structure

Figure 650. DPMCP_GET_IRQ_ENABLE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX Identifies the interrupt index to query

Page 792: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-10

Response structure

Figure 651. DPMCP_GET_IRQ_ENABLE Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0131 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 1 0

0x08 – EN

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0 EN This bit is set if the interrupt is enabled

Page 793: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-11

21.2.8 DPMCP_SET_IRQ_MASK

Set the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 652. DPMCP_SET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0141 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

32-39 IRQ_INDEX The interrupt index to configure

Page 794: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-12

21.2.9 DPMCP_GET_IRQ_MASK

Get the interrupt mask. Every interrupt can have up to 32 causes and the interrupt model supports masking/unmasking each cause independently.

Command structure

Figure 653. DPMCP_GET_IRQ_MASK Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX –

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-39 IRQ_INDEX The interrupt index to query

Page 795: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-13

Response structure

Figure 654. DPMCP_GET_IRQ_MASK Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0151 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 MASK

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 MASK Event mask for triggering the interrupt; See GET_IRQ_STATUS command for specification of available events. For each bit in MASK:0 = ignore event1 = event is valid; signal the IRQ if this event occurs

Page 796: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-14

21.2.10 DPMCP_GET_IRQ_STATUS

Get the current status of pending events for the specified interrupt index.

Command structure

Figure 655. DPMCP_GET_IRQ_STATUS Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 40 39 32 31 0

0x08 – IRQ_INDEX STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Optional: any STATUS bits that are set will be cleared from pending state. Note that the STATUS returned in the response is the status before the events are cleared.

Supported events: see response structure definition

32-39 IRQ_INDEX The interrupt index to query

Page 797: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-15

Response structure

Figure 656. DPMCP_GET_IRQ_STATUS Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0161 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 STATUS

63 0

0x10 –

63 0

0x18 –

63 0

0x20 –

63 0

0x28 –

63 0

0x30 –

63 0

0x38 –

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 STATUS Events status mask, one bit per event:0 = no interrupt pending1 = interrupt pending

Supported events for IRQ 0:Bit 0: DPMCP_IRQ_EVENT_CMD_DONE – indicates completion of last command

Page 798: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-16

21.2.11 DPMCP_GET_ATTRIBUTES

Command structure

Figure 657. DPMCP_GET_ATTRIBUTES Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 799: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-17

Response structure

Figure 658. DPMCP_GET_ATTRIBUTES Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x0041 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 0

0x08 ID —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 32-63 ID DPMCP object ID

Page 800: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-18

21.2.12 DPMCP_GET_API_VERSION

Command structure

Figure 659. DPMCP_GET_API_VERSION Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0B1 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 801: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-19

Response structure

Figure 660. DPMCP_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA0B1 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 802: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPMCP: Data Path MC Portal

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 21-20

Page 803: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-1

Chapter 22 DPSPARSER: Data Path Soft ParserThe MC exports the DPSPARSER object as an interface to load Soft Parser binaries on DPAA2 devices. There is a single DPSPARSER object in the system.

The legacy Soft Parser support implemented per DPNI object is still available for backward compatibility purposes but is replaced by DPSPARSER object. The two implementations should not be used together.

22.1 DPSPARSER features

The following list summarizes the DPSPARSER main features and capabilities:

• Supports Soft Parser Blob (binary) loading in hardware

Page 804: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-2

22.2 DPSPARSER command reference

This section contains the detailed programming model of DPSPARSER commands.

22.2.1 DPSPARSER_OPEN

Open a control session for the specified object.

This function can be used to open a control session for an already created object; an object may have been declared in the DPL or by invoking DPSPARSER_CREATE command.

This function returns a unique authentication token, associated with the specific object ID; this token must be used in all subsequent commands for this specific object.

Command structure

The command format is shown in the figure below.

Figure 661. DPSPARSER_OPEN Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8111 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 DPSPARSER_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 80. DPSPARSER_OPEN Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPSPARSER_ID DPSPARSER unique ID

Page 805: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-3

22.2.2 DPSPARSER_CLOSE

Close the control session of the object.

After this function is called, no further operations are allowed on the object without opening a new control session.

Command structure

Figure 662. DPSPARSER_CLOSE Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x8001 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 806: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-4

22.2.3 DPSPARSER_CREATE

This command creates and initializes an instance of DPSPARSER according to the specified command parameters. This command is not required for DPSPARSER instances that are created using the DPL.

For the CREATE command the caller must provide the authentication token of the parent container to which the object should be created and assigned. If the token is '0' the object will be assigned to the container that hosts the MC command portal executing this command.

The command returns a DPSPARSER ID that can be used to OPEN or DESTROY the object.

The command format is shown in the figure below.

Command structure

Figure 663. DPSPARSER_CREATE Command Description

The following table describes the command fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9111 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 81. DPSPARSER_CREATE Command Field Descriptions1

1 All unspecified fields are reserved and must be cleared (set to zero)

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 807: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-5

Response structure

Figure 22-1. DPSPARSER_CREATE Response Description

The following table describes the response fields.

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 24 23 16 15 14 8 7 0

CMDID = 0x9111 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPSPARSER_ID

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Table 22-1. DPSPARSER_CREATE Response Field Descriptions1

1 All unspecified fields are reserved.

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-31 DPSPARSER_ID DPSPARSER unique ID

Page 808: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-6

22.2.4 DPSPARSER_DESTROY

This command is currently NOT destroying the DPSPARSER object when invoked.

Command structure

Figure 664. DPSPARSER_DESTROY Command Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x9911 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 32 31 0

0x08 — DPSPARSER_ID

63 0

0x10 —

63 0

0x18

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0–32 DPSPARSER_ID ID of the DPSPARSER object to destroy

Page 809: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-7

22.2.5 DPSPARSER_GET_API_VERSION

Command structure

Figure 665. DPSPARSER_GET_API_VERSION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA111 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 —

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

Page 810: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-8

Response structure

Figure 666. DPSPARSER_GET_API_VERSION Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Figure 667. DPSPARSER_GET_API_VERSION Response Description

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0xA111 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — VERSION_MINOR VERSION_MAJOR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 VERSION_MAJOR Major version of API

16-31 VERSION_MINOR Minor version of API

Page 811: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-9

22.2.6 DPSPARSER_APPLY_SPB

This command applies a Soft Parser Blob (SPB) binary and configures the Soft Parser accordingly.

Command structure

Figure 668. DPSPARSER_APPLY_SPB Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1181 TOKEN —

INT

R_

DIS

STATUS P — SRCID

63 0

0x08 BLOB_ADDR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-63 BLOB_ADDR Soft Parser Binary Address

Page 812: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-10

Response structure

Offset from Management Command Portal base Read-Write Access

63 48 47 32 31 25 24 23 16 15 14 8 7 0

0x00 CMDID = 0x1181 TOKEN —

INT

R_D

IS

STATUS P — SRCID

63 32 31 16 15 0

0x08 — ERROR

63 0

0x10 —

63 0

0x18 —

63 0

0x20 —

63 0

0x28 —

63 0

0x30 —

63 0

0x38 —

Page 813: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-11

Figure 669. DPSPARSER_APPLY_SPB Response Description

All unspecified fields are reserved and must be cleared (set to zero)

Figure 670. DPSPARSER_APPLY_SPB Response Description

Offset Bits Name Description

0x00 0-63 Command header Refer to Table 2 for the command portal’s general field descriptions.CMDID must be set as specified in the figure above.

0x08 0-15 ERROR Error related to Soft Parser Binary parsing and apply. Following is the list of error values:

0 OK – No error1 "BLOB : Magic number does not match"2 "BLOB : Version does not match MC API version"3 "BLOB : IP revision does not match HW revision"4 "BLOB : Blob length is not a multiple of 4"5 "BLOB : Invalid length detected"6 "BLOB : Name length < 0 in 'blob-name'"7 "BLOB : Name length not a 4 multiple in 'blob-name'"8 "BLOB : No target HW parser selected"9 "BLOB : SP size is negative"10 "BLOB : Size is zero"11 "BLOB : Number of protocols is negative"12 "BLOB : Zero protocols"13 "BLOB : Protocol name is null"14 "BLOB : SP 'seq-start' is not in [0x40, 0xffc0) range"15 "BLOB : Invalid base protocol"16 "BLOB : Invalid parameters section"17 "BLOB : Invalid parameter"18 "BLOB : Invalid parameter configuration"19 "BLOB : Not aligned value"20 "BLOB : Invalid section TAG detected"21 "BLOB : Section size is zero"22 "BLOB : Section size not a 4 multiple"23 "BLOB : Section size is too big"24 "BLOB : No 'bytecode' section before"25 "BLOB : No 'sp-protocols' section before"26 "BLOB : No 'bytecode' section defined"27 "BLOB : No 'sp-protocols' section defined"28 "BLOB : Soft Parser BLOB parsing : Error detected"29 "apply spb : Soft Parser BLOB is already applied"30 "apply spb : BLOB address is not set"31 "BLOB : SP parameter offset is not a 4 multiple"32 "BLOB : SP parameter offset can't be less than 0x40"33 "BLOB : Bytecode size is not a 4 multiple"34 "BLOB : Bytecode size cannot be zero"35 "BLOB : Bytecode can't overwrite the 0xFFE address"36 "BLOB : No hardware parser selected as target"37 "BLOB : Bytecode overlap detected"38 "BLOB : No parser support"39 "BLOB : Too many bytecode sections on WRIOP ingress"40 "BLOB : Too many bytecode sections on WRIOP egress"41 "BLOB : Too many bytecode sections on AIOP"42 "BLOB : Duplicated protocol is already registered"43 "BLOB : Maximum number of allowed protocols was exceeded"44 "BLOB : Protocols limit exceeded"45 "BLOB : Protocol is linked twice"46 "BLOB : Soft parser is linked twice"47 "BLOB : Parameter offset exceeds the maximum parameters limit"48 "BLOB : Parameter size can't be 0 or greater than 64"49 "BLOB : Parameter offset plus size exceeds the maximum parameters limit"50 "BLOB : Parameters number exceeds the maximum limit"51 "BLOB : Duplicated parameter name"52 "BLOB : Parameters overlapped detected"53 "apply spb : No dpsparser handle."

Page 814: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

DPSPARSER: Data Path Soft Parser

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 22-12

Page 815: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-1

Chapter 23 Memory Map and Register DefinitionThe MC CCSR space consists of a 64kB block assignment in the SoC CCSR map, and is accessible through the CCSR SkyBlue interface. It is assumed that only trusted software is able to access the MC registers, and all MC registers are Little-Endian; all accesses to MC registers must be naturally aligned to 4-byte word only. The MC configuration, control and status registers are summarized in Table 82.

23.1 General Control Register 1 (GCR1)

The GCR1, shown in the following figure, contains general control and configuration for the MC.

Table 82. MC Memory Map

Register offset (Trusted access

only)Register Access Reset

Section/Page

0x0000 GCR1—General Control Register 1 R/W 0x0000_0000 23.1/23-1

0x0004 Reserved — — —

0x0008 GSR—General Status Register R/W 0x0000_0000 23.2/23-3

0x000C - 0x001F Reserved — — —

0x0020 MCFBALR—MC Firmware Base Address Low R/W 0x0000_0000 23.3/23-4

0x0024 MCFBAHR—MC Firmware Base Address High R/W 0x0000_0000 23.4/23-4

0x0028 MCFAPR—MC Firmware Attributes and Partitioning Register

R/W 0x0000_0000 23.5/23-5

0x002C - 0x0BEF Reserved — — —

0x0BF0 PSR—Parameter Summary Register R 0x0000_0000 23.6/23-6

0x0BF4 Reserved — — —

0x0BF8 BRR1—Block Revision Register 1 R 0x0000_0000 23.7/23-6

0x0BFC BRR2—Block Revision Register 2 R 0x0000_0000 23.8/23-7

0x0C00 - 0xFFFF Reserved — — —

Offset <see Table 82> Access:GPP Hypervisor & MC

Read/Write

31 30 29 24 23 22 21 16 15 14 13 3 2 1 0

R P1_STOP

P2_STOP

—P1_

RST_bP2_

RST_b—

M1_RST_b

M2_RST_b

— — —G_

RSTW

Reset 32’b0000_0000_0000_0000_0000_0000_0000_0000

Figure 671. General Control Register 1 (GCR1)

Page 816: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-2

The following table describes the GCR1 fields.

Table 83. GCR1 Field Descriptions

Bits Name Description

0 G_RST MC Global Reset. This bit asserts the reset signals to MC. This bit is self clearing so that MC firmware may use this bit to self reset the entire MC.1’b0 - the global_reset signal is de-asserted1’b1 - the global_reset signal is asserted, Note that this value will automatically revert to 1’b0 after several cycles.

1-13 — Reserved

14 M2_RST_b Command Portals 256-511 Reset. This bit clears all state associated with these command portal. If a portal transaction is received while this bit is cleared, the MC cannot respond to the transaction and the interconnect behavior is undefined. It is recommended that the GPP boot program sample this bit until it reads as not reset (that is, 1’b1) before enabling or performing any accesses to thee MC portals. The result of resetting the command portals after commencing operation without also resetting the entire MC is undefined and should be avoided. This bit is persistent; it is not self clearing.1’b0 - command portals 256-511 are reset. Portal access is disabled.1’b1 - command portals 256-511 operate normally.

15 M1_RST_b Command Portals 0-255 Reset. This bit clears all state associated with these command portal. If a portal transaction is received while this bit is cleared, the MC cannot respond to the transaction and the interconnect behavior is undefined. It is recommended that the GPP boot program sample this bit until it reads as not reset (that is, 1’b1) before enabling or performing any accesses to thee MC portals. The result of resetting the command portals after commencing operation without also resetting the entire MC is undefined and should be avoided. This bit is persistent; it is not self clearing.1’b0 - command portals 0-255 are reset. Portal access is disabled.1’b1 - command portals 0-255 operate normally.

16-21 — Reserved

22 P2_RST_b Processor 2 Reset. This bit asserts the hard_reset signal to MC processor 2 and to watchdog timer 2. This does not reset the debug subsystems of the associated processor. This bit is persistent; it is not self clearing.In contrast to P1_RST_b, GPP should not alter this bit – MC firmware starts and stops MC cores as necessary.1’b0 - the hard_reset signal is asserted1’b1 - the hard_reset signal is de-asserted and the processor is released to run

23 P1_RST_b Processor 1 Reset. This bit asserts the hard_reset signal to MC processor 1 and to watchdog timer 1. This does not reset the debug subsystems of the associated processor. This bit is persistent; it is not self clearing.This bit should be set by a boot program in order to start MC firmware operation. The bit must be set only after the MC firmware has been loaded into system memory and all other MC registers are programmed as described in this section.1’b0 - the hard_reset signal is asserted1’b1 - the hard_reset signal is de-asserted and the processor is released to run

24-29 — Reserved

Page 817: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-3

23.2 General Status Register (GSR)

The GSR, shown in the following figure, contains MC hardware and firmware status.

The following table describes the GSR fields.

30 P2_STOP Processor 2 Stop. This bit stops MC processor 2 clock. The processor clock does not stop immediately. No state is lost. Command portals are not affected by this bit.1’b0 - the processor is released to run (default out of POR)1’b1 - the processor clock is (will be) stopped

31 P1_STOP Processor 1 Stop. This bit stops MC processor 1 clock. The processor clock does not stop immediately. No state is lost. Command portals are not affected by this bit.1’b0 - the processor is released to run (default out of POR)1’b1 - the processor clock is (will be) stopped

Offset <see Table 82> Access:MC & GPP Read/Write

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

RHErr CErr — BC MCS

W

Reset 32’b0000_0000_0000_0000_0000_0000_0000_0000

Figure 672. General Status Register (GSR)

Table 84. GSR Field Descriptions

Bits Name Description

0-7 MCS MC Status. After MC is kicked to run, MC writes boot status to the MCS bits. The boot program should poll the MCS status field until it is set to a non-zero value.The following codes indicate completion status of the MC boot process:0x01 - MC boot completed successfully. System boot can continue normally.0x03 - MC platform general failure.0x07 - MC resource manager initialization failure.0x0B - MC command portals initialization failure.0x0D - QBMan controller initialization failure.0x0F - WRIOP controller initialization failure.0x11 - AIOP controller initialization failure.0x23 - SEC engine initialization failure.0x3D - DPL processing failure. DPL correctness should be verified by user.

8-15 BC Boot Code. This field can be optionally set to the value listed below by the boot program.0xDD - Delay DPL processing by MCAll other values are ignored.

16-29 — Reserved, must be cleared.

Table 83. GCR1 Field Descriptions (continued)

Bits Name Description

Page 818: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-4

23.3 MC Firmware Base Address Low Register (MCFBALR)

This is the least significant portion of the 512MB MC private memory base address within the SoC Internal Address Map. The GPP should program MCFBALR only while the MC is stopped.

The MCFBALR register format is shown in the following figure.

The following table describes the MCFBALR fields.

23.4 MC Firmware Base Address High Register (MCFBAHR)

This is the most significant portion of the 512MB MC private memory base address within the SoC Internal Address Map. The GPP should program MCFBAHR only while the MC is stopped.

30 CErr Catastrophic Error. Setting this bit asserts the MC Catastrophic_Error pin intended for input to SoC Interrupt Controller. GPP should never set this bit.

31 HErr Hardware Error. When this bit is set, the MC has encountered an internal error condition. GPP should never set this bit.1’b0 - MC is running normally1’b1 - MC is not running or has encountered an internal error. Setting this bit asserts the MC HReset_Req.

Offset <see Table 82> Access:Read/write

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

RMCFBAR_LOW — MEMSZ

W

Reset 32’b0000_0000_0000_0000_0000_0000_0000_0000

Figure 673. MC Firmware Base Address Low Register (MCFBALR)

Table 85. MCFBALR Field Descriptions

Bits Name Description

0-7 MEMSZ Size of system memory allocated for MC (and DPAA controllers included) by the boot program.The allocated memory must be in multiples of 256MB, and the value (MEMSZ+1) indicates the allocated number of 256MB memory blocks. For example:0x00 – 256MB allocated (do not use this option if the SoC contains an AIOP)0x01 – 512MB allocated...0x07 – 2GB allocatedetc.

Reserved values: 0xFF – 128MB allocated

8-28 — Reserved

29-31 MCFBAR_LOW MC Firmware Base Address Low. This is the least significant part of the MC private memory base address, corresponding to address bits [31-29]. Bits [47-32] come from MCFBAHR.

Table 84. GSR Field Descriptions (continued)

Bits Name Description

Page 819: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-5

The MCFBAHR register format is shown in the following figure.

The following table describes the MCFBAHR fields.

23.5 MC Firmware Attributes and Partitioning Register (MCFAPR)

The MCFARP is the isolation context identifier and memory access qualifiers that the MC uses, attaches as transaction attribute, when accessing any location within its 512MB private memory block in the SoC internal address map. The GPP should program MCFAPR only when the MC is stopped.

The following table describes the MCFAPR fields.

Offset <see Table 82> Access:Read/write

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

R— MCFBAR_HIGH

W

Reset 32’b0000_0000_0000_0000_0000_0000_0000_0000

Figure 674. MC Firmware Base Address High Register (MCFBAHR)

Table 86. MCFBAHR Field Descriptions

Bits Name Description

0-16 MCFBAR_HIGH MC Firmware Base Address High. This is the most significant part of the MC private memory base address, corresponding to address bits [48-32]. Bits [31-29] come from MCFBALR.

17-31 — Reserved

Offset <see Table 82> Access:Read-write

31 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

R— PL BMT — — ICID

W

Reset 32’b0000_0000_0000_0000_0000_0000_0000_0000

Figure 675. MC Firmware Attributes and Partitioning Register (MCFAPR)

Table 87. MCFAPR Field Descriptions

Bits Name Description

0-14 ICID ICID. This is the Isolation Context ID value used by the PAMU/SMMU for address translation if the Privilege Level bit is set.

15-16 — Reserved

17 BMT Bypass Memory Translation. This attribute forces bypassing of IOMMU translation.

18 PL Privilege Level. If this bit is set, MC interrupt transactions are labeled using the ICID (Isolation Context ID) field, and are passed through the IOMMU for translation to the SoC internal Address Map. If this bit is cleared, all MC support transactions bypass the IOMMU and the ICID value is unused.

19-31 — Reserved

Page 820: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-6

23.6 Parameter Summary Register (PSR)

PSR, shown in the following figure, provides a summary of the parameterized features for this MC implementation.

NOTE

This register may be removed or modified by the design team; however, the information contained in the register should be provided in some way.

The following table describes the PSR1 fields.

23.7 Block Revision Register 1 (BRR1)

BRR1, shown in the following figure, provides MC IP block revision information.

The following table describes the BRR1 fields.

Offset <see Table 82> Access:Read-only

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

R PROCS ADDR_W DPAA_INTS CMD_PORTALS

W

Reset 0x2 0x9 0x60 0x01FF

Figure 676. Parameter Summary Register 1 (PSR1)

Table 88. PSR1 Field Descriptions

Bits Name Description

0-15 CMD_PORTALS Command Portals - The total number of command portals implemented in all the CPMs in the MC

16-23 DPAA_INTS DPAA2 Interrupt Inputs - The amount of uncommitted DPAA2 interrupt input signals available for connection to other DPAA2 IP blocks.

24-27 ADDR_W External Address Physical Width - The width of the SoC platform address.Values: 0x0 = 32 bits, 0x2 = 36 bits, 0x4 = 40 bits, 0x6 = 44 bits, 0x8 = 48 bits, 0x9 = 49 bits

28-31 PROCS Total number of processors (cores or hardware threads) implemented within MC

Offset <see Table 82> Access:Read-only

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

R IPMN IPMJ IPID

W

Reset 0x00 - Implementation specific 0x01 - Implementation specific 0x0A00

Figure 677. Block Revision Register 1 (BRR1)

Page 821: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-7

23.8 Block Revision Register 2 (BRR2)

BRR2, shown in the following figure, provides information about the IP block integration and configuration options. Note, that version information in this register is of the hardware block and not of the loaded firmware.

The following table describes the BRR2 fields.

Table 89. BRR1 Field Descriptions

Bits Name Description

0-15 IPID IP block ID - 0x0A00 denotes Management Complex

16-23 IPMJ The major revision of the IP block. 0x01 in the initial MC implementation.

24-31 IPMN The minor revision of the IP block. 0x00 in the initial MC implementation.

Offset <see Table 82> Access:Read-only

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

R IPCFGO—

IPINTO—

W

Reset 0x00 - Implementation specific 0x00 0x00 - Implementation specific 0x00

Figure 678. Block Revision Register 2 (BRR2)

Table 90. BRR2 Field Descriptions

Bits Name Description

0-7 — Reserved

8-15 IPINTO IP block integration options - This field is set to 0x00 for the initial MC implementation.

16-23 — Reserved

24-31 IPCFGO IP block configuration options - This field is set to 0x00 for the initial MC implementation.

Page 822: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Memory Map and Register Definition

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 23-8

Page 823: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-1

Chapter 24 Data Path Layout (DPL) ReferenceSystems do not need to dynamically create and destroy DPAA2 objects, and system design can be simpler if the DPAA2 objects topology is declared statically at boot time. The MC is capable of consuming a binary data structure named the Data Path Layout (DPL) that describes the initial a set of objects created when the system is initialized; it is processed only once when the MC is initialized.

The DPL is based on a text source file that is similar in syntax to a device tree source file, and compiled with DTC (Device Tree Compiler) to form a binary structure (blob). This binary structure is loaded by the SoC boot program (U-Boot, for example) as an MC input. The purpose of the DPL is not to describe hardware attributes, but rather to describe the initial topology and attributes of logical objects that the MC should create.

This section describes the DPL syntax. The DPL source file syntax is a ‘tree’ of named nodes and properties. Nodes contain properties (name and value pairs), and also optionally child nodes.

24.1 High-level DPL structure

The DPL structure is composed of three top-level nodes:

• “containers”—defines the initial set of containers in the system, where each container represents a different software context that needs DPAA2 objects. This node also gives the initial assignment of DPAA2 objects and resources to different containers.

• “objects”—defines the initial set of DPAA2 objects and their attributes.

• “connections”—defines connections between DPAA2 network objects; allows users to set up a required network topology.

In addition, the DPL contains a DPL version in the “dpl-version” property, allowing the MC firmware to detect and parse legacy DPL files. In this revision, the DPL version is 10.

Example – high level DPL structure:

/dts-v1/;/ {

dpl-version = <10>;containers {

. . . };objects {

. . .};connections {

. . .};

};

The following sections describe each of the top-level nodes in more detail.

Page 824: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-2

24.2 Node: containers

The “containers” node contains the initial set of ICID pools for the MC, as well as initial set of containers with their assigned DPAA2 resources and objects; the “containers” node has no properties of its own.

24.2.1 Child node: dprc

The “dprc” node specifies an instantiation of the Data Path Resource Container (DPRC), where the container ID is as specified in the node name “dprc@<id>”. The “dprc” node contains three sections: container properties, and two child nodes: “resources” and “objects”.

Table 91. Properties of “dprc” node

PropertyRequired / Optional

Expected Value(s) Description

parent R “dprc@<id>”, or “none” Containers hierarchy is set by specifying the parent container ID, or use “none” if this is a root-level container

icid O <uint16_t> or“DPRC_GET_ICID_FROM_POOL”

Select specific ICID value for the child container, or use “DPRC_GET_ICID_FROM_POOL” (default value) to have MC allocate the ICID from the pool of free ICID values

portal_id O <int>or“DPRC_GET_PORTAL_ID_FROM_POOL”

Primary MC command portal for this container, or use “DPRC_GET_PORTAL_ID_FROM_POOL” (default value) to have MC allocate the portal ID from the pool of free portals

options O Zero or more of comma-separated options may be selected from the list below. If this property is omitted, none of these options will be set.

“DPRC_CFG_OPT_SPAWN_ALLOWED” The container is allowed to spawn its own child containers

“DPRC_CFG_OPT_ALLOC_ALLOWED” The container is allowed to allocate resources from its parent container; if not set, the container is only allowed to use resources from its own pools. This is the container's global policy, but the parent container may override it and set specific quota for each resource type.

“DPRC_CFG_OPT_TOPOLOGY_CHANGES_ALLOWED” The software context associated with this container is allowed to invoke topology changes, such as connect or disconnect of objects

Page 825: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-3

24.2.1.1 Child node: resources

The “resources” node lists specific container resource assignment. The “resources” node has no properties of its own, and it only contains child “res” nodes.

24.2.1.1.1 Child node: res

The “res@<n>” node declares a specific resource assignment; multiple “res” nodes may be declared in a “resources” node. The value of <n> has no significance.

Table 92. Properties of “res” node

“DPRC_CFG_OPT_AIOP” The container is associated with the AIOP

“DPRC_CFG_OPT_IRQ_CFG_ALLOWED” The software context associated with this container is allowed to set IRQ configuration for objects

label O up to 16 characters Container’s label

PropertyRequired / Optional

Expected Value(s) Description

type R Name of resource pool (specify only one from the list below).Note that resource pool types may differ between SoC variants.

“mcp” MC portals

“swp” QBMan SW portals

“bp” QBMan buffer pools

“fq” QBMan frame queues

PropertyRequired / Optional

Expected Value(s) Description

Page 826: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-4

24.2.1.2 Child node: objects

The “objects” node lists specific container object assignment for the container. The “objects” node has no properties of its own, and it only contains child “obj” nodes.

“qpr” QBMan queuing priority records

“qd” QBMan queuing destinations

“cg” QBMan congestion groups

“swpch” QBMan software portal channels

“cqch” QBMan class queue channels

“rplr” QBMan replication list records

“ifp.wr0” WRIOP interface profiles

“kp.wr0.ctlue” WRIOP CTLU egress key profiles

“kp.wr0.ctlui” WRIOP CTLU ingress key profiles

“prp.wr0.ctlue” WRIOP CTLU egress parser profiles

“prp.wr0.ctlui” WRIOP CTLU ingress parser profiles

“plcy.wr0.ctlui” WRIOP CTLU ingress policy tables

“plcye.wr0.ctlui” WRIOP CTLU ingress policy entries

“kp.aiop0.ctlu” AIOP CTLU key profiles

“kp.aiop0.mflu” AIOP MFLU key profiles

“prp.aiop0.ctlu” AIOP CTLU parser profiles

“prp.aiop0.mflu” AIOP MFLU parser profiles

“dcp.aiop.ch Direct connected portal AIOP channels

num R <uint32_t> Number of resources to assign

options O Select only one of the resource allocation options below, or none (omit this property or set to <0>).Note the impact on ‘id_base_align’ property.

“DPRC_RES_REQ_OPT_EXPLICIT” Indicates that requested resources are explicit and sequential, with base ID as specified by ‘id_base_align’ property

“DPRC_RES_REQ_OPT_ALIGNED” Indicates that resources’ base ID should be aligned to the value specified by ‘id_base_align’ property

id_base_align R <int> In case of explicit assignment, indicates the base (first) resource ID for the allocation.In case of aligned (and non-explicit) assignment, indicates the required alignment for the resource ID(s); set to <0> if no special alignment is required.

PropertyRequired / Optional

Expected Value(s) Description

Page 827: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-5

24.2.1.2.1 Child node: obj

The “obj@<n>” node declares a specific object assignment; multiple “obj” nodes may be declared in an “objects” node. The value of <n> has no significance.

Table 93. Properties of “obj” node

24.2.1.2.2 Child Node: obj_set

The “obj_set@<n>” node declares a set of a specific object assignment; multiple “obj_set” nodes may be declared in an “objects” node. The value of <n> has no significance.

PropertyRequired / Optional

Expected Value(s) Description

obj_name R “<object>@<id>”

Examples: “dpni@3”, “dpsw@5”

Object name and ID

plugged O <0> or <1> Indicates if the object is considered plugged to the container, or not. Default value is <1>. If this property is omitted, the object is considered plugged.

label O up to 16 characters Object’s label

PropertyRequired / Optional

Expected Value(s) Description

type R up to 16 characters

Examples: “dpni”, “dpsw”

Object type

ids R <Array of int> The required IDs for objects in set

Page 828: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-6

Example – declare a root-level container DPRC-1, with ICID 11, two configuration options, primary command portal 7, additional command portals 15-16, and some DPAA2 objects assigned to the DPRC: a set of four DPNI objects (with IDs: 1,2,5,30) and a single DPBP object (with ID=1 and a label):

dprc@1 {parent = "none"; icid = <11>;portal_id = <7>;options = "DPRC_CFG_OPT_SPAWN_ALLOWED", "DPRC_CFG_OPT_ALLOC_ALLOWED";resources {

res@1 {type = "mcp";num = <2>;options = <1>;id_base_align = <15>;

};};objects {

obj_set@1{type = "dpni";ids = <1 2 5 30>;

};obj@1{

obj_name = "dpbp@1";label = “my label”;

};};

};

24.3 Node: objects

The top-level “objects” node, not to be confused with the child node of “dprc” node, contains the initial set of objects created during boot by MC. The “objects” node has no properties of its own, and it only contains child nodes that specify the different object attributes. Objects in this section are assigned to any of the containers declared previously in the “containers” section.

Objects declared in the DPL are created during MC initialization, and do NOT need to be created later using CREATE commands. These objects are available to their associated software contexts by submitting an OPEN command for each object.

Page 829: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-7

24.3.1 Child node: dpniTable 94. Properties of “dpni” node

Example – declare DPNI-1 object with MAC address filter (16 entries), VLAN filter (16 entries), and QoS support for 3 traffic classes and 32 QoS table entries.

dpni@1{options = “”;mac_filter_entries = <16>;vlan_filter_entries = <16>;num_tcs = <3>;qos_entries = <32>;

};

24.3.2 Child node: dpio

The “dpio” node specifies an instantiation of Data Path I/O (DPIO) object, where the DPIO ID is as specified in the node name “dpio@<id>”.

PropertyRequired / Optional

Expected Value(s) Description

options O One or more of comma-separated options may be selected from the list below.

"DPNI_OPT_TX_FRM_RELEASE" Please refer to the description of fields in the DPNI_CREATE command."DPNI_OPT_NO_MAC_FILTER"

"DPNI_OPT_HAS_POLICING"

"DPNI_OPT_SHARED_CONGESTION"

"DPNI_OPT_HAS_KEY_MASKING"

"DPNI_OPT_NO_FS"

“DPNI_OPT_SINGLE_SENDER”

fs_entries O 0 – 1024

vlan_filter_entries O 0 – 16

mac_filter_entries O 0 – 64

num_queues O 1 – 8

num_tcs O 1 – 16

qos_entries O 0 – 64

num_rx_tcs O 0 – 8

num_cgs O 0 - 128

num_opr O 0 - 128

dist_key_size O 1 - 56

Page 830: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-8

Table 95. Properties of “dpio” node

Example – declare DPIO-3 object with a local notifications channel and 8 priority classes for notifications:

dpio@3{channel_mode = "DPIO_LOCAL_CHANNEL";num_priorities = <8>;

};

24.3.3 Child node: dpbp

The “dpbp” node specifies an instantiation of Data Path Buffer Pool (DPBP) object, where the DPBP ID is as specified in the node name “dpbp@<id>”.

Table 96. Properties of “dpbp” node

Example – declare DPBP-5 object (no other properties are required):

dpbp@5{};

24.3.4 Child node: dpcon

The “dpcon” node specifies an instantiation of Data Path Concentrator (DPCON) object, where the DPCON ID is as specified in the node name “dpcon@<id>”.

Table 97. Properties of “dpcon” node

Example – declare DPCON-1 object with 4 priority classes for scheduling.

PropertyRequired / Optional

Expected Value(s) Description

channel_mode R Select only one of the options from the list below

“DPIO_NO_CHANNEL” No notification channel

“DPIO_LOCAL_CHANNEL” Notifications associated with this DPIO will be received at the DPIO’s dedicated channel

num_priorities O <uint8_t> Number of priorities (1-8); relevant only if “DPIO_LOCAL_CHANNEL” is selected. Value defaults to 2.

PropertyRequired / Optional

Expected Value(s) Description

N/A

PropertyRequired / Optional

Expected Value(s) Description

num_priorities R <uint8_t> Number of priorities (1-8) for scheduling

Page 831: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-9

dpcon@1{num_priorities = <4>;

};

24.3.5 Child node: dpci

The "dpci” node specifies an instantiation of Data Path Communication Interface (DPCI) object, where the DPCI ID is as specified in the node name “dpci@<id>”.

Table 98. Properties of “dpci” node

Example – declare DPCI-1 object with 2 receive priorities.dpci@1{

num_of_priorities = <2>;};

24.3.6 Child node: dpseci

The ”dpseci” node specifies an instantiation of Data Path SEC Interface (DPSECI) object, where the DPSECI ID is as specified in the node name ”dpseci@<id>”.

Table 99. Properties of “dpseci” node

Example – declare DPSECI-1 object with 2 priorities for hardware processing.dpseci@1{

priorities = <2 5 1 2 3 4 3 1>;};

PropertyRequired / Optional

Expected Value(s) Description

num_of_priorities R <uint8_t> Number of receive priorities (queues) for the DPCI; valid range is 1-2.

PropertyRequired / Optional

Expected Value(s) Description

priorities R < 1 to 8 uint8_t values separated by spaces> Priorities for the SEC hardware processing; valid priorities are configured with values 1-8; if a single priority is required, set the second priority to 0.

num_tx_queues O <uint8_t> Num of queues towards the SEC

num_rx_queues O <uint8_t> Num of queues back from the SEC

Page 832: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-10

24.3.7 Child node: dpdmux

The “dpdmux” node specifies an instantiation of Data Path DeMux (DPDMUX) object, where the DPDMUX ID is as specified in the node name “dpdmux@<id>”.

Table 100. Properties of “dpdmux” node

Example – declare DPDMUX-1 object with 4 internal interfaces, no manipulation, and demux done based on MAC and VLAN:

dpdmux@1{

PropertyRequired / Optional

Expected Value(s) Description

method R Defines the method of the DPDMUX address table.

“DPDMUX_METHOD_C_VLAN_MAC” DeMux based on C-VLAN and MAC address

“DPDMUX_METHOD_MAC” DeMux based on MAC address

“DPDMUX_METHOD_C_VLAN” DeMux based on C-VLAN

“DPDMUX_METHOD_S_VLAN” DeMux based on S-VLAN

manip O Required manipulation operation. Default is “DPDMUX_MANIP_NONE”

“DPDMUX_MANIP_NONE” No manipulation on frames

“DPDMUX_MANIP_ADD_REMOVE_S_VLAN” Add S-VLAN on egress, remove it on ingress

num_ifs R <uint16_t> Number of interfaces (excluding the uplink interface)

default_if O <uint16_t> Interface ID for desired default interface.

options O DPDMUX configuration options; One or more of comma-separated options may be selected from the list below.

“DPDMUX_OPT_BRIDGE_EN” Enable bridging between internal interfaces; allowed only if selected “method” is either “DPDMUX_METHOD_C_VLAN_MAC” or “DPDMUX_METHOD_MAC”

max_dmat_entries O <uint16_t> Maximum entries in DPDMUX address table; 0 indicates default: 64 entries per interface

max_mc_groups O <uint16_t> Number of multicast groups in DPDMUX table; 0 indicates default: 32 multicast groups

max_vlan_ids O <uint16_t> max vlan ids allowed in the system -relevant only case of working in mac+vlan method.0 indicates default: 16 VLAN ids

mem_size O <uint16_t> Represents the number of 256byte buffers allocated for DPDMUX’s buffer pool. If 0, default value is used (1024).

Page 833: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-11

method = “DPDMUX_METHOD_C_VLAN_MAC”;manip = “DPDMUX_MANIP_NONE”;num_ifs = <4>;

};

24.3.8 Child node: dpsw

The “dpsw” node specifies an instantiation of Data Path Switch (DPSW) object, where the DPSW ID is as specified in the node name “dpsw@<id>”.

Table 101. Properties of “dpsw” node

PropertyRequired / Optional

Expected Value(s) Description

num_ifs R <uint16_t> Number of switch interfaces

options O Enable/ disable DPSW features

“DPSW_OPT_FLOODING_DIS” Disable flooding

"DPSW_OPT_CTRL_IF_DIS" Disable control interface

"DPSW_OPT_FLOODING_METERING_DIS" Disable flooding metering

“DPSW_OPT_MULTICAST_DIS” Disable Multicast support

"DPSW_OPT_METERING_EN" Enable metering

“DPSW_OPT_BP_PER_IF” Private buffer pool per interface.

"DPSW_OPT_LAG_DIS" Used to disable LAG.

“DPSW_OPT_VLAN_MISS” Used to programm VLAN miss action.

max_vlans O <uint16_t> Maximum number of VLANs;0 indicates default: 16 VLANs

max_fdbs O <uint16_t> Maximum number of FDBs;0 indicates default: 16 FDBs

max_fdb_entries O <uint16_t> Number of FDB entries for default FDB table; 0 indicates default: 1024 entries

fdb_aging_time O <uint16_t> Default FDB aging time for default FDB table; 0 indicates default: 300 seconds

max_fdb_mc_groups O <uint16_t> Number of multicast groups in each FDB table; 0 indicates default: 32 multicast groups

Page 834: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-12

Example – declare DPSW-1 object with 8 interfaces.dpsw@1{

num_ifs = <8>;};

24.3.9 Child node: dpmac

The "dpmac" node specifies an instantiation of Data Path MAC (DPMAC) object, where the DPMAC ID is as specified in the node name "dpmac@<id>".

Table 102. Properties of "dpmac" node

Example — declare DPMAC-1.dpmac@1{

};

24.3.10 Child node: dpdcei

The "dpdcei" node specifies an instantiation of Data Path Data Compression Interface (DPDCEI) object, where the DPDCEI ID is as specified in the node name "dpdcei@<id>".

Table 103. Properties of "dpdcei" node

Example — declare DPDCEI-1.

max_meters_per_if O <uint8_t> Number of meters per interface

mem_size O <uint16_t> Represents the number of 256byte buffers allocated for DPSW’s buffer pool or for all buffer pools if DPSW_OPT_BP_PER_IF options is used. If 0, default value is used which depends on number of interfaces.

PropertyRequired / Optional

Expected Value(s) Description

N/A

PropertyRequired / Optional

Expected Value(s) Description

engine R DCE engine block

DPDCEI_ENGINE_COMPRESSION Compression engine

DPDCEI_ENGINE_DECOMPRESSION Decompression engine

priority R <int> Priority for the DCE hardware processing (valid values 1-8).

PropertyRequired / Optional

Expected Value(s) Description

Page 835: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-13

dpdcei@1{engine = "DPDCEI_ENGINE_COMPRESSION";tx_priority = <1>;

};

24.3.11 Child node: dpdmai

The "dpdmai" node specifies an instantiation of Data Path DMA Interface (DPDMAI) object, where the DPDMAI ID is as specified in the node name "dpmai@<id>".

Table 104. Properties of "dpdmai" node

Example — declare DPDMAI-1.dpdmai@1{

priorities = <2 5>;};

24.3.12 Child node: dpmcp

The "dpmcp" node specifies an instantiation of Data Path MC Portal (DPMCP) object, where the DPMCP ID is as specified in the node name "dpmcp@<id>".

Table 105. Properties of "dpmcp" node

Example — declare DPMCP-1.dpmcp@1{};

24.3.13 Child node: dpaiop

The "dpaiop" node specifies an instantiation of Data Path AIOP (DPAIOP) object, where the DPAIOP ID is as specified in the node name "dpaiop@<id>".

PropertyRequired / Optional

Expected Value(s) Description

priorities R < 1 or 2 uint8_t values separated by spaces> Priorities for the DMA hardware processing; valid priorities are configured with values 1-8; the entry following last valid entry should be configured with 0.

PropertyRequired / Optional

Expected Value(s) Description

N/A

Page 836: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-14

Table 106. Properties of "dpaiop" node

Example — declare DPAIOP-1.dpaiop@1{

aiop_container_id = <1>;

};

24.4 Node: connections

The “connections” node specifies the initial object topology. The “connections” node has no properties of its own, and it only contains child nodes that specify the required connections.

24.4.1 Child node: connection

The “connection@<n>” node declares a connection between two objects; multiple “connection” nodes may be declared in a “connections” node. The value of <n> has no significance. The connection is completely symmetric in nature, and therefore the “endpoint1” and “endpoint2” properties below are interchangeable – there is no significance to which object is listed as “endpoint1” and which is listed as “endpoint2.”

Table 107. Properties of “connection” node

Example – set up one connection between DPNI-1 and DPMAC-2, and another connection between DPMAC-3 and interface #1 of DPSW-1:

connections {connection@1{

endpoint1 = "dpni@1";endpoint2 = "dpmac@2";

};connection@2{

endpoint1 = "dpsw@1/if@1";endpoint2 = "dpmac@3";

PropertyRequired / Optional

Expected Value(s) Description

aiop_container_id R <int> AIOP container ID

PropertyRequired / Optional

Expected Value(s) Description

endpoint1 R “<object>@<id>” or “<object>@<id>/if@<if_id>”

Examples: “dpni@3”, “dpsw@5/if@1”

Object name and ID to connect with endpoint2 object; objects with multiple interfaces (such as DPSW), must specify also the interface ID

endpoint2 R Peer object name and ID to connect with the first object; for objects with multiple interfaces (such as DPSW), must specify also the interface ID

committed_rate O <uint32_t> Committed rate (Mbits/s)

max_rate O <uint32_t> Maximum rate (Mbits/s)

Page 837: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-15

};};

Page 838: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Layout (DPL) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 24-16

Page 839: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-1

Chapter 25 Data Path Configuration (DPC) ReferenceThe MC is capable of consuming a binary data structure named the Data Path Configuration (DPC) that describes the initial board configuration when the system is initialized; it is processed only once before MC is initialized.

The DPC is based on a text source file that is similar in syntax to a device tree source file, and compiled with DTC (Device Tree Compiler) to form a binary structure (blob). This binary structure is loaded by the SoC boot program (U-Boot, for example) as an MC input. The purpose of the DPC is to provide inputs to MC on DPAA configuration constraints for current system or board.

This section describes the DPC syntax. The DPC source file syntax is a ‘tree’ of named nodes and properties. Nodes contain properties (name and value pairs), and also optionally child nodes.

25.1 High-level DPC structure

The DPC structure is composed of these top-level nodes:

• “mc_general”—contains general configuration for MC firmware, such as logging options.

• “resources”—contains the initial set of system resources for MC.

• “controllers”—may be used to override the default configuration of DPAA controllers.

• “board_info”—contains various board hardware constraints.

• “memory”—provides additional information to MC about existing memories, eg. DP-DDR.

Example – high level DPC structure:

/dts-v1/;/ {

mc_general {. . .

};resources {

. . .};controllers {

. . .};board_info {

. . .};memory {

. . .};

};

The following sections describe each of the top-level nodes in more detail.

Page 840: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-2

25.2 Node: mc_general

The “mc_general” node contains general configuration for MC firmware, such as logging options for DDR log (child node: log) and UART console log (child node: console).

25.2.1 Child node: log

The “log” node specifies the configuration of the log which is buffered in DDR.

Table 108. Properties of “log” node

Note: The time-stamping is enabled only if mode = “LOG_MODE_ON” and level = “LOG_LEVEL_INFO” or lower level. The displayed value is expressed in microseconds. By default, time-stamping is OFF.

Example – declare log mode ON with ‘debug’ log level:

log {mode = “LOG_MODE_ON”;level = “LOG_LEVEL_DEBUG”;

};

PropertyRequired / Optional

Expected Value(s) Description

mode O “LOG_MODE_ON” set log mode to ON or OFF.default is “LOG_MODE_ON”

“LOG_MODE_OFF”

level O “LOG_LEVEL_GLOBAL” set the requested log level

“LOG_LEVEL_DEBUG”

“LOG_LEVEL_INFO”

“LOG_LEVEL_WARNING”

“LOG_LEVEL_ERROR”

“LOG_LEVEL_CRITICAL”

“LOG_LEVEL_ASSERT”

level-<module> O “LOG_LEVEL_GLOBAL” set the requested log level for <module> (see example below)

“LOG_LEVEL_DEBUG”

“LOG_LEVEL_INFO”

“LOG_LEVEL_WARNING”

“LOG_LEVEL_ERROR”

“LOG_LEVEL_CRITICAL”

timestamp O “LOG_TIMESTAMP_ON” enable time-stamping for every command sent to MC (see example below) Note“LOG_TIMESTAMP_OFF”

Page 841: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-3

Example – as previous example, but set separate levels for DPNI and DPMAC:

log {mode = “LOG_MODE_ON”;level = “LOG_LEVEL_DEBUG”;level-DPNI = "LOG_LEVEL_ERROR"level-DPMAC = "LOG_LEVEL_INFO"

};

Example – enable time-stamping with ‘info’ log level:

log {mode = “LOG_MODE_ON”;level = “LOG_LEVEL_INFO”;timestamp = "LOG_TIMESTAMP_ON";

};

25.2.2 Child node: console

The “console” node specifies the configuration of the UART console log.

If CONSOLE_MODE_ON all commands take longer time to execute!

The log level and log level module are the same with those set in child node: log.

Table 109. Properties of “console” node

Example – declare console mode ON on UART ID 2:

console {mode = “CONSOLE_MODE_ON”;uart_id = <2>;

};

PropertyRequired / Optional

Expected Value(s) Description

mode O “CONSOLE_MODE_ON” set console log mode to ON or OFF.default is “LOG_MODE_OFF”

“CONSOLE_MODE_OFF”

uart_id O 1 - 4 set the desired UART ID

Page 842: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-4

25.3 Node: resources

The “resources” node contains the initial set of system resources for MC.

25.3.1 Child node: icid_pools

The “icid_pools” node specifies the initial set of ICID pools for MC. The MC uses the ICID pools to assign an ICID value to a newly created container. Multiple “icid_pool” nodes may be declared. A child node is defined for each “icid_pool” as following:

25.3.1.1 Child node: icid_pool

For each “icid_pool” the node name is “icid_pool@<id>”.

Table 110. Properties of “icid_pool” node

Example – declare two icid pools:

icid_pools {icid_pool@1 {

base_icid = <0>;num = <10>;

};icid_pool@2 {

base_icid = <30>;num = <100>;

};};

PropertyRequired / Optional

Expected Value(s) Description

base_icid R <uint32_t> First value in the range of ICIDs

num R <int> Number of consequent ICIDs in the pool

Page 843: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-5

25.4 Node: controllers

The “controllers” node may be used to override the default configuration of DPAA controllers.

25.4.1 Child node: qbman

The “qbman” node may be used to override selected items of the QBMan controller’s default configuration.

Table 111. Properties of “qbman” node

Example – declare QBMAN:

qbman {total_bman_buffers = <1000000>;wq_ch_conversion = <8>;pfdr_peb_size_kb = <128>;oree_mode = OREE_MODE_ON;

};

PropertyRequired / Optional

Expected Value(s) Description

total_bman_buffers O <uint32_t> Specify the total number of buffers that the BMan needs to handle.Default is 900K buffers.This parameter impacts the minimum memory size required by MC to work properly.

wq_ch_conversion O <uint16_t> Specify the number of WQ channels to convert from 8-WQ mode (with 8 priorities) to 2-WQ mode (with 2 priorities). An 8-WQ channel will be converted to four 2-WQ channels. Default is 0.

pfdr_peb_size_kb O <uint32_t> Configure the size occupied by PFDR (Packet Frame Descriptor Record) entries in PEB.Supported values: 128, 256, 512, 1024

oree_mode O OREE_MODE_ON/OREE_MODE_OFF

Used to enable Order Restoration External memory access. It will increase the number of packets on which ordering can be maintained from 512 to 2048.

Page 844: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-6

25.5 Node: board_info

The “board_info” node contains various board hardware constraints.

25.5.1 Child node: ports

The “ports” node specifies board-specific configuration of hardware ports.

25.5.1.1 Child node: mac

For each MAC the node name is “mac@<id>”.

Table 112. Properties of “mac” node

PropertyRequired/ Optional

Expected Value(s) Description

link_type O MAC link types.These options select which source will be used by the MC firmware to report link state indications for this DPMAC interface. If this property is not specified, the default value is "MAC_LINK_TYPE_FIXED". DPAA2 objects connected to this DPMAC, such as DPNI, see an abstracted link state communicated by MC through the DPNI_GET_LINK_STATE API and are unaware of the different sources that MC uses to report link information from.

“MAC_LINK_TYPE_NONE” This DPMAC interface is disabled by MC

“MAC_LINK_TYPE_FIXED” Link state information for this DPMAC is obtained by the MC firmware by periodically polling the PCS on the interface's internal MDIO bus. In case of interfaces that do not pass through the SerDes block (RGMII) the link is always reported as up. Link speed is reported as the maximum supported by the interface. PCS auto-negotiation is enabled by default and can be controlled through the "pcs_autoneg" property. In this mode, the MC firmware internal has exclusive ownership over both the internal MDIO bus and over the link state reporting.

“MAC_LINK_TYPE_PHY” Link state information for this DPMAC is obtained externally to the MC firmware, and communicated to MC through the DPMAC_SET_LINK_STATE API. The internal MDIO bus of the interface is not accessed by the MC firmware in this mode. For example, an operating system running on the GPP may retrieve the link state either from the PCS on the internal MDIO bus, or from a PHY connected to the external MDIO bus, and transmit the information to the MC.

“MAC_LINK_TYPE_RECYCLE”

Using this type for MAC, the physical port associated with it will be used as recycle port.

port_mac_address O <uint8_t uint8_t uint8_t uint8_t uint8_t uint8_t>

Mac Address to use on this physical port

pcs_autoneg O on/off Available only for SGMII.When it is on the port can auto negotiate the speed.

fec_mode O DPMAC fec modedefault is “rs”

Configurable only for 25G interfaces

Page 845: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-7

Example 1– declare two macs, mac-1 is fixed link and mac-3 uses an external PHY:

ports {mac@1 {

link_type = “MAC_LINK_TYPE_FIXED”;};mac@3 {

“none” RS-FEC (enabled by default) is disabled

“rs” RS-FEC (Clause 91) mode configured

“fc” FC-FEC (Clause 74) mode configured (not yet supported)

enet_if O “1000BASEX” Configures the port in 1000BASE-X mode.

“USXGMII” Configures the SERDES lane in USXGMII mode.By default the port is configured in XFI mode.

serdes_cfg O “default” This is the default configuration.

“sfi” Can be used with XFI and XLAUI4 interfaces from a SFI compatible SerDes, currently available on LX2 SoC.This is the default operating mode for XFI interfaces, while the XLAUI4 interfaces run with full amplitude and no de-emphasis as default settings. This mode will apply equalization settings that will bring the electrical interface in the SFI specifications.

“custom” It allows the user to manually configure the type of equalization, amplitude, preq and post1q settings.Can be used with all interfaces except RGMII.

For serdes_cfg “custom” mode are available the following settings. If one or more of the bellow parameters are not specified, SerDes protocol’s default value will be used.

serdes_eq O <uint8_t> Number of levels of TX equalization

serdes_amp O <uint8_t> Overall transmit amplitude reduction

serdes_preq O <uint8_t> Drive strength of TX full swing transition bit to precursor

serdes_post1q O <uint8_t> Drive strength of full swing transition bit to first post-cursor

max_rate O 1000 Maximum rate 1G.

O 2500 Maximum rate 2.5G.

O 5000 Maximum rate 5G.

O 10000 Maximum rate 10G.

O 20000 Maximum rate 20G.

O 25000 Maximum rate 25G.

O 40000 Maximum rate 40G.

O 50000 Maximum rate 50G.

O 100000 Maximum rate 100G.

PropertyRequired/ Optional

Expected Value(s) Description

Page 846: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-8

link_type = “MAC_LINK_TYPE_PHY”;port_mac_address = <0x00 0x04 0x9F 0x01 0x03 0x94>;

};mac@5 {

link_type = “MAC_LINK_TYPE_NONE”;port_mac_address = <0x00 0x04 0x9F 0x01 0x03 0x94>;fec_mode = “none”;

};mac@6 {

link_type = “MAC_LINK_TYPE_NONE”;port_mac_address = <0x00 0x04 0x9F 0x01 0x03 0x94>;fec_mode = “none”;enet_if = “USXGMII”

};

};

Example 2 - declare two macs, mac-3 is XFI on LX2 using “sfi” serdes configuration and mac-4 is USXGMII using “custom” serdes configuration. Also for mac-4 set max_rate to 5G.

ports {

mac@3 {link_type = “MAC_LINK_TYPE_PHY”;port_mac_address = <0x00 0x04 0x9F 0x01 0x03 0x94>;serdes_cfg = “sfi”;

};mac@4 {

link_type = “MAC_LINK_TYPE_PHY”;port_mac_address = <0x00 0x04 0x9F 0x01 0x03 0x94>;enet_if = “USXGMII”;serdes_cfg = “custom”;serdes_eq = <1>;serdes_amp = <0>;serdes_preq = <0>;serdes_post1q = <0>;max_rate = <5000>;

};

};

Page 847: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-9

25.6 Node: memory

The “memory” node contains information about the existing memories on the board. These properties may help to efficiently allocate system memories. The properties are presented in the following table.

Example – Set DP-DDR memory size to ‘0’ and provide custom bounds for MC space within the system DDR:

memory { dpddr_size = <0x0>; mc_sys_ddr_start_address = <0x83 0xa000000f>; mc_sys_ddr_end_address = <0x83 0xffe00000>;

};

Table 113. Properties of “memory” node

PropertyRequired / Optional

Expected Value(s) Description

dpddr_size O <uint32_t> Specify a custom DP-DDR size. Note that if the value is ‘0’ then MC will not use this memory for AIOP resources.

mc_sys_ddr_start_address O <uint32_t uint32_t> Indication for MC about the actual start address of the system DDR partition allocated for MC and AIOP resources.

mc_sys_ddr_end_address O <uint32_t uint32_t> Indication for MC about the actual end address of the system DDR partition allocated for MC and AIOP resources.

Page 848: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Data Path Configuration (DPC) Reference

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 25-10

Page 849: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-1

Chapter 26 Use case scenarios

26.1 Steps to verify 1000BASE-X on LS1088A QDS

While 1000Base-X is not supported explicitly, MC supports SGMII using 1000Base-X auto-negotiation instead of the SGMII scheme. Physically and electrically it is still SGMII, though to the PCS SW, it would look like 1000Base-X.

26.1.1 Preparation

26.1.1.1 Hardware

• LS1088AQDS board with LS1088A Rev 1.0

• 4 ports Vitesse SGMII riser card (SCH-24801 REVA1, with Vitesse PHY VSC8234)

26.1.1.2 Software and firmware

• Uboot from LSDK1706

• MC binary that supports 1000BASE-X mode

• DPC file

26.1.1.3 RCW

• Serdes 1 = 0x15 (1133)

26.1.1.4 Board setup

To setup the board, follow these steps:

1. Plug a Vitesse SGMII riser card in LS1088AQDS slot 1

2. Connect PORT 3 (the very bottom one) of the SGMII card to the company network (or any host). PORT 3 of the SGMII card is now linked to DPMAC3@sgmii.

3. Program uboot to QSPI (in order for it to boot) and MC binary to QSPI offset 0xa00000.

26.1.2 Test procedures

26.1.2.1 Verify that SGMII MC works with SGMII PHY

1. Check the SGMII is in working order.

2. In DPC, make sure you have the following nodes:

boards {

ports {

mac@3 {

pcs_autoneg = "on";

Page 850: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-2

};

};

};

In this case, the default Ethernet interface of MC supports SGMII mode, with auto negotiation ON.

3. Create dpc.dtb and program it to QSPI flash offset 0xe00000.

4. Boot up uboot and make sure MC is correctly loaded. (MC binary is at 0xa00000, DPC is at 0xe00000).

5. Run following sequence and verify that the host is alive.

=> setenv ipaddr <your_ip>

=> setenv serverip <host_ip>

=> setenv ethact DPMAC3@sgmii

=> ping $serverip

DPMAC3@sgmii Waiting for PHY auto negotiation to complete.. done

Using DPMAC3@sgmii device

host 10.81.55.3 is alive

26.1.2.2 Verify that SGMII MC does not work with 1000BaseX PHY

1. Run the following commands in U-Boot:

=> mdio list

FSL_MDIO0:

LS1088A_QDS_MDIO0:

1 - RealTek RTL8211F <--> DPMAC4@rgmii

LS1088A_QDS_MDIO1:

2 - RealTek RTL8211F <--> DPMAC5@rgmii

LS1088A_QDS_MDIO2:

1e - Vitesse VSC8234 <--> DPMAC7@sgmii

1f - Vitesse VSC8234 <--> DPMAC3@sgmii

=> mdio read DPMAC3@sgmii 0x17

Reading from bus LS1088A_QDS_MDIO2

PHY at address 1f:

23 - 0xa022

=> mdio write DPMAC3@sgmii 0x17 0xe024 # set PHY to 1000BASE-X mode

=> mdio read DPMAC3@sgmii 0x0

Reading from bus LS1088A_QDS_MDIO2

PHY at address 1f:

0 - 0x1040

=> mdio write DPMAC3@sgmii 0x0 0x9040 # soft reset PHY

=> mdio read DPMAC3@sgmii 0x17

Page 851: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-3

Reading from bus LS1088A_QDS_MDIO2

PHY at address 1f:

23 - 0xe024

=> ping $serverip

DPMAC3@sgmii Waiting for PHY auto negotiation to complete.. done

Using DPMAC3@sgmii device

ARP Retry count exceeded; starting again

ping failed; host 10.81.55.3 is not alive

=>

26.1.2.3 Modify DPC for MC to support 1000BaseX

1. Modify DPC file, to configure MC supporting 1000BASE-X mode

boards {

ports {

mac@3 {

enet_if = "1000BASEX";

pcs_autoneg = "on";

};

};

};

In this case, the Ethernet interface of MC supports 1000BASE-X mode, with auto negotiation ON.

2. Create dpc.dtb and program it to QSPI flash offset 0xe00000

3. Reboot uboot, make sure MC is correctly loaded. (MC binary is at 0xa00000, DPC is at 0xe00000)

4. Run following sequence to set PHY to 1000BASE-X mode, then ping host server. You should see ping is successful in 1000BASE-X mode.

=> setenv ipaddr <board_ip>=> setenv serverip <host_ip>=> setenv ethact DPMAC3@sgmii=> mdio listFSL_MDIO0:LS1088A_QDS_MDIO0:1 - RealTek RTL8211F <--> DPMAC4@rgmiiLS1088A_QDS_MDIO1:2 - RealTek RTL8211F <--> DPMAC5@rgmiiLS1088A_QDS_MDIO2:1e - Vitesse VSC8234 <--> DPMAC7@sgmii1f - Vitesse VSC8234 <--> DPMAC3@sgmii=> mdio read DPMAC3@sgmii 0x17

Page 852: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-4

Reading from bus LS1088A_QDS_MDIO2PHY at address 1f:23 - 0xa022=> mdio write DPMAC3@sgmii 0x17 0xe024 # set PHY to 1000BASE-X mode=> mdio read DPMAC3@sgmii 0x0Reading from bus LS1088A_QDS_MDIO2PHY at address 1f:0 - 0x1040=> mdio write DPMAC3@sgmii 0x0 0x9040 # soft reset PHY=> mdio read DPMAC3@sgmii 0x17Reading from bus LS1088A_QDS_MDIO2PHY at address 1f:23 - 0xe024=> ping $serveripUsing DPMAC3@sgmii devicehost 10.81.55.3 is alive=>

26.2 Steps to verify PHYless on LS1088A QDS

The MC firmware requires no extra configuration to make a PHYless connection.

26.2.1 Preparation

26.2.1.1 Hardware

• 2 of LS1088AQDS boards, with LS1088A Rev 1.0. The boards are labeled Board A and Board B.

• 1 of 4 ports used per SFP riser card (700-26908 REV X1). The cards are labeled Card A and Card B.

• 2 of Finisar SFP modules, (FTLX8571D3BCL), and one multi-mode crossover fiber cable

OR• One Direct Attached Cable (Tyco Electronics, 2127934-3 D)

26.2.1.2 Software and firmware

• Uboot that has PHYless SGMII support

• MC binary that supports SGMII

• DPC file

26.2.1.3 RCW

• Serdes 1 = 0x15 (1133)

Page 853: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-5

26.2.1.4 Board setup

• Plug the SFP riser card A in slot 1 of LS1088AQDS Board A

• Plug the SFP riser card B in slot 1 of LS1088AQDS Board B

• Insert Finisar SFP modules to SFP cage 3 (the very top one) of both Card A and Card B, and connect them with multi-mode crossover fiber cable. (Pic. 1)

OR• Plug each end of the Direct Attached Cable to SFP cage 3 (the very top one) of both Card A and

Card B (Pic. 2)

Program uboot, MC and DPC to QSPI so uboot can boot up and MC/DPC can be loaded.

Figure 679. Multi-mode crossover fiber cable

Page 854: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-6

Program uboot, MC and DPC to QSPI so uboot can boot up and MC/DPC can be loaded.

Figure 680. Cable attached directly

26.2.2 Test procedures

1. Setup up network parameters on Board A.

=> setenv ethact DPMAC3@sgmii=> setenv ipaddr 1.1.1.1

2. Set up network parameters on Board B.

Note: Since server IP is dummy, you may need Board B to tftp a dummy file from the dummy server so that it can respond to a ping.

=> setenv ethact DPMAC3@sgmii=> setenv ipaddr 1.1.1.2=> setenv serverip 1.1.1.10

3. Send a Tftp a fake file on Board B.

Page 855: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-7

=> tftp afileUsing DPMAC3@sgmii deviceTFTP from server 1.1.1.10; our IP address is 1.1.1.2Filename 'afile'.Load address: 0x90100000Loading: *

4. Ping from Board A to Board B, while Board B is in polling status. To get a working Board B.

=> ping 1.1.1.2Using DPMAC3@sgmii devicehost 1.1.1.2 is alive

Page 856: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Use case scenarios

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 26-8

Page 857: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Logging and Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 27-1

Chapter 27 Logging and Debugging

27.1 MC console in Uboot

Page 858: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Logging and Debugging

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 27-2

27.2 MC/AIOP console in Linux

Kernel configuration options

The FSL_LS2_CONSOLE option is used to enable/disable the MC/AIOP console in Linux.

Linux read console

In Linux the MC console can be read from /dev/fsl_mc_console and the AIOP console can be read from /dev/fsl_aiop_console.

Example:

cat /dev/fsl_mc_console

cat /dev/fsl_aiop_console

Page 859: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Known Limitations

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 28-1

Chapter 28 Known Limitations

28.1 Reset of MC objects with FQs associated with a channel

Although the MC supports individual object reset, there are some situations were it works only in certain configurations.

The reset command can fail on MC objects connected to a DPCON or objects with FQs destination configured to a DPIO/DPCON channel (e.g. DPNI) if the respective FQs are not empty. The workaround is to place all objects that contribute to that channel in a single container, including the DPIOs and DPCON objects. The DPRC_RESET will handle reset on all contained objects and properly clear the FQs associated with a DPIO/DPCON channel.

This limitation is caused by a QMan limitation.

28.2 Reconfiguring FQs associated with a channel

This limitation has the same root cause as Section 28.1, “Reset of MC objects with FQs associated with a channel,” but it is visible to the user when trying to reconfigure a RX queue that was previously configured to a DPCON channel.

The workaround is the same as in Section 28.1, “Reset of MC objects with FQs associated with a channel.”

28.3 DPSW - Link Aggregation• LAG groups can only be configured with ports from the following two sets: {1, 2, 3, 4, 9, 10, 11,

12} or {5, 6 ,7 ,8, 13, 14, 15, 16}, where IDs represent DPMAC IDs.

E.g.:

LAG group 1: {1, 3, 9, 12} - supported

LAG group 2: {3, 4, 7, 8} - not supported

• LAG group reconfiguration is not automatically done when any of the links goes down.

• Only static configuration (via DPL) and one time configuration (via API) are supported; LAG groups update at runtime is not supported (adding or removing ports).

• The slave ports TX frames counters queried via dpsw_get_if_counters API show 0, all TX frames are counted by the master interface counters (please refer to DPSW chapter for details about master and slave ports). MAC counters are incremented properly for all the ports in the LAG group.

28.4 DPSPARSER

DPSPARSER_DESTROY command doesn’t destroy the DPSPARSER object.

DPSPARSER_APPLY_SPB must be invoked before applying the DPL.

Page 860: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Known Limitations

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors 28-2

Page 861: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-1

Appendix A Revision History

Document Version Changes

Rev 39 – Added “options” field in DPDMAI_CREATE API command.

– Added “options” field in DPDMAI_GET_ATTRIBUTES API command.

– Added new API command DPDMAI_SET_RX_CONGESTION_NOTIFICATION.

– Added new API command DPDMAI_GET_RX_CONGESTION_NOTIFICATION.

– Added new API command DPDMAI_SET_TX_CONGESTION_NOTIFICATION.

– Added new API command DPDMAI_GET_TX_CONGESTION_NOTIFICATION.

Rev 36 – Added Flow Control support for DPDMUX and DPSW objects.

– Added DPSW_DUMP_TABLE command

– Added DPDMUX_DUMP_TABLE command

– Added dprtc_get_clock_offset() command

– Added mem_size field in DPDMUX_CREATE API command and DPL DPDMUX creation.

– Added mem_size field in DPSW_CREATE API command and DPL DPSW creation.

Page 862: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-2

Rev 33 – Added DPDMUX_CNT_ING_NO_BUFFER_DISCARD counter type in DPDMUX_IF_GET_COUNTER API command

– Added DPDMUX_IF_SET_TAILDROP command

– Added DPDMUX_IF_GET_TAILDROP command

– Added DPNI_BUF_LAYOUT_OPT_NO_SG option in DPNI_SET_BUFFER_LAYOUT

– Added DPNI_OPT_SHARED_FS option in DPNI_CREATE and DPNI_GET_ATTRIBUTES

– Added DPNI_CNT_EGR_FRAME_CONFIRMED field in DPNI_SET_COUNTER and DPNI_GET_COUNTER APIS

– Added DPNI_CNT_EGR_MCAST_FRAME field in DPNI_SET_COUNTER and DPNI_GET_COUNTER APIS

– Added DPNI_CNT_EGR_MCAST_BYTE field in DPNI_SET_COUNTER and DPNI_GET_COUNTER APIS

– Added DPNI_CNT_EGR_BCAST_FRAME field in DPNI_SET_COUNTER and DPNI_GET_COUNTER APIS

– Added DPNI_CNT_EGR_BCAST_BYTES field in DPNI_SET_COUNTER and DPNI_GET_COUNTER APIS

– Added new command DPNI_DUMP_TABLE

Document Version Changes

Page 863: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-3

Rev 32 – Added DPSW_IF_SET_TAILDROP command

– Added DPSW_IF_GET_TAILDROP command

– Remove the DPC support for “enet_if = RGMII”

– DPNI_CREATE command new option DPNI_OPT_SHARED_HASH_KEY and new field - DIST_KEY_SIZE.

– DPRC_GET_OBJ_REGION new version command (3).

– DPSW_OPT_BP_PER_IF - new option for DPSW_CREATE and DPSW_GET_ATTRIBUTES commands.

– Added DPNI_OPT_SHARED_HASH_KEY option to DPNI_GET_ATTRIBUTES

– Added DPSW_OPT_LAG_DIS to DPSW_CREATE and DPSW_GET_ATTRIBUTES commands.

– Added oree_mode in DPC.

– Added MAC_LINK_TYPE_RECYCLE option in DPC.

Rev 31 – Added DPDMUX_SET_RESETABLE API

– Added DPDMUX_GET_RESETABLE API

– Added DPNI_SET_SINGLE_STEP_CFG API

– Added DPNI_GET_SINGLE_STEP_CFG API

– Added DPNI_SET_PORT_CFG API

– Added DPNI_GET_PORT_CFG API

– Added DPMAC_MDIO_READ API

– Added DPMAC_MDIO_WRITE API

– Fix property for DPCI, num_priorities -> num_of_priorities.

– Added “max_rate” option in DPC file.

Rev 30 – Added new command DPMAC_SET_PARAMS

– Modified DPMAC_GET_ATTRIBUTES command (added 2 new fields IFC_MODE and IFC_LENGTH)

– Modified DPDBG_CREATE command id to the correct one.

– Added options field for DPRC_RESET_CONTAINER.

Document Version Changes

Page 864: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-4

Rev 29 – Added Ingress no buffer discarded frames counter for DPSW_IF_SET_COUNTER and DPSW_IF_GET_COUNTER.

– Added missing Egress STP discared frames counter for DPSW_IF_SET_COUNTER and DPSW_IF_GET_COUNTER.

– Added DPNI_QUEUE_OPT_SET_CGID and DPNI_QUEUE_OPT_CLEAR_CGID options in DPNI_SET_QUEUE command.

Rev 28 – Added in DPC file, RGMII protocol port selection for “enet_if”.

Rev 27 – Added DEFAULT_IF field in DPDMUX_GET_ATTRIBUTES command

– Added DEFAULT_IF field in DPDMUX_CREATE command

– Added default_if field in DPL for DPDMUX

– Added SerDes configuration in DPMAC_GET_ATTRIBUTES

– Added DPRTC_GET_EXT_TRIGGER_TIMESTAMP command

– Added DPRTC_SET_FIPER_LOOPBACK command

– Added support for PPS2, ETS1 and ETS2 events in DPRTC_GET_IRQ_STATUS

– Modified the command version for DPRC_CREATE_CONTAINER and removed the option DPRC_CFG_OPT_OBJ_CREATE_ALLOWED

– Added DPRC_SET_LOCKED command.

– Modified DPNI_SET_TAILDROP command.

– Modified DPNI_GET_IRQ_STATUS comment.

– Added a new object (DPDBG) documented in Chapter 10

– Added new option (pcs_autoneg) in “mac” DPC child node

Document Version Changes

Page 865: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-5

Rev 26 – Added DPSECI_SET_OPR command.

– Added DPSECI_GET_OPR command.

– Added NOTE at DPNI for DPNI_HAS_KEY_MASKING.

– Added time-stamp option in DPC.

– Added serdes_cfg option in DPC with advanced parameters.

– Added a new command DPSW_CTRL_IF_SET_QUEUE.

– Added ENTRY_INDEX field in command DPDMUX_ADD_CUSTOM_CLS_ENTRY.

– Added comment for DPMAC1, LS1044 and LS1048 personalities.

– DPSW_CREATE command: corrects the text modifying VLAN to S_VLAN.

– DPSECI_SET_RX_QUEUE command : fix the wrong CMDID.

– Added DPNI_OPT_CUSTOM_OPR and NUM_OPR field in DPNI_CREATE command (v4).

– Added OPR_ID field in DPNI_SET_OPR command (v2).

– Added OPR_ID and FLAGS fields in DPNI_GET_OPR command (v2).

– Added comment for DPNI_SET_QUEUE command.

– Added 7.2.6.1 Building rules for ingress distribution.

Rev 25 – Added three new options in DPNI_ADD_MAC_ADDR and DPNI_ADD_VLAN_ID commands

– Added a new command: DPNI_GET_LINK_CFG

– Added a new chapter about logging and debugging details

– Updated information in DPNI_ENABLE and DPNI_DISABLE commands

– Added description for console child nod in DPC chapter

Rev 24 – Added new commands: DPIO_SET_STASHING_DESTINATION_SOURCE, DPIO_GET_STASHING_DESTINATION_SOURCE, DPIO_SET_STASHING_DESTINATION_BY_CORE_ID

– Added two new fields (FLAGS and FLOW_ID) to DPNI_ADD_QOS_ENTRY command

Document Version Changes

Page 866: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-6

Rev 23 – Updated, in documentation, CMDID for DPDMUX_OPEN and DPSECI_CREATE commands

– Added ADDR and ENDIANNESS attributes to DPRTC_GET_ATTRIBITES command response

– Added new DPNI_SET_POOLS option: POOL_AS

Rev 22 – Updated description for MAX_FRAME_LEN argument of DPNI_SET_MAX_FRAME_LEN command

– Updated default values for DPSW_CREATE command arguments

– Updated DPSW_CREATE command options.

– Updated DPDMUX_CREATE command methods, options and arguments

– Updated NUM_OF_PRIORITIES description for DPCI_CREATE command

– Updated the default value of NUM_PRIORITIES for DPCON_CREATE and DPIO_CREATE commands

– Updated NUM_QUEUE and NUM_CGS description for DPNI_CREATE command

– Updated description of DPNI_GET_PORT_MAC_ADDRESS command

– Updated status description in DPNI_GET_IRQ_STATUS command response

– Added DPMAC_GET_MAC_ADDR command

Rev 21 – Added a reserved value for MEMSZ bits in MCFBALR register

– Documented enet_if DPC option

– Updated description of DPNI_SET_LINK_CFG command

Rev 20 – Added completions to MC memory requirements

Rev 19 – Added new DPC options: pfdr_peb_size_kb, fec_mode

Document Version Changes

Page 867: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-7

Rev 18 – Added new DPNI option: DPNI_OPT_CUSTOM_CG

– Added new field in DPNI_CREATE command: NUM_CGS

– Added new field in DPNI_GET_ATTRIBUTES response command: NUM_CGS

– Modified DPNI_GET_STATISTICS command PARAM field size from 8 bits to 16 bits

– Added new fields in DPNI_GET_QUEUE command response: CGID_VALID, CGID

– Added new field in DPNI_SET_QUEUE command: CGID

– Added two new fields in DPNI_SET_CONGESTION_NOTIFICATION and DPNI_GET_CONGESTION_NOTIFICATION commands: CONGESTION_POINT, CGID

– DPNI_SET_TAILDROP and DPNI_GET_TAILDROP commands: new signification for INDEX field, new value for CONGESTION_POINT field

Rev 17 – Added new DPAIOP commands: DPAIOP_SET_RESETABLE, DPAIOP_GET_RESETABLE

Rev 16 – Added new object DPSPARSER with associated commands: DPSPARSER_OPEN, DPSPARSER_CLOSE, DPSPARSER_CREATE, DPSPARSER_DESTROY, DPSPARSER_GET_API_VERSION, DPSPARSER_APPLY_SPB

– Added new sub-chapter: 3.5 Minimum memory requirements

– Updated description of total_bman_buffers field in “24.4.1 Child node: qbman” sub-chapter

Document Version Changes

Page 868: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-8

Rev 15 – Added new DPNI commands: DPNI_ADD_CUSTOM_TPID, DPNI_REMOVE_CUSTOM_TPID, DPNI_GET_CUSTOM_TPID

– Added ‘advertising’ field to the following commands: DPNI_IF_SET_LINK_CFG, DPSW_IF_SET_LINK_CFG, DPDMUX_ IF_SET_LINK_CFG, DPMAC_GET_LINK_CFG

– Added ‘supported’ and ‘advertising’ fields to the following commands: DPNI_IF_GET_LINK_STATE, DPSW_IF_GET_LINK_STATE, DPDMUX_IF_GET_LINK_STATE, DPMAC_SET_LINK_STATE

– Added ‘state_valid’ field to the following commands: DPMAC_SET_LINK_STATE and DPNI_GET_LINK_STATE, DPSW_IF_GET_LINK_STATE, DPDMUX_IF_GET_LINK_STATE

Rev 14 – Add policer chapter

– Small changes for DPNI_SET_RX_TC_POLICING

– Add NUM_RX_TCS to DPNI_CREATE command

– Add num_rx_tcs parameter to dpni node in dpl reference chapter

Rev 13 – change code for command DPDMAI_SET_RX_QUEUE (changed to 0x1A02)

– change code for command DPDMAI_GET_RX_QUEUE (changed to 0x1A12)

– change code for command DPDMAI_GET_TX_QUEUE (changed to 0x1A22)

– change code for command DPDMAI_CREATE(changed to 0x90E2)

– add page_4 description to DPNI_GET_STATISTICS

– add page_5 description to DPNI_GET_STATISTICS

– new flag (DPNI_ERROR_DISC) added to DPNI_SET_ERRORS_BEHAVIOR

Document Version Changes

Page 869: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-9

Rev 12 – Add KEEP_ENTRIES field in DPNI_SET_QOS_TABLE

– Add NUM_QUEUES field in DPDMAI_CREATE

– Add NUM_QUEUES field in DPDMAI_GET_ATTRIBUTES response

– Add QUEUE_IDX field in DPDMAI_SET_RX_QUEUE

– Add QUEUE_IDX field in DPDMAI_GET_RX_QUEUE

– Add QUEUE_IDX field in DPDMAI_GET_TX_QUEUE

– Increase size for OPTIONS field in DPBP_SET_NOTIFICATIONS

Document Version Changes

Page 870: DPAA2 User Manual - NXP Semiconductors · NXP Semiconductors Document Number: DPAA2UM Rev 33, 08/2020 DPAA2 User Manual (Compatible with MC firmware v10.24.x)

Revision History

DPAA2UM, Rev 39, 12/2020

NXP Semiconductors A-10

Rev 11 – Change in DPNI_SET_RX_TC_DIST: add new field named KEEP_ENTRIES

– Add supplementary details on parameter NUM_TCS from DPNI_CREATE command

– Add command DPNI_SET_RX_FS_DIST

– Add command DPNI_SET_RX_HASH_DIST

– Add command DPSW_LAG_SET

– Add command DPSW_LAG_GET_CFG

– Added 8 more priorities fields to DPSECI_CREATE command

Rev 8 – The default behavior for DPNI objects employed by AIOP is to assign a default priority to each traffic class

– Added support for Flow Control (Chapter 7.2.7)

– Changes in commands: – DPNI_GET_ATTRIBUTES

– DPNI_SET_OFFLOAD

– DPNI_GET_OFFLOAD

– DPNI_GET_STATISTICS

– DPNI_GET_STATISTICS response

– DPNI_SET_TX_SHAPING

– DPNI_SET_RX_TC_DIST

– DPNI_SET_TAILDROP

– DPNI_GET_TAILDROP response

– DPNI_SET_EARLY_DROP

– DPNI_GET_EARLY_DROP

– DPNI_SET_QUEUE

– DPNI_SET_TX_CONFIRMATION_MODE

– DPNI_SET_CONGESTION_NOTIFICATION

– DPCI_SET_RX_QUEUE

– Additional DPCON features and details added

– Additional DPCI features and details added

Document Version Changes