From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Tue, 12 May 2009 15:17:35 +0200 Subject: [U-Boot] [PATCH v2] MPC8260: fixup device tree by property instead of path Message-ID: <1242134255-7295-1-git-send-email-wd@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 Cc: Heiko Schocher --- v2: Fix typo in Heiko's name. Heiko, could you please test if this works with mgcoge, too? cpu/mpc8260/cpu.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cpu/mpc8260/cpu.c b/cpu/mpc8260/cpu.c index d4622ca..17e6248 100644 --- a/cpu/mpc8260/cpu.c +++ b/cpu/mpc8260/cpu.c @@ -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 */ -- 1.6.0.6