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/AM5718: Kernel boot issue

Part Number: AM5718
Other Parts Discussed in Thread: AM5728, PMP

Tool/software: Linux

Hii All,

We are using a custom board of AM5718.U-boot is booting properly from SD card,but linux is not.We checked few mmc commands from u-boot.

Please find the output for the following commands :

=> mmc part
## Unknown partition table type 0

=>mmc info
Device: OMAP SD/MMC
Manufacturer ID: 13
OEM: 14e
Name: R1J57
Bus Speed: 48000000
Mode : MMC DDR52 (52MHz)
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 27.5 GiB
Bus Width: 8-bit DDR
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 27.5 GiB WRREL
Boot Capacity: 16 MiB ENH
RPMB Capacity: 128 KiB ENH

=> mmc list
OMAP SD/MMC: 0
OMAP SD/MMC: 1 (eMMC)

=>mmc rescan

No prints

I have attached the boot log.

U-Boot SPL 2018.01-00444-g17164f4-dirty (Jul 05 2019 - 18:05:06)
DRA722-GP ES2.0
Trying to boot from MMC1
no pinctrl state for default mode
no pinctrl state for default mode
*** Warning - bad CRC, using default environment



U-Boot 2018.01-00444-g17164f4-dirty (Jul 05 2019 - 18:05:06 +0530)

CPU  : DRA722-GP ES2.0
Model: TI AM5718 IDK
Board: AM571x IDK REV
DRAM:  1 GiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment

Warning: fastboot.board_rev: unknown board revision
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
SCSI:  SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
scanning bus for devices...
Found 0 device(s).
Net:   wait_for_user_access Timeout
wait_for_user_access Timeout
Warning: ethernet@48484000 using MAC address from ROM
eth0: ethernet@48484000
Hit any key to stop autoboot:  0
Trying to boot Linux from eMMC ...
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
** No partition table - mmc 1 **
Trying to boot Android from eMMC ...
switch to partitions #0, OK
mmc1(part 0) is current device
mmc - MMC sub system

Usage:
mmc info - display info of the current MMC device
mmc read addr blk# cnt
mmc write addr blk# cnt
mmc erase blk# cnt
mmc rescan
mmc part - lists available partition on current mmc device
mmc dev [dev] [part] - show or set current mmc device [partition]
mmc list - lists available devices
mmc hwpartition [args...] - does hardware partitioning
  arguments (sizes in 512-byte blocks):
    [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes
    [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition
    [check|set|complete] - mode, complete set partitioning completed
  WARNING: Partitioning is a write-once setting once it is set to complete.
  Power cycling is required to initialize partitions after set to complete.
mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode
 - Set the BOOT_BUS_WIDTH field of the specified device
mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>
 - Change sizes of boot and RPMB partitions of specified device
mmc partconf dev [boot_ack boot_partition partition_access]
 - Show or change the bits of the PARTITION_CONFIG field of the specified device
mmc rst-function dev value
 - Change the RST_n_FUNCTION field of the specified device
   WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values.
mmc setdsr <value> - set DSR register value

mmc - MMC sub system

Usage:
mmc info - display info of the current MMC device
mmc read addr blk# cnt
mmc write addr blk# cnt
mmc erase blk# cnt
mmc rescan
mmc part - lists available partition on current mmc device
mmc dev [dev] [part] - show or set current mmc device [partition]
mmc list - lists available devices
mmc hwpartition [args...] - does hardware partitioning
  arguments (sizes in 512-byte blocks):
    [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes
    [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition
    [check|set|complete] - mode, complete set partitioning completed
  WARNING: Partitioning is a write-once setting once it is set to complete.
  Power cycling is required to initialize partitions after set to complete.
mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode
 - Set the BOOT_BUS_WIDTH field of the specified device
mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>
 - Change sizes of boot and RPMB partitions of specified device
mmc partconf dev [boot_ack boot_partition partition_access]
 - Show or change the bits of the PARTITION_CONFIG field of the specified device
mmc rst-function dev value
 - Change the RST_n_FUNCTION field of the specified device
   WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values.
mmc setdsr <value> - set DSR register value

Wrong Image Format for bootm command
ERROR: can't get kernel image!
=>

NOTE :

SDK version : ti-processor-sdk-linux-am57xx-evm-05.01.00.11

Linux Version : linux-4.14.67+gitAUTOINC+d315a9bb00-gd315a9bb00

uboot version : u-boot-2018.01+gitAUTOINC+cdb1cc0a9e-gcdb1cc0a9e

Thanks and Regards

Arpita Jena

  • Hi,

    This has been assigned to a TI engineer, but please note that response may be delayed due to holidays in the USA.

  • Hii,

    Followings are the observations during boot from SD card.

    In u-boot stage after running 'mmc list' command,we get two mmc devices listed as below.

    => mmc list
    OMAP SD/MMC: 0
    OMAP SD/MMC: 1 (eMMC)

    The 'mmc dev' command shows mmc1(eMMC) as the current device always.

    => mmc dev
    switch to partitions #0, OK
    mmc1(part 0) is current device

    mmc dev command does not change the current mmc device.

    To avoid eMMC , we have removed the part of codes for 'mmc2' in the following dts files in u-boot.

    1.u-boot/arch/arm/dts/am57xx-idk-common.dtsi

    2.u-boot/rch/arm/dts/dra72x-mmc-iodelay.dtsi

    3.u-boot/rch/arm/dts/arch/arm/dts/am571x-idk.dts

    There is no where where we get any information about the SD card from where we want to boot u-boot as well as Linux.u-boot is booting from SD card but not Linux.

    Thanks and regards

    Arpita Jena

  • Hi,

    Just want to confirm, are you trying to boot Linux or Android? I'm not used to seeing Android referenced in the logs...

    For example, here is what I get from a AM572x IDK:

    U-Boot 2018.01-g313dcd69c2 (Dec 16 2018 - 10:41:59 +0000)

    CPU : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: AM572x IDK REV 1.3A
    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    SCSI: SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
    scanning bus for devices...
    Found 0 device(s).
    Net:
    Warning: ethernet@48484000 using MAC address from ROM
    eth0: ethernet@48484000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** Unable to read file boot.scr **
    1490 bytes read in 3 ms (484.4 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    1 bytes read in 2 ms (0 Bytes/s)
    Already setup.
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4026880 bytes read in 486 ms (7.9 MiB/s)
    101271 bytes read in 97 ms (1019.5 KiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8ffe4000, end 8ffffb96 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.14.79-gbde58ab01e (oe-user@oe-host) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #1 SMP PREEMPT Thu Dec 20 

    Could you please attach a print of your environment variables?

    Thanks.

  • Hi RonB,

    While booting from SD card,now u-boot works fine after doing the proper PIN mux configurations, but Linux hangs after printing the followings,

    mmc0: error -110 whilst initialising SD card
    [    3.822058] mmc1: new DDR MMC card at address 0001
    [    3.827212] mmcblk1: mmc1:0001 R1J57L 27.5 GiB
    [    3.831950] mmcblk1boot0: mmc1:0001 R1J57L partition 1 16.0 MiB
    [    3.838053] mmcblk1boot1: mmc1:0001 R1J57L partition 2 16.0 MiB
    [    3.844255] mmcblk1rpmb: mmc1:0001 R1J57L partition 3 128 KiB
    [    3.954611] mmc0: error -110 whilst initialising SD card
    [    4.154963] mmc0: error -110 whilst initialising SD card
    [    4.560969] [drm] Cannot find any crtc or sizes

    How to resolve this ?

    What is the file where we can update the pin mux values for Linux ??

    Thanks and regards

    Arpita Jena

  • The pin mux for Linux is done in the device tree file that you are loading, or one of the include files that are built into it.

    I hope this gets you booting.

  • Hi Ron,

    After doing below modifications in am57xx-idk-common.dtsi file,it works fine.

    vqmmc-supply = <&ldo1_reg>;
    to
    vqmmc-supply = <&v3_3d>;

    Thanks for your support.

    Regards

    Arpita Jena