lopper: assists: xlnx_overlay_pl_dt: Validate PL nodes by reg or compatible#773
Merged
zeddii merged 1 commit intoJun 19, 2026
Merged
Conversation
…atible validate_amba_pl_node() previously required at least one child of /amba_pl to have a 'reg' property before an overlay was generated. Designs whose /amba_pl contains only non-address-mapped nodes, for example the zocl node 'zyxclmm_drm', which has a 'compatible' but no 'reg', failed this check: the assist aborted early, emitted no pl.dtsi, and left /amba_pl in the base device tree, so its nodes were carried into the Linux device tree and the device failed to probe at boot. Treat a node as a valid PL node if it has a 'reg' or a 'compatible' property, so such nodes are carried into the overlay (pl.dtsi) and /amba_pl is removed from the base tree exactly as in the normal flow. Iterate with children_only=True so the /amba_pl bus node's own "simple-bus" compatible is not counted. Signed-off-by: Aravind Thokala <aravind.thokala@amd.com>
Contributor
Author
|
@onkarharsh , please review. |
onkarharsh
approved these changes
Jun 19, 2026
Contributor
|
Looks good to me. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Root Cause:
xlnx_overlay_pl_dt's validate_amba_pl_node() only considered a /amba_pl
child to be a valid PL node if it had a reg property. On designs where
/amba_pl contains only non-address-mapped nodes — e.g. the zocl node
zyxclmm_drm, which has a compatible but no reg — validation failed. As a
result the assist aborted early: it generated no pl.dtsi and, crucially,
did not remove /amba_pl from the base device tree.
Because /amba_pl was left in the base SDT, downstream processing
(gen_domain_dts) carried its nodes into the generated Linux device tree.
The kernel then probed the device even though no PL is present, and the
probe failed at boot.
Fix:
Treat a /amba_pl child as a valid PL node if it has reg or compatible, so
non-address-mapped nodes like zocl are recognized. With validation
passing, the assist now:
no longer leaks into the Linux DT).
The scan uses children_only=True so the /amba_pl bus node's own compatible
= "simple-bus" is not mistakenly counted (otherwise every /amba_pl,
including an empty one, would pass).