OSDN Git Service

net: phy: davicom: add IDs for DM9161B and C variants
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Wed, 10 Jun 2015 16:48:20 +0000 (13:48 -0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Jun 2015 07:24:53 +0000 (00:24 -0700)
Add PHY IDs for Davicom DM9161B and DM9161C variants.
Tested with a DM9161C on a custom Atmel-based SAM9X25 board in RMII
mode.

The DM9161B uses the same model id with just the LSB bit of the version
id changing (which is masked out).

For all intents and purposes they're the same as the DM9161A with an
added GPSI mode and better fabrication process.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/davicom.c

index 0d16c7d..2a32870 100644 (file)
@@ -158,6 +158,18 @@ static struct phy_driver dm91xx_driver[] = {
        .config_intr    = dm9161_config_intr,
        .driver         = { .owner = THIS_MODULE,},
 }, {
+       .phy_id         = 0x0181b8b0,
+       .name           = "Davicom DM9161B/C",
+       .phy_id_mask    = 0x0ffffff0,
+       .features       = PHY_BASIC_FEATURES,
+       .flags          = PHY_HAS_INTERRUPT,
+       .config_init    = dm9161_config_init,
+       .config_aneg    = dm9161_config_aneg,
+       .read_status    = genphy_read_status,
+       .ack_interrupt  = dm9161_ack_interrupt,
+       .config_intr    = dm9161_config_intr,
+       .driver         = { .owner = THIS_MODULE,},
+}, {
        .phy_id         = 0x0181b8a0,
        .name           = "Davicom DM9161A",
        .phy_id_mask    = 0x0ffffff0,
@@ -186,6 +198,7 @@ module_phy_driver(dm91xx_driver);
 
 static struct mdio_device_id __maybe_unused davicom_tbl[] = {
        { 0x0181b880, 0x0ffffff0 },
+       { 0x0181b8b0, 0x0ffffff0 },
        { 0x0181b8a0, 0x0ffffff0 },
        { 0x00181b80, 0x0ffffff0 },
        { }