Page MenuHomeFreeBSD

Implement MDIO mux with Broadcom NS2 PCIe PHY initialization
ClosedPublic

Authored by kd on Aug 20 2019, 7:39 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 8, 6:55 PM
Unknown Object (File)
Mon, Mar 2, 9:12 AM
Unknown Object (File)
Sun, Mar 1, 7:07 PM
Unknown Object (File)
Thu, Feb 26, 4:36 PM
Unknown Object (File)
Feb 8 2026, 7:43 AM
Unknown Object (File)
Feb 7 2026, 9:05 PM
Unknown Object (File)
Feb 3 2026, 7:41 PM
Unknown Object (File)
Jan 31 2026, 12:16 AM

Details

Summary

NS2 uses a PCIe PHY which is configured over MDIO.
Configure reference clock amplitude on PHY init.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Apr 6 2020, 4:15 AM
This revision was automatically updated to reflect the committed changes.
head/sys/arm64/broadcom/brcmmdio/mdio_mux_iproc.c
47

This should be #define<tab>

188

The comment should start on the second line, i.e.

/*
 * start_...
210

ret is not a boolean type so this should be if (ret != 0)

211

Why goto err; when it just returns? This is normally used when you need to perform a clean up.

226–227

And here.

247

Missing newline.

head/sys/conf/files.arm64
179–181

These should have a more specific option to enable them, e.g. optional brcmmdio fdt

head/sys/arm64/broadcom/brcmmdio/mdio_mux_iproc.c
4

Aside, All rights reserved. has been removed from the standard FreeBSD copyright templates; of course it can stay if required by your client, but if it's only here because it was copied from an existing file it could be removed.

I ended up looking at two of the files which originated from D21335. These spots appear unused and it is in my queue for getting these hunks removed (followed by further cleanup of the files related to D48449).

head/sys/arm64/broadcom/brcmmdio/mdio_nexus_iproc.c
95–96

I haven't found any references to this anywhere. Was this a precursor to what turned into brcm_mdionexus_driver?

head/sys/arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c
69–70

Similar to the above. Here it appears ns2_pcie_phy_driver is actually used whereas this appears a leftover from development.