diff options
| -rw-r--r-- | board/cm5200/cm5200.c | 15 | ||||
| -rw-r--r-- | board/ids8247/ids8247.c | 17 | ||||
| -rw-r--r-- | cpu/mpc83xx/cpu.c | 18 | 
3 files changed, 7 insertions, 43 deletions
| diff --git a/board/cm5200/cm5200.c b/board/cm5200/cm5200.c index 4a86d3c55..79fb71dc7 100644 --- a/board/cm5200/cm5200.c +++ b/board/cm5200/cm5200.c @@ -263,7 +263,6 @@ static void ft_blob_update(void *blob, bd_t *bd)  {  	int len, ret, nodeoffset = 0;  	char module_name[MODULE_NAME_MAXLEN] = {0}; -	ulong memory_data[2] = {0};  	compose_module_name(hw_id, module_name);  	len = strlen(module_name) + 1; @@ -273,22 +272,12 @@ static void ft_blob_update(void *blob, bd_t *bd)  	printf("ft_blob_update(): cannot set /model property err:%s\n",  		fdt_strerror(ret)); -	memory_data[0] = cpu_to_be32(bd->bi_memstart); -	memory_data[1] = cpu_to_be32(bd->bi_memsize); +	ret = fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)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) +	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)); -	}  }  #endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */ diff --git a/board/ids8247/ids8247.c b/board/ids8247/ids8247.c index d1d8c56ac..7176770f6 100644 --- a/board/ids8247/ids8247.c +++ b/board/ids8247/ids8247.c @@ -329,25 +329,14 @@ nand_init (void)   */  void ft_blob_update(void *blob, bd_t *bd)  { -	int ret, nodeoffset = 0; -	ulong memory_data[2] = {0}; +	int ret; -	memory_data[0] = cpu_to_be32(bd->bi_memstart); -	memory_data[1] = cpu_to_be32(bd->bi_memsize); +	ret = fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)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) +	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)); -	}  }  void ft_board_setup(void *blob, bd_t *bd) diff --git a/cpu/mpc83xx/cpu.c b/cpu/mpc83xx/cpu.c index b2c35d300..f1ea17d5a 100644 --- a/cpu/mpc83xx/cpu.c +++ b/cpu/mpc83xx/cpu.c @@ -35,6 +35,7 @@  #include <ft_build.h>  #elif defined(CONFIG_OF_LIBFDT)  #include <libfdt.h> +#include <fdt_support.h>  #endif  DECLARE_GLOBAL_DATA_PTR; @@ -526,7 +527,6 @@ ft_cpu_setup(void *blob, bd_t *bd)  	int nodeoffset;  	int err;  	int j; -	int tmp[2];  	for (j = 0; j < (sizeof(fixup_props) / sizeof(fixup_props[0])); j++) {  		nodeoffset = fdt_path_offset(blob, fixup_props[j].node); @@ -543,21 +543,7 @@ ft_cpu_setup(void *blob, bd_t *bd)  		}  	} -	/* update, or add and update /memory node */ -	nodeoffset = fdt_path_offset(blob, "/memory"); -	if (nodeoffset < 0) { -		nodeoffset = fdt_add_subnode(blob, 0, "memory"); -		if (nodeoffset < 0) -			debug("failed to add /memory node: %s\n", -			      fdt_strerror(nodeoffset)); -	} -	if (nodeoffset >= 0) { -		fdt_setprop(blob, nodeoffset, "device_type", -			    "memory", sizeof("memory")); -		tmp[0] = cpu_to_be32(bd->bi_memstart); -		tmp[1] = cpu_to_be32(bd->bi_memsize); -		fdt_setprop(blob, nodeoffset, "reg", tmp, sizeof(tmp)); -	} +	fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);  }  #elif defined(CONFIG_OF_FLAT_TREE)  void |