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.

Why is the driver for DP83826 incompatible to the other ethernet drivers?

Other Parts Discussed in Thread: DP83869

Hello,
I would like to use the ENET-LLD API on a DP83826 ethernet PHY.
Now what I realized, is that the driver for the DP83826 does not seem compatible with the rest of the drivers.
It seems to be added later on:



As it resides outside of the enet-drivers directory:



Also it is not added to the Enet-PhyDrivers-Group, not even somewhere from within the DP83826 driver.




I find many of the registers of the others drivers also in the Datasheet for DP83826, but they are not in the driver for DP83826.
It looks as if the driver was a hotfix and maybe not implemented properly later on.
Or is there maybe a different reason, why this driver does not seem to fit in?

Also I would be interested if there is planned an enet compatible version in the future or if one maybe already exists?

As I am not sure if it is an extra implementation provided just for our company, I will not include the source code from the driver here, but will gladly provde that by E-mail to TI-members.
Thank you for your time and trouble.


Best regards

Philip.

  • Hi Philip,

    Is this just an observation, or have you tested the driver and found it not to work?

    Thanks,

    David

  • Hello David,
    it is an observation.
    I need to obtain the PHY-ID at the moment which is provided by the enet API, which the DP83826 driver is not compliant to.
    I could test that, but it seems futile, as looking into the code clearly tells me that the functionality is not there,
    as the DP83826 driver is using global arrays in the SysConfig-generated ti_board_open_close.c instead of EnetPhyDrv_Handles.

    Reading the Datasheets for the DP83822, DP83867 and DP83869 (which all 3 use Enet) and comparing to that of DP83826 (which uses ETHPHY), I see at first glance that in the headline it calls all 3 of the former "Ethernet Physical Layer Transceiver" while the latter one is called "Industrial Ethernet PHY". Even though the Applications for the former 3 mentions industrial Ethernet or "Industrial Ethernet Fieldbus" or "Industrial Factory Automation" it seems that those are standard Ethernet PHYs,
    while the DP83826 is specifically for Industrial Ethernet. As far as I know the hardware should be the same for standard Ethernet and Industrial Ethernet, but the driver will most probably differ.
    Not sure if that is the case here, or if the differing headline is just a coincidence.


    Best regards

    Philip.

  • Hi Philip,

    The driver we have on Ethernet-SW is the only DP83826 driver available. Please use the driver and let us know if you experience any issues. 

    Thanks,

    David

  • Hello David,
    sorry I didn't answer.
    I was on vaccation. We are using FreeRTOS, not Linux.
    As I reread the question it seems I failed to mention that, my bad.

    We also have a driver for the DP83826 which uses Ethphy instead of Enet.
    The question is just, why?

    If I were to implement different ethernet drivers for standard ethernet and industrial ethernet, I would probably, just use the same driver design for the physical layer as that should be the same for all, and then on top of it write addons for standard ethernet layer 2 as well as PROFINET, Ethernet/IP, EtherCAT, etc. for industrial ethernet.

    So the question is, why do you have 2 different driver designs for physical layer at all
    Why not use for instance Enet for all drivers?
    Thank you for your help.


    Best regards

    Philip. 

  • Hi Philip,

    I cannot provide an explanation of why this is the case. If you try the driver and run into issues, let me know.

    Thanks,

    David