[U-Boot] Linux kernel hang with FDT changes

Ronny D ronny_d37 at yahoo.com
Thu Jun 17 16:28:39 CEST 2010


Thanks jerry i verified the fdt fixup code and found problem with my DTB creation.
By adding fixup for timebase-frequency in DTB kernel works fine.
 
-Ronny


--- On Wed, 16/6/10, Jerry Van Baren <gvb.uboot at gmail.com> wrote:


From: Jerry Van Baren <gvb.uboot at gmail.com>
Subject: Re: [U-Boot] Linux kernel hang with FDT changes
To: "Ronny D" <ronny_d37 at yahoo.com>
Cc: "Stefan Roese" <sr at denx.de>, "U-boot" <u-boot at lists.denx.de>
Date: Wednesday, 16 June, 2010, 3:01 AM


Hi Ronny,

Just adding to Stefan's comments...

On Mon, 2010-06-14 at 13:27 +0200, Stefan Roese wrote:
> Hi Ronny,
> 
> On Monday 14 June 2010 12:00:38 Ronny D wrote:
> > I am using customized ppc440 based board.
> 
> BTW: Do you plan to send the U-Boot changes to the mailing list and some time?
>   
> > We have created a .dtb file, u-boot should not update the file because of
> > that we have added following macro in config file 
> > #define CONFIG_OF_LIBFDT                 1
> > #undef CONFIG_OF_BOARD_SETUP  

Is there a reason you *don't* want the board setup to run?
  
> > With the above change kernel code gets hang with following log:

Without the fixup, linux hangs.

[snip]

> > When we debug the u-boot code by added the following flag
> > #define CONFIG_OF_BOARD_SETUP   1
> > Kernel works fine.
>> > Is there any dependency of CONFIG_OF_BOARD_SETUP flag for .dtb file?

With the fixup, it works.

In all cases I'm aware of, the fixup is a *good* thing.  Check the
source to see what is being fixed up.  The evidence is pretty clear that
you want the fixup. 

> With CONFIG_OF_BOARD_SETUP defined, the function ft_board_setup() will be 
> called to modify the dtb before passing it to the Linux kernel. I suggest you 
> check the code to see, what exactly gets changed/patched by this routine.

...and it is a good thing to run unless you have specific reasons not to
run it.  If you really don't want to run the fixup, it is indicating you
have a problem with your DTB (DTS) that you will have to figure out.  As
Stefan points out, the answer lies in the fixup code vs. your DTB.

> Cheers,
> Stefan

Best regards,
gvb






More information about the U-Boot mailing list