[U-Boot] [PATCH v2] MPC8260: fixup device tree by property instead of path

Heiko Schocher hs at denx.de
Wed May 13 08:00:53 CEST 2009


Hello Wolfgang,

Wolfgang Denk wrote:
> cpu/mpc8260/cpu.c used to use do_fixup_by_path_u32() to update the
> clock frequencies in the device tree, using a CPU path
> "/cpus/OF_CPU", with OF_CPU beind defined in the board config file.
> 
> However, this does not work when one board config file (here:
> MPC8260ADS.h) is intended to be used for several diffrent CPUs and
> therefor contains a generic definition like "cpu at 0", as the device
> trees that will then be loaded will contain specific names like
> "PowerPC,8272 at 0".
> 
> We switch to using do_fixup_by_prop_u32() instead, so we can search
> for device_type="cpu", as it is done in other architectures, too.
> 
> Signed-off-by: Wolfgang Denk <wd at denx.de>
> Cc: Heiko Schocher <hs at denx.de>
> ---
> v2: Fix typo in Heiko's name.
> 
> Heiko, could you please test if this works with mgcoge, too?

It works fine on the mgcoge:

=> tftp 400000 mgcoge/mgcoge.dtb-hs
Using SCC ETHERNET device
TFTP from server 192.168.1.1; our IP address is 192.168.20.3
Filename 'mgcoge/mgcoge.dtb-hs'.
Load address: 0x400000
Loading: #
done
Bytes transferred = 6000 (1770 hex)
=> fdt addr 400000
=> fdt print
[...]
        cpus {
                #address-cells = <0x1>;
                #size-cells = <0x0>;
                PowerPC,8247 at 0 {
                        device_type = "cpu";
                        reg = <0x0>;
                        d-cache-line-size = <0x20>;
                        i-cache-line-size = <0x20>;
                        d-cache-size = <0x4000>;
                        i-cache-size = <0x4000>;
                        timebase-frequency = <0x0>;
                        clock-frequency = <0x0>;
                        bus-frequency = <0x0>;
                };

=> fdt board
=> fdt print /cpus
cpus {
        #address-cells = <0x1>;
        #size-cells = <0x0>;
        PowerPC,8247 at 0 {
                device_type = "cpu";
                reg = <0x0>;
                d-cache-line-size = <0x20>;
                i-cache-line-size = <0x20>;
                d-cache-size = <0x4000>;
                i-cache-size = <0x4000>;
                timebase-frequency = <0xfbc520>;
                clock-frequency = <0xbcd3d80>;
                bus-frequency = <0x3ef1480>;
        };
};
=>

Also Linux boots fine :-)
so this patch looks good to me, so:

Acked-by: Heiko Schocher<hs at denx.de>

bye
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list