public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] Custom MPC8548 boot using FDT problem
@ 2009-01-22 15:08 Pieter
  2009-01-22 21:24 ` Jerry Van Baren
  0 siblings, 1 reply; 6+ messages in thread
From: Pieter @ 2009-01-22 15:08 UTC (permalink / raw)
  To: u-boot

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.

Does anyone have an idea about what is going wrong?
Is the error in my u-boot, device tree blob or linux kernel side?
I am also not able to erase my flash in U-Boot (nor)  does anyone know
what i should look at?

thanks pieter

    WARNING: adjusting available memory to 10000000
    ## Booting kernel from Legacy Image at 00200000 ...
       Image Name:   Linux-2.6.27
       Image Type:   PowerPC Linux Kernel Image (gzip compressed)
       Data Size:    1194002 Bytes =  1.1 MB
       Load Address: 00000000
       Entry Point:  00000000
       Verifying Checksum ... OK
       kernel data at 0x00200040, len = 0x00123812 (1194002)
    ## Flattened Device Tree blob at 00800000
       Booting using the fdt blob at 0x800000
       of_flat_tree at 0x00800000 size 0x000037bc
       Uncompressing Kernel Image ... OK
       kernel loaded at 0x00000000, end = 0x00294a90
    ## device tree at 0x00800000 ... 0x008037BB (len=26556=0x67BC)
    ## Transferring control to Linux (at address 00000000) ...
       Booting using OF flat tree...

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] Custom MPC8548 boot using FDT problem
  2009-01-22 15:08 [U-Boot] Custom MPC8548 boot using FDT problem Pieter
@ 2009-01-22 21:24 ` Jerry Van Baren
  2009-01-23  7:23   ` [U-Boot] Problem erasing Flash in U-boot 2008.10 Pieter
  2009-01-23  8:37   ` [U-Boot] Custom MPC8548 boot using FDT problem (more info) Pieter
  0 siblings, 2 replies; 6+ messages in thread
From: Jerry Van Baren @ 2009-01-22 21:24 UTC (permalink / raw)
  To: u-boot

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.
> 
> Does anyone have an idea about what is going wrong?
> Is the error in my u-boot, device tree blob or linux kernel side?

Probably.  :-/

> I am also not able to erase my flash in U-Boot (nor)  does anyone know
> what i should look at?

What version of u-boot?
Are you using the CFI flash driver?
Do you have flash locked and forget to unlock it?
Did it work before?
Can you write the flash commands by hand (type in u-boot command line 
memory write commands - it isn't hard, works great) and have it work?

> thanks pieter
> 
>     WARNING: adjusting available memory to 10000000
>     ## Booting kernel from Legacy Image at 00200000 ...

Try a higher address, say 00400000?

>        Image Name:   Linux-2.6.27
>        Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>        Data Size:    1194002 Bytes =  1.1 MB
>        Load Address: 00000000
>        Entry Point:  00000000
>        Verifying Checksum ... OK
>        kernel data at 0x00200040, len = 0x00123812 (1194002)
>     ## Flattened Device Tree blob at 00800000
>        Booting using the fdt blob at 0x800000
>        of_flat_tree at 0x00800000 size 0x000037bc
>        Uncompressing Kernel Image ... OK
>        kernel loaded at 0x00000000, end = 0x00294a90
>     ## device tree at 0x00800000 ... 0x008037BB (len=26556=0x67BC)
>     ## Transferring control to Linux (at address 00000000) ...
>        Booting using OF flat tree...

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] Problem erasing Flash in U-boot 2008.10
  2009-01-22 21:24 ` Jerry Van Baren
@ 2009-01-23  7:23   ` Pieter
  2009-01-23  8:37   ` [U-Boot] Custom MPC8548 boot using FDT problem (more info) Pieter
  1 sibling, 0 replies; 6+ messages in thread
From: Pieter @ 2009-01-23  7:23 UTC (permalink / raw)
  To: u-boot

I am also not able to erase my flash in U-Boot  2008.10 (nor Flash) .
All flash operations worked correctly in U-boot 1.2 .
I am using The CFI driver and the output of flinfo in both U-boot 1.2
and U-Boot 2008 are the same:

    Bank # 1: CFI conformant FLASH (32 x 16)  Size: 128 MB in 512 Sectors
      AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x7E2301
      Erase timeout: 16384 ms, write timeout: 2 ms
      Buffer write timeout: 5 ms, buffer size: 32 bytes

The flash is not locked, I did try using the command protect off all
before erasing a sector, with no result. I am Unable to write to flash
manually using uboot commands ( mw, mm , or copy). I have placed the
console output of my copy attempt below ( DEBUG is defined)

    UBoot=> md ff000000             
    ff000000: ffffffff ffffffff ffffffff ffffffff    ................
    ff000010: ffffffff ffffffff ffffffff ffffffff    ................
    UBoot=> cp.b fa000000 ff000000 10
    Copy to Flash... fwc addr ff001554 cmd aa 00aa00aa 32bit x 16 bit
    fwc addr ff000aa8 cmd 55 00550055 32bit x 16 bit
    fwc addr ff001554 cmd a0 00a000a0 32bit x 16 bit
    flash_is_busy: 0

Can Anyone pls help?
thanks pieter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] Custom MPC8548 boot using FDT problem (more info)
  2009-01-22 21:24 ` Jerry Van Baren
  2009-01-23  7:23   ` [U-Boot] Problem erasing Flash in U-boot 2008.10 Pieter
@ 2009-01-23  8:37   ` Pieter
  2009-01-23 12:35     ` Jerry Van Baren
  1 sibling, 1 reply; 6+ messages in thread
From: Pieter @ 2009-01-23  8:37 UTC (permalink / raw)
  To: u-boot

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.
>>
>> Does anyone have an idea about what is going wrong?
>> Is the error in my u-boot, device tree blob or linux kernel side?
>
> Probably.  :-/
>> thanks pieter
>>
>>     WARNING: adjusting available memory to 10000000
>>     ## Booting kernel from Legacy Image at 00200000 ...
> Try a higher address, say 00400000?
>>        Image Name:   Linux-2.6.27
>>        Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>>        Data Size:    1194002 Bytes =  1.1 MB
>>        Load Address: 00000000
>>        Entry Point:  00000000
>>        Verifying Checksum ... OK
>>        kernel data at 0x00200040, len = 0x00123812 (1194002)
>>     ## Flattened Device Tree blob at 00800000
>>        Booting using the fdt blob at 0x800000
>>        of_flat_tree at 0x00800000 size 0x000037bc
>>        Uncompressing Kernel Image ... OK
>>        kernel loaded at 0x00000000, end = 0x00294a90
>>     ## device tree at 0x00800000 ... 0x008037BB (len=26556=0x67BC)
>>     ## Transferring control to Linux (at address 00000000) ...
>>        Booting using OF flat tree...
> 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.

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

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

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... "

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] Custom MPC8548 boot using FDT problem (more info)
  2009-01-23  8:37   ` [U-Boot] Custom MPC8548 boot using FDT problem (more info) Pieter
@ 2009-01-23 12:35     ` Jerry Van Baren
  2009-01-23 14:21       ` Pieter
  0 siblings, 1 reply; 6+ messages in thread
From: Jerry Van Baren @ 2009-01-23 12:35 UTC (permalink / raw)
  To: u-boot

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] Custom MPC8548 boot using FDT problem (more info)
  2009-01-23 12:35     ` Jerry Van Baren
@ 2009-01-23 14:21       ` Pieter
  0 siblings, 0 replies; 6+ messages in thread
From: Pieter @ 2009-01-23 14:21 UTC (permalink / raw)
  To: u-boot

Jerry Van Baren wrote:
> 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
I have enabled various debug paramaters in the Linux  config , including
"CONFIG_PPC_EARLY_DEBUG=y" and did the post mortem investigation (
__log_buf at 0xc0298bcc, and the kernel  at 0xc0000000) unfortunatly
there was nothing at the memory location 0x00298bcc. Thus leading me to
turn back to FDT problem and U-Boot.

I am not convinced that the chosen node is created correctly (how do i
specify wheather serial0 or 1 should be used? ) using U-boot fdt chosen
command the node is created as:
 chosen {
        linux,stdout-path = "/soc8548 at e0000000/serial at 4500";
        bootargs = "root=/dev/nfs rw nfsroot=10.0.0.1:/equus/build/target
        ip=10.0.0.200:10.0.0.1:10.0.0.1:255.255.255.0:equus:eth0:off
console=ttyS0,115200";
};

I am currently looking at the interrupt and would appreciate input from
people familiar with the creation of device tree source.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-01-23 14:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-22 15:08 [U-Boot] Custom MPC8548 boot using FDT problem Pieter
2009-01-22 21:24 ` Jerry Van Baren
2009-01-23  7:23   ` [U-Boot] Problem erasing Flash in U-boot 2008.10 Pieter
2009-01-23  8:37   ` [U-Boot] Custom MPC8548 boot using FDT problem (more info) Pieter
2009-01-23 12:35     ` Jerry Van Baren
2009-01-23 14:21       ` Pieter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox