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.

AM625: Example CSI Source Code

Part Number: AM625


I have been unable to locate any source code examples for the Camera Streaming Interface (CSI) block of the AM625 in either its MCU+ SDK or RT-Linux SDK . Also, the CSI documentation in the TRM (SPRUIV7 – MAY 2022) is incomplete in many ways, notably in terms of the use of CSI in conjunction with the PSI_L DMA, and the definitions of fields in the associated CSI registers.

So, please provide any available source code examples and supplemental documentation that are applicable to the CSI module of the AM625.

  • I have the same question!

  • Hello Grant, Carlos,

    The CSI RX driver on AM62x is currently only available in the Linux and RT-Linux SDK, but not in the MCU+ SDK. The driver is based on the V4L2 API and the documentation can be found from the Processor SDK Developer's Guide for CSIRX.

    Regarding source code examples, did you mean examples on how to use the CSI-RX driver?

    Regarding TRM questions, let me check with our HW team and get back to you.

    Regards,

    Jianzhong

  • There are no plans to do a CSI driver for M4 in MCU+ SDK. 

  • Hi Jianzhong, thanks for pointing out the CSIRX documentation. I looked at that but was not able to find any listing of the applicable set of C source files. Neither my co-workers or I are Linux developers, so TIs RT-Linux SDK is very difficult for us to navigate compared to the MCU+ SDK. So, can you provide a list of the specific CSI-related source code files in the RT-Linux SDK that we can use as examples for CSI development?

  • Thanks for the information. We have heard from our TI rep that TI does not plan to provide full SDKs for the AM625 or most of their parts in the future. For our initial project development on the AM64x EVM, we were able to draw from its SDK to speed our development and to compensate for areas where its documentation was vague, incomplete, or incorrect. As constructive feedback, I believe the lack of full SDKs will be considered a major drawback for your embedded customers going forwards, and will result in TI's future loss of design wins.

  • Hi Grant,

    I'm not exactly sure what you meant by "TI does not plan to provide full SDKs for the AM625". Please keep in mind that the AM62x devices are built for Linux application development as described in the product page. Therefore supporting all peripheral on either the M4 cores or R5 core is not our priority. Maybe that's what you meant by lack of full SDK?

    On the other hand, the AM64x devices are built to provide real-time performance through the high-performance R5Fs, Tightly-Coupled Memory banks, etc. Therefore the MCU+ SDK for AM64x is more complete. If you need solid real-time performance, I would recommend you to consider AM64x rather than AM62x.

    Regards,

    Jianzhong

  • If you would like to look at the CSIRX driver source code, it is located at: processor-sdk-linux-rt-am62xx-evm-08.03.00.19/board-support/linux-rt-5.10.109+gitAUTOINC+d9ee8a25c2-gd9ee8a25c2/drivers/media/platform/ti/j721e-csi2rx.

  • Thanks for the suggestion. However, we are already fully committed to using the AM62x in our design, which is a safety-related "bare metal" embedded application. (Linux does not meet the formal safety certification requirements of our application.)

    We have been working with other folks at TI on our AM625 design for quite some time, and our circuit board designs and software are relatively mature. So, the lack of a full non-Linux SDK (which would cover each major module within the SOC, as the AM65x PDK did) for the AM625 is not a compelling reason for us to choose another part at this point.

    Instead, we would prefer  to receive adequate example code and/or documentation on the AM625. I believe that would benefit not just us but all of TI's customers who might consider the newly released AM625. However, I understand that TI may have other priorities at the moment.

  • For CSI-2 example code on AM62x, the Linux driver code that I provided earlier is the only available code.

    For more documentation in the TRM,

    the CSI documentation in the TRM (SPRUIV7 – MAY 2022) is incomplete in many ways, notably in terms of the use of CSI in conjunction with the PSI_L DMA, and the definitions of fields in the associated CSI registers.

    Let me loop in our HW team to provide further help.

  • Hello Grant Griffin

    documentation on the AM625. I believe that would benefit not just us but all of TI's customers who might consider the newly released AM625. 

    Thank you for the note and agree with you.

    Regards,

    Sreenivasa

  • Hello Grant Griffin

     definitions of fields in the associated CSI registers

    Could you please point the registers you are looking at and need additional info.

    Regards,

    Sreenivasa

  • Hello Jianzhong Xu

    Thank you for the note on the TRM documentation. 

    the CSI documentation in the TRM (SPRUIV7 – MAY 2022) is incomplete in many ways, notably in terms of the use of CSI in conjunction with the PSI_L DMA, and the definitions of fields in the associated CSI registers.

    Let me loop in our HW team to provide further help.

    Let me check internally on the availability of additional information to support your query.

    Regards,

    Sreenivasa 

  • Hello Grant Griffin

    RM (SPRUIV7 – MAY 2022) is incomplete in many ways, notably in terms of the use of CSI in conjunction with the PSI_L DMA, and the definitions of fields in the associated CSI registers

    Could you please list the registers you are looking at and need additional info.

    Regards,

    Sreenivasa