Lines Matching refs:dtb
213 static void remove_spintable_memreserve(void *dtb) in remove_spintable_memreserve() argument
216 int regions = fdt_num_mem_rsv(dtb); in remove_spintable_memreserve()
220 if (fdt_get_mem_rsv(dtb, i, &addr, &size) != 0) { in remove_spintable_memreserve()
236 fdt_del_mem_rsv(dtb, i); in remove_spintable_memreserve()
246 void *dtb = (void *)rpi4_get_dtb_address(); in rpi4_prepare_dtb() local
251 if (fdt_check_header(dtb) != 0) in rpi4_prepare_dtb()
254 ret = fdt_open_into(dtb, dtb, 0x100000); in rpi4_prepare_dtb()
256 ERROR("Invalid Device Tree at %p: error %d\n", dtb, ret); in rpi4_prepare_dtb()
260 if (dt_add_psci_node(dtb)) { in rpi4_prepare_dtb()
265 if (dt_add_psci_cpu_enable_methods(dtb)) { in rpi4_prepare_dtb()
274 remove_spintable_memreserve(dtb); in rpi4_prepare_dtb()
275 if (fdt_add_reserved_memory(dtb, "atf@0", 0, 0x80000)) in rpi4_prepare_dtb()
278 offs = fdt_node_offset_by_compatible(dtb, 0, "arm,gic-400"); in rpi4_prepare_dtb()
282 fdt_setprop(dtb, offs, "interrupts", gic_int_prop, 12); in rpi4_prepare_dtb()
284 offs = fdt_path_offset(dtb, "/chosen"); in rpi4_prepare_dtb()
285 fdt_setprop_string(dtb, offs, "stdout-path", "serial0"); in rpi4_prepare_dtb()
287 ret = fdt_pack(dtb); in rpi4_prepare_dtb()
289 ERROR("Failed to pack Device Tree at %p: error %d\n", dtb, ret); in rpi4_prepare_dtb()
291 clean_dcache_range((uintptr_t)dtb, fdt_blob_size(dtb)); in rpi4_prepare_dtb()