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.

SK-AM62A-LP: EMMC Flashing on our production board

Part Number: SK-AM62A-LP

Hi,

I try to flash the EMMC with Linux OS on our production board (In parallel to the EVM board:  https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1322166/sk-am62a-lp-flashing-emmc),

I try to send the tiboot3.bin file in UART mode via XMODEM, but it got stuck:


CC
U-Boot SPL 2023.04-gb0d717b732 (Dec 06 2023 - 15:11:45 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)')
am62a_init: board_init_f done
SPL initial stack usage: 17040 bytes

Can you help me please?

Thanks,

Rachel

  • Hi Rachel,

    On the production board, please make sure the DDR configuration matches closely to the AM62A EVM.

    This is a very common issue faced on custom boards.

    Do check the below thread for more understanding of this issue: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1316848/am62a7-custom-board-stuck-in-spl

    Regards,
    Aparna

  • Hi Aparna,

    For our custom board I try the Linux Board Port (ti.com) guide.

    I get the "*** Can't find default configuration "arch/arm64/configs/tisdk_am62ax-evm_defconfig"!" error

    on "make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' tisdk_am62ax-evm_defconfig" command.

    Do you know why?

    Thanks,
    Rachel



  • Hi Rachel,

    Which SDK version are you using?

    Regards,
    Aparna

  • Hi Aparna,

    The SDK version is ti-processor-sdk-linux-rt-edgeai-am62axx-evm-09_01_00_02.

    Thanks,
    Rachel

  • Hi Rachel,

    The SDK version ti-processor-sdk-linux-am62axx-evm-08.06.00.45 has tisdk_am62ax-evm_defconfig in arch/arm64/configs directory. You can try copying this file into 9.1 SDK and try again.

    tisdk_am62axx-evm_defconfig

    Regards,
    Aparna

  • Hi Aparna,

    Thanks on your answer!
    Do you know why the command

    make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' dtbs

    Failed on:

    DTC arch/arm64/boot/dts/ti/k3-am62a7-hello-world.dtb
    arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "mcu_mcan0"

    also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
    arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "mcu_mcan1"

    also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
    arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "mcu_uart0"

    also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
    arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "wkup_uart0"

    also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
    arch/arm64/boot/dts/ti/k3-am62a7.dtsi:104.27-145.4: ERROR (phandle_references): /opp-table: Reference to non-existent node or label "wkup_conf"

    ERROR: Input tree has errors, aborting (use -f to force output)
    make[2]: *** [scripts/Makefile.lib:424: arch/arm64/boot/dts/ti/k3-am62a7-hello-world.dtb] Error 2
    make[1]: *** [scripts/Makefile.build:502: arch/arm64/boot/dts/ti] Error 2
    make: *** [Makefile:1478: dtbs] Error 2

    Thanks,
    Rachel

  • Hi Rachel,

    Also, run the command, and then build dtbs:

    make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' defconfig


    Can you share the steps you have followed until now.

    Regards,
    Aparna

  • Hi Aparna,

    The steps that I did:

    1. sdk installation
    2. Download the k3-am62a7-hello-world.dts file from Linux Board Port (ti.com)
    3. Copy the k3-am62a7-hello-world.dts file to ti-processor-sdk-linux-rt-edgeai-am62axx-evm-09_01_00_02/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+b871cdee8c-gb871cdee8c/arch/arm64/boot/dts/ti
    4. Add the line: 
      dtb-$(CONFIG_ARCH_K3) += k3-am62a7-hello-world.dtb
      to ti-processor-sdk-linux-rt-edgeai-am62axx-evm-09_01_00_02/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+b871cdee8c-gb871cdee8c/arch/arm64/boot/dts/ti/Makefile
    5. export PATH=<toolchain location>/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-linux-gnueabihf/bin:$PATH
    6. export PATH=<toolchain location>/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-linux-gnu/bin:$PATH
    7. Copy the tisdk_am62axx-evm_defconfig file to ti-processor-sdk-linux-rt-edgeai-am62axx-evm-09_01_00_02/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+b871cdee8c-gb871cdee8c/arch/arm64/configs
    8. Run the below commands in ti-processor-sdk-linux-rt-edgeai-am62axx-evm-09_01_00_02/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+b871cdee8c-gb871cdee8c
      make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' mrproper
      make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' tisdk_am62axx-evm_defconfig
      make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' defconfig
      make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' dtbs (I put the /delete-node/ &sdhci2; in comment in arch/arm64/boot/dts/ti/k3-am62a7-hello-world.dts file)

      But I still get the errors:

      DTC arch/arm64/boot/dts/ti/k3-am62a7-hello-world.dtb
      arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "mcu_mcan0"

      also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
      arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "mcu_mcan1"

      also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
      arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "mcu_uart0"

      also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
      arch/arm64/boot/dts/ti/k3-am62a-main.dtsi:203.35-226.4: ERROR (phandle_references): /bus@f0000/system-controller@44043000: Reference to non-existent node or label "wkup_uart0"

      also defined at arch/arm64/boot/dts/ti/k3-am62a.dtsi:129.7-131.3
      arch/arm64/boot/dts/ti/k3-am62a7.dtsi:104.27-145.4: ERROR (phandle_references): /opp-table: Reference to non-existent node or label "wkup_conf"

      ERROR: Input tree has errors, aborting (use -f to force output)
      make[2]: *** [scripts/Makefile.lib:424: arch/arm64/boot/dts/ti/k3-am62a7-hello-world.dtb] Error 2
      make[1]: *** [scripts/Makefile.build:502: arch/arm64/boot/dts/ti] Error 2
      make: *** [Makefile:1478: dtbs] Error 2

      Can you help me please?

      Thanks,
      Rachel
  • Hi Rachel,

    Can you try adding the following to the Makefile arch/arm64/boot/dts/ti/Makefile and re-build.

    dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
    dtb-$(CONFIG_ARCH_K3) += k3-am62a7-hello-world.dtb

    Regards,
    Aparna

  • Hi Aparna,

    It still fails.

    Thanks,
    Rachel

  • Hi Rachel,

    Could you try running the following commands:

    make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' mrproper
    make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- defconfig ti_arm64_prune.config
    make ARCH=arm64 CROSS_COMPILE='aarch64-none-linux-gnu-' dtbs


    Regards,
    Aparna