Hi all,
So I build a new kernel for the LS1021ATWR board using the QorIQ SDK 1.7. As far as I can tell this has been build without a problem.
Now I want to run the new kernel on the LS1021atwr board via a SD card. For this I followed the manual and copied all files to the SD card, maikng sure the uImage and uImage.dtb are in the boot folder.
Booting the board now hangs almost directly when the SD card is read.
The following shows up in the terminal on the host.
--------------------------------------------------------------------------------------------------------
U-Boot 2014.01Layerscape-SDK-V1.3+gb7dab7a (Oct 20 2014 - 14:14:11)
CPU: Freescale LayerScape LS1021E, Version: 1.0, (0x87081110)
Clock Configuration:
CPU0(ARMV7):1000 MHz,
Bus:300 MHz, DDR:800 MHz (1600 MT/s data rate),
Reset Configuration Word (RCW):
00000000: 0608000a 00000000 00000000 00000000
00000010: 20000000 00407900 e0025a00 21046000
00000020: 00000000 00000000 00000000 20038000
00000030: 00000000 881b7540 00000000 00000000
Board: LS1021ATWR
CPLD: V2.3
PCBA: V4.0
VBank: 1
I2C: ready
DRAM: 1 GiB (DDR3, 32-bit, CL=10.5, ECC off)
Using SERDES1 Protocol: 32 (0x20)
Flash: 128 MiB
MMC: FSL_SDHC: 0
EEPROM: NXID v1
Firmware 'Microcode version 0.0.0 for T1040 r1.0' for 1040 V1.0
QE: uploading microcode 'Microcode for T1040 r1.0'
In: serial
Out: serial
Err: serial
SATA link 0 timeout.
AHCI 0001.0300 1 slots 1 ports ? Gbps 0x1 impl SATA mode
flags: 64bit ncq pm clo only pmp fbss pio slum part ccc
scanning bus for devices...
Found 0 device(s).
Net: eTSEC1 is in sgmii mode.
eTSEC2 is in sgmii mode.
eTSEC1 [PRIME], eTSEC2, eTSEC3
Hit any key to stop autoboot: 0
Device: FSL_SDHC
Manufacturer ID: 2
OEM: 544d
Name: SA08G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.2 GiB
Bus Width: 4-bit
3079912 bytes read in 305 ms (9.6 MiB/s)
--------------------------------------------------------------------------------------------------------
Any idea on what I'm doing wrong. SOmething I failed to do first. I'm completely lost as this is my first time using embedded linux.
Best regards,
Dennis
OK so I found the issue. I tried to build the kernel with CPU freq. Which apparently is not supported by the LS1021A.
My bad!
OK so I got a bit futher.
Using the run sdboot command now gives me the following:
------------------------------------------------
=> run sdboot
reading uImage
3079912 bytes read in 154 ms (19.1 MiB/s)
reading ls1021a-twr.dtb
20683 bytes read in 22 ms (918 KiB/s)
reading rootfs
2297001 bytes read in 180 ms (12.2 MiB/s)
## Booting kernel from Legacy Image at 81000000 ...
Image Name: Linux-3.12.19-rt30+ls1+g6619b8b
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3079848 Bytes = 2.9 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 88000000 ...
Image Name: fsl-image-minimal-ls1021atwr-201
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 2296937 Bytes = 2.2 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 8f000000
Booting using the fdt blob at 0x8f000000
Loading Kernel Image ... OK
Loading Ramdisk to becfd000, end bef2dc69 ... OK
Loading Device Tree to becf4000, end becfc0ca ... OK
Starting kernel ...
-----------------------------------------------------------------------------------
This definitely shows it is reading the SD card with the image I build. However it gets stuck on the starting kernel ...
Any ideas on this?
I met the same behaviors some times ago and formatting the sd card resolved the problem.
Adrian
Look at the following page:
http://www.freescale.com/infocenter/index.jsp?topic=%2FQORIQSDK%2F6346899.html
Do you use similar command sequence for SD Deployment?
Did you follow the steps from SD Deployment? If, yes, could you share your uboot env (printenv in uboot console).
Adrian
Hi Adrian,
Yes I followed the steps from the SD deployment. See the uboot env settings below:
--------------------------------------------------------------
baudrate=115200
bootargs=root=/dev/ram0 rw console=ttyLP0,115200 hdmi high
bootcmd=setenv bootargs root=/dev/mmcblk0p2 rw rootdelay=5 console=$consoledev, $baudrate;mmcinfo;ext2load mmc 0:2 $loadaddr /boot/$bootfile;ext2load mmc 0:2 $fdtaddr /boot/$fdtfile;bootm $loadaddr - $fdtaddr
bootdelay=5
bootfile=uImage
consoledev=ttyLP0
dnsip=10.192.130.201
eth1addr=00:04:9f:03:61:2c
eth2addr=00:04:9f:03:61:2d
ethact=eTSEC1
ethaddr=00:04:9f:03:61:2b
ethprime=eTSEC1
fdt_high=0xcfffffff
fdtfile=uImage.dtb
fileaddr=88000000
filesize=12a
gatewayip=10.192.208.254
initrd_high=0xcfffffff
ipaddr=10.192.208.250
loadaddr=0x82000000
netmask=255.255.255.0
ramboot=dhcp 82000000 $bootfile;dhcp 8f000000 $fdtfile;dhcp 88000000 $ramdiskfile;bootm 82000000 88000000 8f000000
ramdiskfile=ls1021atwr/fsl-image-x11-ls1021atwr.ext2.gz.u-boot
scsidevs=0
sdboot=fatload mmc 0 81000000 uImage; fatload mmc 0 8f000000 ls1021a-twr.dtb; fatload mmc 0 88000000 rootfs; bootm 81000000 88000000 8f000000
serverip=10.192.208.141
stderr=serial
stdin=serial
stdout=serial
usbboot=setenv bootargs root=/dev/sda1 rw console=$consoledev,$baudrate rootdelay=10;bootm 0x60120000 - 0x60020000