[U-Boot] Custom MPC8548 boot using FDT problem (more info)

Jerry Van Baren gerald.vanbaren at ge.com
Fri Jan 23 13:35:39 CET 2009


Pieter wrote:
> Jerry Van Baren wrote:
>> Pieter wrote:
>>> Hi all
>>>
>>> I have been working on booting our custom MPC8548 board using a FDT.
>>> The board boots up to the point where "controll is passed to Linux"
>>> and then nothing happens. I have plased the final part of the console
>>> output at the bottom of this message.

[snip]

>> Where did you get your FDT source from?
>> Did you modify it?
>> Does your FDT blob get properly fixed up by your u-boot?
>>
>> It is difficult (and not very profitable) to try to make a new linux
>> kernel run with an old u-boot version because both linux and u-boot
>> fdt handling matured considerably over the last year.  The (kernel)
>> FDT blob sources have matured a huge amount over the last year.
>>
>> Good luck,
>> gvb
> I should have added more specific information - i apologize.
> The board worked on my old plarform which consisted of U-Boot 1.2 
> booting Linux 2.6.24  not using a FDT. ( the ppc architecture).My
> current effort is porting to U-Boot 2008.10 and booting Linux 2.6.27.
> This prompted the move to the powerpc architecture and requirement to
> use a FDT.
> 
> The Designers of the board I have did not support FDT, thus I created a
> FDT source for my board based on the sbc8548 board (included in U-boot)
> and using the  "Booting the Linux/ppc kernel without Open Firmware"
> document supplied with Lnux 2.6.27. I am uncertain about assigning
> interrupts to the variouse nodes.

Interrupts.  I feel your pain.  It is quite possibly your problem as well.

Do a dump of the linux log_buf and see what is happening (if anything) 
when linux starts up:
   <http://www.denx.de/wiki/view/DULG/LinuxPostMortemAnalysis>

My bet is that linux is starting OK but the interrupts (in particular, 
console serial) are misconfigured.

Unfortunately, I don't understand the interrupts magic, so you will have 
to find a real guru if this is your problem.

> I compiled the blob using dtc Version: 1.1.0:
> dtc -b 0 -V 17 -p 0x2000 -I dts -R 8 -O dtb -f
> arch/powerpc/boot/dts/equus.dts > SDH0/tftp/equus.dtb

FWIIW, you do not need the -V 17 (version) any more unless your dtc is 
really old, in which case you need a new dtc.  (I forgot what -b does, 
the rest look OK.)

> My FDT blob is minimal, containg the CPU node, Memory node, SOC node
> and  Localbus. U-boot seems happy with the blob and fill in the
> appropriate field in the CPU node (bus / cpu clocks) and Ethernet MAC
> addresses

Good, but it doesn't take much for u-boot to be happy with the blob 
since it is just fixing up a couple of specific values.  :-/

> I moved both the uImage and the FDTblob load addresses higher,
> 0x01000000 and  0x02000000 respectively.
> but the boot stil hangs after  " ## Transferring control to Linux (at
> address 00000000) ... Booting using OF flat tree... "

OK, cheap question, not a good answer.  It was worth a shot...

Best regards,
gvb


More information about the U-Boot mailing list