[U-Boot] Problem booting CRAMFS with flattened device tree

Greetings all,
I have been able to port to U-boot 2009 successfully and am able to boot Linux 2.6.27 via NFS using a flattened device tree. I am now stuck trying to boot a CRAMFS version from flash (AMD nor). I found that U-boot1.2 used a MTD map that is compiled for the board. Is this still the way to mount and map the flash in U-Boot 2009?
I have defined the flash partitions in the device tree source, but it does not seem to get used. am I missing a step or a config setting?
Even though Im trying to boot CRAMFS, the console output keeps refering to NFS as mounting point. my Kernel command line is: root=/dev/mtdblock0 ro console=ttyS0,115200
In the console output i dont see ant CFI interaction. I have been throug my board's default_config basing it closely on tqm8548_defconfig but coulf not get the CFI interface to work.
a would appreciate any help, thanks Hendrik van der Kolf
My console output is:
U-Boot 2009.01-00226-g6c6e042-dirty-svn1216 (Feb 10 2009 - 15:36:40)
CPU: 8548E, Version: 1.1, (0x80390011) Core: E500, Version: 1.0, (0x80210010) Clock Configuration: CPU0:990 MHz, CCB:396 MHz, DDR:198 MHz (396 MT/s data rate), LBC:49.500 MHz L1: D-cache 32 kB enabled I-cache 32 kB enabled Board: qps8548 MPC8548 PCI1: 64 bit, 66 MHz, sync I2C: ready DRAM: Initializing DDR: 512 MB FLASH: 128 MB L2: 512 KB already enabled *** Warning - bad CRC, using default environment PCI: 64 bit, 66 MHz, sync, host, arbiter Scanning PCI bus 00 PCI1 on bus 00 - 00 In: serial Out: serial Err: serial Net: eTSEC0, eTSEC1, eTSEC2
partition changed to nor0,0 Speed: 100, full duplex Using eTSEC0 device TFTP from server 10.0.0.1; our IP address is 10.0.0.200 Filename 'test.dtb'. Load address: 0x2000000 Loading: # done Bytes transferred = 9551 (254f hex) ### CRAMFS loading '/boot/uImage' to 0x1000000 ### CRAMFS load complete: 1515729 bytes loaded to 0x1000000 WARNING: adjusting available memory to 10000000 ## Booting kernel from Legacy Image at 01000000 ... Image Name: Linux-2.6.27-01163-g809d437-dirt Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1515665 Bytes = 1.4 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 02000000 Booting using the fdt blob at 0x2000000 Uncompressing Kernel Image ... OK Loading Device Tree to 007fa000, end 007ff54e ... OK
[ 0.000000] Using qps8548 machine description [ 0.000000] Memory CAM mapping: CAM0=256Mb, CAM1=256Mb, CAM2=0Mb residual: 0Mb [ 0.000000] Linux version 2.6.27-01163-g809d437-dirty (root@sdh-ts2) (gcc version 4.2.2) #1 Tue Feb 10 15:42:11 SAST 2009 [ 0.000000] Found legacy serial port 0 for /soc8548@e0000000/serial@4500 [ 0.000000] mem=e0004500, taddr=e0004500, irq=0, clk=396000000, speed=115200 [ 0.000000] Found legacy serial port 1 for /soc8548@e0000000/serial@4600 [ 0.000000] mem=e0004600, taddr=e0004600, irq=0, clk=396000000, speed=115200 [ 0.000000] console [udbg0] enabled setup_arch: bootmem qps8548_setup_arch() arch: exit [ 0.000000] Top of RAM: 0x20000000, Total RAM: 0x20000000 [ 0.000000] Memory hole size: 0MB [ 0.000000] Zone PFN ranges: [ 0.000000] DMA 0x00000000 -> 0x00020000 [ 0.000000] Normal 0x00020000 -> 0x00020000 [ 0.000000] HighMem 0x00020000 -> 0x00020000 [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[1] active PFN ranges [ 0.000000] 0: 0x00000000 -> 0x00020000 [ 0.000000] On node 0 totalpages: 131072 [ 0.000000] free_area_init_node: node 0, pgdat c0338f2c, node_mem_map c0390000 [ 0.000000] DMA zone: 130048 pages, LIFO batch:31 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 [ 0.000000] Kernel command line: root=/dev/mtdblock0 ro console=ttyS0,115200 [ 0.000000] mpic: Setting up MPIC " OpenPIC " version 1.2 at e0040000, max 1 CPUs [ 0.000000] mpic: ISU size: 80, shift: 7, mask: 7f [ 0.000000] mpic: Initializing for 80 sources [ 0.000000] PID hash table entries: 2048 (order: 11, 8192 bytes) [ 0.000000] time_init: decrementer frequency = 49.500000 MHz [ 0.000000] time_init: processor frequency = 990.000000 MHz [ 0.000000] clocksource: timebase mult[50cede6] shift[22] registered [ 0.000000] clockevent: decrementer mult[cac] shift[16] cpu[0] [ 0.012180] Console: colour dummy device 80x25 [ 0.017138] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.024979] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.067828] High memory: 0k [ 0.070447] Memory: 515968k/524288k available (3188k kernel code, 8196k reserved, 120k data, 299k bss, 160k init) [ 0.080744] SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.088262] Calibrating delay loop... 98.81 BogoMIPS (lpj=49408) [ 0.113198] Mount-cache hash table entries: 512 [ 0.119930] net_namespace: 288 bytes [ 0.124468] NET: Registered protocol family 16
[ 0.134073] PCI: Probing PCI hardware [ 0.147819] Switched to high resolution mode on CPU 0 [ 0.153707] tracer: 772 pages allocated for 65536 entries of 48 bytes [ 0.159981] actual entries 65620 [ 0.167572] NET: Registered protocol family 2 [ 0.181069] IP route cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.189644] TCP established hash table entries: 65536 (order: 7, 524288 bytes) [ 0.198032] TCP bind hash table entries: 65536 (order: 6, 262144 bytes) [ 0.205394] TCP: Hash tables configured (established 65536 bind 65536) [ 0.211766] TCP reno registered [ 0.218091] NET: Registered protocol family 1 [ 0.226106] of-fsl-dma e0021300.dma: Probe the Freescale DMA driver for fsl,eloplus-dma cont roller at e0021300... [ 0.242882] of-fsl-dma-channel e0021100.dma-channe: #0 (fsl,eloplus-dma-channel), irq 20 [ 0.256880] of-fsl-dma-channel e0021180.dma-channe: #1 (fsl,eloplus-dma-channel), irq 21 [ 0.270880] of-fsl-dma-channel e0021200.dma-channe: #2 (fsl,eloplus-dma-channel), irq 22 [ 0.284882] of-fsl-dma-channel e0021280.dma-channe: #3 (fsl,eloplus-dma-channel), irq 23 [ 0.299174] audit: initializing netlink socket (disabled) [ 0.304512] type=2000 audit(0.241:1): initialized [ 0.309235] Testing tracer sched_switch: PASSED [ 0.425411] Testing tracer ftrace: PASSED [ 0.542691] Testing dynamic ftrace: PASSED [ 0.777926] JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 0.785281] msgmni has been set to 1007 [ 0.789566] io scheduler noop registered [ 0.793335] io scheduler anticipatory registered [ 0.797918] io scheduler deadline registered [ 0.802212] io scheduler cfq registered (default) [ 1.042223] Serial: 8250/16550 driver4 ports, IRQ sharing enabled [ 1.051724] serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 42) is a 16550A
[ 1.058386] cons ole handover: boot [udbg0] -> real [ttyS0] [ 1.065142] serial8250.0: ttyS1 at MMIO 0xe0004600 (irq = 42) is a 16550A [ 1.080974] brd: module loaded [ 1.088121] loop: module loaded [ 1.097505] Gianfar MII Bus: probed [ 1.102306] eth0: Gianfar Ethernet Controller Version 1.2, 00:50:c2:52:50:fc [ 1.109393] eth0: Running with NAPI enabled [ 1.113589] eth0: 256/256 RX/TX BD ring size [ 1.119004] eth1: Gianfar Ethernet Controller Version 1.2, 00:50:c2:52:50:fd [ 1.126105] eth1: Running with NAPI enabled [ 1.130305] eth1: 256/256 RX/TX BD ring size [ 1.135764] eth2: Gianfar Ethernet Controller Version 1.2, 00:50:c2:52:50:fe [ 1.142867] eth2: Running with NAPI enabled [ 1.147077] eth2: 256/256 RX/TX BD ring size [ 1.154504] Initializing XFRM netlink socket [ 1.158840] NET: Registered protocol family 17 [ 1.164038] RPC: Registered udp transport module. [ 1.168799] RPC: Registered tcp transport module. [ 1.175097] Root-NFS: No NFS server available, giving up. [ 1.180586] VFS: Unable to mount root fs via NFS, trying floppy. [ 1.187149] VFS: Cannot open root device "mtdblock0" or unknown-block(2,0) [ 1.194076] Please append a correct "root=" boot option; here are the available partitions: [ 1.202491] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) [ 1.210790] Rebooting in 180 seconds..

hendrik wrote:
Greetings all,
I have been able to port to U-boot 2009 successfully and am able to boot Linux 2.6.27 via NFS using a flattened device tree. I am now stuck trying to boot a CRAMFS version from flash (AMD nor). I found that U-boot1.2 used a MTD map that is compiled for the board. Is this still the way to mount and map the flash in U-Boot 2009?
I have defined the flash partitions in the device tree source, but it does not seem to get used. am I missing a step or a config setting?
<snip>
to use partitions as define in FDT define the following in your kernel config
CONFIG_MTD_PHYSMAP_OF=y CONFIG_MTD_PARTITIONS=y CONFIG_MTD_OF_PARTS=y
enable MTD_CIF and read http://kernel.xc.net/html/linux-2.6.27/powerpc/
cheers pieter
participants (2)
-
hendrik
-
Pieter