Problem booting P2020DS with SDK 1.6 images.

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

Problem booting P2020DS with SDK 1.6 images.

Jump to solution
1,558 Views
kuoweihsu
Contributor III

Hi,

I'm using the QorIQ sdk 1.6 and successfully created the 'fsl-image-core' files. However, when I try to use them on our customized board using p2020, I get what looks like a hang when the kernel is booting. Our uboot file, uImage file, file system and dtb file were all from SDK1.6.


Here are what we setting:


$ setenv bootfile uImage-p2020ds.bin

$ setenv fdtfile uImage-p2020ds.dtb

$ setenv ramdiskfile fsl-image-core-p2020ds.ext2.gz.u-boot

$ run ramboot


Here is the boot log:


setenv bootfile uImage-p2020ds.bin

=> setenv fdtfile uImage-p2020ds.dtb

=> setenv ramdiskfile fsl-image-core-p2020ds.ext2.gz.u-boot

=> run ramboot

Speed: 100, full duplex

Using eTSEC3 device

TFTP from server 192.168.1.10; our IP address is 192.168.1.100

Filename 'fsl-image-core-p2020ds.ext2.gz.u-boot'.

Load address: 0x2000000

Loading: *#################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  #################################################################

  ###################

  3.8 MiB/s

done

Bytes transferred = 25077025 (17ea521 hex)

Speed: 100, full duplex

Using eTSEC3 device

TFTP from server 192.168.1.10; our IP address is 192.168.1.100

Filename 'uImage-p2020ds.bin'.

Load address: 0x1000000

Loading: *#################################################################

  #################################################################

  #################################################################

  #################################################################

  ##########################

  3.3 MiB/s

done

Bytes transferred = 4195220 (400394 hex)

Speed: 100, full duplex

Using eTSEC3 device

TFTP from server 192.168.1.10; our IP address is 192.168.1.100

Filename 'uImage-p2020ds.dtb'.

Load address: 0xc00000

Loading: *##

  137.7 KiB/s

done

Bytes transferred = 14842 (39fa hex)

WARNING: adjusting available memory to 30000000

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

   Image Name:   Linux-3.12.19-rt30-QorIQ-SDK-V1.

   Image Type:   PowerPC Linux Kernel Image (gzip compressed)

   Data Size:    4195156 Bytes = 4 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 02000000 ...

   Image Name:   fsl-image-core-p2020ds-201410290

   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)

   Data Size:    25076961 Bytes = 23.9 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 00c00000

   Booting using the fdt blob at 0xc00000

   Uncompressing Kernel Image ... OK

   Loading Ramdisk to 2e815000, end 2ffff4e1 ... OK

   Loading Device Tree to 03ff9000, end 03fff9f9 ... OK

Using P2020 DS machine description

Memory CAM mapping: 256/256/256 Mb, residual: 1280Mb

Linux version 3.12.19-rt30-QorIQ-SDK-V1.6+gc29fe1a (kuowei.hsu@sw3linux) (gcc version 4.8.1 (GCC) ) #1 SMP Wed Oct 29 16:49:51 CST 2014

Found initrd at 0xee815000:0xeffff4e1

CPU maps initialized for 1 thread per core

bootconsole [udbg0] enabled

setup_arch: bootmem

mpc85xx_ds_setup_arch()

MPC85xx DS board from Freescale Semiconductor

arch: exit

Zone ranges:

  DMA      [mem 0x00000000-0x2fffffff]

  Normal   empty

  HighMem  [mem 0x30000000-0x7fffffff]

Movable zone start for each node

Early memory node ranges

  node   0: [mem 0x00000000-0x7fffffff]

MMU: Allocated 1088 bytes of context maps for 255 contexts

PERCPU: Embedded 7 pages/cpu @c1971000 s7104 r8192 d13376 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 522752

Kernel command line: root=/dev/ram rw console=,115200 cache-sram-size=0x10000

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

Sorting __ex_table...

Memory: 1979676K/2097152K available (6000K kernel code, 316K rwdata, 1792K rodata, 268K init, 1217K bss, 117476K reserved, 1310712K highmem)

Kernel virtual memory layout:

  * 0xfff5f000..0xfffff000  : fixmap

  * 0xffc00000..0xffe00000  : highmem PTEs

  * 0xffbfd000..0xffc00000  : early ioremap

  * 0xf1000000..0xffbfd000  : vmalloc & ioremap

SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

Hierarchical RCU implementation.

  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.

NR_IRQS:512 nr_irqs:512 16

mpic: Setting up MPIC " OpenPIC  " version 1.2 at ffe40000, max 2 CPUs

mpic: ISU size: 256, shift: 8, mask: ff

mpic: Initializing for 256 sources

clocksource: timebase mult[d555555] shift[24] registered

Console: colour dummy device 80x25

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

mpic: requesting IPIs...

Brought up 2 CPUs

devtmpfs: initialized

NET: Registered protocol family 16

            

Found FSL PCI host bridge at 0x00000000ffe0a000. Firmware bus number: 0->1

PCI host bridge /pcie@ffe0a000 (primary) ranges:

MEM 0x00000000c0000000..0x00000000dfffffff -> 0x00000000c0000000

  IO 0x00000000ffc20000..0x00000000ffc2ffff -> 0x0000000000000000

/pcie@ffe0a000: PCICSRBAR @ 0xfff00000

PCI: Probing PCI hardware

fsl-pci ffe0a000.pcie: PCI host bridge to bus 0000:00

pci_bus 0000:00: root bus resource [io  0x0000-0xffff]

pci_bus 0000:00: root bus resource [mem 0xc0000000-0xdfffffff]

pci_bus 0000:00: root bus resource [bus 00-ff]

pci 0000:00:00.0: ignoring class 0x0b2000 (doesn't match header type 01)

pci 0000:00:00.0: PCI bridge to [bus 01-ff]

pci 0000:00:00.0: PCI bridge to [bus 01]

pci 0000:00:00.0:   bridge window [io  0x0000-0xffff]

pci 0000:00:00.0:   bridge window [mem 0xc0000000-0xdfffffff]

fsl-l2ctlr ffe20000.l2-cache-controller: Entire L2 as cache, provide valid sram address and size

fsl-l2ctlr: probe of ffe20000.l2-cache-controller failed with error -22

bio: create slab <bio-0> at 0

Freescale Elo series DMA driver

fsl-elo-dma ffe0c300.dma: #0 (fsl,eloplus-dma-channel), irq 76

fsl-elo-dma ffe0c300.dma: #1 (fsl,eloplus-dma-channel), irq 77

fsl-elo-dma ffe0c300.dma: #2 (fsl,eloplus-dma-channel), irq 78

fsl-elo-dma ffe0c300.dma: #3 (fsl,eloplus-dma-channel), irq 79

fsl-elo-dma ffe21300.dma: #0 (fsl,eloplus-dma-channel), irq 20

fsl-elo-dma ffe21300.dma: #1 (fsl,eloplus-dma-channel), irq 21

fsl-elo-dma ffe21300.dma: #2 (fsl,eloplus-dma-channel), irq 22

fsl-elo-dma ffe21300.dma: #3 (fsl,eloplus-dma-channel), irq 23

vgaarb: loaded

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

pps_core: LinuxPPS API ver. 1 registered

pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>

PTP clock support registered

EDAC MC: Ver: 3.0.0

Advanced Linux Sound Architecture Driver Initialized.

Switched to clocksource timebase

NET: Registered protocol family 2

TCP established hash table entries: 8192 (order: 4, 65536 bytes)

TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

TCP: Hash tables configured (established 8192 bind 8192)

TCP: reno registered

UDP hash table entries: 512 (order: 2, 16384 bytes)

UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

Trying to unpack rootfs image as initramfs...

rootfs image is not initramfs (no cpio magic); looks like an initrd

Freeing initrd memory: 24488K (ee815000 - effff000)

Freescale PMC driver

audit: initializing netlink socket (disabled)

type=2000 audit(0.296:1): initialized

bounce pool size: 64 pages

HugeTLB registered 1 MB page size, pre-allocated 0 pages

HugeTLB registered 4 MB page size, pre-allocated 0 pages

HugeTLB registered 16 MB page size, pre-allocated 0 pages

HugeTLB registered 64 MB page size, pre-allocated 0 pages

HugeTLB registered 256 MB page size, pre-allocated 0 pages

HugeTLB registered 1 GB page size, pre-allocated 0 pages

NFS: Registering the id_resolver key type

Key type id_resolver registered

Key type id_legacy registered

Installing knfsd (copyright (C) 1996 okir@monad.swb.de).

NTFS driver 2.1.30 [Flags: R/O].

jffs2: version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.

msgmni has been set to 1485

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled

serial8250.0: ttyS0 at MMIO 0xffe04500 (irq = 42, base_baud = 37500000) is a 16550A

serial8250.0: ttyS1 at MMIO 0xffe04600 (irq = 42, base_baud = 37500000) is a 16550A

Generic non-volatile memory driver v1.1

brd: module loaded

loop: module loaded

nbd: registered device at major 43

st: Version 20101219, fixed bufsize 32768, s/g segs 256

of-flash e8000000.nor: do_map_probe() failed

fsl-lbc ffe05000.localbus: address did not match any chip selects

fsl-lbc ffe05000.localbus: address did not match any chip selects

fsl-lbc ffe05000.localbus: address did not match any chip selects

fsl-lbc ffe05000.localbus: address did not match any chip selects

fsl_espi ffe07000.spi: master is unqueued, this is deprecated

fsl_espi ffe07000.spi: at 0xf10a6000 (irq = 59)

libphy: Fixed MDIO Bus: probed

libphy: Freescale PowerQUICC MII Bus: probed

mdio_bus mdio@ffe24520: cannot get PHY at address 2

mdio_bus mdio@ffe24520: cannot get PHY at address 28

mdio_bus mdio@ffe24520: cannot get PHY at address 29

mdio_bus mdio@ffe24520: cannot get PHY at address 17

libphy: Freescale PowerQUICC MII Bus: probed

libphy: Freescale PowerQUICC MII Bus: probed

fsl-gianfar ffe24000.ethernet: enabled errata workarounds, flags: 0x4

fsl-gianfar ffe24000.ethernet eth0: mac: 00:e0:0c:02:00:fd

fsl-gianfar ffe24000.ethernet eth0: Running with NAPI enabled

fsl-gianfar ffe24000.ethernet eth0: RX BD ring size for Q[0]: 256

fsl-gianfar ffe24000.ethernet eth0: TX BD ring size for Q[0]: 256

fsl-gianfar ffe25000.ethernet: enabled errata workarounds, flags: 0x4

fsl-gianfar ffe25000.ethernet eth1: mac: 00:e0:0c:02:01:fd

fsl-gianfar ffe25000.ethernet eth1: Running with NAPI enabled

fsl-gianfar ffe25000.ethernet eth1: RX BD ring size for Q[0]: 256

fsl-gianfar ffe25000.ethernet eth1: TX BD ring size for Q[0]: 256

fsl-gianfar ffe26000.ethernet: enabled errata workarounds, flags: 0x4

fsl-gianfar ffe26000.ethernet eth2: mac: 00:e0:0c:02:02:fd

fsl-gianfar ffe26000.ethernet eth2: Running with NAPI enabled

fsl-gianfar ffe26000.ethernet eth2: RX BD ring size for Q[0]: 256

fsl-gianfar ffe26000.ethernet eth2: TX BD ring size for Q[0]: 256

pps pps0: new PPS source ptp0

ucc_geth_driver: QE UCC Gigabit Ethernet Controller

e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k

e1000e: Copyright(c) 1999 - 2013 Intel Corporation.

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

ehci-pci: EHCI PCI platform driver

ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

ohci-pci: OHCI PCI platform driver

fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1

Here are others questions we confused.

Q1 : As another question asked by "martindubé" in "Problem booting P2020DS with SDK1.4 images", Yiping Wang answer about P2020DS that

       "P2020DS was removed since QorIQ SDK 1.2 release, the latest official  SDK release for P2020DS is SDK 1.0.3"

       'fsl-setup-poky' lists the p2020ds as a supported ppc machine, should I must not assume that it is supported by the SDK1.6 too?


Q2 : And it just stuck there, it seems have some problem with USB module on board. Is that correct and there any one have similar problem?

Q3 : If we move u-boot source code from ../QorIQ-SDK-V1.6-20140619-yocto/build_p2020ds_release/tmp/work/p2020ds-fsl-linux-gnuspe/u-boot/2014.01+fslgit-r0/git to other path and modify for our customized board, how can we get the bootfile image uImage-p2020ds.bin from our costomized u-boot ??


Thanks for all your help in community.


Regards,

Hsu

Labels (1)
0 Kudos
1 Solution
775 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Kuowei Hsu,


Q1, You could create poky project, because P2020DS config file p2020ds.conf exists under meta-fsl-ppc/conf/machine/. In SDK 1.6 release, P2020DS is not supported, it means u-boot(header file) or Kernel configuration files(dtb) is not maintained to be compatible with the latest source code, and has not been tested. But probably it could still works well with the old configuration files, if they doesn't conflict with the new modified source code.

Q2, if you are not using P2020DS demo board, you could customize your design based on P2020RDB-PC, which is supported in SDK 1.6 release.

What you need to do is removing or commenting usb device node in the dts file, and no need to modify Kernel configuration, please set "hwconfig =" if no need usb devices.

Q3, for customizing u-boot for new board, you often need to touch files include/configs/P2020DS.h and files in board/freescale/p2020ds/. (Probably you need to modify LAW, TLB and DDR configuration).

We often use the following procedure to modify u-boot source and rebuild u-boot.

1. Clean u-boot Cache and get u-boot source code.

$ bitbake -c cleansstate u-boot

$ bitbake -c patch u-boot

2. Go to u-boot source folder and modify u-boot source code.

u-boot source:

build_p2020ds_release/tmp/work/p2020ds-fsl-linux-gnuspe/u-boot/2014.01+fslgit-r0/git/

3. Modify u-boot configuration

Modify the variable UBOOT_MACHINES in meta-fsl-ppc/conf/machine/<machine>.conf.

4. Rebuild U-Boot image

$ cd build_<machine>_release

$ bitbake -c compile -f u-boot

$ bitbake u-boot


Have a great day,
Yiping

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

View solution in original post

0 Kudos
4 Replies
776 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Kuowei Hsu,


Q1, You could create poky project, because P2020DS config file p2020ds.conf exists under meta-fsl-ppc/conf/machine/. In SDK 1.6 release, P2020DS is not supported, it means u-boot(header file) or Kernel configuration files(dtb) is not maintained to be compatible with the latest source code, and has not been tested. But probably it could still works well with the old configuration files, if they doesn't conflict with the new modified source code.

Q2, if you are not using P2020DS demo board, you could customize your design based on P2020RDB-PC, which is supported in SDK 1.6 release.

What you need to do is removing or commenting usb device node in the dts file, and no need to modify Kernel configuration, please set "hwconfig =" if no need usb devices.

Q3, for customizing u-boot for new board, you often need to touch files include/configs/P2020DS.h and files in board/freescale/p2020ds/. (Probably you need to modify LAW, TLB and DDR configuration).

We often use the following procedure to modify u-boot source and rebuild u-boot.

1. Clean u-boot Cache and get u-boot source code.

$ bitbake -c cleansstate u-boot

$ bitbake -c patch u-boot

2. Go to u-boot source folder and modify u-boot source code.

u-boot source:

build_p2020ds_release/tmp/work/p2020ds-fsl-linux-gnuspe/u-boot/2014.01+fslgit-r0/git/

3. Modify u-boot configuration

Modify the variable UBOOT_MACHINES in meta-fsl-ppc/conf/machine/<machine>.conf.

4. Rebuild U-Boot image

$ cd build_<machine>_release

$ bitbake -c compile -f u-boot

$ bitbake u-boot


Have a great day,
Yiping

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

0 Kudos
775 Views
kuoweihsu
Contributor III

Hi, Yiping,

May I confirm the process to mask usb note in dtb?

We mask the usb note in two files when we don't using usb function.

1. \build_p2020rdb_release\tmp\work\p2020rdb-fsl-linux-gnuspe\linux-qoriq-sdk\3.12-r0\git\arch\powerpc\boot\dts\p2020ds.dtsi

/*

  usb@22000 {

  phy_type = "ulpi";

  };

*/

2. \build_p2020rdb_release\tmp\work\p2020rdb-fsl-linux-gnuspe\linux-qoriq-sdk\3.12-r0\git\arch\powerpc\boot\dts\fsl\p2020si-post.dtsi

/*

/include/ "pq3-usb2-dr-0.dtsi"

  usb@22000 {

  compatible = "fsl-usb2-dr-v1.6", "fsl-usb2-dr";

  };

*/

And bitbake -c compile -f virtual/kernel, then bitbake virtual/kernel. Set "hwconfig = " in uboot.

Above is right?

Thanks for all your help in community.


Regards,

kuowei

0 Kudos
775 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Kuowei,


Yes, the above is right, if you encounter any problem, please feel free to let me know.


Thanks,

Yiping

775 Views
kuoweihsu
Contributor III

Because our board have no USB function, we mask USB configuration in include/configs/XXX.h as follow

#if 0

/*

* USB

*/

#define CONFIG_HAS_FSL_DR_USB

#ifdef CONFIG_HAS_FSL_DR_USB

#define CONFIG_USB_EHCI

#ifdef CONFIG_USB_EHCI

#define CONFIG_CMD_USB

#define CONFIG_USB_STORAGE

#define CONFIG_USB_EHCI_FSL

#define CONFIG_EHCI_HCD_INIT_AFTER_RESET

#endif /* CONFIG_USB_EHCI_FSL */

#endif /* CONFIG_USB_EHCI */

#endif

and I also disable function in kernel menuconfig

Device Drivers  --->

  USB support  --->

    <*>   Support for Host-side USB

    [*]   USB device filesystem

    <>    EHCI HCD (USB 2.0) support

    []       Support for Freescale controller

    []         Support for Host1 port on Freescale controller

    []         Freescale MC13783 on Host 1

    []     Root Hub Transaction Translators (EXPERIMENTAL)

The case which hang on USB driver is gone.

However, one more question, should I also change the setting about "hwconfig" in u-boot ??

Before

hwconfig="usb1:dr_mode=host,phy_type=ulpi\0"

After

hwconfig="\0"

By the way, we use p2020rdb.conf and p2020rdb-pc_32b.dtb for variable "KERNEL_DEVICETREE".

KERNEL_DEVICETREE ?= "p2020rdb-pc_32b.dtb"

In p2020rdb-pc.dtsi

usb@22000 {

     phy_type = "ulpi";

};

In p2020rdb.dts and p2020ds.dtsi

usb@22000 {

     phy_type = "ulpi";

     dr_mode = "host";

};