mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-24 12:44:23 +08:00
mpc8260: move FDT memory node fixup into common CPU code.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@noser.com> Tested-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
f2cea405f8
commit
cada315100
@ -550,24 +550,11 @@ void pci_init_board(void)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
|
||||
void ft_blob_update(void *blob, bd_t *bd)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
|
||||
|
||||
if (ret < 0) {
|
||||
printf("ft_blob_update(): cannot set /memory/reg "
|
||||
"property err:%s\n", fdt_strerror(ret));
|
||||
}
|
||||
}
|
||||
|
||||
void ft_board_setup(void *blob, bd_t *bd)
|
||||
{
|
||||
ft_cpu_setup(blob, bd);
|
||||
#ifdef CONFIG_PCI
|
||||
ft_pci_setup(blob, bd);
|
||||
#endif
|
||||
ft_blob_update(blob, bd);
|
||||
}
|
||||
#endif
|
||||
|
@ -400,24 +400,8 @@ int board_nand_init(struct nand_chip *nand)
|
||||
#endif /* CONFIG_CMD_NAND */
|
||||
|
||||
#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
|
||||
/*
|
||||
* update "memory" property in the blob
|
||||
*/
|
||||
void ft_blob_update(void *blob, bd_t *bd)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
|
||||
|
||||
if (ret < 0) {
|
||||
printf("ft_blob_update(): cannot set /memory/reg "
|
||||
"property err:%s\n", fdt_strerror(ret));
|
||||
}
|
||||
}
|
||||
|
||||
void ft_board_setup(void *blob, bd_t *bd)
|
||||
{
|
||||
ft_cpu_setup( blob, bd);
|
||||
ft_blob_update(blob, bd);
|
||||
}
|
||||
#endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */
|
||||
|
@ -312,11 +312,10 @@ int hush_init_var (void)
|
||||
|
||||
#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
|
||||
/*
|
||||
* update "memory" property in the blob
|
||||
* update "flash" property in the blob
|
||||
*/
|
||||
void ft_blob_update (void *blob, bd_t *bd)
|
||||
{
|
||||
ulong memory_data[2] = {0};
|
||||
ulong *flash_data = NULL;
|
||||
ulong flash_reg[6] = {0};
|
||||
flash_info_t *info;
|
||||
@ -324,11 +323,6 @@ void ft_blob_update (void *blob, bd_t *bd)
|
||||
int size;
|
||||
int i = 0;
|
||||
|
||||
memory_data[0] = cpu_to_be32 (bd->bi_memstart);
|
||||
memory_data[1] = cpu_to_be32 (bd->bi_memsize);
|
||||
fdt_set_node_and_value (blob, "/memory", "reg", memory_data,
|
||||
sizeof (memory_data));
|
||||
|
||||
len = fdt_get_node_and_value (blob, "/localbus", "ranges",
|
||||
(void *)&flash_data);
|
||||
|
||||
|
@ -308,25 +308,9 @@ int board_early_init_r (void)
|
||||
void ft_blob_update (void *blob, bd_t *bd)
|
||||
{
|
||||
int ret, nodeoffset = 0;
|
||||
ulong memory_data[2] = {0};
|
||||
ulong flash_data[4] = {0};
|
||||
ulong speed = 0;
|
||||
|
||||
memory_data[0] = cpu_to_be32 (bd->bi_memstart);
|
||||
memory_data[1] = cpu_to_be32 (bd->bi_memsize);
|
||||
|
||||
nodeoffset = fdt_path_offset (blob, "/memory");
|
||||
if (nodeoffset >= 0) {
|
||||
ret = fdt_setprop (blob, nodeoffset, "reg", memory_data,
|
||||
sizeof(memory_data));
|
||||
if (ret < 0)
|
||||
printf ("ft_blob_update): cannot set /memory/reg "
|
||||
"property err:%s\n", fdt_strerror (ret));
|
||||
} else {
|
||||
/* memory node is required in dts */
|
||||
printf ("ft_blob_update(): cannot find /memory node "
|
||||
"err:%s\n", fdt_strerror(nodeoffset));
|
||||
}
|
||||
/* update Flash addr, size */
|
||||
flash_data[2] = cpu_to_be32 (CONFIG_SYS_FLASH_BASE);
|
||||
flash_data[3] = cpu_to_be32 (CONFIG_SYS_FLASH_SIZE);
|
||||
|
@ -318,6 +318,7 @@ void ft_cpu_setup (void *blob, bd_t *bd)
|
||||
"timebase-frequency", OF_TBCLK, 1);
|
||||
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
|
||||
"clock-frequency", bd->bi_intfreq, 1);
|
||||
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
|
||||
}
|
||||
#endif /* CONFIG_OF_LIBFDT */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user