Hi, Grant and Nico,

On Fri, Jan 28, 2011 at 2:51 AM, Nicolas Pitre <nicolas.pi...@linaro.org> wrote:
> On Thu, 27 Jan 2011, Grant Likely wrote:
>
>> 2011/1/26 Grant Likely <grant.lik...@secretlab.ca>:
>> > On Wed, Jan 26, 2011 at 2:49 PM, Nicolas Pitre <nicolas.pi...@linaro.org> 
>> > wrote:
>> >> On Wed, 26 Jan 2011, Grant Likely wrote:
>> >>
>> >>> If I were able to get all the supported Linaro platforms modified and
>> >>> tested to support dt booting, would you be okay with picking up the
>> >>> current dt support series and having CONFIG_OF turned on by default
>> >>> for the next Linaro release?  There are also some details to nail down
>> >>> with respect to packaging the .dtb files, but I'm working out those
>> >>> details with Loďc.
>> >>
>> >> May I ask you to create a linaro-2.6.37 branch in your repo based on
>> >> git://git.linaro.org/kernel/linux-linaro-2.6.37.git and merge your DT
>> >> branch in it?  If the result look sane to you then I should be able to
>> >> merge it in the current Linaro kernel for people to play with.
>> >
>> > Done.  My branch is based on 2.6.38-rc1, so I cherry picked rather
>> > than rebased.  The first two commits are in Linus' tree, the remainder
>> > are from devicetree/arm. You can find the result here:
>>
>> Oops, I've run into a bug.  Hold off on this for the moment until I
>> dig it out and squash it.
>
> No problem.  I hadn't pushed it out yet.

I have run into one problem when play with DT support on MX51, here is
what I'm doing,

- Enable  CONFIG_OF_LIBFDT  in u-boot and build for mx51evk,

+#define CONFIG_OF_LIBFDT
+#define CONFIG_SYS_BOOTMAPSZ            0x800000

- Add mx51-dt.c in kernel to add mx51 dt probe and support,

- Build the kernel and uboot, no problem,

- run uboot with DT support, log as the followings,

## Booting kernel from Legacy Image at 90800000 ...
   Image Name:   Linux-2.6.37-rc7+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1866572 Bytes = 1.8 MiB
   Load Address: 90008000
   Entry Point:  90008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 90000000
   Booting using the fdt blob at 0x90000000
   Loading Kernel Image ... OK
OK
   Loading Device Tree to 907fc000, end 907ff6f1 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

No message output, but if print log_buf, here is the log information,

> dump /W 0xC03B550C..0xC03B650C
                   +0x0        +0x4            +0x8        +0xC
               ------------------------------------------------
  S:0xC03B5500                                         4C3E353C             <5>L
  S:0xC03B5510 78756E69    72657620        6E6F6973    362E3220 inux version 2.6
  S:0xC03B5520 2D37332E    2B376372        36722820    33343334 .37-rc7+ (r64343
  S:0xC03B5530 34367240    2D333433        6B736564    29706F74 @r64343-desktop)
  S:0xC03B5540 63672820    65762063        6F697372    2E34206E  (gcc version 4.
  S:0xC03B5550 20332E33    756F5328        72656372    2B472079 3.3 (Sourcery G+
  S:0xC03B5560 694C202B    32206574        71393030    30322D31 + Lite 2009q1-20
  S:0xC03B5570 29202933    20342320        20697246    206E614A 3) ) #4 Fri Jan
  S:0xC03B5580 31203832    30313A35        2031303A    20545343 28 15:10:01 CST
  S:0xC03B5590 31313032    3E343C0A        3A555043    4D524120 2011.<4>CPU: ARM
  S:0xC03B55A0 50203776    65636F72        726F7373    31345B20 v7 Processor [41
  S:0xC03B55B0 30636632    205D3538        69766572    6E6F6973 2fc085] revision
  S:0xC03B55C0 28203520    764D5241        202C2937    313D7263  5 (ARMv7), cr=1
  S:0xC03B55D0 33356330    0A663763        433E343C    203A5550 0c53c7f.<4>CPU:
  S:0xC03B55E0 54504956    6E6F6E20        61696C61    676E6973 VIPT nonaliasing
  S:0xC03B55F0 74616420    61632061        2C656863    50495620  data cache, VIP
  S:0xC03B5600 6C612054    69736169        6920676E    7274736E T aliasing instr
  S:0xC03B5610 69746375    63206E6F        65686361    0000000A uction cache....

After narrow down the issue I found the error happen in the function,

struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
{
        struct boot_param_header *devtree;
        struct machine_desc *mdesc, *mdesc_best = NULL;
        unsigned int score, mdesc_score = ~1;
        unsigned long dt_root;

        devtree = phys_to_virt(dt_phys);

.....

here the dt_phys is 0,


>
>
> Nicolas
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev
>
>

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to