AnsweredAssumed Answered

Problems booting Linux on custom P4040 / P4080 -based board

Question asked by Alexander Barangan on Jan 31, 2012
Latest reply on Aug 15, 2013 by Scott Wood



I'm currently in the process of bringing up a custom board containing a P4040 processor.  I have U-boot running and can communicate with it via terminal and ethernet (via on-board Marvell PHYs).  All of my software is based on the latest Freescale BSP.  I'm currently having a hard time getting Linux to completely boot successfully.  Near the end of the terminal output (just before the system halts) the output looks like garbled data (as shown below.)  Interestingly, this garbled output is also witnessed when running this same code on the P4080DS.  The difference, however, is that after a series of output like this, the Linux login prompt appears.  On my system, it does not and the system just hangs leaving me wondering what the last attempted initialization was.  Any suggestion on how to debug this problem is greatly appreciated!







=> bootm e8020000 e9300000 e8800000
WARNING: adjusting available memory to 30000000
## Booting kernel from Legacy Image at e8020000 ...
   Image Name:   System Builder/3.0.6/p4080ds
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    3642776 Bytes = 3.5 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at e9300000 ...
   Image Name:   devel-image-p4080ds-201201310122
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    39019987 Bytes = 37.2 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at e8800000
   Booting using the fdt blob at 0xe8800000
   Uncompressing Kernel Image ... OK
   Loading Ramdisk to 2dac9000, end 2ffff5d3 ... OK
   Loading Device Tree to 03fe3000, end 03fff15d ... OK
WARNING: could not find compatible node fsl-usb2-dr: FDT_ERR_NOTFOUND.
Using P4080 DS machine description
Memory CAM mapping: 256/256/256 Mb, residual: 1280Mb
Linux version 3.0.6 (alexander@redhat1) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-38) ) #1 SMP Fri Jan 27 13:01:45 PST 2012
Found initrd at 0xedac9000:0xeffff5d3
No /soc@ffe000000/qman@318000 property 'fsl,qman-fqd', using memblock_alloc(0000000000200000)
No /soc@ffe000000/qman@318000 property 'fsl,qman-pfdr', using memblock_alloc(0000000001000000)
Qman ver:0a01,01,01
No /soc@ffe000000/bman@31a000 property 'fsl,bman-fbpr', using memblock_alloc(0000000001000000)
Bman ver:0a02,01,00
pme: No /soc@ffe000000/pme@316000 property 'fsl,pme-pdsr', using memblock_alloc(0x0000000001000000)
pme: No /soc@ffe000000/pme@316000 property 'fsl,pme-sre', using memblock_alloc(0x0000000000a00000)
USDPAA region at 60000000:10000000
CPU maps initialized for 1 thread per core
bootconsole [udbg0] enabled
setup_arch: bootmem
P4080 DS board from Freescale Semiconductor
arch: exit
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   empty
  HighMem  0x00030000 -> 0x00080000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00080000
MMU: Allocated 1088 bytes of context maps for 255 contexts
PERCPU: Embedded 10 pages/cpu @c17b1000 s18624 r8192 d14144 u40960
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 520192
Kernel command line:
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)
Memory: 1709960k/2097152k available (7164k kernel code, 387192k reserved, 216k data, 438k bss, 284k init)
Kernel virtual memory layout:
  * 0xfff5f000..0xfffff000  : fixmap
  * 0xffc00000..0xffe00000  : highmem PTEs
  * 0xffbfc000..0xffc00000  : early ioremap
  * 0xf1000000..0xffbfc000  : vmalloc & ioremap
Hierarchical RCU implementation.
        RCU debugfs-based tracing is enabled.
NR_IRQS:512 nr_irqs:512 16
mpic: Setting up MPIC " OpenPIC  " version 1.2 at ffe040000, max 4 CPUs
mpic: ISU size: 256, shift: 8, mask: ff
mpic: Initializing for 256 sources
clocksource: timebase mult[6aaaaab] shift[22] registered
Console: colour dummy device 80x25
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
mpic: requesting IPIs...
e500 family performance monitor hardware support registered
Brought up 4 CPUs
xor: measuring software checksum speed
   8regs     :  1240.000 MB/sec
   8regs_prefetch:  1213.000 MB/sec
   32regs    :  1274.000 MB/sec
   32regs_prefetch:  1135.000 MB/sec
xor: using function: 32regs (1274.000 MB/sec)
NET: Registered protocol family 16
PCI: Probing PCI hardware
bio: create slab <bio-0> at 0
raid6: int32x1    250 MB/s
raid6: int32x2    394 MB/s
raid6: int32x4    519 MB/s
raid6: int32x8    385 MB/s
raid6: using algorithm int32x4 (519 MB/s)
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Bman err interrupt handler present
Bman portal (shared) initialised, cpu 1
Bman portal initialised, cpu 0
Bman portal (slave) initialised, cpu 2
Bman portal (slave) initialised, cpu 3
Bman: reserved bpid 0, seeded 256 items
Bman: reserved bpid 7
Bman: reserved bpid 8
Bman: reserved bpid 9
Bman portals initialised
Qman err interrupt handler present
Qman portal (shared) initialised, cpu 1
Qman portal initialised, cpu 0
Qman portal (slave) initialised, cpu 2
Qman portal (slave) initialised, cpu 3
Qman portals initialised
Switching to clocksource timebase
Switched to NOHz mode on CPU #2
Switched to NOHz mode on CPU #0
Switched to NOHz mode on CPU #3
Switched to NOHz mode on CPU #1
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
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: 38108k freed
Setting Freescale static PAMU/IOMMU configuration
Freescale PowerQUICC MII Bus: probed
mdio_bus mdio@ffe4e1120: /soc@ffe000000/fman@400000/mdio@e1120/p4080ds-mdio0 has invalid PHY address
mdio_bus mdio@ffe4e1120: /soc@ffe000000/fman@400000/mdio@e1120/p4080ds-mdio1 has invalid PHY address
mdio_bus mdio@ffe4e1120: /soc@ffe000000/fman@400000/mdio@e1120/p4080ds-mdio2 has invalid PHY address
mdio_bus mdio@ffe4e1120: /soc@ffe000000/fman@400000/mdio@e1120/p4080ds-mdio3 has invalid PHY address
Freescale P4080DS MDIO Bus: probed
Freescale P4080DS MDIO Bus: probed
audit: initializing netlink socket (disabled)
type=2000 audit(0.956:1): initialized
highmem bounce pool size: 64 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
NTFS driver 2.1.30 [Flags: R/O].
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 1366
async_tx: api initialized (async)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled