]> git.sur5r.net Git - u-boot/commitdiff
MPC8260: fixup device tree by property instead of path
authorWolfgang Denk <wd@denx.de>
Tue, 12 May 2009 13:17:35 +0000 (15:17 +0200)
committerWolfgang Denk <wd@denx.de>
Fri, 15 May 2009 20:03:09 +0000 (22:03 +0200)
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@0", as the device
trees that will then be loaded will contain specific names like
"PowerPC,8272@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@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
Tested-by: Heiko Schocher <hs@denx.de>
cpu/mpc8260/cpu.c

index d4622ca0cde4257ef445b2372378302a3c17e2cb..17e6248722644651101fe0b01a948d771d46f9a7 100644 (file)
@@ -304,8 +304,6 @@ void watchdog_reset (void)
 #if defined(CONFIG_OF_LIBFDT) && defined (CONFIG_OF_BOARD_SETUP)
 void ft_cpu_setup (void *blob, bd_t *bd)
 {
-       char * cpu_path = "/cpus/" OF_CPU;
-
 #if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
     defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
        fdt_fixup_ethernet(blob);
@@ -314,9 +312,12 @@ void ft_cpu_setup (void *blob, bd_t *bd)
        do_fixup_by_compat_u32(blob, "fsl,cpm2-brg",
                               "clock-frequency", bd->bi_brgfreq, 1);
 
-       do_fixup_by_path_u32(blob, cpu_path, "bus-frequency", bd->bi_busfreq, 1);
-       do_fixup_by_path_u32(blob, cpu_path, "timebase-frequency", OF_TBCLK, 1);
-       do_fixup_by_path_u32(blob, cpu_path, "clock-frequency", bd->bi_intfreq, 1);
+       do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
+               "bus-frequency", bd->bi_busfreq, 1);
+       do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
+               "timebase-frequency", OF_TBCLK, 1);
+       do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
+               "clock-frequency", bd->bi_intfreq, 1);
 }
 #endif /* CONFIG_OF_LIBFDT */