lava_helper: initial support for Musca B1

Add an initial configuration for lava job generator and a jinja2 template,
to support Musca B1 platform.

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Change-Id: I698ce3f34acaa6802f3d6ae188009c66c90862d3
diff --git a/lava_helper/jinja2_templates/musca_b1.jinja2 b/lava_helper/jinja2_templates/musca_b1.jinja2
new file mode 100644
index 0000000..f8afd28
--- /dev/null
+++ b/lava_helper/jinja2_templates/musca_b1.jinja2
@@ -0,0 +1,55 @@
+{#------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-----------------------------------------------------------------------------#}
+device_type: {{ device_type }}
+job_name: {{ job_name }}
+
+timeouts:
+  action:
+    minutes: {{ action_timeout }}
+  actions:
+    power-off:
+      seconds: {{ poweroff_timeout }}
+  job:
+    minutes: {{ job_timeout }}
+
+priority: medium
+visibility: public
+
+actions:
+    - deploy:
+        timeout:
+          minutes: 6
+        to: musca
+        images:
+          test_binary:
+            url: {{ firmware_url }}
+
+    - boot:
+        method: musca
+
+    # Monitors example
+#     - test:
+#         namespace: target
+#         monitors:
+#         - name: "Secure_Test_Suites_Summary_AN521_ARMCLANG_Regression_Debug_BL2"
+#           start: "Secure test suites summary"
+#           end: "End of Secure test suites"
+#           pattern: "[\x1b]\\[37mTest suite '(?P<test_case_id>.*)' has [\x1b]\\[32m (?P<result>PASSED|FAILED)"
+#           fixupdict:
+#              'PASSED': pass
+#              'FAILED': fail
+
+metadata:
+  build_no: {{ build_no }}
+  compiler: {{ compiler }}
+  build_type: {{ build_type }}
+  boot_type: {{ boot_type }}
+  name: {{ name }}
+  platform: {{ platform }}
+  build_name: {{ build_name }}
+  build_job_url: {{ build_job_url }}
+
diff --git a/lava_helper/lava_helper_configs.py b/lava_helper/lava_helper_configs.py
index 1201dbf..cb86dc4 100644
--- a/lava_helper/lava_helper_configs.py
+++ b/lava_helper/lava_helper_configs.py
@@ -1923,12 +1923,91 @@
 }
 
 
+musca_b1_bl2 = {
+    "templ": "musca_b1.jinja2",
+    "job_name": "musca_b1_bl2",
+    "device_type": "musca-b",
+    "job_timeout": 12,
+    "action_timeout": 6,
+    "poweroff_timeout": 20,
+    "platforms": {"MUSCA_B1": ""},
+    "compilers": ["GNUARM", "ARMCLANG"],
+    "build_types": ["Debug", "Release"],
+    "boot_types": ["BL2"],
+    "tests": {
+        "Default": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "CoreIPC": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "CoreIPCTfmLevel2": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "CoreIPCTfmLevel3": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "DefaultProfileM": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "DefaultProfileS": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "Regression": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "RegressionIPC": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "RegressionIPCTfmLevel2": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "RegressionIPCTfmLevel3": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "RegressionProfileM": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+        "RegressionProfileS": {
+            "binaries": {
+                "firmware": "tfm.hex",
+            }
+        },
+    },
+}
+
+
 # All configurations should be mapped here
-lava_gen_config_map = {"mps2_an521_bl2": tfm_mps2_sse_200,
-                       "fvp_mps2_an521_bl2": fvp_mps2_an521_bl2,
-                       "fvp_mps2_an521_nobl2": fvp_mps2_an521_nobl2,
-                       "fvp_mps2_an519_bl2": fvp_mps2_an519_bl2,
-                       "fvp_mps2_an519_nobl2": fvp_mps2_an519_nobl2}
+lava_gen_config_map = {
+    "mps2_an521_bl2": tfm_mps2_sse_200,
+    "fvp_mps2_an521_bl2": fvp_mps2_an521_bl2,
+    "fvp_mps2_an521_nobl2": fvp_mps2_an521_nobl2,
+    "fvp_mps2_an519_bl2": fvp_mps2_an519_bl2,
+    "fvp_mps2_an519_nobl2": fvp_mps2_an519_nobl2,
+    "musca_b1": musca_b1_bl2,
+}
 
 lavagen_config_sort_order = [
     "templ",