[ELDK] linux-2.6.24 on mpc8xx

Vishwanath Patil patil.vishwanath at gmail.com
Wed Mar 3 07:58:18 CET 2010


Hello stefano,

I have got the new version linux-2.6.33 from the git repository
and noticed that there is no arch/ppc directory as u mentioned
compiled the kernel
noticed that the dtc in scripts/dtc is more intelligent than what i had
it takes the numbers converts to hexadecimal automatically
got the dtb file after using it
now the new dump is as follows

U-Boot 1.3.2 (Feb 21 2010 - 15:49:30) B2

CPU:   MPC852TxxZPnnA at 66 MHz: 4 kB I-Cache 4 kB D-Cachebrgc1 set to 1008e
OR0 : fe000ff6
BR0 : 40000801
OR1 : 0
BR1 : 0
OR2 : f8000800
BR2 : c0
OR3 : 0
BR3 : 0
OR4 : 0
BR4 : 0
OR5 : 0
BR5 : 0
OR6 : 0
BR6 : 4000000
OR7 : 0
BR7 : 0
SCCR : 2020000
PLPRCR : 125d5000
RSR : c0000000
SMCMR : ff002e48
SMCE : ff002e58
SMCM : ff002e68
cp_simode set to 0
 FEC present
<unknown> S/N <unknown>
CPU at 66 MHz, local bus at 33 MHz
DRAM:  128 MB
Top of RAM usable for U-Boot at: 08000000
Reserving 271k for U-Boot at: 07fbc000
Reserving 132k for malloc() at: 07f9b000
Reserving 60 Bytes for Board Info at: 07f9afc4
Reserving 56 Bytes for Global Data at: 07f9af8c
Stack Pointer at: 07f9af7c
Stack Pointer at: 07f9af70
Stack Pointer at: 07f9af68
relocating the code
Now running in RAM - U-Boot at: 07fbc000
FLASH: In:    serial
Out:   serial
Err:   serial
U-Boot relocated to 07fbc000
Net:   FEC ETHERNET
BEDBUG:ready


Hit any key to stop autoboot:  0
B2> tftp 0xa00000 uImage-2.6
Using FEC ETHERNET device
TFTP from server 192.168.53.13; our IP address is 192.168.53.112
Filename 'uImage-2.6'.
Load address: 0xa00000
Loading: #################################################################
         ###################################################
done
Bytes transferred = 1689919 (19c93f hex)

Abort commented eth_halt
B2> tftp 0xc00000 test8.UBoot
Using FEC ETHERNET device
TFTP from server 192.168.53.13; our IP address is 192.168.53.112
Filename 'test8.UBoot'.
Load address: 0xc00000
Loading: #################################################################
         #######################################################
done
Bytes transferred = 1750328 (1ab538 hex)

Abort commented eth_halt
B2> tftp 0xe00000 mpc852t.dtb
Using FEC ETHERNET device
TFTP from server 192.168.53.13; our IP address is 192.168.53.112
Filename 'mpc852t.dtb'.
Load address: 0xe00000
Loading: #
done
Bytes transferred = 7406 (1cee hex)

Abort commented eth_halt
B2> bootm 0xa00000 0xc00000 0xe00000
## Booting image at 00a00000 ...
   Image Name:   Linux-2.6.33
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1689855 Bytes =  1.6 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Current stack ends at 0x07F9ACD0 => set upper limit to 0x00800000
## cmdline at 0x007FFF00 ... 0x007FFF14
memstart    = 0x00000000
memsize     = 0x08000000
flashstart  = 0x40000000
flashsize   = 0x00800000
flashoffset = 0x00000000
sramstart   = 0x00000000
sramsize    = 0x00000000
immr_base   = 0xFF000000
bootflags   = 0x00000001
intfreq     =     66 MHz
busfreq     =     33 MHz
ethaddr     = 00:00:00:00:00:02
IP addr     = 192.168.53.112
baudrate    =  57600 bps
Not skipping initrd
## Loading RAMDisk Image at 00c00000 ...
   Image Name:   RamdiskImage
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    1750264 Bytes =  1.7 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Booting using the fdt at 0xe00000
## initrd at 0x00C00040 ... 0x00DAB537 (len=1750264=0x1AB4F8)
   Loading Ramdisk to 07dee000, end 07f994f8 ... OK
## device tree at 0x00E00000 ... 0x00E01CED (len=7406=0x1CEE)
   Loading Device Tree to 007fe000, end 007ffced ... OK
## Transferring control to Linux (at address 00000000) ...

the dts file is as follows

/*
 * MPC885 ADS Device Tree Source
 *
 * Copyright 2006 MontaVista Software, Inc.
 * Copyright 2007,2008 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 = "MPC852TADS";
    compatible = "fsl,mpc885ads";
    #address-cells = <1>;
    #size-cells = <1>;

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

        PowerPC,852 at 0 {
            device_type = "cpu";
            reg = <0x0>;
            d-cache-line-size = <16>;
            i-cache-line-size = <16>;
            d-cache-size = <4096>;
            i-cache-size = <4096>;
            timebase-frequency = <0>;
            bus-frequency = <0>;
            clock-frequency = <0>;
            interrupts = <15 2>;    // decrementer interrupt
            interrupt-parent = <&PIC>;
        };
    };
    memory {
        device_type = "memory";
        reg = <0x0 0x0>;
    };

    localbus at ff000100 {
        compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
        #address-cells = <2>;
        #size-cells = <1>;
        reg = <0xff000100 0x40>;

        ranges = <
            0x0 0x0 0xfe000000 0x800000
            0x1 0x0 0xff080000 0x8000
            0x5 0x0 0xff0a0000 0x8000
        >;

        flash at 0,0 {
            compatible = "jedec-flash";
            reg = <0x0 0x0 0x800000>;
            bank-width = <4>;
            device-width = <1>;
        };

        board-control at 1,0 {
            reg = <0x1 0x0 0x20 0x5 0x300 0x4>;
            compatible = "fsl,mpc885ads-bcsr";
        };
    };

    soc at ff000000 {
        compatible = "fsl,mpc885", "fsl,pq1-soc";
        #address-cells = <1>;
        #size-cells = <1>;
        device_type = "soc";
        ranges = <0x0 0xff000000 0x4000>;
        bus-frequency = <0>;
        // Temporary -- will go away once kernel uses ranges for get_immrbase().
        reg = <0xff000000 0x4000>;

        mdio at e00 {
            compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
            reg = <0xe00 0x188>;
            #address-cells = <1>;
            #size-cells = <0>;

            PHY0: ethernet-phy at 0 {
                reg = <0x0>;
                device_type = "ethernet-phy";
            };
/*
            PHY1: ethernet-phy at 1 {
                reg = <0x1>;
                device_type = "ethernet-phy";
            };

            PHY2: ethernet-phy at 2 {
                reg = <0x2>;
                device_type = "ethernet-phy";
            };
*/
        };

        ethernet at e00 {
            device_type = "network";
            compatible = "fsl,mpc885-fec-enet",
                         "fsl,pq1-fec-enet";
            reg = <0xe00 0x188>;
            local-mac-address = [ 00 00 00 00 00 00 ];
            interrupts = <3 1>;
            interrupt-parent = <&PIC>;
            phy-handle = <&PHY0>;
            linux,network-index = <0>;
        };
/*        ethernet at 1e00 {
            device_type = "network";
            compatible = "fsl,mpc885-fec-enet",
                         "fsl,pq1-fec-enet";
            reg = <0x1e00 0x188>;
            local-mac-address = [ 00 00 00 00 00 00 ];
            interrupts = <7 1>;
            interrupt-parent = <&PIC>;
            phy-handle = <&PHY1>;
            linux,network-index = <1>;
        };
*/
        PIC: interrupt-controller at 0 {
            interrupt-controller;
            #interrupt-cells = <2>;
            reg = <0x0 0x24>;
            compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
        };

        pcmcia at 80 {
            #address-cells = <3>;
            #interrupt-cells = <1>;
            #size-cells = <2>;
            compatible = "fsl,pq-pcmcia";
            device_type = "pcmcia";
            reg = <0x80 0x80>;
            interrupt-parent = <&PIC>;
            interrupts = <13 1>;
        };

        cpm at 9c0 {
            #address-cells = <1>;
            #size-cells = <1>;
            compatible = "fsl,mpc885-cpm", "fsl,cpm1";
            command-proc = <0x9c0>;
            interrupts = <0>;   // cpm error interrupt
            interrupt-parent = <&CPM_PIC>;
            reg = <0x9c0 0x40>;
            ranges;

            muram at 2000 {
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x0 0x2000 0x2000>;

                data at 0 {
                    compatible = "fsl,cpm-muram-data";
                    reg = <0x0 0x1c00>;
                };
            };

            brg at 9f0 {
                compatible = "fsl,mpc885-brg",
                             "fsl,cpm1-brg",
                             "fsl,cpm-brg";
                clock-frequency = <0>;
                reg = <0x9f0 0x10>;
            };

            CPM_PIC: interrupt-controller at 930 {
                interrupt-controller;
                #interrupt-cells = <1>;
                interrupts = <5 2 0 2>;
                interrupt-parent = <&PIC>;
                reg = <0x930 0x20>;
                compatible = "fsl,mpc885-cpm-pic",
                             "fsl,cpm1-pic";
            };

            serial at a80 {
                device_type = "serial";
                compatible = "fsl,mpc885-smc-uart",
                             "fsl,cpm1-smc-uart";
                reg = <0xa80 0x10 0x3e80 0x40>;
                interrupts = <4>;                interrupt-parent = <&CPM_PIC>;
                fsl,cpm-brg = <1>;
                fsl,cpm-command = <0x90>;
            };

            serial at a90 {
                device_type = "serial";
                compatible = "fsl,mpc885-smc-uart",
                             "fsl,cpm1-smc-uart";
                reg = <0xa90 0x10 0x3f80 0x40>;
                interrupts = <3>;
                interrupt-parent = <&CPM_PIC>;
                fsl,cpm-brg = <2>;
                fsl,cpm-command = <0xd0>;
            };
/*
            ethernet at a40 {
                device_type = "network";
                compatible = "fsl,mpc885-scc-enet",
                             "fsl,cpm1-scc-enet";
                reg = <0xa40 0x18 0x3e00 0x100>;
                local-mac-address = [ 00 00 00 00 00 00 ];
                interrupts = <28>;
                interrupt-parent = <&CPM_PIC>;
                phy-handle = <&PHY2>;
                fsl,cpm-command = <0x80>;
                linux,network-index = <2>;
            };
*/
            i2c at 860 {
                compatible = "fsl,mpc885-i2c",
                         "fsl,cpm1-i2c";
                reg = <0x860 0x20 0x3c80 0x30>;
                interrupts = <16>;
                interrupt-parent = <&CPM_PIC>;
                fsl,cpm-command = <0x10>;
                #address-cells = <1>;
                #size-cells = <0>;
            };
        };
    };

    chosen {
        linux,stdout-path = "/soc/cpm/serial at a80";
    };
};

now, i notice that the memory is not completely given and the cpu
frequency is set to 0
why are these set to 0 in the example file
do we have to specify anything there

Please advice
regards
Vishwanath


On Wed, Mar 3, 2010 at 4:25 AM, stefano babic <sbabic at denx.de> wrote:
> Vishwanath Patil wrote:
>> thanks for that quick rebound.... will take the new kernel version...
>> is the dtc version okay?
>
> No, it is not, but do not worry. Take the last kernel version and you
> will get an updated dtc, too (under scripts/dtc).
>
> Regards,
> Stefano
>
> --
> =====================================================================
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
> =====================================================================
>


More information about the eldk mailing list