mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 14:13:16 +00:00
a47279154e
Manually rebased patches: bcm27xx: patches-5.4/950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch bcm53xx: patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch layerscape: patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch Removed since could be reverse-applied by quilt: mediatek: patches-5.4/0700-arm-dts-mt7623-add-missing-pause-for-switchport.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86_64 Run-tested: ipq806x/R7800, x86_64 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Curtis Deptuck <curtdept@me.com> [x86_64] Rebase of 802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
From: Roman Kuzmitskii <damex.pp@icloud.com>
|
|
Date: Thu, 05 Nov 2020 02:00:00 +0000
|
|
Subject: [PATCH] net: phy: vitesse: add vsc8504 support
|
|
|
|
This patch adds support for vsc8504 phy.
|
|
That phy is changed owner:
|
|
vitesse -> microsemi -> microchip
|
|
So is its driver in kernel was changed and rewritten.
|
|
|
|
there is no need to upstream this patch.
|
|
this vsc8504 is supported by newer kernels out of box.
|
|
support could be enabled by CONFIG_MICROSEMI_PHY.
|
|
|
|
Tested-by: Johannes Kimmel <fff@bareminimum.eu>
|
|
Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
|
|
--- a/drivers/net/phy/vitesse.c
|
|
+++ b/drivers/net/phy/vitesse.c
|
|
@@ -61,6 +61,7 @@
|
|
|
|
#define PHY_ID_VSC8234 0x000fc620
|
|
#define PHY_ID_VSC8244 0x000fc6c0
|
|
+#define PHY_ID_VSC8504 0x000704c2
|
|
#define PHY_ID_VSC8572 0x000704d0
|
|
#define PHY_ID_VSC8601 0x00070420
|
|
#define PHY_ID_VSC7385 0x00070450
|
|
@@ -292,6 +293,7 @@ static int vsc82xx_config_intr(struct ph
|
|
err = phy_write(phydev, MII_VSC8244_IMASK,
|
|
(phydev->drv->phy_id == PHY_ID_VSC8234 ||
|
|
phydev->drv->phy_id == PHY_ID_VSC8244 ||
|
|
+ phydev->drv->phy_id == PHY_ID_VSC8504 ||
|
|
phydev->drv->phy_id == PHY_ID_VSC8572 ||
|
|
phydev->drv->phy_id == PHY_ID_VSC8601) ?
|
|
MII_VSC8244_IMASK_MASK :
|
|
@@ -402,6 +404,15 @@ static struct phy_driver vsc82xx_driver[
|
|
.ack_interrupt = &vsc824x_ack_interrupt,
|
|
.config_intr = &vsc82xx_config_intr,
|
|
}, {
|
|
+ .phy_id = PHY_ID_VSC8504,
|
|
+ .name = "Vitesse VSC8504",
|
|
+ .phy_id_mask = 0x000ffff0,
|
|
+ /* PHY_GBIT_FEATURES */
|
|
+ .config_init = &vsc824x_config_init,
|
|
+ .config_aneg = &vsc82x4_config_aneg,
|
|
+ .ack_interrupt = &vsc824x_ack_interrupt,
|
|
+ .config_intr = &vsc82xx_config_intr,
|
|
+}, {
|
|
.phy_id = PHY_ID_VSC8572,
|
|
.name = "Vitesse VSC8572",
|
|
.phy_id_mask = 0x000ffff0,
|
|
@@ -488,6 +499,7 @@ module_phy_driver(vsc82xx_driver);
|
|
static struct mdio_device_id __maybe_unused vitesse_tbl[] = {
|
|
{ PHY_ID_VSC8234, 0x000ffff0 },
|
|
{ PHY_ID_VSC8244, 0x000fffc0 },
|
|
+ { PHY_ID_VSC8504, 0x000ffff0 },
|
|
{ PHY_ID_VSC8572, 0x000ffff0 },
|
|
{ PHY_ID_VSC7385, 0x000ffff0 },
|
|
{ PHY_ID_VSC7388, 0x000ffff0 },
|