This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCU-PLUS-SDK-AM243X: Can DP83826E PHY Driver used for DP83822

Part Number: MCU-PLUS-SDK-AM243X
Other Parts Discussed in Thread: AM2432, DP83869, DP83825I

Hi,

     My customer would like use DP83822 PHY to replace DP83869 on AM2432.  I checked SDK 8.2.0.31, we have driver for DP683826E.  I also look into  PHY driver in AM64 SDK, there is driver source code for DP83822. According to DP83822 Linux driver, it can be used for DP83826.   

........................

define DP83822_PHY_DRIVER(_id, _name) \
{ \
PHY_ID_MATCH_MODEL(_id), \
.name = (_name), \
/* PHY_BASIC_FEATURES */ \
.probe = dp83822_probe, \
.soft_reset = dp83822_phy_reset, \
.config_init = dp83822_config_init, \
.read_status = dp83822_read_status, \
.get_wol = dp83822_get_wol, \
.set_wol = dp83822_set_wol, \
.ack_interrupt = dp83822_ack_interrupt, \
.config_intr = dp83822_config_intr, \
.suspend = dp83822_suspend, \
.resume = dp83822_resume, \
}

#define DP8382X_PHY_DRIVER(_id, _name) \
{ \
PHY_ID_MATCH_MODEL(_id), \
.name = (_name), \
/* PHY_BASIC_FEATURES */ \
.soft_reset = dp83822_phy_reset, \
.config_init = dp8382x_config_init, \
.get_wol = dp83822_get_wol, \
.set_wol = dp83822_set_wol, \
.ack_interrupt = dp83822_ack_interrupt, \
.config_intr = dp83822_config_intr, \
.suspend = dp83822_suspend, \
.resume = dp83822_resume, \
}

static struct phy_driver dp83822_driver[] = {
DP83822_PHY_DRIVER(DP83822_PHY_ID, "TI DP83822"),
DP8382X_PHY_DRIVER(DP83825I_PHY_ID, "TI DP83825I"),
DP8382X_PHY_DRIVER(DP83826C_PHY_ID, "TI DP83826C"),
DP8382X_PHY_DRIVER(DP83826NC_PHY_ID, "TI DP83826NC"),
DP8382X_PHY_DRIVER(DP83825S_PHY_ID, "TI DP83825S"),
DP8382X_PHY_DRIVER(DP83825CM_PHY_ID, "TI DP83825M"),
DP8382X_PHY_DRIVER(DP83825CS_PHY_ID, "TI DP83825CS"),
};
module_phy_driver(dp83822_driver);

static struct mdio_device_id __maybe_unused dp83822_tbl[] = {
{ DP83822_PHY_ID, 0xfffffff0 },
{ DP83825I_PHY_ID, 0xfffffff0 },
{ DP83826C_PHY_ID, 0xfffffff0 },
{ DP83826NC_PHY_ID, 0xfffffff0 },
{ DP83825S_PHY_ID, 0xfffffff0 },
{ DP83825CM_PHY_ID, 0xfffffff0 },
{ DP83825CS_PHY_ID, 0xfffffff0 },
{ },
};
MODULE_DEVICE_TABLE(mdio, dp83822_tbl);

MODULE_DESCRIPTION("Texas Instruments DP83822 PHY driver");
MODULE_AUTHOR("Dan Murphy <dmurphy@ti.com");
MODULE_LICENSE("GPL v2");

So I'm wondering if customer can use DP83826 driver directly with DP83822 PHY in MCU+ SDK?  Can you please help me to confirm? Thanks.

Regards

Andre

  • Hi,

       After comparing  DP83822/DP83826 datasheets, and the functions in DP82836 drivers. There are differences between LEDs setting.  I'm wrong.  I can't use 

    dp83826 driver from  C:\TI\mcu_plus_sdk_am243x_08_02_00_31\source\board\ethphy directly.

    Regards

    Andre