Thanks a lot Paul.
Just after sending the email I realized the goofup that I had to strip .config not .dts. I am in the process of doing this and will update the results soon.
Thanks again,
Regards,
Ravi..

On 12/19/13 15:48, Paul Gortmaker wrote:
[Re: [linux-yocto] ERROR: Failed to allocate 0x3dbd bytes below 0x800000.] On 
19/12/2013 (Thu 15:24) Ravi Rao wrote:

Hi Paul,
   Appreciate the feed back. My responses are in line below..


On 12/19/13 09:30, Paul Gortmaker wrote:

     On 13-12-18 11:50 PM, Ravi Rao wrote:

         Hi All,
         We have a custom Board which is based on mpc8349EMDS which is based on 
e300.
         I got the Toolchain downloaded using poky-dora-10.0.0 project which
         supports e300 core
         Now when I cross compile Linux kernel ver 2.6.32 the system boots up 
and
         works fine.
         But when I cross compile Linux kernel ver 3.X the target reboots just
         after uncompressing the kernel with the error
         ERROR: Failed to allocate 0x3dbd bytes below 0x800000.
         device tree - allocation error
         I am using the same device tree for both kernel versions !!!

     Why would you use the old device tree on the new kernel?  The
     8349EMDS is in mainline IIRC, and hence you aren't tied to the
     old dts file.

I am not using old device tree. I created one which is based on mpc834x_mds.dts 
in 3.4.36 kernel. Attaching it for your ref..
When I use this newly created one with 2.6.32 kernel it works fine. Hence I 
mentioned I was using the same device tree for both kernels!!
OK, so new dts works on the old kernel.  Good to know;  I'd got the
impression you were using the old dts on the new kernel....

     What is the u-boot version?

U-Boot 2009.08 (Nov 11 2013 - 12:37:05) MPC83XX
Not super new, but not so ancient as to probably be the problem.


     How much difference in size is there between the two uImage?

-rw-rw-r--  1 platform33 platform33 4055829 Dec 19 14:21 uImage4hd12_3x
-rw-r--r-- 1 platform33 platform33  1653704 Dec 13 13:30 uImage4hd12_2x
Is it this size diff causing this issue ??
Any idea what may be the reason for increase in 2.5 MB ???
Ouch.  That is a _huge_ difference.  I think objdump and nm are your
friends here -- or even "file" -- with that size difference, I wonder if
you've stripped the newer image...


     Does the 3.x image work if you turn off some stuff to reduce
     the size?  (you can turn off essentially all device drivers
     other than serial for this test)

I tried using a dts with just serial ports and that failed too!!
No, you misunderstand ; the idea was to strip options from the kernel
config file to reduce vmlinux/uImage size; you never want to remove
entries from a dts, as if they aren't used, they are inert.


     What happens if you take a default yocto mpc8315 BSP, and enable
     the mpc8349EMDS in that kernel config (one kernel can support
     multiple mpc83xx boards, IIRC -- haven't booted one for a while...)

I tried enabling CONFIG_MPC834x_MDS=y in .config but I still have the same
error
OK, well your giant increase in uImage size is probably the root cause;
you need to figure out what happened there.

Good luck,
Paul.
--

     Paul.
     --


         Any Idea what may be causing this ??
         Regards,
         Ravi..

         ********** Console Dump ************
         =>  run nfsboot
         Speed: 100, full duplex
         Using TSEC1 device
         TFTP from server 167.254.232.11; our IP address is 167.254.213.35;
         sending through gateway 167.254.213.254
         Filename 'hd12_images/uImage4hd12'.
         Load address: 0x1000000
         Loading: 
#################################################################
                   
#################################################################
                   
#################################################################
                   
#################################################################
                   #################
         done
         Bytes transferred = 4054972 (3ddfbc hex)
         Speed: 100, full duplex
         Using TSEC1 device
         TFTP from server 167.254.232.11; our IP address is 167.254.213.35;
         sending through gateway 167.254.213.254
         Filename 'hd12_images/dtb4hd12.dtb'.
         Load address: 0xc00000
         Loading: #
         done
         Bytes transferred = 3517 (dbd hex)
         WARNING: adjusting available memory to 30000000
         ## Booting kernel from Legacy Image at 01000000 ...
             Image Name:   Linux-3.4.36-yocto-standard
             Created:      2013-12-18  19:26:38 UTC
             Image Type:   PowerPC Linux Kernel Image (gzip compressed)
             Data Size:    4054908 Bytes =  3.9 MB
             Load Address: 00000000
             Entry Point:  00000000
             Verifying Checksum ... OK
         ## Flattened Device Tree blob at 00c00000
             Booting using the fdt blob at 0xc00000
             Uncompressing Kernel Image ... OK
         ERROR: Failed to allocate 0x3dbd bytes below 0x800000.
         device tree - allocation error
         Resetting the board?



         _______________________________________________
         linux-yocto mailing list
         linux-yocto@yoctoproject.org
         https://lists.yoctoproject.org/listinfo/linux-yocto


/*
  * MPC8349E MDS Device Tree Source
  *
  * Copyright 2005, 2006 Freescale Semiconductor Inc.
  *
  * This program is free software; you can redistribute  it and/or modify it
  * under  the terms of  the GNU General  Public License as published by the
  * Free Software Foundation;  either version 2 of the  License, or (at your
  * option) any later version.
  */

/dts-v1/;

/ {
        model = "MPC8349EMDS";
        compatible = "MPC8349EMDS", "MPC834xMDS", "MPC83xxMDS";
        #address-cells =<1>;
        #size-cells =<1>;

        aliases {
                ethernet0 =&enet0;
                ethernet1 =&enet1;
                serial0 =&serial0;
                serial1 =&serial1;
                pci0 =&pci0;

        };

        cpus {
                #address-cells =<1>;
                #size-cells =<0>;

                PowerPC,8349@0 {
                        device_type = "cpu";
                        reg =<0x0>;
                        d-cache-line-size =<32>;
                        i-cache-line-size =<32>;
                        d-cache-size =<32768>;
                        i-cache-size =<32768>;
                        timebase-frequency =<0>;  // from bootloader
                        bus-frequency =<0>;               // from bootloader
                        clock-frequency =<0>;             // from bootloader
                };
        };

        memory {
                device_type = "memory";
                reg =<0x00000000 0x40000000>;     // 1G at 0
        };
        
        soc8349@e0000000 {
                #address-cells =<1>;
                #size-cells =<1>;
                device_type = "soc";
                compatible = "simple-bus";
                ranges =<0x0 0xe0000000 0x00100000>;
                reg =<0xe0000000 0x00000200>;
                bus-frequency =<0>;

                wdt@200 {
                        device_type = "watchdog";
                        compatible = "mpc83xx_wdt";
                        reg =<0x200 0x100>;
                };

                i2c@3000 {
                        #address-cells =<1>;
                        #size-cells =<0>;
                        cell-index =<0>;
                        compatible = "fsl-i2c";
                        reg =<0x3000 0x100>;
                        interrupts =<0xe 0x8>;
                        interrupt-parent =<  &ipic>;
                        dfsrr;

                        temp-sensor@4a {
                                compatible = "dallas,ds1631";
                                reg =<0x4a>;
                        };

                        rtc@51 {
                                compatible = "nxp,pcf8563";
                                reg =<0x51>;
                        };

                        eeprom@52 {
                                compatible = "at24,24c32";
                                reg =<0x52>;
                        };

                        eeprom@53 {
                                compatible = "at24,24c32";
                                reg =<0x53>;
                        };
                };

                i2c@3100 {
                        #address-cells =<1>;
                        #size-cells =<0>;
                        cell-index =<1>;
                        compatible = "fsl-i2c";
                        reg =<0x3100 0x100>;
                        interrupts =<15 0x8>;
                        interrupt-parent =<&ipic>;
                        dfsrr;
                        
                };


                enet0: ethernet@24000 {
                        #address-cells =<1>;
                        #size-cells =<1>;
                        cell-index =<0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg =<0x24000 0x1000>;
                        ranges =<0x0 0x24000 0x1000>;
                        local-mac-address = [ 00 00 0e 11 22 80 ];
                        interrupts =<32 0x8 33 0x8 34 0x8>;
                        interrupt-parent =<&ipic>;
                        phy-handle =<&phy1>;

                };

                mdio@24520 {
                        #address-cells =<1>;
                        #size-cells =<0>;
                        compatible = "fsl,gianfar-mdio";
                        reg =<0x24520 0x20>;

                        /* Vitesse 8201 */
                        phy1: ethernet-phy@1 {
                                reg =<0x1>;
                        };
                        phy2: ethernet-phy@2 {
                                reg =<0x2>;
                        };

                };

                enet1: ethernet@25000 {
                        #address-cells =<1>;
                        #size-cells =<1>;
                        cell-index =<1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg =<0x25000 0x1000>;
                        ranges =<0x0 0x25000 0x1000>;
                        local-mac-address = [ 00 00 0e 11 22 81 ];
                        interrupts =<35 0x8 36 0x8 37 0x8>;
                        interrupt-parent =<&ipic>;
                        /* Vitesse 7385 isn't on the MDIO bus */
                        phy-handle =<&phy2>;
                };



                serial0: serial@4500 {
                        cell-index =<0>;
                        device_type = "serial";
                        compatible = "ns16550";
                        reg =<0x4500 0x100>;
                        clock-frequency =<0>;
                        interrupts =<0x9 0x8>;
                        interrupt-parent =<  &ipic>;
                };

                serial1: serial@4600 {
                        cell-index =<1>;
                        device_type = "serial";
                        compatible = "ns16550";
                        reg =<0x4600 0x100>;
                        clock-frequency =<0>;
                        interrupts =<0xa 0x8>;
                        interrupt-parent =<  &ipic>;
                };
                /* IPIC
                 * interrupts cell =<intr #, sense>
                * sense values match linux IORESOURCE_IRQ_* defines:
                 * sense == 8: Level, low assertion
                 * sense == 2: Edge, high-to-low change
                 */
                ipic: pic@700 {
                        interrupt-controller;
                        #address-cells =<0>;
                        #interrupt-cells =<2>;
                        reg =<0x700 0x100>;
                        built-in;
                        device_type = "ipic";
                };
        };

        pci0:  pci@e0008500 {
                interrupt-map-mask =<0xf800 0 0 0x7>;
                interrupt-map =<
                        /* IDSEL 0x18 -  */
                        0xC000 0x0 0x0 0x1&ipic 0x12 0x8 /* Broadcom */
                        0xC000 0x0 0x0 0x2&ipic 0x12 0x8 /* Broadcom */
                        0xC000 0x0 0x0 0x3&ipic 0x12 0x8 /* Broadcom */
                        0xC000 0x0 0x0 0x4&ipic 0x12 0x8 /* Broadcom */
                /*      0xC800 0x0 0x0 0x1&ipic 19 0x8  test */
                        >;
                                        
                interrupt-parent =<  &ipic>;
                interrupts =<66 0x8>;
                bus-range =<0x0 0x0>;
                ranges =<
                        /* 0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 
*/
                        0x02000000 0x0 0x80000000 0x80000000 0x0 0x01000000
                        0x01000000 0x0 0x00000000 0xe3000000 0x0 0x01000000>;
                clock-frequency =<66666666>;
                #interrupt-cells =<1>;
                #size-cells =<2>;
                #address-cells =<3>;
                reg =<0xe0008500 0x100               /* internal registers */
                       0xe0008300 0x8>;              /* config space access 
registers */
                compatible = "fsl,mpc8349-pci";
                device_type = "pci";
        };
};
/*
  * MPC8349E MDS Device Tree Source
  *
  * Copyright 2005, 2006 Freescale Semiconductor Inc.
  *
  * This program is free software; you can redistribute  it and/or modify it
  * under  the terms of  the GNU General  Public License as published by the
  * Free Software Foundation;  either version 2 of the  License, or (at your
  * option) any later version.
  */

/dts-v1/;

/ {
        model = "MPC8349EMDS";
        compatible = "MPC8349EMDS", "MPC834xMDS", "MPC83xxMDS";
        #address-cells =<1>;
        #size-cells =<1>;

        aliases {
                serial0 =&serial0;
                serial1 =&serial1;

        };

        cpus {
                #address-cells =<1>;
                #size-cells =<0>;

                PowerPC,8349@0 {
                        device_type = "cpu";
                        reg =<0x0>;
                        d-cache-line-size =<32>;
                        i-cache-line-size =<32>;
                        d-cache-size =<32768>;
                        i-cache-size =<32768>;
                        timebase-frequency =<0>;  // from bootloader
                        bus-frequency =<0>;               // from bootloader
                        clock-frequency =<0>;             // from bootloader
                };
        };

        memory {
                device_type = "memory";
                reg =<0x00000000 0x40000000>;     // 1G at 0
        };
        
        soc8349@e0000000 {
                #address-cells =<1>;
                #size-cells =<1>;
                device_type = "soc";
                compatible = "simple-bus";
                ranges =<0x0 0xe0000000 0x00100000>;
                reg =<0xe0000000 0x00000200>;
                bus-frequency =<0>;


                serial0: serial@4500 {
                        cell-index =<0>;
                        device_type = "serial";
                        compatible = "ns16550";
                        reg =<0x4500 0x100>;
                        clock-frequency =<0>;
                        interrupts =<0x9 0x8>;
                        interrupt-parent =<  &ipic>;
                };

                serial1: serial@4600 {
                        cell-index =<1>;
                        device_type = "serial";
                        compatible = "ns16550";
                        reg =<0x4600 0x100>;
                        clock-frequency =<0>;
                        interrupts =<0xa 0x8>;
                        interrupt-parent =<  &ipic>;
                };
                /* IPIC
                  * interrupts cell =<intr #, sense>
                  * sense values match linux IORESOURCE_IRQ_* defines:
                  * sense == 8: Level, low assertion
                  * sense == 2: Edge, high-to-low change
                  */
                 ipic: pic@700 {
                         interrupt-controller;
                         #address-cells =<0>;
                         #interrupt-cells =<2>;
                         reg =<0x700 0x100>;
                         built-in;
                         device_type = "ipic";
                 };

        };

};
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to