SPRADD1A August 2023 – September 2024 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1
TI provides a Software Development Kit (SDK) to accelerate development on the AM62x SoC. This software package is tuned for evaluation modules (EVMs), like Starter Kits (SKs). The SDK and SKs are designed for quick evaluation of the SoC's many capabilities for a variety of use cases. All features and capabilities, such as a variety of boot modes, are enabled and optimized. While this flexibility is great for an evaluation platform, this added complexity may not be needed on custom boards designed for specific use cases. In such cases, for example, only a couple of these boot modes would be used in an end product.
Removing complexity from the complete configurations that are provided in the SDK is not efficient and can extend custom board bring up time from days to weeks. This process can involve arbitrarily disabling features to determine how to configure a simpler use case. The interconnected nature of the system works against developers to discern where problems start. Instead of peeling back the layers of a complex system to find the problem, the recommended approach is to start with a minimal configuration as a strong foundation and iterate toward a complete and optimized configuration. Incrementally adding one feature at a time quickly identifies what aspects of the board are functional and which ones are not. Non-functional areas can be targeted for debugging.
This application note details adding custom board support using the SDK. The SDK contains source code repositories for the Linux kernel and U-Boot, which is used as the bootloader. To enable a new custom board, both Linux and U-Boot need to be ported to the custom board. First, the U-Boot environment is configured for the new board. Next, the U-Boot board port begins by creating the required custom board files and making initial modifications to the board's new devicetree, a software structure that describes the underlying hardware. Finally, individual features and peripherals are incrementally added to the devicetree until it is complete and all board features are functional as required by U-Boot to boot the board. The same devicetree is used to enable the Linux kernel on the new board to complete the porting process. To navigate any errors that arise during the bring-up process, this document also includes guidance on debugging.
It is recommended to go through the process detailed in this document using a TI EVM prior to receiving the custom board. This makes for an efficent bring up process once the custom board arrives, and also validates the steps in this document on a board that is known to be functional.
Software file download links can be found in Section 10. While this guide and the provided files were developed for the AM62x family, it can be expanded to other TI SoCs as described further in Section 8.