Linux simple image not working on P1022 custom board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linux simple image not working on P1022 custom board

Jump to solution
888 Views
santoshkumaraki
Contributor II

HI,

we are using p1022 processor based custom board.

we are able to download u-boot elf image to DDR using code warrior USB TAP and u-boot is running successfully.

we have extracted kernel source and cross compiler from sdk1.9.

while building Linux simpleImage we are receiving simpleboot.o file not found error.we have edited Makefile in arch/powepc/boot in order to generate simpleboot.o file .

After editing Makefile we are able to build Linux simpleImage for p1022ds.(device tree: p1022ds_32b.dts).

Loaded simpleImage.initrd.p1022ds_32b.elf file to DDR through code warrior in debug mode and observed program counter is getting halt at fdt_getprop routine in simpleboot.c file where fatal error "Cannot find #address-cells property" is occurring.

Can anyone tell me whether simpleimage will work for QorIQ processors or not.

As  flash and Ethernet interfaces are not up in our board we are going for Linux simpleImage option.

Regards,

Santosh Kumar.

Labels (1)
1 Solution
559 Views
scottwood
NXP Employee
NXP Employee

U-Boot's ELF loader is not intended for booting a device-tree-aware OS such as Linux, and the dts files for our chips are not intended to be used without U-boot fixups.  Build a uImage and use bootm instead.

View solution in original post

3 Replies
559 Views
santoshkumaraki
Contributor II

hi PavelChubakov​ and scottwood​....

Thanks for your replay...

we have tried booting linux with SD card.After following procedure to boot from SD card, U-boot is coming up properly.

We have used default uimage and dtb file from SDK 1.9.

After using following commands in u-boot:

  • setenv sdboot "setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext2 rootdelay=5 console=ttyS0,115200;mmcinfo; fatload mmc 0:1 30000000 /uImage; fatload mmc 0:1 3e000000 /p1022ds.dtb; bootm 30000000 - 3e000000"
  • run sdboot

Console prints are coming up to compressing kernel image.... and getting stuck(OK print is not coming).

By using debug prints in u-boot we have observed u-boot is getting stuck at inflate routine in lib/gunzip.c file.

can you please tell me where the issue is.....

Console prints are as follows:

U-Boot 2015.01+SDKv1.9+geb3d4fc (May 04 2016 - 15:14:13)

CPU0:  P1022, Version: 1.1, (0x80e60011)

Core:  e500, Version: 5.1, (0x80211151)

Clock Configuration:

       CPU0:1000 MHz, CPU1:1000 MHz,

       CCB:400  MHz,

       DDR:53.333 MHz (106.666 MT/s data rate) (Asynchronous), LBC:25   MHz

L1:    D-cache 32 KiB enabled

       I-cache 32 KiB enabled

Board: P1022DS Sys ID: 0x00, Sys Ver: 0x00, FPGA Ver: 0x00, vBank: 0

I2C:   ready

SPI:   ready

DRAM:  DDR: failed to read SPD from address 81

Error: No valid SPD detected.

16 MiB (DDR3, 64-bit, CL=6, ECC on)

Flash: 0 Bytes

L2:    256 KiB enabled

NAND:  0 MiB

MMC:   FSL_SDHC: 0

CMD_SEND:0

                ARG                      0x00000000

                MMC_RSP_NONE

Reset to card occurred

CMD_SEND:8

                ARG                      0x000001AA

                MMC_RSP_R1,5,6,7         0x000001AA

CMD8 send return value:0CMD8 response:426mmc_send_if_cond ret val:0CMD_SEND:55

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00000120

CMD_SEND:41

                ARG                      0x40300000

                MMC_RSP_R3,4             0x00FF8000

CMD_SEND:55

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00000120

CMD_SEND:41

                ARG                      0x40300000

                MMC_RSP_R3,4             0xC0FF8000

sd_send_op_cond ret val:0CMD_SEND:2

                ARG                      0x00000000

                MMC_RSP_R2               0x03505453

                                         0x53303847

                                         0x30DA3F7F

                                         0xCD00F800

                                        DUMPING DATA

                                        000 - 53 54 50 03

                                        004 - 47 38 30 53

                                        008 - 7F 3F DA 30

                                        012 - 00 F8 00 CD

CMD_SEND:3

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00070500

CMD_SEND:9

                ARG                      0x00070000

                MMC_RSP_R2               0x400E0032

                                         0x5B590000

                                         0x39B77F80

                                         0x0A400000

                                        DUMPING DATA

                                        000 - 32 00 0E 40

                                        004 - 00 00 59 5B

                                        008 - 80 7F B7 39

                                        012 - 00 00 40 0A

CMD_SEND:13

                ARG                      0x00070000

                MMC_RSP_R1,5,6,7         0x00000700

CURR STATE:3

CMD_SEND:7

                ARG                      0x00070000

                MMC_RSP_R1,5,6,7         0x00000700

CMD_SEND:55

                ARG                      0x00070000

                MMC_RSP_R1,5,6,7         0x00000920

CMD_SEND:51

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00000920

CMD_SEND:6

                ARG                      0x00FFFFF1

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:6

                ARG                      0x80FFFFF1

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:55

                ARG                      0x00070000

                MMC_RSP_R1,5,6,7         0x00000920

CMD_SEND:6

                ARG                      0x00000002

                MMC_RSP_R1,5,6,7         0x00000920

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:18

                ARG                      0x000003D4

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:12

                ARG                      0x00000000

                MMC_RSP_R1b              0x00000900

*** Warning - bad CRC, using default environment

EEPROM: Read failed.

PCIe1: Root Complex of Nothing, no link, regs @ 0xffe0a000

PCIe1: Bus 00 - 00

PCIe2: disabled

PCIe3: disabled

In:    serial

Out:   serial

Err:   serial

Net:   PHY ID:ffffPHY ID:ffffeTSEC1 [PRIME]

=>

=>

=> setenv sdboot "setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext2 rootdelay=5 conso                                                                   le=ttyS0,115200;mmcinfo; fatload mmc 0:1 30000000 /uImage; fatload mmc 0:1 3e000000 /p1022                                                                   ds.dtb; bootm 30000000 - 3e000000"

=> run sdboot

Device: FSL_SDHC

Manufacturer ID: 3

OEM: 5054

Name: SS08G

Tran Speed: 50000000

Rd Block Len: 512

SD version 3.0

High Capacity: Yes

Capacity: 7.2 GiB

Bus Width: 4-bit

Erase Group Size: 512 Bytes

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000800

                MMC_RSP_R1,5,6,7         0x00000900

reading /uImage

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000800

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:18

                ARG                      0x00000A10

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:12

                ARG                      0x00000000

                MMC_RSP_R1b              0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:18

                ARG                      0x00000810

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:12

                ARG                      0x00000000

                MMC_RSP_R1b              0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:18

                ARG                      0x00000A40

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:12

                ARG                      0x00000000

                MMC_RSP_R1b              0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00002AD5

                MMC_RSP_R1,5,6,7         0x00000900

4270967 bytes read in 359 ms (11.3 MiB/s)

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000000

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000800

                MMC_RSP_R1,5,6,7         0x00000900

reading /p1022ds.dtb

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00000800

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:18

                ARG                      0x00000A10

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:12

                ARG                      0x00000000

                MMC_RSP_R1b              0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:18

                ARG                      0x00000810

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:12

                ARG                      0x00000000

                MMC_RSP_R1b              0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:18

                ARG                      0x00002AE0

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:12

                ARG                      0x00000000

                MMC_RSP_R1b              0x00000900

CMD_SEND:16

                ARG                      0x00000200

                MMC_RSP_R1,5,6,7         0x00000900

CMD_SEND:17

                ARG                      0x00002AFE

                MMC_RSP_R1,5,6,7         0x00000900

15400 bytes read in 89 ms (168.9 KiB/s)

## Booting kernel from Legacy Image at 30000000 ...

   Image Name:   Linux-3.12.37-rt51+

   Image Type:   PowerPC Linux Kernel Image (gzip compressed)

   Data Size:    4270903 Bytes = 4.1 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 3e000000

   Booting using the fdt blob at 0x3e000000

   Test Uncompressing Kernel Image ...

Regards,

Santosh Kumar.

0 Kudos
560 Views
scottwood
NXP Employee
NXP Employee

U-Boot's ELF loader is not intended for booting a device-tree-aware OS such as Linux, and the dts files for our chips are not intended to be used without U-boot fixups.  Build a uImage and use bootm instead.

559 Views
Pavel
NXP Employee
NXP Employee

We did not test similar loading.

It looks like that DTB file miss if halt happens at fdt_getprop. Usually our Linux SDK generates three files: kernel, .dtb file and rootfs.

We recommend using Flash, or SD card or Ethernet connection for image loading.


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------