3. Foundational Components
- 3.1. U-Boot
- 3.1.1. User’s Guide
- 3.1.1.1. General Information
 - 3.1.1.2. USB Device Firmware Upgrade (DFU)
 - 3.1.1.3. Booting over Ethernet (Ethernet RGMII)
 - 3.1.1.4. SD, eMMC and USB
- 3.1.1.4.1. Partitioning eMMC from U-Boot
 - 3.1.1.4.2. Updating an SD card from a host PC
 - 3.1.1.4.3. Updating an SD card or eMMC using DFU
 - 3.1.1.4.4. Booting Linux from SD card or eMMC
 - 3.1.1.4.5. Booting tiboot3.bin, tispl.bin and u-boot.img from eMMC boot partition (For K3 class of SoCs)
 - 3.1.1.4.6. Booting to U-Boot prompt from USB storage
 - 3.1.1.4.7. Booting Linux from USB storage
 - 3.1.1.4.8. Steps for working around SD card issues
 
 - 3.1.1.5. SPI
 - 3.1.1.6. OSPI/QSPI
 - 3.1.1.7. UART
 - 3.1.1.8. DDRSS ECC
 - 3.1.1.9. RemoteProc
 - 3.1.1.10. U-Boot Splash Screen
- 3.1.1.10.1. Features supported
- 3.1.1.10.1.1. Enabling the splash screen on ti-u-boot
 - 3.1.1.10.1.2. Display custom logo as splash screen
 - 3.1.1.10.1.3. Enabling splash screen on custom board based on AM62x SoC
 - 3.1.1.10.1.4. Display image using U-Boot command line
 - 3.1.1.10.1.5. Run splash screen using OSPI NOR
 - 3.1.1.10.1.6. Display RLE compressed image
 - 3.1.1.10.1.7. Flicker free display across boot stages and Linux Kernel
 - 3.1.1.10.1.8. Flicker free and persistent display until display server
 
 
 - 3.1.1.10.1. Features supported
 
 - 3.1.2. Troubleshooting
 
 - 3.1.1. User’s Guide
 - 3.2. Kernel
- 3.2.1. Users Guide
 - 3.2.2. Kernel Drivers
- 3.2.2.1. Audio
 - 3.2.2.2. CSI2RX
 - 3.2.2.3. Crypto
 - 3.2.2.4. MCAN
 - 3.2.2.5. MCRC64
 - 3.2.2.6. DSS
 - 3.2.2.7. EQEP
 - 3.2.2.8. GPIO
 - 3.2.2.9. I2C
 - 3.2.2.10. CPSW Ethernet
 - 3.2.2.11. NETCONF/YANG
 - 3.2.2.12. PWM
 - 3.2.2.13. OSPI/QSPI NOR/NAND
 - 3.2.2.14. SPI
 - 3.2.2.15. NAND
 - 3.2.2.16. MMC/SD
 - 3.2.2.17. UART
 - 3.2.2.18. USB
 - 3.2.2.19. Voltage & Thermal Management (VTM)
 - 3.2.2.20. Watchdog
 
 - 3.2.3. LTP-DDT Validation
 - 3.2.4. FAQs
 
 - 3.3. Power Management
- 3.3.1. Power Management Overview
 - 3.3.2. DFS
 - 3.3.3. CPUIdle
 - 3.3.4. Runtime PM
 - 3.3.5. Low Power Modes
 - 3.3.6. Wakeup Sources
 - 3.3.7. S/W Architecture of System Suspend
 - 3.3.8. Debug Information
 
 - 3.4. Security
 - 3.5. Filesystem
 - 3.6. Tools
- 3.6.1. Development Tools
 - 3.6.2. Pin Mux Tools
 - 3.6.3. Flash via USB Device Firmware Upgrade (DFU)
 - 3.6.4. Flash via Ethernet
 - 3.6.5. Flash via UART
 
 - 3.7. PRU Subsystem
- 3.7.1. Overview of PRU Subsystem
- 3.7.1.1. Getting Started Information
 - 3.7.1.2. Hardware Information
 - 3.7.1.3. Training Material
 - 3.7.1.4. Development Tools
 - 3.7.1.5. Software Information
 - 3.7.1.6. Examples
 - 3.7.1.7. Evaluation Hardware
 - 3.7.1.8. TI Designs
 - 3.7.1.9. Support
 - 3.7.1.10. PRU FAQ
- 3.7.1.10.1. PRU Applications & Support questions
- 3.7.1.10.1.1. What is the difference between the PRU subsystem and ICSS?
 - 3.7.1.10.1.2. Is TI providing libraries for the PRU?
 - 3.7.1.10.1.3. Can I develop my own industrial protocols on the PRU-ICSS?
 - 3.7.1.10.1.4. Can the PRU run a High Level Operating System?
 - 3.7.1.10.1.5. My processor has a PRU. Is the PRU supported in the Linux Processor SDK?
 
 - 3.7.1.10.2. PRU Memory Access questions
 - 3.7.1.10.3. PRU GPI/O questions
- 3.7.1.10.3.1. What is the maximum speed for toggling PRU GPO pins via PRU software?
 - 3.7.1.10.3.2. When does the PRU start capturing from the input pins?
 - 3.7.1.10.3.3. Can the module be modified so that the GPI start bit is a zero instead of a one?
 - 3.7.1.10.3.4. What happens after 28 bit GPI shifts?
 - 3.7.1.10.3.5. Can data be pre-loaded into shadow registers prior to configuring the PRU GPO mode to shift out mode?
 - 3.7.1.10.3.6. When does PRU<n>_CLOCKOUT start running?
 - 3.7.1.10.3.7. When does the PRU start shifting data in the shadow registers?
 - 3.7.1.10.3.8. The shadow registers are loaded by writing to PRU<n>_R30 [0:15]. Does this change the state of the corresponding device-level pins?
 - 3.7.1.10.3.9. When the PRU<n>_ENABLE_SHIFT bit is cleared, does the PRU immediately stop shifting PRU<n>_DATAOUT?
 - 3.7.1.10.3.10. Does the PRU shift data out LSB or MSB first?
 - 3.7.1.10.3.11. What happens to the content stored in R30 when the PRU changes to a different GPO mode?
 
 - 3.7.1.10.4. PRU INTC and System Event questions
 - 3.7.1.10.5. PRU Debugger questions
 
 - 3.7.1.10.1. PRU Applications & Support questions
 
 - 3.7.2. Training
- 3.7.2.1. PRU Getting Started Labs
 - 3.7.2.2. Lab 1: How to Create a PRU Project
 - 3.7.2.3. Lab 2: How to Write PRU Firmware
 - 3.7.2.4. Lab 3: How to Compile PRU Firmware
 - 3.7.2.5. Lab 4: How to Initialize the PRU
 - 3.7.2.6. Lab 5: Basic Debugging of PRU Firmware
 - 3.7.2.7. PRU Hands-on Labs
- 3.7.2.7.1. Lab Configuration
 - 3.7.2.7.2. LAB 1: Toggle LED with PRU GPO
 - 3.7.2.7.3. LAB 2: Read Push Button Switch on PRU0 GPI & Toggle LED with PRU1 GPO
 - 3.7.2.7.4. LAB 3: Temperature Monitor
 - 3.7.2.7.5. LAB 4: Introduction to Linux driver
 - 3.7.2.7.6. LAB 5: RPMsg Communication between ARM and PRU
- 3.7.2.7.6.1. Build the PRU Firmware - Using CCSv6
 - 3.7.2.7.6.2. Build the PRU Firmware - Using the Provided Makefile
 - 3.7.2.7.6.3. Build the RPMsg Client Sample Driver
 - 3.7.2.7.6.4. Copy files to the target file system
 - 3.7.2.7.6.5. Part 1: Kernel space communication
 - 3.7.2.7.6.6. What just happened?
 - 3.7.2.7.6.7. Part 2: User Space Communication
 - 3.7.2.7.6.8. Part 3: User Space Application
 - 3.7.2.7.6.9. What just happened?
 
 - 3.7.2.7.7. LAB 6: Blinking LEDs with RPMsg from Linux User Space
- 3.7.2.7.7.1. Build the PRU Firmware - Using CCSv6
 - 3.7.2.7.7.2. Build the PRU Firmware - Using the Provided Makefile
 - 3.7.2.7.7.3. Copy files to the target file system
 - 3.7.2.7.7.4. Part 1: Linux Command Line LED Toggling
 - 3.7.2.7.7.5. What just happened?
 - 3.7.2.7.7.6. Part 2: Linux Shell Script LED Toggling
 - 3.7.2.7.7.7. What just happened?
 
 
 - 3.7.2.8. Getting Started with PRU Software Support Package
 - 3.7.2.9. RPMsg Quick Start Guide
- 3.7.2.9.1. Introduction
 - 3.7.2.9.2. Getting the Linux Processor SDK
 - 3.7.2.9.3. Configuring and Building the Linux Kernel with RPMsg Support
 - 3.7.2.9.4. Creating a Bootable SD Card with RPMsg Support
 - 3.7.2.9.5. Booting the Board and Testing RPMsg
 - 3.7.2.9.6. Getting Started with RPMsg Development
 - 3.7.2.9.7. Common Issues
 
 
 - 3.7.3. Linux Drivers
 - 3.7.4. Firmware Development
 - 3.7.5. Hardware
 
 - 3.7.1. Overview of PRU Subsystem
 - 3.8. IPC for AM62x
- 3.8.1. Software Dependencies to Get Started
 - 3.8.2. Typical Boot Flow on AM62x for ARM Linux users
 - 3.8.3. Getting Started with IPC Linux Examples
 - 3.8.4. Booting Remote Cores from Linux console/User space
 - 3.8.5. DMA memory Carveouts
 - 3.8.6. Changing the Memory Map
 - 3.8.7. RPMsg Char Driver
 - 3.8.8. ti-rpmsg-char library
 - 3.8.9. RPMsg examples:
 
 - 3.9. Graphics and Display
 - 3.10. Hypervisor
- 3.10.1. Jailhouse
- 3.10.1.1. Overview
 - 3.10.1.2. Enabling hypervisor on AM62x platform
 - 3.10.1.3. Building Jailhouse Image for AM62x platform
 - 3.10.1.4. Generate SD Card Image for Jailhouse
 - 3.10.1.5. Booting the SD Card Image
 - 3.10.1.6. Pre-built components in Jailhouse Image
 - 3.10.1.7. Jailhouse Interface
 - 3.10.1.8. Running Jailhouse Demos on AM62x
 - 3.10.1.9. Memory Reservation
 - 3.10.1.10. Hardware Modules Reservation
 - 3.10.1.11. Root-cell configuration
 - 3.10.1.12. Performance
 
 
 - 3.10.1. Jailhouse
 - 3.11. Virtualization
 - 3.12. Machine Learning
 - 3.13. ARM Trusted Firmware-A
 - 3.14. OP-TEE