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.

AM6442: PCIE_open() failures in new versions of SDK

Part Number: AM6442
Other Parts Discussed in Thread: SYSCONFIG

Hello,

I know there is an existing bug that mentions the PCIE examples are not working in the newer SDK versions. However I am getting failures in the PCIE_open() call from Drivers_pcieOpen() in ti_drivers_open_close.c file that is generated by Sysconfig. Is there a patch of some kind to fix the PCIE in these later SDK versions, or some documentation of what needs to be changed from 9.01 to the latest SDK version? We need to upgrade to get support for another feature but we also need to have PCIE working.

Thanks,

Ryan

  • Hi Ryan,

    Please tell which version of SDK are you using?

    Are you getting any error logs? Please share the logs with us.

    Regards,

    Tushar

  • Tested with latest MCU SDK 11.2 and version 9.02 when issue first started. There are no error logs, the failure is in the TI SDK with all PCIE examples. I am aware of EXT_SITMPUSW-22, however at this time I cannot even get past the PCIE_open call. Having the same issue in both the TI examples and with our project. Both were working in SDK 9.01. I need to know what to change in order to have PCIE working in 11.2. I find it hard to believe that PCIE functionality would have been broken since that release, so there must be some change that allows it to work in the latest MCU SDK on the R5.

    Thanks,

    Ryan

  • Hello,
    Thank you for your query. The concerned expert is Out of Office due to **TI India** Holiday.
    Please expect a delay in response. We appreciate your patience and understanding.

    Best regards,
    TI E2E Support Team
    ---
    *This is an automated notification.*

  • Hi Ryan,

    I have tried running the PCIE benchmark EP example and I am able to pass through the PCIE_open() function call without issues.

    Please refer video below.

    Regards,

    Tushar

  • Hi Tushar,

    That is my fault for not mentioning in the original question, the issue occurs on the RC examples, not the EP examples. The EP examples seem to work ok for me as well. Are you able to reproduce on the R5 RC?

    Thanks,

    Ryan

  • Hi Tushar,

    Have you been able to test with the RC example on the R5?

    Thanks,

    Ryan

  • Hi Ryan,

    In SDK 9.2.1 there was an update to the then existing PCIe RTOS driver on AM243x to extend the PCIe driver to support a generic EP use case where the EP is connected to an arbitrary RC running Linux or Windows. Due to this feature a lot updates were made which broke the existing examples.

    These known issues and non-working examples from SDK 9.2.1 onwards are mentioned in the release notes and also documented in the external JIRA EXT_SITMPUSW-22.

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_01_00_17/exports/docs/api_guide_am243x/RELEASE_NOTES_11_01_00_PAGE.html

    The example that works today is the PCIe EP Enumeration example documented in the below SDK doc.

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_01_00_17/exports/docs/api_guide_am243x/EXAMPLES_DRIVERS_PCIE_ENUMERATE_EP.html

    As of today there is no aligned commitment on extending the features of the current PCIe driver on RTOS.

    Regards

    Karan

  • Hi Tushar,

    Yes, I am aware of EXT_SITMPUSW-22, I mentioned it in my earlier reply. However the issue is not just that the examples are broken, but that RC support for the MCU SDK PCIE driver seems to be broken as well. Are you saying you no longer support PCIE root complex for AM64x/AM243x in the driver itself? Also you seem to be mentioning RTOS, what about NORTOS?

    Thanks,

    Ryan

  • Hi Ryan,

    However the issue is not just that the examples are broken, but that RC support for the MCU SDK PCIE driver seems to be broken as well.

    Yes, currently the driver seems to be broken after SDK v09.01.

    Are you saying you no longer support PCIE root complex for AM64x/AM243x in the driver itself?

    I will check this internally and update. But as of now we have not updated the driver for PCIE after SDK v09.02 release.

    Also you seem to be mentioning RTOS, what about NORTOS?

    It is same for both RTOS and NoRTOS, I mention RTOS because the PCIE driver seems to be working on Linux SDK.

    Regards,

    Tushar

  • Hi Tushar,

    Have you heard anything from the team about whether the MCU SDK driver will be updated to support root complex again?

    Thanks,

    Ryan

  • Hi Ryan,

    Apologies for the delay here. As of today there is no aligned commitment on extending the features of the current PCIe driver on RTOS and therefore we've directed customers to our preferred partner IBV (https://www.ti.com/partner/IBV). They do have extensive expertise on PCIe RTOS driver and were the original authors for the driver which exists in the SDK today.

    Regards,

    Tushar

  • Hi Tushar,

    1. Do you know if it would be possible to revert just the PCIE driver code to what's in the 9.01 SDK? I'm wondering if it's an isolated change or has dependencies on other changes in the SDK?

    2. Is it possible to see the diff of the changes anywhere? It looks like the MCU SDK public git is out of date, but maybe I'm not looking at the right place.

    Thanks,

    Ryan

  • Hi Tushar,

    Any update on these last two questions?

    Thanks,

    Ryan

  • Hi Ryan,

    You can revert to the older version of PCIE and check the examples whether it works or not. I can see the benchmark example used DMA for data transfer, you may need to revert DMA drivers as well to make the example work again. Or you may need to change the example's code for DMA functionality.

    Similarly for other dependency also, you may need to revert to older version.

    We have not tested this on our end and cannot guarantee that it will work.

    Regards,

    Tushar