
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@gmail.com wrote:
From: Jerry Van Baren gvb.uboot@gmail.com Subject: Re: [U-Boot] Linux kernel hang with FDT changes To: "Ronny D" ronny_d37@yahoo.com Cc: "Stefan Roese" sr@denx.de, "U-boot" u-boot@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