Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/website/content/en/status/report-2022-01-2022-03/dpaa2.adoc
18096 views
=== NXP DPAA2 support

Links +
link:https://github.com/mcusim/freebsd-src/tree/lx2160acex7-dev/sys/dev/dpaa2[Development] URL: https://github.com/mcusim/freebsd-src/tree/lx2160acex7-dev/sys/dev/dpaa2[https://github.com/mcusim/freebsd-src/tree/lx2160acex7-dev/sys/dev/dpaa2] +

Contact: Dmitry Salychev <[email protected]> +
Contact: Bjoern A. Zeeb <[email protected]>

Some of the NXP SoCs (LX2160A, LS1088A) are shipped with link:https://www.nxp.com/design/qoriq-developer-resources/second-generation-data-path-acceleration-architecture-dpaa2:DPAA2[DPAA2], the second generation of the data path acceleration architecture.
It allows to dynamically configure and wire packet processing "objects" (like DPNI for a network interface, DPMAC for media access controller, etc.) together to form a network-on-a-chip.

link:https://solidrun.atlassian.net/wiki/spaces/developer/pages/197494288/HoneyComb+LX2+ClearFog+CX+LX2+Quick+Start+Guide[Honeycomb LX2], as one of the powerful ARM64 boards from SolidRun, is also built around NXP LX2160A and lacks on-board GbE support in FreeBSD.
These drivers are about to change it.

It's still work in progress and a rough implementation of the drivers for some DPAA2 objects is available at the moment.
A new network interface (dpni) can be used on Honeycomb for testing.

TODO:

* Update dpaa2_mc_fdt driver for the link:https://www.crowdsupply.com/traverse-technologies/ten64[Traverse Ten64] board

* Review and fix DPAA2 resources allocation to support as many DPNIs as possible

* Free driver resources properly

* Implement CPU affinity for DPIOs and DPNIs

* Implement cached memory-backed software portals

* Profile and mitigate bottlenecks

Sponsor: Bare Enthusiasm :)