From abd0454fe4e468c3ca7bb6345888383ec0b0df7e Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Tue, 9 Dec 2025 17:25:56 -0800 Subject: [PATCH] lopper: assists: gen_domain_dts: Ensure correct serial is used If non-default serial is the only present, ensur that chosen properties are adjusted to reflect it. Signed-off-by: Ben Levinsky --- lopper/assists/gen_domain_dts.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lopper/assists/gen_domain_dts.py b/lopper/assists/gen_domain_dts.py index 39ffd600..606b7730 100644 --- a/lopper/assists/gen_domain_dts.py +++ b/lopper/assists/gen_domain_dts.py @@ -492,6 +492,7 @@ def xlnx_generate_zephyr_domain_dts_arm(tgt_node, sdt, options, machine): root_sub_nodes = root_node.subnodes() wwdt_nodes = [] ufs_nodes = [] + serial_nodes = [] if "amd,versal2" in root_node['compatible'].value: root_node["model"] = "AMD Versal Gen 2" @@ -544,6 +545,8 @@ def xlnx_generate_zephyr_domain_dts_arm(tgt_node, sdt, options, machine): wwdt_nodes.append(node) if "amd,versal2-ufs" in node["compatible"].value: ufs_nodes.append(node) + if "arm,pl011" in node["compatible"].value: + serial_nodes.append(node) xlnx_remove_unsupported_nodes(tgt_node, sdt) @@ -557,6 +560,15 @@ def xlnx_generate_zephyr_domain_dts_arm(tgt_node, sdt, options, machine): ufs_node = sdt.tree.pnode(ufs_nodes[0].phandle) sdt.tree['/aliases'] + LopperProp(name="ufs0", value = ufs_node.abs_path) + # Ensure correct serial node is used + chosen_node = sdt.tree['/'].subnodes(children_only=True,name="chosen$") + if serial_nodes and chosen_node and len(serial_nodes) == 1: + reg_base = hex(serial_nodes[0]['reg'][1]) + chosen_node[0]['bootargs'] = "earlycon=pl011,mmio32,%s console=ttyAMA1,115200" % reg_base + chosen_node[0]['stdout-path'] = "%s:115200n8" % serial_nodes[0].label + chosen_node[0]['zephyr,console'] = serial_nodes[0].label + chosen_node[0]['zephyr,shell-uart'] = serial_nodes[0].label + for node in root_sub_nodes: if node.propval("compatible") != ['']: if node.propval("compatible") == "indirect-bus":