https://github.com/torvalds/linux
Revision aa015a204b6094f909ee9863cd41e50b426dea7d authored by Jakub Kicinski on 25 May 2023, 05:14:29 UTC, committed by Jakub Kicinski on 25 May 2023, 05:14:29 UTC
David Epping says:

====================
net: phy: mscc: support VSC8501

this updated series of patches adds support for the VSC8501 Ethernet
PHY and fixes support for the VSC8502 PHY in cases where no other
software (like U-Boot) has initialized the PHY after power up.

The first patch simply adds the VSC8502 to the MODULE_DEVICE_TABLE,
where I guess it was unintentionally missing. I have no hardware to
test my change.

The second patch adds the VSC8501 PHY with exactly the same driver
implementation as the existing VSC8502.

The (new) third patch removes phydev locking from
vsc85xx_rgmii_set_skews(), as discussed for v2 of the patch set.

The (now) fourth patch fixes the initialization for VSC8501 and VSC8502.
I have tested this patch with VSC8501 on hardware in RGMII mode only.
https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/DataSheets/VSC8501-03_Datasheet_60001741A.PDF
https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/DataSheets/VSC8502-03_Datasheet_60001742B.pdf
Table 4-42 "RGMII CONTROL, ADDRESS 20E2 (0X14)" Bit 11 for each of
them.
By default the RX_CLK is disabled for these PHYs. In cases where no
other software, like U-Boot, enabled the clock, this results in no
received packets being handed to the MAC.
The patch enables this clock output.
According to Microchip support (case number 01268776) this applies
to all modes (RGMII, GMII, and MII).

Other PHYs sharing the same register map and code, like
VSC8530/31/40/41 have the clock enabled and the relevant bit 11 is
reserved and read-only for them. As per previous discussion the
patch still clears the bit on these PHYs, too, possibly more easily
supporting other future PHYs implementing this functionality.

For the VSC8572 family of PHYs, having a different register map,
no such changes are applied.
====================

Link: https://lore.kernel.org/r/20230523153108.18548-1-david.epping@missinglinkelectronics.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2 parent s 1de5900 + 71460c9
History
Tip revision: aa015a204b6094f909ee9863cd41e50b426dea7d authored by Jakub Kicinski on 25 May 2023, 05:14:29 UTC
Merge branch 'net-phy-mscc-support-vsc8501'
Tip revision: aa015a2
File Mode Size
Makefile -rw-r--r-- 366 bytes
advise.c -rw-r--r-- 2.3 KB
advise.h -rw-r--r-- 316 bytes
alloc_cache.h -rw-r--r-- 1.4 KB
cancel.c -rw-r--r-- 7.2 KB
cancel.h -rw-r--r-- 579 bytes
epoll.c -rw-r--r-- 1.5 KB
epoll.h -rw-r--r-- 213 bytes
fdinfo.c -rw-r--r-- 6.7 KB
fdinfo.h -rw-r--r-- 100 bytes
filetable.c -rw-r--r-- 4.1 KB
filetable.h -rw-r--r-- 2.1 KB
fs.c -rw-r--r-- 6.8 KB
fs.h -rw-r--r-- 929 bytes
io-wq.c -rw-r--r-- 31.7 KB
io-wq.h -rw-r--r-- 2.0 KB
io_uring.c -rw-r--r-- 117.8 KB
io_uring.h -rw-r--r-- 11.3 KB
kbuf.c -rw-r--r-- 15.0 KB
kbuf.h -rw-r--r-- 3.8 KB
msg_ring.c -rw-r--r-- 7.6 KB
msg_ring.h -rw-r--r-- 226 bytes
net.c -rw-r--r-- 37.2 KB
net.h -rw-r--r-- 2.2 KB
nop.c -rw-r--r-- 498 bytes
nop.h -rw-r--r-- 168 bytes
notif.c -rw-r--r-- 2.2 KB
notif.h -rw-r--r-- 1.3 KB
opdef.c -rw-r--r-- 13.9 KB
opdef.h -rw-r--r-- 1.4 KB
openclose.c -rw-r--r-- 6.2 KB
openclose.h -rw-r--r-- 596 bytes
poll.c -rw-r--r-- 28.2 KB
poll.h -rw-r--r-- 1023 bytes
refs.h -rw-r--r-- 1.2 KB
rsrc.c -rw-r--r-- 30.0 KB
rsrc.h -rw-r--r-- 4.2 KB
rw.c -rw-r--r-- 27.5 KB
rw.h -rw-r--r-- 705 bytes
slist.h -rw-r--r-- 2.7 KB
splice.c -rw-r--r-- 2.9 KB
splice.h -rw-r--r-- 306 bytes
sqpoll.c -rw-r--r-- 9.5 KB
sqpoll.h -rw-r--r-- 754 bytes
statx.c -rw-r--r-- 1.6 KB
statx.h -rw-r--r-- 217 bytes
sync.c -rw-r--r-- 2.8 KB
sync.h -rw-r--r-- 460 bytes
tctx.c -rw-r--r-- 7.2 KB
tctx.h -rw-r--r-- 992 bytes
timeout.c -rw-r--r-- 18.2 KB
timeout.h -rw-r--r-- 1.2 KB
uring_cmd.c -rw-r--r-- 4.0 KB
uring_cmd.h -rw-r--r-- 231 bytes
xattr.c -rw-r--r-- 5.6 KB
xattr.h -rw-r--r-- 654 bytes

back to top