| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- From: Roman Kuzmitskii <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Roman Kuzmitskii <[email protected]>
- --- 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 },
|