DPAA2 objects and MC question

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DPAA2 objects and MC question

Jump to solution
1,436 Views
aabitria
Contributor I

Hello,

I'm trying to create baremetal code for using DPAA2 qDMA in LS1088ARDB via Mgmt Complex (MCS). I understand that this MC abstraction (booted by u-boot) is to simplify programming by not bothering with HW registers for us developers. I've read the code in Linux kernel as well as other manuals but there are things I want to clarify:

- Is there an example DPL that I can tinker with? I can't find one in the LSDK folder.
- What is the general flow in opening a portal, assuming it's dynamic and not via DPL?  In using the DPDMA, do I have to go through DPMCP_OPEN for portals and not yet through DPDMAI_OPEN? Both says they both open the portal for a session.

- How do I know if an MC portal (starting at 0x80c000000) is available?
- Does QBMan have an equivalent DPAA2 object that MC can handle? Is it the same as DPIO (saw this in a slide "LOGICAL ABSTRACTION AND RESOURCE MANAGEMENT USING THE MANAGEMENT COMPLEX")? There are still lot of register tinkering with QBMan and I thought MC will take care of it?

Labels (1)
Tags (4)
0 Kudos
1 Solution
1,098 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Alain Abitria,

In LSDK flexbuild environment, please execute the following command to get mc-utils in the folder ~/flexbuild/packages/firmware/mc-utils.

$ flex-builder -c mc-utils -m arm64

You will get the example dpl and dpc source code in the folder config/ls1088a/RDB, more examples in custom folder.

Still in mc-utils source code folder api/mc_release_<version>, you will get the source code for MC APIs, please refer to dpdmai.c file.

Please refer to dpdmai_open function, use DPDMAI_OPEN to open a control session for DPDMAI.

You could use dpdmai_is_enabled to check whether DPDMAI is enabled pointer to the specific MC portal's I/O object.

For QBMAN please refer to dpio_get_attributes in dpio.c, qbman software portal IDs are parts of DPIO attributes.

DPIO objects include QBMAN software portals, and they allow GPP core software to read and write packages from the DPNIs.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

2 Replies
1,099 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Alain Abitria,

In LSDK flexbuild environment, please execute the following command to get mc-utils in the folder ~/flexbuild/packages/firmware/mc-utils.

$ flex-builder -c mc-utils -m arm64

You will get the example dpl and dpc source code in the folder config/ls1088a/RDB, more examples in custom folder.

Still in mc-utils source code folder api/mc_release_<version>, you will get the source code for MC APIs, please refer to dpdmai.c file.

Please refer to dpdmai_open function, use DPDMAI_OPEN to open a control session for DPDMAI.

You could use dpdmai_is_enabled to check whether DPDMAI is enabled pointer to the specific MC portal's I/O object.

For QBMAN please refer to dpio_get_attributes in dpio.c, qbman software portal IDs are parts of DPIO attributes.

DPIO objects include QBMAN software portals, and they allow GPP core software to read and write packages from the DPNIs.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,098 Views
aabitria
Contributor I

Any help or replies?

0 Kudos