@@ -375,6 +375,28 @@ def dt_node_reg(kconf, name, path, index=0, unit=None):
375
375
if name == "dt_node_reg_addr_hex" :
376
376
return hex (_dt_node_reg_addr (kconf , path , index , unit ))
377
377
378
+ def dt_nodelabel_reg (kconf , name , label , index = 0 , unit = None ):
379
+ """
380
+ This function is like dt_node_reg(), but the 'label' argument
381
+ should be a node label, like "foo" is here:
382
+
383
+ foo: some-node { ... };
384
+ """
385
+ if doc_mode or edt is None :
386
+ node = None
387
+ else :
388
+ node = edt .label2node .get (label )
389
+
390
+ if name == "dt_nodelabel_reg_size_int" :
391
+ return str (_dt_node_reg_size (kconf , node .path , index , unit )) if node else "0"
392
+ if name == "dt_nodelabel_reg_size_hex" :
393
+ return hex (_dt_node_reg_size (kconf , node .path , index , unit )) if node else "0x0"
394
+ if name == "dt_nodelabel_reg_addr_int" :
395
+ return str (_dt_node_reg_addr (kconf , node .path , index , unit )) if node else "0"
396
+ if name == "dt_nodelabel_reg_addr_hex" :
397
+ return hex (_dt_node_reg_addr (kconf , node .path , index , unit )) if node else "0x0"
398
+
399
+
378
400
def _dt_node_bool_prop_generic (node_search_function , search_arg , prop ):
379
401
"""
380
402
This function takes the 'node_search_function' and uses it to search for
@@ -764,6 +786,10 @@ def shields_list_contains(kconf, _, shield):
764
786
"dt_node_reg_addr_hex" : (dt_node_reg , 1 , 3 ),
765
787
"dt_node_reg_size_int" : (dt_node_reg , 1 , 3 ),
766
788
"dt_node_reg_size_hex" : (dt_node_reg , 1 , 3 ),
789
+ "dt_nodelabel_reg_addr_int" : (dt_nodelabel_reg , 1 , 3 ),
790
+ "dt_nodelabel_reg_addr_hex" : (dt_nodelabel_reg , 1 , 3 ),
791
+ "dt_nodelabel_reg_size_int" : (dt_nodelabel_reg , 1 , 3 ),
792
+ "dt_nodelabel_reg_size_hex" : (dt_nodelabel_reg , 1 , 3 ),
767
793
"dt_node_bool_prop" : (dt_node_bool_prop , 2 , 2 ),
768
794
"dt_nodelabel_bool_prop" : (dt_nodelabel_bool_prop , 2 , 2 ),
769
795
"dt_chosen_bool_prop" : (dt_chosen_bool_prop , 2 , 2 ),
0 commit comments