summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/hack-5.4
diff options
context:
space:
mode:
authorRoman Kuzmitskii <damex.pp@icloud.com>2020-11-05 14:16:15 +0000
committerDaniel Golle <daniel@makrotopia.org>2020-11-05 19:29:48 +0000
commitb9898cd78a38bd1aa98de7eab070b097b44c2ea1 (patch)
tree7269a403cfbafb2e95153f3114798a0548613fd6 /target/linux/generic/hack-5.4
parentc8a81ada589c76ae85af570905c1d5c1988ec89b (diff)
downloadopenwrt-b9898cd78a38bd1aa98de7eab070b097b44c2ea1.tar.gz
openwrt-b9898cd78a38bd1aa98de7eab070b097b44c2ea1.tar.bz2
openwrt-b9898cd78a38bd1aa98de7eab070b097b44c2ea1.zip
generic: add support for vsc8504 phy
adds support for vsc8504 phy. patch have use on 5.4 kernel and has to be dropped after since phy is supported by CONFIG_MICROSEMI_PHY on newer LTS kernels. Tested-by: Johannes Kimmel <fff@bareminimum.eu> Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
Diffstat (limited to 'target/linux/generic/hack-5.4')
-rw-r--r--target/linux/generic/hack-5.4/703-add_vsc8504_support.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/target/linux/generic/hack-5.4/703-add_vsc8504_support.patch b/target/linux/generic/hack-5.4/703-add_vsc8504_support.patch
new file mode 100644
index 0000000000..e7265eba86
--- /dev/null
+++ b/target/linux/generic/hack-5.4/703-add_vsc8504_support.patch
@@ -0,0 +1,57 @@
+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 @@
+ 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 @@
+ .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 @@
+ 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 },