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.

Linux/AM5716: Kernel hangs at boot time

Part Number: AM5716

Tool/software: Linux

Hi,

We see that the AM5716 processor hangs during booting after "Starting kernel ..." prints.

Can you please suggest on what can be the possible reason for failure on this board?

Please note that the issue is present only in one of the Hardware boards and all other boards are working fine with same design and software.

Regards

Raja

  • Hi,

    Possible issues may be:
    1. Incorrect device tree file.
    2. You use different debug uarts in kernel & u-boot.
    3. Mis-match between boot-loader and kernel machine numbers
    4. Some other software bug.

    Can you enable early printk in kernel defconfig? Maybe also add #define DEBUG in u-boot include/configs/am57xx_evm.h. These will provide a more verbose console output.

    Best Regards,
    Yordan
  • Hi Yordan,

    We have built 5 Hardware boards and the hang happens in only one of these boards. All 4 remaining boards boot properly. Hence, the hang in 5th board should be related to some Hardware issue in Assembly or Component Failure. Could you please point us on what can we check for the same?

    FYI, We have checked all the Power supply voltages, Limited DDR3 testing and RGMII0 testing at u-boot. We are downloading the device-tree, kernel and file-system over ethernet to DDR, setting the boot arguements and then booting the board.


    Regarding prints at kernel, we see that it is already enabled. However, we don't get any print after "Starting Kernel..." prints.

    Regards
    Raja

  • Hi Raja,

    We have built 5 Hardware boards and the hang happens in only one of these boards. All 4 remaining boards boot properly. Hence, the hang in 5th board should be related to some Hardware issue in Assembly or Component Failure. Could you please point us on what can we check for the same?


    Most likely this is a hardware issue. Do you have any alternative boot method, i.e. sd card, emmc, uart?
    Can you add define DEBUG in u-boot/include/configs/am57xx_evm.h to enable a more verbose output from u-boot?
    Another option is to connect the board to an external jtag & monitor u-boot exectuion, see: training.ti.com/linux-board-porting-series-module-7-debugging-u-boot-jtag-ccs

    Also can you probe the power rails
    VDD, VDD_MPU, VDD_GPU, VDD_IVA and VDD_DSPEVE
    to confirm there is no voltage drops (specifically to vdd & vdd_mpu).

    Also check the external oscillators & reset signals.
    To be sure you don't miss anything, check the critical connections in the schematic checklist (Power, Reset, Clocking):
    processors.wiki.ti.com/.../AM57xx_Schematic_Checklist

    Best Regards,
    Yordan
  • Hi Yordan,

    Thanks for the response.

    We have the provision for SD card boot, however it is not mounted currently. We also have eMMC connected to MMC2 interface, however, it is required to be formatted and loaded with MLO/u-boot first using some other boot mechanism. Also, as the board is properly coming up till u-boot and then downloading the device-tree/kernel/file-system over ethernet to DDR3, we feel that there is no issue with the boot start procedure.

    We tried adding #define DEBUG in the file mentioned by you. However, with this u-boot, the board crashes at u-boot itself.
    We also connected to the AM5716 processor via JTAG during Kernel hang and checked the PC location and it was pointing to some kernel memory space.

    We also checked the Power Supplies, Reset and Clock signals to the AM5716 processor and all of them were fine.

    Can it be due to some internal fault in AM5716 component?

    Regards
    Raja
  • Hi Raja,

    We also connected to the AM5716 processor via JTAG during Kernel hang and checked the PC location and it was pointing to some kernel memory space.

    We also checked the Power Supplies, Reset and Clock signals to the AM5716 processor and all of them were fine.

    Can it be due to some internal fault in AM5716 component?


    No, based on this, most likely it is because of some incorrect setting of the cmem in the dts. Please share the dts & dtsi files you use. Also provide some information about your hw setup:
    How much RAM does your system have?
    How is it connected to the device?

    Shortly describe the differences between your board & the reference TI EVMs.

    Best Regards,
    Yordan

  • Just to update, We found that we were setting the DDR3 frequency to 667MHz, however, timing parameters were set for 532MHz. With correct DDR3 timing parameters, the issue was resolved.
    It was interesting to see that we saw failure in only one of the board and other boards worked fine with 532MHz timing parameters while running at 667MHz.