This series at first adds support for Linux SCMI Raw transport (available since Linux v6.3) as an alternative way for the ACS to inject/receive SCMI messages to/from the server. Compiling with TRANS=raw builds a Linux app using such new Linux debugfs-based interface, instead of the legacy one based on the mailbox test driver.
Then, a few of test-cases have been fixed:
- test_c010/m014 to cope with the new SCMI Raw interface for async commands (if Raw was chosen)
- test_c009/c010/c011/c015/c017 to gracefully handle SCMI_DENIED replies about clocks
- test_d026/d027 to properly unregister notifications also on the failure path
- test_c017 to continue on error
- test_d026/027 to properly keep on looking for the desired notification in case other unrelated notifs where emitted
Finally a couple of new TARGET are added for the Linux platform (app):
- juno: to support such board
- generic_scmi: to support testing a generic SCMI server without any fixed expectations in terms of implemented protocols, found agents and resources.
This series causes the internal CI to break on mobile platforms (sgm**) due to a lack of space in BL31 to keep the compiled ACS when running in baremetal mode. As a fix, this patch to our CI infra is pending review:
has to be reviewed and (possibly) merged BEFORE this series in order not to break our internal CI. (for such reason is marked as Draft)
A successful CI run with both the series and the above fix is at: https://jenkins.oss.arm.com/job/scp-v2-cmake-tests-scmi/6215/