mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
[PATCH] Add support for the Cicada 8201 PHY
Add support for the Cicada 8201 PHY, a.k.a Vitesse VSC8201. This PHY is present on the MPC8349mITX. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
c9a4b35df9
commit
0c639b3106
1 changed files with 36 additions and 6 deletions
|
@ -103,7 +103,22 @@ static int cis820x_config_intr(struct phy_device *phydev)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cicada 820x */
|
/* Cicada 8201, a.k.a Vitesse VSC8201 */
|
||||||
|
static struct phy_driver cis8201_driver = {
|
||||||
|
.phy_id = 0x000fc410,
|
||||||
|
.name = "Cicada Cis8201",
|
||||||
|
.phy_id_mask = 0x000ffff0,
|
||||||
|
.features = PHY_GBIT_FEATURES,
|
||||||
|
.flags = PHY_HAS_INTERRUPT,
|
||||||
|
.config_init = &cis820x_config_init,
|
||||||
|
.config_aneg = &genphy_config_aneg,
|
||||||
|
.read_status = &genphy_read_status,
|
||||||
|
.ack_interrupt = &cis820x_ack_interrupt,
|
||||||
|
.config_intr = &cis820x_config_intr,
|
||||||
|
.driver = { .owner = THIS_MODULE,},
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Cicada 8204 */
|
||||||
static struct phy_driver cis8204_driver = {
|
static struct phy_driver cis8204_driver = {
|
||||||
.phy_id = 0x000fc440,
|
.phy_id = 0x000fc440,
|
||||||
.name = "Cicada Cis8204",
|
.name = "Cicada Cis8204",
|
||||||
|
@ -118,15 +133,30 @@ static struct phy_driver cis8204_driver = {
|
||||||
.driver = { .owner = THIS_MODULE,},
|
.driver = { .owner = THIS_MODULE,},
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init cis8204_init(void)
|
static int __init cicada_init(void)
|
||||||
{
|
{
|
||||||
return phy_driver_register(&cis8204_driver);
|
int ret;
|
||||||
|
|
||||||
|
ret = phy_driver_register(&cis8204_driver);
|
||||||
|
if (ret)
|
||||||
|
goto err1;
|
||||||
|
|
||||||
|
ret = phy_driver_register(&cis8201_driver);
|
||||||
|
if (ret)
|
||||||
|
goto err2;
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
err2:
|
||||||
|
phy_driver_unregister(&cis8204_driver);
|
||||||
|
err1:
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit cis8204_exit(void)
|
static void __exit cicada_exit(void)
|
||||||
{
|
{
|
||||||
phy_driver_unregister(&cis8204_driver);
|
phy_driver_unregister(&cis8204_driver);
|
||||||
|
phy_driver_unregister(&cis8201_driver);
|
||||||
}
|
}
|
||||||
|
|
||||||
module_init(cis8204_init);
|
module_init(cicada_init);
|
||||||
module_exit(cis8204_exit);
|
module_exit(cicada_exit);
|
||||||
|
|
Loading…
Add table
Reference in a new issue