Page MenuHomeFreeBSD

qcom: add initial IPQ4018 MDIO support and etherswitch support
AbandonedPublic

Authored by adrian on Jan 30 2022, 3:43 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, May 10, 9:26 AM
Unknown Object (File)
Thu, May 2, 6:00 PM
Unknown Object (File)
Wed, May 1, 10:59 PM
Unknown Object (File)
Mar 31 2024, 11:58 AM
Unknown Object (File)
Mar 14 2024, 10:58 AM
Unknown Object (File)
Mar 7 2024, 8:42 PM
Unknown Object (File)
Mar 2 2024, 7:27 AM
Unknown Object (File)
Jan 3 2024, 5:15 PM
Subscribers

Details

Reviewers
manu
Group Reviewers
Core Team
Summary

This adds support for the IPQ4018/IPQ4019 MDIO bus. This is used to
talk to external PHYs and switches. (There's an internal switch
in the IPQ4018/IPQ4019 as well, but it's accessible via MMIO/AXI.)

ar40xx_switch: add initial switch for the IPQ4018/IPQ4019.

This switch is based off of the AR8327/AR8337 external switch/PHY.
However unlike the AR8327/AR8337 it itself doesn't have any PHYs;
instead an external PHY connects to it using the PSGMII port.

This code is inspired by the ar40xx code in openwrt, which itself
is based on the Qualcomm QCA-SSDK. Both of these sources are, amusingly,
BSD licenced - and thus I have included some of the comments in the
hardware workaround paths to document some of the magic numbers.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 44172
Build 41060: arc lint + arc unit

Event Timeline

sys/dev/etherswitch/ar40xx/ar40xx_debug.h
43

ugh lemme go wrap flags in parens here.

fix debug flags macro expansion

adrian retitled this revision from qcom_mdio: add initial IPQ4018 MDIO support to qcom: add initial IPQ4018 MDIO support and etherswitch support.Jan 30 2022, 5:05 PM

Do you expect people to review a change that big ?

In D34096#771107, @manu wrote:

Do you expect people to review a change that big ?

(a) it's two commits, MDIO and etherswitch / DTS
(b) .. i mean it's a new driver, what should I do? :)

In D34096#771107, @manu wrote:

Do you expect people to review a change that big ?

(a) it's two commits, MDIO and etherswitch / DTS
(b) .. i mean it's a new driver, what should I do? :)

We don't see commits in phab.
Also I think that one commit for mdio, one for etherswitch, one for the binding, one for the dtsi, and for the dts change will be more clear.

In D34096#771124, @manu wrote:
In D34096#771107, @manu wrote:

Do you expect people to review a change that big ?

(a) it's two commits, MDIO and etherswitch / DTS
(b) .. i mean it's a new driver, what should I do? :)

We don't see commits in phab.
Also I think that one commit for mdio, one for etherswitch, one for the binding, one for the dtsi, and for the dts change will be more clear.

+1. I recommend splitting it up then using git-arc to create 1:1 commit:review, it'll put them into a stack which almost doesn't suck

pull out the dts/include bits into a different commit in the stack