mps4: Add Corstone 320 to jinja templates

Create separated templates for CS315 and CS320.

Signed-off-by: Gergely Korcsák <gergely.korcsak@arm.com>
Change-Id: I09eacdc2cf95e19f94b805b58d6a09436731adce
diff --git a/lava_helper/jinja2_templates/fvp_mps4.jinja2 b/lava_helper/jinja2_templates/fvp_mps4_cs315.jinja2
similarity index 100%
rename from lava_helper/jinja2_templates/fvp_mps4.jinja2
rename to lava_helper/jinja2_templates/fvp_mps4_cs315.jinja2
diff --git a/lava_helper/jinja2_templates/fvp_mps4_cs320.jinja2 b/lava_helper/jinja2_templates/fvp_mps4_cs320.jinja2
new file mode 100644
index 0000000..ccf469d
--- /dev/null
+++ b/lava_helper/jinja2_templates/fvp_mps4_cs320.jinja2
@@ -0,0 +1,99 @@
+{#------------------------------------------------------------------------------
+# Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-----------------------------------------------------------------------------#}
+{% extends 'jinja2_templates/base.jinja2' %}
+{% block metadata %}
+{{ super() }}
+{% endblock %}
+{% block base %}
+{{ super() }}
+{% endblock %}
+{% block actions %}
+context:
+  kernel_start_message: ''
+
+actions:
+- deploy:
+    to: fvp
+    images:
+{% for name, img in binaries.items() %}
+      {{ name }}:
+        url: {{ data_url_prefix }}/{{ img.data }}
+{% endfor %}
+{%- if enable_code_coverage %}
+      cc:
+        url: {{ coverage_trace_plugin }}
+{%- endif %}
+- boot:
+    failure_retry: 3
+    method: fvp
+    docker:
+      name: {{ docker_prefix }}/fvp:fvp_corstone_sse-320_11.27_25_linux64
+      local: true
+    image: '/opt/model/FVP_Corstone_SSE-320/models/Linux64_GCC-9.3/FVP_Corstone_SSE-320'
+    environment:
+    - 'LD_LIBRARY_PATH=/opt/model/FVP_Corstone_SSE-320/python/lib'
+    timeout:
+      minutes: 5
+    console_string: 'telnetterminal0: Listening for serial connection on port (?P<PORT>\d+)'
+    license_variable: '{{ license_variable }}'
+    use_telnet: False
+    arguments:
+    -  "--simlimit 900"
+{% for name, img in binaries.items() %}
+    -  "--data {{ '{' ~ name.upper() ~ '}' }}@{{ img.offset }}"
+{% endfor %}
+    -  "--parameter mps4_board.subsystem.cpu0.semihosting-enable=0"
+    -  "--parameter mps4_board.DISABLE_GATING=0"
+    -  "--parameter mps4_board.telnetterminal0.start_telnet=1"
+    -  "--parameter mps4_board.telnetterminal1.start_telnet=1"
+    -  "--parameter mps4_board.telnetterminal2.start_telnet=1"
+    -  "--parameter mps4_board.telnetterminal0.quiet=0"
+    -  "--parameter mps4_board.telnetterminal1.quiet=0"
+    -  "--parameter mps4_board.telnetterminal2.quiet=0"
+    -  "--parameter mps4_board.uart0.shutdown_on_eot=1"
+    -  "--parameter 'mps4_board.uart0.out_file=-'"
+    -  "--parameter mps4_board.visualisation.disable-visualisation=1"
+{%- if enable_code_coverage %}
+    -  "--plugin {CC}"
+    -  "--parameter mps4_board.uart0.shutdown_tag=\x04"
+    -  "--cpulimit 240"
+{%- endif %}
+
+    prompts:
+    - '(.*)'
+
+- test:
+    monitors:
+    {%- for monitor in monitors %}
+    - name: "{{monitor.name}}"
+      start: "{{monitor.start}}"
+      end: "{{monitor.end}}"
+      pattern: "{{monitor.pattern}}"
+      fixupdict:
+         '{{monitor.fixup.pass}}': pass
+         '{{monitor.fixup.fail}}': fail
+         {%- if monitor.fixup.skip %}
+         '{{monitor.fixup.skip}}': skip
+         {%- endif %}
+    {%- endfor %}
+
+{%- if enable_code_coverage %}
+- test:
+    interactive:
+    - name: fvp_stopped
+      prompts: ['/OSCI/SystemC: Simulation stopped by user.']
+      script:
+      - name: fvp_stopped_1
+        command:
+    - name: fvp_trace_end
+      prompts: ['Trace path: FVP_Corstone_SSE-320.cpu1']
+      script:
+      - name: fvp_trace_end_1
+        command:
+{%- endif %}
+
+{% endblock %}
diff --git a/lava_helper/lava_helper_configs.py b/lava_helper/lava_helper_configs.py
index 79e48aa..07a72f9 100644
--- a/lava_helper/lava_helper_configs.py
+++ b/lava_helper/lava_helper_configs.py
@@ -167,7 +167,7 @@
 
 # FVP with BL1 and BL2 bootloader for Corstone315
 fvp_mps4_cs315_bl1_bl2 = {
-    "templ": "fvp_mps4.jinja2",
+    "templ": "fvp_mps4_cs315.jinja2",
     "job_name": "fvp_mps4_cs315_bl1_bl2",
     "device_type": "fvp",
     "job_timeout": 15,
@@ -205,7 +205,7 @@
 
 # FVP with BL1 and BL2 bootloader for Corstone320
 fvp_mps4_cs320_bl1_bl2 = {
-    "templ": "fvp_mps4.jinja2",
+    "templ": "fvp_mps4_cs320.jinja2",
     "job_name": "fvp_mps4_cs320_bl1_bl2",
     "device_type": "fvp",
     "job_timeout": 15,