# Copyright Google LLC 2023
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

load("//rules:matcha.bzl", "NEXUS_CORE_TARGETS", "sec_flash_binary", "smc_flash_binary")

package(default_visibility = ["//visibility:public"])

sec_flash_binary(
    name = "kelvin_test_sc_extflash",
    srcs = [
        "kelvin_test_sc.c",
    ],
    copts = [
        "-nostdlib",
        "-ffreestanding",
    ],
    per_device_deps = {
        "fpga_nexus": [NEXUS_CORE_TARGETS.get("secure_core")],
    },
    deps = [
        "//hw/top_matcha/ip/ml_top/data:ml_top_regs",
        "//sw/device/lib:spi_flash",
        "//sw/device/lib/dif:rv_plic_sec",
        "//sw/device/lib/dif:smc_ctrl",
        "//sw/device/lib/dif:tlul_mailbox",
        "//sw/device/tests:test_lib",
    ],
)

smc_flash_binary(
    name = "kelvin_test_smc",
    srcs = [
        "kelvin_test_smc.c",
    ],
    copts = [
        "-nostdlib",
        "-ffreestanding",
    ],
    per_device_deps = {
        "fpga_nexus": [NEXUS_CORE_TARGETS.get("smc")],
    },
    deps = [
        "//hw/top_matcha/ip/ml_top/data:ml_top_regs",
        "//sw/device/lib/dif:ml_top",
        "//sw/device/lib/dif:rv_plic_smc",
        "//sw/device/lib/dif:tlul_mailbox",
        "//sw/device/tests:test_lib_smc",
        "@lowrisc_opentitan//sw/device/lib/dif:rv_timer",
    ],
)
