@@ -321,73 +321,40 @@ def xlnx_rpmsg_update_tree(tree, node, channel_id, openamp_channel_info, verbose
321321 print (" -> xlnx_rpmsg_update_tree" , node , channel_id )
322322
323323 platform = openamp_channel_info ["platform" ]
324- cpu_config = None
325324 host_ipi = None
326325 remote_ipi = None
327- rpu_core = None
328326 carveouts_nodes = openamp_channel_info ["carveouts_" + channel_id ]
329- amba_node = None
330327 native = False
331328 rpmsg_carveouts = []
332- core_node = None
333-
334- if platform in [ SOC_TYPE .VERSAL , SOC_TYPE .ZYNQMP , SOC_TYPE .VERSAL_NET , SOC_TYPE .VERSAL2 ]:
335- native = openamp_channel_info ["rpmsg_native_" + channel_id ]
336- cpu_config = openamp_channel_info ["cpu_config" + channel_id ]
337- rpu_core = openamp_channel_info ["rpu_core" + channel_id ]
329+ cpu_config = openamp_channel_info ["cpu_config" + channel_id ]
330+ rpu_core = openamp_channel_info ["rpu_core" + channel_id ]
338331
339332 elfload_node = None
340- if native :
341- amba_node = openamp_channel_info ["amba_node" ]
342333
343- # if Amba node exists, then this is for RPMsg native.
344- # in this case find elfload node in case of native RPMsg as it may be contiguous
345- # for AMBA Shm Node
346- if native :
347- for node in openamp_channel_info ["elfload" + channel_id ]:
348- if node .props ("start" ) != []:
349- elfload_node = node
350-
351- ret = xlnx_rpmsg_construct_carveouts (tree , carveouts_nodes , rpmsg_carveouts , native , channel_id , openamp_channel_info ,
352- amba_node = amba_node , elfload_node = elfload_node , verbose = verbose )
353- if ret == False :
334+ if not xlnx_rpmsg_construct_carveouts (tree , carveouts_nodes , rpmsg_carveouts , native , channel_id , openamp_channel_info ,
335+ amba_node = None , elfload_node = elfload_node , verbose = verbose ):
354336 return ret
355337
356- if platform in [ SOC_TYPE .VERSAL , SOC_TYPE .ZYNQMP , SOC_TYPE .VERSAL_NET , SOC_TYPE .VERSAL2 ]:
357- core_node = openamp_channel_info ["core_node" + channel_id ]
358- else :
359- core_node = tree ["/remoteproc@0" ]
360-
361- mem_region_prop = core_node .props ("memory-region" )[0 ]
362-
363- # add rpmsg carveouts to cluster core node if using rpmsg kernel driver
364-
365- vdev0buf = [ index for index , rc in enumerate (rpmsg_carveouts ) if "vdev0buffer" in rc .name ][0 ]
338+ core_node = openamp_channel_info ["core_node" + channel_id ]
366339
367340 # vdev0buf should be first after the ELF load prop already in memory-region
341+ vdev0buf = [ index for index , rc in enumerate (rpmsg_carveouts ) if "vdev0buffer" in rc .name ][0 ]
368342 vdev0buf = rpmsg_carveouts .pop (vdev0buf )
369343 rpmsg_carveouts .insert (0 , vdev0buf )
370344
371- new_mem_region_prop_val = mem_region_prop .value
372- if not native :
373- for rc in rpmsg_carveouts :
374- new_mem_region_prop_val .append (rc .phandle )
345+ new_mem_region_prop_val = core_node .propval ("memory-region" )
346+ [ new_mem_region_prop_val .append (rc .phandle ) for rc in rpmsg_carveouts ]
375347
376348 # If DDRBOOT, ensure that it is after RPMSG carveouts
349+ # # save ddrboot node and add to end of list
377350 if openamp_channel_info ["ddrboot" + channel_id ]:
378- ddrboot_node = None
379- for index , phandle in enumerate (new_mem_region_prop_val ):
380- if "ddrboot" in tree .pnode (phandle ).name :
381- ddrboot_node = index
382- break
383- ddrboot_node = new_mem_region_prop_val .pop (ddrboot_node )
384- new_mem_region_prop_val .append (ddrboot_node )
351+ ddrboot_node_index = [ index for index , phandle in enumerate (new_mem_region_prop_val ) if "ddrboot" in tree .pnode (phandle ).name ]
352+ new_mem_region_prop_val .append ( new_mem_region_prop_val .pop (ddrboot_node_index [0 ]) )
385353
386354 # update property with new values
387- mem_region_prop .value = new_mem_region_prop_val
355+ core_node [ "memory-region" ] .value = new_mem_region_prop_val
388356
389- ret = xlnx_rpmsg_update_ipis (tree , channel_id , openamp_channel_info , verbose )
390- if ret != True :
357+ if not xlnx_rpmsg_update_ipis (tree , channel_id , openamp_channel_info , verbose ):
391358 return False
392359
393360 return True
0 commit comments