Forum Discussion

moranFarcas1's avatar
moranFarcas1
Icon for New Contributor rankNew Contributor
1 month ago
Solved

How to properly register a custom PHY (Analog Devices ADIN1300) in TSE driver

Hi,

I am working on a project using NIOS-V with uc/OS and TSE MAC.
You can find attached all needed info (adin1300 datasheet, ug_ethernet, TSE c driver (zip)). 

I need to add support for the ADIN1300 PHY.
I followed the Ethernet User Guide and created a PHY profile using alt_tse_phy_profile, along with a custom link‑status reader (ADIN1300_link_status_read()).... So far this part is clear.

My question is about "alt_tse_system_add_sys()." The user guide mentions the option to define each PHY instance using "alt_tse_system_phy_struct" and register it with _add_sys()... but I don’t see this function used for any of the default supported PHYs (DP83848C, DP83865, 88E1111, 88E1145).

Do I need to use "alt_tse_system_add_sys()" for the ADIN1300, or is it enough to only add the custom profile using "alt_tse_phy_add_profile()" and rely on the driver’s auto-detection?

Thanks.
Moran Farcas



 

  • Hi moranFarcas1​ 

    I reviewed the PHY initialization process in the TSE driver. And it looks ADIN1300 PHY supports the standard MDIO specification.

    I believe it will work by just adding alt_tse_system_phy_struct for that PHY and calling alt_tse_phy_add_profile() in alt_tse_phy_add_profile_default() function.

    So ADIN1300 PHY should also be supported simply by using the altera_avalon_tse.c you attached.  If you haven't done so yet, please try it.  If you encounter any issues, please share them.

    Thanks,
    ShoH

3 Replies

  • ShoH_Altera's avatar
    ShoH_Altera
    Icon for Occasional Contributor rankOccasional Contributor

    Hi moranFarcas1​ 

    I reviewed the PHY initialization process in the TSE driver. And it looks ADIN1300 PHY supports the standard MDIO specification.

    I believe it will work by just adding alt_tse_system_phy_struct for that PHY and calling alt_tse_phy_add_profile() in alt_tse_phy_add_profile_default() function.

    So ADIN1300 PHY should also be supported simply by using the altera_avalon_tse.c you attached.  If you haven't done so yet, please try it.  If you encounter any issues, please share them.

    Thanks,
    ShoH

      • BoonBengT_Altera's avatar
        BoonBengT_Altera
        Icon for Moderator rankModerator

        Dear Customer,

        I'm glad that your issue is resolved. I will continue to monitor this post for the next 5 days. If there are no further inquiries during this period, I will step back and allow the community to assist with any future follow-up questions.

        Thank you for engaging with us!

        Best regards,
        Altera Technical Support