| // SPDX-License-Identifier: GPL-2.0 | |
| /* | |
| * TI Generic PHY Init to register any TI Ethernet PHYs | |
| * | |
| * Author: Dan Murphy <dmurphy@ti.com> | |
| * | |
| * Copyright (C) 2019-20 Texas Instruments Inc. | |
| */ | |
| #include <phy.h> | |
| #include "ti_phy_init.h" | |
| #ifdef CONFIG_PHY_TI_GENERIC | |
| static struct phy_driver dp83822_driver = { | |
| .name = "TI DP83822", | |
| .uid = 0x2000a240, | |
| .mask = 0xfffffff0, | |
| .features = PHY_BASIC_FEATURES, | |
| .config = &genphy_config_aneg, | |
| .startup = &genphy_startup, | |
| .shutdown = &genphy_shutdown, | |
| }; | |
| static struct phy_driver dp83826nc_driver = { | |
| .name = "TI DP83826NC", | |
| .uid = 0x2000a110, | |
| .mask = 0xfffffff0, | |
| .features = PHY_BASIC_FEATURES, | |
| .config = &genphy_config_aneg, | |
| .startup = &genphy_startup, | |
| .shutdown = &genphy_shutdown, | |
| }; | |
| static struct phy_driver dp83826c_driver = { | |
| .name = "TI DP83826C", | |
| .uid = 0x2000a130, | |
| .mask = 0xfffffff0, | |
| .features = PHY_BASIC_FEATURES, | |
| .config = &genphy_config_aneg, | |
| .startup = &genphy_startup, | |
| .shutdown = &genphy_shutdown, | |
| }; | |
| static struct phy_driver dp83825s_driver = { | |
| .name = "TI DP83825S", | |
| .uid = 0x2000a140, | |
| .mask = 0xfffffff0, | |
| .features = PHY_BASIC_FEATURES, | |
| .config = &genphy_config_aneg, | |
| .startup = &genphy_startup, | |
| .shutdown = &genphy_shutdown, | |
| }; | |
| static struct phy_driver dp83825i_driver = { | |
| .name = "TI DP83825I", | |
| .uid = 0x2000a150, | |
| .mask = 0xfffffff0, | |
| .features = PHY_BASIC_FEATURES, | |
| .config = &genphy_config_aneg, | |
| .startup = &genphy_startup, | |
| .shutdown = &genphy_shutdown, | |
| }; | |
| static struct phy_driver dp83825m_driver = { | |
| .name = "TI DP83825M", | |
| .uid = 0x2000a160, | |
| .mask = 0xfffffff0, | |
| .features = PHY_BASIC_FEATURES, | |
| .config = &genphy_config_aneg, | |
| .startup = &genphy_startup, | |
| .shutdown = &genphy_shutdown, | |
| }; | |
| static struct phy_driver dp83825cs_driver = { | |
| .name = "TI DP83825CS", | |
| .uid = 0x2000a170, | |
| .mask = 0xfffffff0, | |
| .features = PHY_BASIC_FEATURES, | |
| .config = &genphy_config_aneg, | |
| .startup = &genphy_startup, | |
| .shutdown = &genphy_shutdown, | |
| }; | |
| #endif /* CONFIG_PHY_TI_GENERIC */ | |
| int phy_ti_init(void) | |
| { | |
| #ifdef CONFIG_PHY_TI_DP83867 | |
| phy_dp83867_init(); | |
| #endif | |
| #ifdef CONFIG_PHY_TI_DP83869 | |
| phy_dp83869_init(); | |
| #endif | |
| #ifdef CONFIG_PHY_TI_GENERIC | |
| phy_register(&dp83822_driver); | |
| phy_register(&dp83825s_driver); | |
| phy_register(&dp83825i_driver); | |
| phy_register(&dp83825m_driver); | |
| phy_register(&dp83825cs_driver); | |
| phy_register(&dp83826c_driver); | |
| phy_register(&dp83826nc_driver); | |
| #endif | |
| return 0; | |
| } |