xref: /openbmc/u-boot/arch/powerpc/cpu/mpc8xx/fdt.c (revision ed56fb1d)
1 /*
2  * Copyright 2008 (C) Bryan O'Donoghue
3  *
4  * Code copied & edited from Freescale mpc85xx stuff.
5  *
6  * See file CREDITS for list of people who contributed to this
7  * project.
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License as
11  * published by the Free Software Foundation; either version 2 of
12  * the License, or (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
22  * MA 02111-1307 USA
23  */
24 
25 #include <common.h>
26 #include <libfdt.h>
27 #include <fdt_support.h>
28 
29 DECLARE_GLOBAL_DATA_PTR;
30 
31 void ft_cpu_setup(void *blob, bd_t *bd)
32 {
33 	do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
34 		"timebase-frequency", get_tbclk(), 1);
35 	do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
36 		"bus-frequency", bd->bi_busfreq, 1);
37 	do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
38 		"clock-frequency", bd->bi_intfreq, 1);
39 	do_fixup_by_compat_u32(blob, "fsl,cpm-brg", "clock-frequency",
40 		gd->brg_clk, 1);
41 
42 	/* Fixup ethernet MAC addresses */
43 	fdt_fixup_ethernet(blob);
44 
45 	fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
46 }
47