| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| load("//rules:opentitan.bzl", "OPENTITAN_CPU") |
| load( |
| "//rules:opentitan_test.bzl", |
| "ROM_BOOT_FAILURE_MSG", |
| "cw310_params", |
| "dv_params", |
| "opentitan_functest", |
| "verilator_params", |
| ) |
| load("//rules:splice.bzl", "bitstream_splice") |
| load("//rules:otp.bzl", "STD_OTP_OVERLAYS", "otp_image", "otp_json", "otp_partition") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| # TODO(lowRISC:opentitan#13180): this is a temporary solution to enable writing |
| # manufacturer specific tests in the `manufacturer_test_hooks` repository that |
| # use open source test code. Specifically, this enables defining an |
| # `opentitan_functest` in the `manufacturer_test_hooks` repository without the |
| # need to specify the corresponding test hooks that should be used with the test |
| # on the command line. |
| exports_files(glob([ |
| "*.c", |
| "*.h", |
| ])) |
| |
| opentitan_functest( |
| name = "aes_masking_off_test", |
| srcs = ["aes_masking_off_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/ip/aes:model", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aes_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "aes_entropy_test", |
| srcs = ["aes_entropy_test.c"], |
| deps = [ |
| "//hw/ip/aes:model", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aes_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "aes_idle_test", |
| srcs = ["aes_idle_test.c"], |
| targets = [ |
| "dv", |
| "verilator", |
| "cw310_test_rom", |
| ], |
| deps = [ |
| "//hw/ip/aes:model", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aes_testutils", |
| "//sw/device/lib/testing:clkmgr_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| alias( |
| name = "aes_smoketest_entropy_testutils", |
| actual = select({ |
| "//sw/device:is_english_breakfast": "//sw/device:nothing", |
| "//conditions:default": "//sw/device/lib/testing:entropy_testutils", |
| }), |
| visibility = ["//visibility:private"], |
| ) |
| |
| opentitan_functest( |
| name = "aes_smoketest", |
| srcs = ["aes_smoketest.c"], |
| deps = [ |
| "//hw/ip/aes:model", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aes_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "alert_handler_ping_timeout_test", |
| srcs = ["alert_handler_ping_timeout_test.c"], |
| cw310 = cw310_params( |
| timeout = "moderate", |
| ), |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey:alert_handler_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "alert_handler_lpg_clkoff_test", |
| srcs = ["alert_handler_lpg_clkoff_test.c"], |
| cw310 = cw310_params(timeout = "moderate"), |
| targets = [ |
| # The test requires the Ibex core to wait long enough |
| # before checking for the ping_timeout error. |
| # The wait-time for the Verilator would be around |
| # 32M*8us = 256s (kClockFreqPeripheralHz = 125K). |
| # Thus it is not not recommended to run this test on |
| # Verilator as this wait-time looks impractical. It should still |
| # be run as part of the DV nightly regression. |
| "cw310_test_rom", |
| "dv", |
| ], |
| deps = [ |
| "//hw/top_earlgrey:alert_handler_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:hmac", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:spi_host", |
| "//sw/device/lib/dif:usbdev", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "alert_handler_reverse_ping_in_deep_sleep_test", |
| srcs = ["alert_handler_reverse_ping_in_deep_sleep_test.c"], |
| cw310 = cw310_params( |
| timeout = "moderate", |
| tags = ["broken"], # FIXME #16822 Test hangs on isolated runs |
| ), |
| targets = [ |
| # The test requires to run for > 0.2s, thus not recommended for |
| # Verilator as this will slow down CI too much. It should still |
| # be run as part of the DV nightly regression. |
| "verilator", |
| "cw310_test_rom", |
| "dv", |
| ], |
| verilator = verilator_params( |
| timeout = "eternal", |
| tags = ["broken"], # FIXME #16822 Test hangs on isolated runs |
| ), |
| deps = [ |
| "//hw/top_earlgrey:alert_handler_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "alert_handler_lpg_reset_toggle_test", |
| srcs = ["alert_handler_lpg_reset_toggle.c"], |
| cw310 = cw310_params( |
| timeout = "moderate", |
| ), |
| targets = [ |
| # The test requires the Ibex core to wait long enough |
| # before checking for the ping_timeout error. |
| # The wait-time for the Verilator would be around |
| # 32M*8us = 256s (kClockFreqPeripheralHz = 125K). |
| # Thus it is not not recommended to run this test on |
| # Verilator as this wait-time looks impractical. It should still |
| # be run as part of the DV nightly regression. |
| "cw310_test_rom", |
| "dv", |
| ], |
| deps = [ |
| "//hw/ip/i2c/data:i2c_regs", |
| "//hw/ip/spi_device/data:spi_device_regs", |
| "//hw/ip/spi_host/data:spi_host_regs", |
| "//hw/ip/usbdev/data:usbdev_regs", |
| "//hw/top_earlgrey:alert_handler_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:i2c", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:spi_device", |
| "//sw/device/lib/dif:spi_host", |
| "//sw/device/lib/dif:usbdev", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "alert_handler_lpg_sleep_mode_pings_test", |
| srcs = ["alert_handler_lpg_sleep_mode_pings.c"], |
| cw310 = cw310_params( |
| timeout = "moderate", |
| ), |
| targets = [ |
| # The test requires the Ibex core to wait long enough |
| # before checking for the ping_timeout error. |
| # The wait-time for the Verilator would be around |
| # 4s (kClockFreqPeripheralHz = 125K). |
| # Thus it is not not recommended to run this test on |
| # Verilator as this wait-time looks impractical. It should still |
| # be run as part of the DV nightly regression. |
| "cw310_test_rom", |
| "dv", |
| ], |
| deps = [ |
| "//hw/top_earlgrey:alert_handler_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "alert_handler_lpg_sleep_mode_alerts_test", |
| srcs = ["alert_handler_lpg_sleep_mode_alerts.c"], |
| targets = [ |
| # The test requires to drive fatal alerts |
| # which is possible only in DV sim. |
| "dv", |
| ], |
| deps = [ |
| "//hw/top_earlgrey:alert_handler_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "aon_timer_irq_test", |
| srcs = ["aon_timer_irq_test.c"], |
| targets = [ |
| "dv", |
| "verilator", |
| "cw310_test_rom", |
| ], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:rv_timer", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "aon_timer_smoketest", |
| srcs = ["aon_timer_smoketest.c"], |
| targets = [ |
| "dv", |
| "verilator", |
| "cw310_test_rom", |
| ], |
| deps = [ |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "aon_timer_wdog_bite_reset_test", |
| srcs = ["aon_timer_wdog_bite_reset_test.c"], |
| verilator = verilator_params( |
| tags = [ |
| "broken", |
| ], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "pwrmgr_wdog_reset_reqs_test", |
| srcs = ["pwrmgr_wdog_reset_reqs_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "aon_timer_wdog_lc_escalate_test", |
| srcs = ["aon_timer_wdog_lc_escalate_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:rv_timer", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "aon_timer_sleep_wdog_sleep_pause_test", |
| srcs = ["aon_timer_sleep_wdog_sleep_pause_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "chip_power_idle_load", |
| srcs = ["chip_power_idle_load.c"], |
| verilator = verilator_params( |
| tags = ["broken"], # FIXME #16374 test doesn't make progress after enabling PWM |
| ), |
| deps = [ |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:gpio", |
| "//sw/device/lib/dif:otp_ctrl", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/dif:pwm", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "chip_power_sleep_load", |
| srcs = ["chip_power_sleep_load.c"], |
| verilator = verilator_params( |
| tags = ["broken"], # FIXME #16374 test doesn't make progress after enabling PWM |
| ), |
| deps = [ |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:adc_ctrl", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:gpio", |
| "//sw/device/lib/dif:otp_ctrl", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/dif:pwm", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "clkmgr_external_clk_src_for_sw_impl", |
| srcs = ["clkmgr_external_clk_src_for_sw_impl.c"], |
| hdrs = ["clkmgr_external_clk_src_for_sw_impl.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:clkmgr_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_external_clk_src_for_sw_fast_test", |
| srcs = ["clkmgr_external_clk_src_for_sw_fast_test.c"], |
| cw310 = cw310_params( |
| # FIXME #12486 [bazel] targets in sw/device/tests failing on cw310 and verilator when built by bazel |
| tags = ["broken"], |
| ), |
| verilator = verilator_params( |
| tags = [ |
| "broken", |
| ], |
| ), |
| deps = [ |
| ":clkmgr_external_clk_src_for_sw_impl", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_external_clk_src_for_sw_slow_test", |
| srcs = ["clkmgr_external_clk_src_for_sw_slow_test.c"], |
| cw310 = cw310_params( |
| # FIXME #12486 [bazel] targets in sw/device/tests failing on cw310 and verilator when built by bazel |
| tags = ["broken"], |
| ), |
| verilator = verilator_params( |
| tags = [ |
| "broken", |
| ], |
| ), |
| deps = [ |
| ":clkmgr_external_clk_src_for_sw_impl", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_jitter_test", |
| srcs = ["clkmgr_jitter_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_off_peri_test", |
| srcs = ["clkmgr_off_peri_test.c"], |
| verilator = verilator_params( |
| timeout = "eternal", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:abs_mmio", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:spi_host", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/dif:usbdev", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "clkmgr_off_trans_impl", |
| srcs = ["clkmgr_off_trans_impl.c"], |
| hdrs = ["clkmgr_off_trans_impl.h"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/dif:hmac", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_off_aes_trans_test", |
| srcs = ["clkmgr_off_aes_trans_test.c"], |
| deps = ["clkmgr_off_trans_impl"], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_off_hmac_trans_test", |
| srcs = ["clkmgr_off_hmac_trans_test.c"], |
| deps = ["clkmgr_off_trans_impl"], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_off_kmac_trans_test", |
| srcs = ["clkmgr_off_kmac_trans_test.c"], |
| deps = ["clkmgr_off_trans_impl"], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_off_otbn_trans_test", |
| srcs = ["clkmgr_off_otbn_trans_test.c"], |
| deps = ["clkmgr_off_trans_impl"], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_reset_frequency_test", |
| srcs = ["clkmgr_reset_frequency_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:sensor_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:clkmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing:sensor_ctrl_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_sleep_frequency_test", |
| srcs = ["clkmgr_sleep_frequency_test.c"], |
| verilator = verilator_params( |
| # FIXME #13611 |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:sensor_ctrl", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:clkmgr_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing:sensor_ctrl_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "clkmgr_smoketest", |
| srcs = ["clkmgr_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "coverage_test", |
| srcs = ["coverage_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "crt_test", |
| srcs = ["crt_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:stdasm", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_start", |
| "//sw/device/lib/testing/test_framework:ottf_test_config", |
| "//sw/device/lib/testing/test_framework:status", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "csrng_edn_concurrency_test", |
| srcs = ["csrng_edn_concurrency_test.c"], |
| verilator = verilator_params( |
| timeout = "eternal", |
| ), |
| deps = [ |
| ":otbn_randomness_impl", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:csrng", |
| "//sw/device/lib/dif:csrng_shared", |
| "//sw/device/lib/dif:edn", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:csrng_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "csrng_kat_test", |
| srcs = ["csrng_kat_test.c"], |
| deps = [ |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:csrng", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:csrng_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "csrng_smoketest", |
| srcs = ["csrng_smoketest.c"], |
| deps = [ |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:csrng", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:csrng_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "entropy_src_fw_ovr_test", |
| srcs = ["entropy_src_fw_ovr_test.c"], |
| cw310 = cw310_params( |
| # FIXME #12486 [bazel] targets in sw/device/tests failing on cw310 and verilator when built by bazel |
| tags = ["broken"], |
| ), |
| verilator = verilator_params( |
| tags = [ |
| "broken", |
| ], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "entropy_src_kat_impl", |
| srcs = ["entropy_src_kat_impl.c"], |
| hdrs = ["entropy_src_kat_impl.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| deps = [ |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "entropy_src_kat_test", |
| srcs = ["entropy_src_kat_test.c"], |
| deps = [ |
| ":entropy_src_kat_impl", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "entropy_src_smoketest", |
| srcs = ["entropy_src_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "entropy_src_ast_rng_req_test", |
| srcs = ["entropy_src_ast_rng_req_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "entropy_src_csrng_test", |
| srcs = ["entropy_src_csrng_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| ":otbn_randomness_impl", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:csrng", |
| "//sw/device/lib/dif:edn", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:csrng_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "entropy_src_edn_reqs_test", |
| srcs = ["entropy_src_edn_reqs_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| ":otbn_randomness_impl", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/dif:keymgr", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/dif:otp_ctrl", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aes_testutils", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:keymgr_testutils", |
| "//sw/device/lib/testing:otp_ctrl_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "example_concurrency_test", |
| srcs = ["example_concurrency_test.c"], |
| deps = [ |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "example_test_from_flash", |
| srcs = ["example_test_from_flash.c"], |
| deps = [ |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "example_test_from_rom", |
| srcs = ["example_test_from_rom.c"], |
| targets = [ |
| "dv", |
| "verilator", |
| ], |
| # This test is designed to run and complete entirely in the ROM boot stage. |
| # Setting the `test_in_rom` flag makes the `opentitan_functest` rule aware |
| # of this, and instructs it to load the test image into ROM (rather than |
| # loading the default test ROM, or any other ROM that may be specified via |
| # DV or Verilator params). |
| test_in_rom = True, |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:pinmux_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:status", |
| "//sw/device/lib/testing/test_rom:linker_script", |
| "//sw/device/lib/testing/test_rom:test_rom_lib", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "flash_ctrl_idle_low_power_test", |
| srcs = ["flash_ctrl_idle_low_power_test.c"], |
| targets = [ |
| "dv", |
| "verilator", |
| "cw310_test_rom", |
| ], |
| verilator = verilator_params( |
| tags = [ |
| "broken", |
| ], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "flash_ctrl_ops_test", |
| srcs = ["flash_ctrl_ops_test.c"], |
| cw310 = cw310_params( |
| # FIXME #12486 [bazel] targets in sw/device/tests failing on cw310 and verilator when built by bazel |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "flash_ctrl_clock_freqs_test", |
| srcs = ["flash_ctrl_clock_freqs_test.c"], |
| cw310 = cw310_params( |
| # FIXME #12486 [bazel] targets in sw/device/tests failing on cw310 and verilator when built by bazel |
| tags = ["broken"], |
| ), |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "flash_ctrl_test", |
| srcs = ["flash_ctrl_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "gpio_smoketest", |
| srcs = ["gpio_smoketest.c"], |
| targets = [ |
| #not compatible with the verilated top level |
| "cw310_test_rom", |
| "dv", |
| ], |
| deps = [ |
| "//sw/device/lib/dif:gpio", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/testing:pinmux_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "gpio_pinmux_test", |
| srcs = ["gpio_pinmux_test.c"], |
| cw310 = cw310_params( |
| interface = "hyper310", |
| tags = ["manual"], |
| test_cmds = [ |
| "--rom-kind=testrom", |
| "--bitstream=\"$(location {bitstream})\"", |
| "--bootstrap=\"$(location {flash})\"", |
| ], |
| ), |
| targets = [ |
| "verilator", |
| "cw310_test_rom", |
| ], |
| test_harness = "//sw/host/tests/chip/gpio", |
| verilator = verilator_params( |
| timeout = "eternal", |
| test_cmds = [], |
| ), |
| deps = [ |
| "//sw/device/lib/dif:gpio", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/testing/json:command", |
| "//sw/device/lib/testing/json:gpio", |
| "//sw/device/lib/testing/json:pinmux_config", |
| "//sw/device/lib/testing/test_framework:ottf_flow_control", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "hmac_enc_test", |
| srcs = ["hmac_enc_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:hmac", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:hmac_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "hmac_enc_idle_test", |
| srcs = ["hmac_enc_idle_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/dif:hmac", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:clkmgr_testutils", |
| "//sw/device/lib/testing:hmac_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "hmac_smoketest", |
| srcs = ["hmac_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:hmac", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:hmac_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "keymgr_key_derivation_test", |
| srcs = ["keymgr_key_derivation_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/ip/keymgr/data:keymgr_regs", |
| "//hw/ip/kmac/data:kmac_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/dif:keymgr", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:keymgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "keymgr_sideload_aes_test", |
| srcs = ["keymgr_sideload_aes_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/ip/aes/data:aes_regs", |
| "//hw/ip/keymgr/data:keymgr_regs", |
| "//hw/ip/kmac/data:kmac_regs", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/dif:keymgr", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:aes_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:keymgr_testutils", |
| "//sw/device/lib/testing:kmac_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "keymgr_sideload_kmac_test", |
| srcs = ["keymgr_sideload_kmac_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/ip/keymgr/data:keymgr_regs", |
| "//hw/ip/kmac/data:kmac_regs", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/dif:keymgr", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:keymgr_testutils", |
| "//sw/device/lib/testing:kmac_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "keymgr_sideload_otbn_test", |
| srcs = ["keymgr_sideload_otbn_test.c"], |
| verilator = verilator_params( |
| timeout = "eternal", |
| ), |
| deps = [ |
| "//hw/ip/otbn/data:otbn_regs", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/dif:keymgr", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:keymgr_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/otbn/crypto:x25519_sideload", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "kmac_app_rom_test", |
| srcs = ["kmac_app_rom_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:rom_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "kmac_entropy_test", |
| srcs = ["kmac_entropy_test.c"], |
| cw310 = cw310_params( |
| # FIXME #15530: EDN doesn't timeout on FPGA |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "kmac_idle_test", |
| srcs = ["kmac_idle_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "kmac_mode_cshake_test", |
| srcs = ["kmac_mode_cshake_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "kmac_mode_kmac_test", |
| srcs = ["kmac_mode_kmac_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "kmac_smoketest", |
| srcs = ["kmac_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "lc_ctrl_otp_hw_cfg_test", |
| srcs = ["lc_ctrl_otp_hw_cfg_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:bitfield", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:lc_ctrl", |
| "//sw/device/lib/dif:otp_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:otp_ctrl_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "otbn_ecdsa_op_irq_test", |
| srcs = ["otbn_ecdsa_op_irq_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/otbn/crypto:p256_ecdsa", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "otbn_irq_test", |
| srcs = ["otbn_irq_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/otbn/code-snippets:err_test", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "otbn_mem_scramble_test", |
| srcs = ["otbn_mem_scramble_test.c"], |
| cw310 = cw310_params( |
| # FIXME #12486 [bazel] targets in sw/device/tests failing on cw310 and verilator when built by bazel |
| tags = ["broken"], |
| ), |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "otbn_randomness_impl", |
| srcs = ["otbn_randomness_impl.c"], |
| hdrs = ["otbn_randomness_impl.h"], |
| target_compatible_with = [OPENTITAN_CPU], |
| deps = [ |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/otbn/code-snippets:randomness", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "otbn_randomness_test", |
| srcs = ["otbn_randomness_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| ":otbn_randomness_impl", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:base", |
| "//sw/device/lib/dif:clkmgr", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:clkmgr_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "otbn_rsa_test", |
| srcs = ["otbn_rsa_test.c"], |
| verilator = verilator_params( |
| timeout = "eternal", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/otbn/crypto:rsa", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "otbn_smoketest", |
| srcs = ["otbn_smoketest.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:otbn_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/otbn/code-snippets:barrett384", |
| "//sw/otbn/code-snippets:err_test", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "otp_ctrl_smoketest", |
| srcs = ["otp_ctrl_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:bitfield", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/dif:otp_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:otp_ctrl_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "plic_sw_irq_test", |
| srcs = ["plic_sw_irq_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:abs_mmio", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "pmp_smoketest_napot", |
| srcs = ["pmp_smoketest_napot.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:csr", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:pmp", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "pmp_smoketest_tor", |
| srcs = ["pmp_smoketest_tor.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:csr", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:pmp", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "pwrmgr_smoketest", |
| srcs = ["pwrmgr_smoketest.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "pwrmgr_sleep_disabled_test", |
| srcs = ["pwrmgr_sleep_disabled_test.c"], |
| cw310 = cw310_params( |
| # FIXME #12486 [bazel] targets in sw/device/tests failing on cw310 and verilator when built by bazel |
| tags = ["broken"], |
| ), |
| verilator = verilator_params( |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rstmgr_smoketest", |
| srcs = ["rstmgr_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rstmgr_cpu_info_test", |
| srcs = ["rstmgr_cpu_info_test.c"], |
| targets = [ |
| "cw310_test_rom", |
| "dv", |
| "verilator", |
| ], |
| verilator = verilator_params( |
| timeout = "long", |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:abs_mmio", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rstmgr_sw_req_test", |
| srcs = ["rstmgr_sw_req_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rstmgr_sw_rst_ctrl_test", |
| srcs = ["rstmgr_sw_rst_ctrl_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/ip/i2c/data:i2c_regs", |
| "//hw/ip/spi_device/data:spi_device_regs", |
| "//hw/ip/spi_host/data:spi_host_regs", |
| "//hw/ip/usbdev/data:usbdev_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:i2c", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:spi_device", |
| "//sw/device/lib/dif:spi_host", |
| "//sw/device/lib/dif:usbdev", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rv_plic_smoketest", |
| srcs = ["rv_plic_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/device/lib/testing/test_framework:status", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rv_timer_smoketest", |
| srcs = ["rv_timer_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:rv_timer", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "spi_host_smoketest", |
| srcs = ["spi_host_smoketest.c"], |
| targets = ["cw310_test_rom"], # Can only run on CW310 board right now. |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:spi_host", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "sensor_ctrl_alert_test", |
| srcs = ["sensor_ctrl_alerts.c"], |
| verilator = verilator_params( |
| timeout = "eternal", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/ip/sensor_ctrl/data:sensor_ctrl_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:abs_mmio", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:sensor_ctrl", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rand_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "sensor_ctrl_wakeup_test", |
| srcs = ["sensor_ctrl_wakeup.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/ip/sensor_ctrl/data:sensor_ctrl_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:sensor_ctrl", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "sleep_pwm_pulses_test", |
| srcs = ["sleep_pwm_pulses_test.c"], |
| verilator = verilator_params( |
| timeout = "eternal", |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//hw/ip/pwm/data:pwm_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/dif:pwm", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "sram_ctrl_execution_test", |
| srcs = ["sram_ctrl_execution_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/examples/sram_program", |
| "//sw/device/lib/base:csr", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/dif:sram_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/device/silicon_creator/lib:epmp_state", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "sram_ctrl_sleep_sram_ret_contents_test", |
| srcs = ["sram_ctrl_sleep_sram_ret_contents_test.c"], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing:sram_ctrl_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/device/silicon_creator/lib/drivers:retention_sram", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "sram_ctrl_smoketest", |
| srcs = ["sram_ctrl_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:macros", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:sram_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "uart_smoketest_signed", |
| srcs = ["uart_smoketest.c"], |
| cw310 = cw310_params( |
| exit_failure = ROM_BOOT_FAILURE_MSG, |
| ), |
| dv = dv_params( |
| rom = "//sw/device/silicon_creator/rom:rom_with_fake_keys", |
| ), |
| manifest = "//sw/device/silicon_creator/rom_ext:manifest_standard", |
| signed = True, |
| targets = [ |
| "cw310_rom", |
| "verilator", |
| "dv", |
| ], |
| verilator = verilator_params( |
| timeout = "eternal", |
| exit_failure = ROM_BOOT_FAILURE_MSG, |
| rom = "//sw/device/silicon_creator/rom:rom_with_fake_keys", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "uart_smoketest", |
| srcs = ["uart_smoketest.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "usbdev_test", |
| srcs = ["usbdev_test.c"], |
| cw310 = cw310_params( |
| tags = ["skip_in_ci"], # Requires DPI model |
| ), |
| targets = [ |
| "verilator", |
| "cw310_test_rom", |
| ], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/dif:usbdev", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:pinmux_testutils", |
| "//sw/device/lib/testing:usb_testutils", |
| "//sw/device/lib/testing:usb_testutils_simpleserial", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "usbdev_stream_test", |
| srcs = ["usbdev_stream_test.c"], |
| cw310 = cw310_params( |
| timeout = "eternal", |
| ), |
| targets = [ |
| "verilator", |
| "cw310_test_rom", |
| ], |
| verilator = verilator_params( |
| timeout = "long", |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/runtime:print", |
| "//sw/device/lib/testing:pinmux_testutils", |
| "//sw/device/lib/testing:usb_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rstmgr_alert_info_test", |
| srcs = ["rstmgr_alert_info_test.c"], |
| cw310 = cw310_params( |
| tags = ["broken"], # FIXME #16576 fails in non-CI environments |
| ), |
| targets = [ |
| "cw310_test_rom", |
| "verilator", |
| "dv", |
| ], |
| verilator = verilator_params( |
| timeout = "long", |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//hw/top_earlgrey:alert_handler_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:i2c", |
| "//sw/device/lib/dif:otp_ctrl", |
| "//sw/device/lib/dif:pwrmgr", |
| "//sw/device/lib/dif:rstmgr", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:rv_timer", |
| "//sw/device/lib/dif:spi_host", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:flash_ctrl_testutils", |
| "//sw/device/lib/testing:rstmgr_testutils", |
| "//sw/device/lib/testing:rv_plic_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rv_core_ibex_rnd_test", |
| srcs = [ |
| "rv_core_ibex_rnd_test.S", |
| "rv_core_ibex_rnd_test.c", |
| ], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:edn", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:rv_core_ibex_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rv_core_ibex_address_translation_test", |
| srcs = [ |
| "rv_core_ibex_address_translation_test.S", |
| "rv_core_ibex_address_translation_test.c", |
| ], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:csr", |
| "//sw/device/lib/base:memory", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/runtime:ibex", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/device/silicon_creator/lib:epmp_state", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rv_core_ibex_nmi_irq_test", |
| srcs = ["rv_core_ibex_nmi_irq_test.c"], |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/dif:alert_handler", |
| "//sw/device/lib/dif:aon_timer", |
| "//sw/device/lib/dif:rv_core_ibex", |
| "//sw/device/lib/runtime:irq", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:alert_handler_testutils", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:isr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "rv_core_ibex_icache_invalidate_test", |
| srcs = ["rv_core_ibex_icache_invalidate_test.c"], |
| deps = [ |
| "//sw/device/lib/runtime:hart", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "ast_clk_outs_test", |
| srcs = ["ast_clk_outs_test.c"], |
| cw310 = cw310_params( |
| # FIXME #13611 |
| tags = ["broken"], |
| ), |
| verilator = verilator_params( |
| # FIXME #13611 |
| timeout = "eternal", |
| tags = ["broken"], |
| ), |
| deps = [ |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/arch:device", |
| "//sw/device/lib/base:mmio", |
| "//sw/device/lib/dif:sensor_ctrl", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aon_timer_testutils", |
| "//sw/device/lib/testing:clkmgr_testutils", |
| "//sw/device/lib/testing:pwrmgr_testutils", |
| "//sw/device/lib/testing:sensor_ctrl_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| ], |
| ) |
| |
| otp_json( |
| name = "power_virus_systemtest_otp_overlay", |
| partitions = [ |
| otp_partition( |
| name = "CREATOR_SW_CFG", |
| items = { |
| "CREATOR_SW_CFG_FLASH_DATA_DEFAULT_CFG": "0000090909", |
| # TODO(#14814): enable flash scrambling / ECC by replacing above |
| # with below. |
| #"CREATOR_SW_CFG_FLASH_DATA_DEFAULT_CFG": "0000090606", |
| }, |
| ), |
| ], |
| ) |
| |
| otp_image( |
| name = "power_virus_systemtest_otp_img_rma", |
| src = "//hw/ip/otp_ctrl/data:otp_json_rma", |
| overlays = STD_OTP_OVERLAYS + [":power_virus_systemtest_otp_overlay"], |
| visibility = ["//visibility:private"], |
| ) |
| |
| bitstream_splice( |
| name = "power_virus_systemtest_bitstream", |
| src = "//hw/bitstream:test_rom", |
| data = ":power_virus_systemtest_otp_img_rma", |
| meminfo = "//hw/bitstream:otp_mmi", |
| tags = ["vivado"], |
| update_usr_access = True, |
| visibility = ["//visibility:private"], |
| ) |
| |
| opentitan_functest( |
| name = "power_virus_systemtest", |
| srcs = ["power_virus_systemtest.c"], |
| cw310 = cw310_params( |
| bitstream = ":power_virus_systemtest_bitstream", |
| tags = ["vivado"], |
| test_cmds = [ |
| "--rom-kind={rom_kind}", |
| "--bitstream=\"$(location {bitstream})\"", |
| "--bootstrap=\"$(location {flash})\"", |
| ], |
| ), |
| targets = [ |
| # TODO(#14814): add more targets |
| "cw310_test_rom", |
| "dv", |
| ], |
| test_harness = "//sw/host/tests/chip/power_virus", |
| deps = [ |
| "//hw/ip/adc_ctrl/data:adc_ctrl_regs", |
| "//hw/ip/aes:model", |
| "//hw/ip/aes/data:aes_regs", |
| "//hw/ip/csrng/data:csrng_regs", |
| "//hw/ip/entropy_src/data:entropy_src_regs", |
| "//hw/ip/gpio/data:gpio_regs", |
| "//hw/ip/hmac/data:hmac_regs", |
| "//hw/ip/i2c/data:i2c_regs", |
| "//hw/ip/kmac/data:kmac_regs", |
| "//hw/ip/pattgen/data:pattgen_regs", |
| "//hw/ip/pwm/data:pwm_regs", |
| "//hw/ip/spi_host/data:spi_host_regs", |
| "//hw/ip/uart/data:uart_regs", |
| "//hw/top_earlgrey/sw/autogen:top_earlgrey", |
| "//sw/device/lib/base:math", |
| "//sw/device/lib/base:multibits", |
| "//sw/device/lib/crypto/drivers:otbn", |
| "//sw/device/lib/crypto/impl/rsa_3072:rsa_3072_verify", |
| "//sw/device/lib/dif:adc_ctrl", |
| "//sw/device/lib/dif:aes", |
| "//sw/device/lib/dif:csrng", |
| "//sw/device/lib/dif:csrng_shared", |
| "//sw/device/lib/dif:edn", |
| "//sw/device/lib/dif:entropy_src", |
| "//sw/device/lib/dif:flash_ctrl", |
| "//sw/device/lib/dif:gpio", |
| "//sw/device/lib/dif:hmac", |
| "//sw/device/lib/dif:i2c", |
| "//sw/device/lib/dif:kmac", |
| "//sw/device/lib/dif:otbn", |
| "//sw/device/lib/dif:pattgen", |
| "//sw/device/lib/dif:pinmux", |
| "//sw/device/lib/dif:pwm", |
| "//sw/device/lib/dif:rv_plic", |
| "//sw/device/lib/dif:spi_device", |
| "//sw/device/lib/dif:spi_host", |
| "//sw/device/lib/dif:uart", |
| "//sw/device/lib/runtime:log", |
| "//sw/device/lib/testing:aes_testutils", |
| "//sw/device/lib/testing:entropy_testutils", |
| "//sw/device/lib/testing:hmac_testutils", |
| "//sw/device/lib/testing:i2c_testutils", |
| "//sw/device/lib/testing:pinmux_testutils", |
| "//sw/device/lib/testing:spi_device_testutils", |
| "//sw/device/lib/testing/test_framework:check", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/device/tests/crypto:rsa_3072_verify_testvectors_hardcoded_header", |
| ], |
| ) |
| |
| opentitan_functest( |
| name = "spi_passthru_test", |
| srcs = [ |
| "spi_passthru_test.c", |
| ], |
| cw310 = cw310_params( |
| # This test will need hyperdebug once we start using multi-lane |
| # SPI modes. |
| #interface = "hyper310", |
| #tags = ["manual"], |
| test_cmds = [ |
| "--rom-kind=testrom", |
| "--bitstream=\"$(location {bitstream})\"", |
| "--bootstrap=\"$(location {flash})\"", |
| ], |
| ), |
| targets = [ |
| "cw310_test_rom", |
| ], |
| test_harness = "//sw/host/tests/chip/spi_passthru", |
| deps = [ |
| "//sw/device/lib/dif:gpio", |
| "//sw/device/lib/dif:spi_device", |
| "//sw/device/lib/testing:spi_device_testutils", |
| "//sw/device/lib/testing/json:command", |
| "//sw/device/lib/testing/json:spi_passthru", |
| "//sw/device/lib/testing/test_framework:ottf_flow_control", |
| "//sw/device/lib/testing/test_framework:ottf_main", |
| "//sw/device/lib/testing/test_framework:ujson_ottf", |
| ], |
| ) |