SPRADC5 January   2024

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1PMIC and Power Custom Changes
  5. 2Pinmux
    1. 2.1 Steps to Configure the PinMux
    2. 2.2 Manual Audit of the Pinmux
  6. 3Custom DDR Related Changes
  7. 4Minimal Kernel DT to Start With
  8. 5Boot Mode Support Summary
    1. 5.1 No-Boot Mode
    2. 5.2 UART Boot Mode
    3. 5.3 OSPI/QSPI/SPI/xSPI/Serial NAND
  9. 6Commonly Encountered Issues During Custom Board Bring Up

Commonly Encountered Issues During Custom Board Bring Up

  1. Custom dts files in U-Boot: The U-Boot framework expects a k3-j721e-common-proc-board-u-boot.dtsi for A72 SPLcorresponding to k3-j721e-common-proc-board.dtsi.So if a customer board has DTS file named k3-j721e-custom-board.dts then one shouldadd k3-j721e-custom-board-u-boot.dts. That is mandatory for A72 SPL.
  2. Switching the console to different UART. For example, how to switch console to MCU_UART from MAIN_UART.

    There are three stages according to the boot flow:

    • R5 SPL
    • A72 SPL
    • A72 u-boot.

    So, you need to change this at all levels. On top of that, Arm Trusted Firmware (ATF) also needs to change the console port as needed. Following are the dts changes on J7200 and similar changes for J721e that will work fine:

    FAQ Link: https://e2e.ti.com/support/processors/f/791/t/988278

  3. How to debug with CCS when there are no console prints.

    Add an infinite loop at the start of the first instruction of R5 SPL.

    diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
    index 4f6327fe3ab..96c4554744c 100644
    --- a/arch/arm/cpu/armv7/start.S
    +++ b/arch/arm/cpu/armv7/start.S
    @@ -37,6 +37,7 @@
     
    #endif
     
     reset:
    +       b reset
            /* Allow the board to save important registers */
            b       save_boot_params
     save_boot_params_ret:
    Then we can attach to MCU R5F_0 using CCS. Move PC to the next instruction & step through to check where the crash is.
  4. How to change the console for ATF and OPTEE for j721s2 and j784s4?

    Make CROSS_COMPILE64=aarch64-none-linux-gnu- CROSS_COMPILE=arm-none-linux-gnueabihf- PLATFORM=k3-j784s4 CFG_ARM64_core=y CFG_CONSOLE_UART=0x8

    Based on the custom board UART_INSTANCE X.

    CFG_CONSOLE_UART=0x8 will change