Page MenuHomeFreeBSD

qcom_ess_edma: Add the IPQ4018/IPQ4019 ethernet MAC/MDIO driver.
ClosedPublic

Authored by adrian on Sat, Feb 15, 8:53 PM.

Details

Summary

This adds the ESS EDMA driver introduced by the IPQ4018/IPQ4019.

It provides a number of transmit and receive rings which can be mapped
into virtual ethernet devices, which this driver supports.

It's partially integrated into the ar40xx etherswitch which supplies
the port and some filtering/VPN offload functionality. This driver
only currently supports the per-port options which allow for the
virtual ethernet driver mapping.

This was written by reverse engineering the functionality of the
ethernet switch and ethernet driver support provided by Qualcomm
Atheros via their OpenWRT contributions. The code is all originally
authored by myself.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

bz added inline comments.
sys/dev/qcom_ess_edma/qcom_ess_edma.c
78

Do you have a dts file as well for your device as there's nothing in the device tree files to even match qcom,ess. Is this an OpenWRT-ism or based on the QCA SDK?

adrian added inline comments.
sys/dev/qcom_ess_edma/qcom_ess_edma.c
78

Do you have a dts file as well for your device as there's nothing in the device tree files to even match qcom,ess. Is this an OpenWRT-ism or based on the QCA SDK?

yeah it's in sys/dts/arm/qcom-ipq4019-ethernet.dtsi . Unfortunately (sigh) the upstream DTS / Linux IPQ401x DTS doesn't actually /include everything/ so the openwrt/QCA SDK has all the extra bits.

I imported it a couple years ago into sys as part of the initial platform work.

This revision was not accepted when it landed; it landed in state Needs Review.Fri, Feb 21, 2:51 AM
This revision was automatically updated to reflect the committed changes.