net: phy: mscc: add support for VSC8501
The VSC8501 PHY can use the same driver implementation as the VSC8502. Adding the PHY ID and copying the handler functions of VSC8502 is sufficient to operate it. Signed-off-by: David Epping <david.epping@missinglinkelectronics.com> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
57fb54ab9f
commit
fb055ce4a9
@ -276,6 +276,7 @@ enum rgmii_clock_delay {
|
||||
/* Microsemi PHY ID's
|
||||
* Code assumes lowest nibble is 0
|
||||
*/
|
||||
#define PHY_ID_VSC8501 0x00070530
|
||||
#define PHY_ID_VSC8502 0x00070630
|
||||
#define PHY_ID_VSC8504 0x000704c0
|
||||
#define PHY_ID_VSC8514 0x00070670
|
||||
|
@ -2316,6 +2316,30 @@ static int vsc85xx_probe(struct phy_device *phydev)
|
||||
|
||||
/* Microsemi VSC85xx PHYs */
|
||||
static struct phy_driver vsc85xx_driver[] = {
|
||||
{
|
||||
.phy_id = PHY_ID_VSC8501,
|
||||
.name = "Microsemi GE VSC8501 SyncE",
|
||||
.phy_id_mask = 0xfffffff0,
|
||||
/* PHY_BASIC_FEATURES */
|
||||
.soft_reset = &genphy_soft_reset,
|
||||
.config_init = &vsc85xx_config_init,
|
||||
.config_aneg = &vsc85xx_config_aneg,
|
||||
.read_status = &vsc85xx_read_status,
|
||||
.handle_interrupt = vsc85xx_handle_interrupt,
|
||||
.config_intr = &vsc85xx_config_intr,
|
||||
.suspend = &genphy_suspend,
|
||||
.resume = &genphy_resume,
|
||||
.probe = &vsc85xx_probe,
|
||||
.set_wol = &vsc85xx_wol_set,
|
||||
.get_wol = &vsc85xx_wol_get,
|
||||
.get_tunable = &vsc85xx_get_tunable,
|
||||
.set_tunable = &vsc85xx_set_tunable,
|
||||
.read_page = &vsc85xx_phy_read_page,
|
||||
.write_page = &vsc85xx_phy_write_page,
|
||||
.get_sset_count = &vsc85xx_get_sset_count,
|
||||
.get_strings = &vsc85xx_get_strings,
|
||||
.get_stats = &vsc85xx_get_stats,
|
||||
},
|
||||
{
|
||||
.phy_id = PHY_ID_VSC8502,
|
||||
.name = "Microsemi GE VSC8502 SyncE",
|
||||
@ -2656,6 +2680,7 @@ static struct phy_driver vsc85xx_driver[] = {
|
||||
module_phy_driver(vsc85xx_driver);
|
||||
|
||||
static struct mdio_device_id __maybe_unused vsc85xx_tbl[] = {
|
||||
{ PHY_ID_VSC8501, 0xfffffff0, },
|
||||
{ PHY_ID_VSC8502, 0xfffffff0, },
|
||||
{ PHY_ID_VSC8504, 0xfffffff0, },
|
||||
{ PHY_ID_VSC8514, 0xfffffff0, },
|
||||
|
Loading…
x
Reference in New Issue
Block a user