Other Parts Discussed in Thread: PMP, DRA752
Tool/software: Linux
Hello TI team,
we have created a custom AM5728 SOM and baseboard.
In the process of creating the BSP, we have encountered the following problem:
Upon starting the kernel, the debug output merely shows
"Starting kernel ..."
and nothing more.
From accessing the device via the XDS200 JTAG Probe and code composer studio, I can see the PC is in the area of
c0271f88 T cpu_startup_entry
, maybe the cpu_idle_loop.
At this point some debug output should be present already.
EARLY_PRINTK [=y]
SERIAL_EARLYCON [=y]
are active in the linux .config.
Out of curiosity, I cross-tested our kernel and device tree by loading it from the AM572x-IDK.
The kernel starts correctly, showing several debug outputs until it hangs at some later point due to a hardware mismatch, as our SOM and thus device tree differs slightly from the AM572x-IDK.
This leaves me with the assumption that kernel and device tree are ok and the error is probably somewhere else.
My first guess was that the
console=
environment variable in u-boot was probably wrong.
However, I cross-checked with the AM572x-IDK and it is set correctly as
console=ttyO2,115200n8
We are using UART3 (ttyO2) as on AM572x-IDK.
See below the full boot log.
We are using mainline linux kernel 4.9.77
and mainline denx u-boot 2018.01
Please note that we are currently not using the device tree in u-boot.
I had a look at
processors.wiki.ti.com/.../Kernel_-_Common_Problems_Booting_Linux
but it did not provide a solution for me.
Any ideas what could be wrong here or what to check?
Best regards,
Stefan Lange
################################
U-Boot SPL 2018.01-00012-gae55ced-dirty (Apr 03 2018 - 16:35:47)
DRA752-GP ES2.0
i2c_init_bus: bus_no: 0, speed: 100000, slaveaddr: 0x01
Trying to boot from MMC1
reading u-boot.img
reading u-boot.img
U-Boot 2018.01-00012-gae55ced-dirty (Apr 03 2018 - 16:35:47 +0200)
CPU : DRA752-GP ES2.0
Board: TQMa572x on a MBa57xx
I2C: i2c_init_bus: bus_no: 0, speed: 100000, slaveaddr: 0x01
ready
DRAM: 2 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
i2c_init_bus: bus_no: 0, speed: 100000, slaveaddr: 0x01
Warning: fastboot.board_rev: unknown board revision
GUID Partition Table Header signature is wrong: 0x8DFEFB7DFF7BFFFB != 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: cpsw
Hit any key to stop autoboot: 0
=> print
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
board=tqma57xx
board_name=tqma57xx
boot_fdt=try
boot_fit=0
boot_part=9
bootargs=root=/dev/nfs rw nfsroot=192.168.11.132:/srv/nfs/rootfs ip=192.168.11.248:192.168.11.132:::::off console=,115200
bootargs_nfs=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$console $othbootargs
bootcmd=run nfsboot
bootdelay=6
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=boot/zImage
bootm_size=0x10000000
bootpart=1:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO2,115200n8
cpu=armv7
devnum=1
devtype=mmc
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
dfu_bufsiz=0x10000
dofastboot=0
emmc_android_boot=echo Trying to boot Android from eMMC ...; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; setenv fdt_part 3; setenv boot_part 9; setenv machid fe6; mmc dev $mmcdev; mmc rescan; part start mmc ${mmcdev} ${fdt_part} fdt_start; part size mmc ${mmcdev} ${fdt_part} fdt_size; part start mmc ${mmcdev} ${boot_part} boot_start; part size mmc ${mmcdev} ${boot_part} boot_size; mmc read ${fdtaddr} ${fdt_start} ${fdt_size}; mmc read ${loadaddr} ${boot_start} ${boot_size}; bootm $loadaddr $loadaddr $fdtaddr;
emmc_linux_boot=echo Trying to boot Linux from eMMC ...; setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw; run mmcboot;
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
ethact=cpsw
ethaddr=a0:f6:fd:b3:8c:84
eval_bootargs=setenv bootargs androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am57xevmboard
fastboot.cpu=DRA752
fastboot.secure=GP
fdt_addr_r=0x88000000
fdt_part=3
fdtaddr=0x88000000
fdtfile=boot/tqma572x-mba57xx.dtb
fileaddr=82000000
filesize=13a10
findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfile dra7-evm.dtb; fi;if test $board_name = dra72x-revc; then setenv fdtfile dra72-evm-revc.dtb; fi;if test $board_name = dra72x; then setenv fdtfile dra72-evm.dtb; fi;if test $board_name = dra71x; then setenv fdtfile dra71-evm.dtb; fi;if test $board_name = dra76x; then setenv fdtfile dra76-evm.dtb; fi;if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = beagle_x15_revb1; then setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;if test $board_name = beagle_x15_revc; then setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;if test $board_name = am572x_idk; then setenv fdtfile am572x-idk.dtb; fi;if test $board_name = am57xx_evm; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = am571x_idk; then setenv fdtfile am571x-idk.dtb; fi;if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
ipaddr=192.168.11.248
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile};
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
machid=fe6
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
mmcdev=1
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsboot=run bootargs_nfs; nfs ${fdtaddr} $serverip:$rootpath/${fdtfile}; nfs ${loadaddr} $serverip:$rootpath/$bootfile; bootz $loadaddr - $fdtaddr
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=1792K,uuid=${uuid_gpt_bootloader};name=environment,size=128K,uuid=${uuid_gpt_environment};name=misc,size=128K,uuid=${uuid_gpt_misc};name=reserved,size=256K,uuid=${uuid_gpt_reserved};name=efs,size=16M,uuid=${uuid_gpt_efs};name=crypto,size=16K,uuid=${uuid_gpt_crypto};name=recovery,size=10M,uuid=${uuid_gpt_recovery};name=boot,size=10M,uuid=${uuid_gpt_boot};name=system,size=768M,uuid=${uuid_gpt_system};name=vendor,size=256M,uuid=${uuid_gpt_vendor};name=cache,size=256M,uuid=${uuid_gpt_cache};name=ipu1,size=1M,uuid=${uuid_gpt_ipu1};name=ipu2,size=1M,uuid=${uuid_gpt_ipu2};name=userdata,size=-,uuid=${uuid_gpt_userdata}
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
rdaddr=0x88080000
rootpath=/srv/nfs/rootfs
scriptaddr=0x80000000
scsidevs=0
serial#=0500d0080ec00122
serverip=192.168.11.132
soc=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial
stdin=serial
stdout=serial
upd=tftp u-boot/u-boot_tqma572x.img; fatwrite mmc 0:1 $loadaddr u-boot.img $filesize; tftp u-boot/MLO_tqma572x; fatwrite mmc 0:1 $loadaddr MLO $filesize
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usbtty=cdc_acm
vendor=tqc
ver=U-Boot 2018.01-00012-gae55ced-dirty (Apr 03 2018 - 16:35:47 +0200)
vram=16M
Environment size: 7252/131067 bytes
=> boot
link up on port 0, speed 100, full duplex
###################
done
Bytes transferred = 94112 (16fa0 hex)
link up on port 0, speed 100, full duplex
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######
done
Bytes transferred = 3690136 (384e98 hex)
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8ffe6000, end 8fffff9f ... OK
Using machid 0xfe6 from environment
Starting kernel ...