Part Number: AM2434
Other Parts Discussed in Thread: DP83869, SYSCONFIG
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.
Part Number: AM2434
Other Parts Discussed in Thread: DP83869, SYSCONFIG
Hi Shimondome Ryo,
Currently, we do not support the dp83822 PHY driver in the icss_emac options as part of SDK. But you can implement the corresponding version based on the available PHY driver for dp83822 in mcu_plus_sdk/source/board/ethphy/enet/rtos_drivers/src/dp83822.c
Along with that, I would like to get a clarification on the following comment:
The sample program seems to assume DP83869
Does this mean during the PHY bring up, the DP83822 is being recognized as DP83869? If yes, then the driver binding is not properly handled. You would have to update the available PHY driver list with the corresponding part numbers and driver files available in the workspace.
Please let us know if you need more support to enable this.
Thanks and regards,
Teja.
Dear Teja,
Thank you for your message.
I would appreciate it if you could kindly guide me through the steps to implement the corresponding version based on dp83822.c.
Regarding my comment: “The sample program seems to assume DP83869,”
I’d like to clarify that I am currently modifying the AM243x-LP ICSDK sample program to run on a custom board I designed.
Since the AM243x-LP board includes the DP83869 PHY, the ICSDK is configured accordingly.
However, my custom board uses the DP83822 PHY, so I would like to understand how to properly configure the ICSDK to support DP83822.
Thank you again for your continued support.
Best regards,
Ryo Shimodome
Hi Ryo Shimodome,
You can follow the guidelines given in the MCU PLUS SDK for the enet section to integrate Custom PHYs. The process required to link the drivers is same between ICSS-EMAC and ENET. You can find the resource in the following link.
You would have to port the driver to expose the same API functionalities as of the existing ethphy_dp83869.c in the new driver as well.
Thanks and regards,
Teja.
Please let me confirm the procedure. If there are any mistakes or missing steps, please point them out.
Edit ETHPHY (ICSS-EMAC) instead of ETHPHY (Enet CPSW/ICSS)
Copy several files to the directory where main.c is located:
C:\ti\mcu_plus_sdk_am243x_11_01_00_17\source\board\ethphy\enet\rtos_drivers\src\dp83822.cC:\ti\mcu_plus_sdk_am243x_11_01_00_17\source\board\ethphy\enet\rtos_drivers\src\dp83822_priv.hC:\ti\mcu_plus_sdk_am243x_11_01_00_17\source\board\ethphy\enet\rtos_drivers\src\phy_common_priv.cC:\ti\mcu_plus_sdk_am243x_11_01_00_17\source\board\ethphy\enet\rtos_drivers\src\phy_common_priv.hC:\ti\mcu_plus_sdk_am243x_11_01_00_17\source\board\ethphy\enet\rtos_drivers\include\dp83822.hC:\ti\mcu_plus_sdk_am243x_11_01_00_17\source\board\ethphy\enet\rtos_drivers\include\phy_common.hBuild using CCS
Additional Information
undefined first referenced
symbol in file
--------- ----------------
gEthPhyFxns_DP83822 ./syscfg/ti_board_open_close.oHi Ryo Shimodome,
Please let me go through the details once more, and confirm the process. The documentation discusses about integration with MCU Plus SDK where the RTOS drivers are slightly differently maintained. Since this is a weekend, please allow me a couple of days to verify the changes required and update you in the same.
Thanks and regards,
Teja.
Hi Ryo Shimodome,
Please follow the steps below to start with enabling DP83822 support for ethphy:
Edit ETHPHY (ICSS-EMAC) instead of ETHPHY (Enet CPSW/ICSS)
With these steps, you should be able to enable the ethphy driver for DP83822 for emac driver. Please let us know if you have additional queries regarding this issue.
Thanks and regards,
Teja.
In addition to the steps you pointed out, I also performed the following:
However, when running the EtherCAT CiA402 sample, it does not work properly:
Here are my questions:
Hi Ryo Shimodome,
Can you please check if the driver that you added is also made available as part of the available drivers in the ti_board_config.c? (Ex: gEnetPhyDrvs list)
If not, then the PHY device would still use the generic PHY driver available as part of the list. Please ensure the generic driver is always the last entry in the list of available drivers.
Regarding the issues with the EtherCAT application, I will assign this thread to the corresponding experts to help you with the problems.
Thanks and regards,
Teja.
I checked sysconfig/ti_board_config.c, but there is almost nothing written in it. The same goes for sysconfig/ti_board_config.h.
```
ti_board_config.c
```
```
ti_board_config.h
```
Hi,
Please let me check with the industrial comms SDK, and get back to you on how to configure to use custom phy driver from sysconfig gui. This output looks different than the expectation. Can you please give some details on the SDK version that you are using? This will help in reproducing the issue and finding the right steps to unblock you further.
Thanks and regards,
Teja
Sorry, the issue below has been resolved.
- The sub-device is not detected during scanning from the EtherCAT main device.
- EC_SLV_APP_cia402Application() (the callback function registered with EC_API_SLV_CiA402_registerApplication()) is not called.
The cause was the PHY LED0 configuration. I changed the bootstrap pin CRS from MODE2 to MODE4.
MODE2: ON for Good Link, BLINK for TX/RX Activity
MODE4: ON for Good Link, OFF for No Link
Sorry, the issue below has been resolved.
- The sub-device is not detected during scanning from the EtherCAT main device.
- EC_SLV_APP_cia402Application() (the callback function registered with EC_API_SLV_CiA402_registerApplication()) is not called.
The cause was the PHY LED0 configuration. I changed the bootstrap pin CRS from MODE2 to MODE4.
MODE2: ON for Good Link, BLINK for TX/RX Activity
MODE4: ON for Good Link, OFF for No Link
Hi,
Thank you for the confirmation. Please let us know if you have any more queries further.
Thanks and regards,
Teja.
In the EtherCAT subdevice example for the AM243x-LP, the DP83869 driver is included, which uses the functions CUST_PHY_DP83869_readExtendedRegister() and CUST_PHY_DP83869_writeExtendedRegister(). Are equivalent functions required for the DP83822? Additionally, which extended registers must be properly configured for the DP83822?
Thank you for your time. I have managed to resolve the matter myself.
Hi,
Thank you for your update. Please let us know when you need any further clarifications.
Thanks and regards,
Teja.