FreeBSD The Power to Serve

NXP DPAA2 support

Contact: Dmitry Salychev <dsl@mcusim.org>
Contact: Bjoern A. Zeeb <bz@FreeBSD.org>

Some of the NXP SoCs (LX2160A, LS1088A) are shipped with 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.

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 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 :)


Last modified on: June 10, 2022 by Daniel Ebdrup Jensen