SPRADD1A August   2023  – September 2024 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62D-Q1 , AM62P , AM62P-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Installing the SDK
  6. Configuring the SDK for a Custom Board
  7. Starting U-Boot Board Port
    1. 4.1 Introduction to Devicetrees
    2. 4.2 Capabilities of the Minimal Configuration
    3. 4.3 Preparing Custom Board Files
    4. 4.4 Initial Devicetree Modifications
    5. 4.5 Building U-Boot Binaries
    6. 4.6 U-Boot Deployment Instructions
  8. Expanding the Custom Board Devicetree
    1. 5.1 Devicetree Configuration
    2. 5.2 Describing Peripherals in Nodes
    3. 5.3 Revising the Devicetree Configuration
  9. Booting the Linux Kernel
    1. 6.1 Kernel Boot Overview
    2. 6.2 Kernel Deployment Instructions
  10. Tools and Debugging
    1. 7.1 Kernel Debug Traces
    2. 7.2 OpenOCD Debugging
  11. Future Work
  12. Summary
  13. 10References
  14.   Revision History

Capabilities of the Minimal Configuration

The minimal configuration consists of the minimal devicetrees and the configuration files that make these devicetrees accessible to U-Boot and the Linux kernel. This minimal configuration can be used to test initial board functionality with a reduced set of peripherals before beginning to expand the devicetrees to completely support a custom board. For simplicity, the only peripherals initially supported by the minimal configuration are the SD card reader and UART. If a custom board relies on different peripherals to boot, or cannot use these peripherals to boot, new devicetree nodes will need to be created.

The minimal configuration slows down and disables advanced features of the SD card reader. The SD card reader is forced to run at 25MHz Legacy SDR using only 3.3V signals to support the most common class of SD cards. This support reduces the number of issues related to high-speed or low voltage capabilities that can often result in a failure when attempting to boot to the Linux kernel if the board does not correctly support these advanced capabilities. DDR memory is also configured at a lower speed for similar reasons. It is common for new boards to have intermittent issues running at optimal speeds, so de-tuning these interfaces can help isolate problems and accelerate progress.

Using this minimal configuration, functionality of the custom board can be verified and incrementally expanded to include the full range of peripherals and optimized features. This guide was developed for the AM62x, however, it can be expanded to other TI SoCs as described in Section 8.