Skip to content

Add support for SCMI Raw Linux interface and new targets for Linux platform.

Cristian Marussi requested to merge raw_mode_support_devel into master

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.

IMPORTANT NOTE

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:

https://gerrit.oss.arm.com/c/scp/test-framework/+/255449

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/

Merge request reports