=== NXP DPAA2 support

Links +
link:https://github.com/mcusim/freebsd-src/commits/lx2160acex7-dev[Change history] +
link:https://github.com/mcusim/freebsd-src/tree/lx2160acex7-dev/sys/dev/dpaa2[Tree]

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

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" (DPNI for a network interface, DPMAC for media access controller, etc.) together to form a network-on-a-chip.

During the last quarter the driver started working well enough to be used on link:https://solidrun.atlassian.net/wiki/spaces/developer/pages/197494288/HoneyComb+LX2+ClearFog+CX+LX2+Quick+Start+Guide[SolidRun' Honeycomb LX2] (ACPI test platform) and Traverse Technologies has produced a link:https://forum.traverse.com.au/t/freebsd-preview-for-ten64/173[FreeBSD preview for (their) Ten64] (used as FDT test platform).

The driver is still work-in-progress, but is getting close for a review to get the first version into the tree for everyone to benefit from it.

WIP:

* FDT MDIO support. FreeBSD currently lacks support for the SPF parts.

* Driver resources de-allocation to unload dpaa2.ko properly.

* link:https://github.com/mcusim/freebsd-src/issues[Bug fixes] and improvements.

TODO:

* CPU affinity for DPIOs and DPNIs.

* Cached memory-backed software portals.

* Bottlenecks mitigation.

* Further parts (DPSW, DCE, etc.) supported by the hardware.

Sponsor: Bare Enthusiasm :) +
Sponsor: Traverse Technologies (providing Ten64 HW for testing)
