coverage-reporting:  Add OP-TEE SPMC coverage support
diff --git a/coverage-tool/coverage-plugin/coverage_trace_parameters_change.py b/coverage-tool/coverage-plugin/coverage_trace_parameters_change.py
new file mode 100644
index 0000000..73841c5
--- /dev/null
+++ b/coverage-tool/coverage-plugin/coverage_trace_parameters_change.py
@@ -0,0 +1,78 @@
+# !/usr/bin/env python
+##############################################################################
+# Copyright (c) 2022, ARM Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+##############################################################################
+import iris.debug as debug
+import iris.iris as iris
+import argparse
+import textwrap
+
+def arg_parser():
+    parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter,
+        description  = textwrap.dedent('''\
+                Tool to change the plugin parameters of the FVP coverage-plugin.
+
+                To be able to connect to the model, the model needs to have the iris-servier active.
+                The -p of the model can be used to show the port to connect to.
+                When starting a model with the iris-server, the model will wait until a debugger
+                is connect and ran. We can start the model automatically by using the -R option.
+                Example:
+                MODEL --iris-server -R -p
+            '''))
+    parser.add_argument(
+            "-p",
+            "--port",
+            type=int,
+            default=7100,
+            help="set the port of the running model"
+            )
+    parser.add_argument(
+            "-m",
+            "--mode",
+            type=lambda x: int(x,0),
+            default=-1,
+            help="set the mode to trace as a hex number."
+            )
+    parser.add_argument(
+            "-f",
+            "--file",
+            default="",
+            help="set the file-prefix of the trace files"
+            )
+    parser.add_argument(
+            "-s",
+            "--save",
+            action='store_true',
+            help="Save the current trace"
+            )
+    return parser.parse_args()
+
+def main():
+    parsed_args = arg_parser()
+    model = debug.NetworkModel("localhost", parsed_args.port)
+
+    components = model.get_targets()
+    for component in components:
+        if "coverage_trace" in component.instName:
+            trace_component = component
+
+    if trace_component:
+        if parsed_args.mode != -1:
+            trace_component.parameters['trace-mode'] = parsed_args.mode
+            print("Changed trace mode to " + hex(parsed_args.mode))
+        elif parsed_args.file != "":
+            trace_component.parameters['trace-file-prefix'] = parsed_args.file
+            print("Changed trace prefix to" +  parsed_args.file)
+        elif parsed_args.save:
+            trace_component.parameters['trace-file-prefix'] = trace_component.parameters['trace-file-prefix']
+            print("Saved trace files to " + trace_component.parameters['trace-file-prefix'])
+        else:
+            print("Nothing to do")
+    else:
+        print("Could not find plugin component")
+
+
+if __name__ == "__main__":
+    main()