ARM: rmobile: Merge prior-stage firmware DT fragment into U-Boot DT on Gen3
The prior-stage firmware generates DT fragment containing the /firmware node, /reserved-memory node and /memory@ nodes. Merge these nodes into the U-Boot DT, so U-Boot can use this information. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com>
This commit is contained in:
		
							parent
							
								
									5d17a1691b
								
							
						
					
					
						commit
						361377dbdb
					
				|  | @ -21,32 +21,24 @@ DECLARE_GLOBAL_DATA_PTR; | ||||||
| /* If the firmware passed a device tree use it for U-Boot DRAM setup. */ | /* If the firmware passed a device tree use it for U-Boot DRAM setup. */ | ||||||
| extern u64 rcar_atf_boot_args[]; | extern u64 rcar_atf_boot_args[]; | ||||||
| 
 | 
 | ||||||
|  | int fdtdec_board_setup(const void *fdt_blob) | ||||||
|  | { | ||||||
|  | 	void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]); | ||||||
|  | 
 | ||||||
|  | 	if (fdt_magic(atf_fdt_blob) == FDT_MAGIC) | ||||||
|  | 		fdt_overlay_apply_node((void *)fdt_blob, 0, atf_fdt_blob, 0); | ||||||
|  | 
 | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| int dram_init(void) | int dram_init(void) | ||||||
| { | { | ||||||
| 	const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]); | 	return fdtdec_setup_mem_size_base_fdt(gd->fdt_blob); | ||||||
| 	const void *blob; |  | ||||||
| 
 |  | ||||||
| 	/* Check if ATF passed us DTB. If not, fall back to builtin DTB. */ |  | ||||||
| 	if (fdt_magic(atf_fdt_blob) == FDT_MAGIC) |  | ||||||
| 		blob = atf_fdt_blob; |  | ||||||
| 	else |  | ||||||
| 		blob = gd->fdt_blob; |  | ||||||
| 
 |  | ||||||
| 	return fdtdec_setup_mem_size_base_fdt(blob); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int dram_init_banksize(void) | int dram_init_banksize(void) | ||||||
| { | { | ||||||
| 	const void *atf_fdt_blob = (const void *)(rcar_atf_boot_args[1]); | 	fdtdec_setup_memory_banksize_fdt(gd->fdt_blob); | ||||||
| 	const void *blob; |  | ||||||
| 
 |  | ||||||
| 	/* Check if ATF passed us DTB. If not, fall back to builtin DTB. */ |  | ||||||
| 	if (fdt_magic(atf_fdt_blob) == FDT_MAGIC) |  | ||||||
| 		blob = atf_fdt_blob; |  | ||||||
| 	else |  | ||||||
| 		blob = gd->fdt_blob; |  | ||||||
| 
 |  | ||||||
| 	fdtdec_setup_memory_banksize_fdt(blob); |  | ||||||
| 
 | 
 | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue