From a11e9c1a0d002749ab10106e45ba11f943d3ba6a Mon Sep 17 00:00:00 2001 From: Aravind Thokala Date: Mon, 13 Jul 2026 21:20:10 +0530 Subject: [PATCH] lopper: assists: gen_domain_dts: Retain xlnx,fclk node in Linux DT In the static PL flow the PL description (amba_pl) is merged directly into the Linux device tree. There the fabric-clock node (compatible "xlnx,fclk", e.g. clocking0) is the only node that assigns and enables the PL reference clock. PL peripherals such as axi_gpio reference that clock via phandle but do not enable it themselves, so once "xlnx,fclk" is deleted nothing keeps the fabric clock running and Linux turns it off, causing AXI access to the PL peripheral to hang. Drop "xlnx,fclk" from delete_pl_node_in_linux_dt so the fabric-clock node is preserved. Signed-off-by: Aravind Thokala --- lopper/assists/gen_domain_dts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lopper/assists/gen_domain_dts.py b/lopper/assists/gen_domain_dts.py index 697101c3..a200d755 100644 --- a/lopper/assists/gen_domain_dts.py +++ b/lopper/assists/gen_domain_dts.py @@ -532,7 +532,7 @@ def xlnx_generate_domain_dts(tgt_node, sdt, options): continue if node.propval('status') != ['']: if linux_dt and ('disabled' in node.propval('status', list)[0] or "@" not in node.name): - delete_pl_node_in_linux_dt = ["xlnx,afi-fpga", "xlnx,fclk"] + delete_pl_node_in_linux_dt = ["xlnx,afi-fpga"] if any(entry in node.propval('compatible', list) for entry in delete_pl_node_in_linux_dt): sdt.tree.delete(node) else: