Skip to content

Openamp power domains with latest - #833

Merged
zeddii merged 2 commits into
devicetree-org:masterfrom
bentheredonethat:openamp-power-domains-with-latest
Sep 9, 2026
Merged

Openamp power domains with latest#833
zeddii merged 2 commits into
devicetree-org:masterfrom
bentheredonethat:openamp-power-domains-with-latest

Conversation

@bentheredonethat

Copy link
Copy Markdown
Collaborator

make sure openamp workflows are working with latest system device trees - regarding power-domains property update

also harden err handling for such cases
and add sanity to left shift catching SDT repo changes that cause breakage

@zeddii zeddii left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed the changes and the tests cover them. One thing I'd like in before this merges, then I'm happy with it.

Please capture this in a comment: the direct fallback (accepting pd_id when it is already a legacy key) is only safe because the two key spaces don't overlap — SCMI is 0x440x61, legacy is 0xf0x12 plus the 0x1831xxxx block. If a future SCMI ID ever lands in the legacy range, that path silently selects the wrong address descriptor instead of erroring. Worth stating next to the table, since nothing enforces it.

Two notes, neither blocking:

  • Renaming memory_nodes to legacy_memory_nodes is right, and the only in-tree consumer is updated here. It is reachable through import * though, so anything out-of-tree referencing it breaks on upgrade — release-note material rather than a code change.
  • The relation failure becoming fatal matches what you did for the Libmetal output path. It does mean a build that previously completed with a warning and no remoteproc nodes now fails outright. That is the point, but it will surface as a new failure for anyone who was unknowingly relying on the old behaviour.

The 18 SCMI ID values themselves I can't check from here — the table resolves cleanly, but the IDs rest on your hardware knowledge.

Versal2 now describes RPU cores and TCM banks with SCMI power-domain
IDs. The remoteproc path used those IDs to index an address table
keyed by legacy firmware IDs, causing generation to fail with a
KeyError.

Translate supported Versal2 SCMI TCM IDs through the common mapping
table while preserving SCMI tuples in generated remoteproc nodes. Keep
direct legacy power-domain IDs and xlnx,power-domain as fallback paths
for existing ZynqMP, Versal, and Versal Net inputs.

Rename the common address table from memory_nodes to
legacy_memory_nodes to make its key space explicit. The only in-tree
consumer is updated here. Because the symbol is reachable through
wildcard imports, out-of-tree users referencing memory_nodes must
migrate to the new name.

Validate missing or unsupported IDs with explicit diagnostics. Add
coverage for SCMI-only, legacy, and transitional device trees.

Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
The OpenAMP assist logs relation-processing errors but returns False
to the generic dispatcher. The dispatcher warns and still exits zero,
so builds can accept output without the requested remoteproc nodes.

Exit with status 1 at the OpenAMP entry point after relation
processing fails. Keep lower-level helpers returning False and add
coverage for the fatal conversion.

Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
@bentheredonethat
bentheredonethat force-pushed the openamp-power-domains-with-latest branch from 9b9159c to 7c767ef Compare September 8, 2026 20:52
@bentheredonethat

Copy link
Copy Markdown
Collaborator Author

@zeddii thanks for review!! i have added comments and updated commit messages to answer your Qs and comments - thanks again

@zeddii zeddii left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All in — the comment covers it, and the "reassess whenever SCMI IDs are extended" line is a better ending than what I asked for, since it tells the next person what to do rather than just what is true. Putting the rename caveat in the commit message is the right home for it too.

Re-checked the table on the new head: all 18 targets resolve, no key-space overlap. Good to merge.

@zeddii
zeddii merged commit 1423fbc into devicetree-org:master Sep 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants