diff --git a/tests/drivers/clock_control/nrf_clock_control/src/main.c b/tests/drivers/clock_control/nrf_clock_control/src/main.c index 60cb9549f3d..f06bbb87e7d 100644 --- a/tests/drivers/clock_control/nrf_clock_control/src/main.c +++ b/tests/drivers/clock_control/nrf_clock_control/src/main.c @@ -104,6 +104,37 @@ static const struct test_clk_context cpurad_hsfll_test_clk_contexts[] = { }; #endif +const struct nrf_clock_spec test_clk_specs_global_hsfll[] = { + { + .frequency = MHZ(320), + .accuracy = 0, + .precision = NRF_CLOCK_CONTROL_PRECISION_DEFAULT, + }, + { + .frequency = MHZ(256), + .accuracy = 0, + .precision = NRF_CLOCK_CONTROL_PRECISION_DEFAULT, + }, + { + .frequency = MHZ(128), + .accuracy = 0, + .precision = NRF_CLOCK_CONTROL_PRECISION_DEFAULT, + }, + { + .frequency = MHZ(64), + .accuracy = 0, + .precision = NRF_CLOCK_CONTROL_PRECISION_DEFAULT, + }, +}; + +static const struct test_clk_context global_hsfll_test_clk_contexts[] = { + { + .clk_dev = DEVICE_DT_GET(DT_NODELABEL(hsfll120)), + .clk_specs = test_clk_specs_global_hsfll, + .clk_specs_size = ARRAY_SIZE(test_clk_specs_global_hsfll), + }, +}; + const struct nrf_clock_spec test_clk_specs_lfclk[] = { { .frequency = 32768, @@ -151,8 +182,10 @@ static void test_request_release_clock_spec(const struct device *clk_dev, zassert_ok(ret); zassert_ok(res); ret = clock_control_get_rate(clk_dev, NULL, &rate); - zassert_ok(ret); - zassert_equal(rate, clk_spec->frequency); + if (ret != -ENOSYS) { + zassert_ok(ret); + zassert_equal(rate, clk_spec->frequency); + } k_msleep(1000); ret = nrf_clock_control_release(clk_dev, clk_spec); zassert_equal(ret, ONOFF_STATE_ON); @@ -249,6 +282,13 @@ ZTEST(nrf2_clock_control, test_lfclk_control) test_clock_control_request(lfclk_test_clk_contexts, ARRAY_SIZE(lfclk_test_clk_contexts)); } +ZTEST(nrf2_clock_control, test_global_hsfll_control) +{ + TC_PRINT("Global HSFLL test\n"); + test_clock_control_request(global_hsfll_test_clk_contexts, + ARRAY_SIZE(global_hsfll_test_clk_contexts)); +} + ZTEST(nrf2_clock_control, test_safe_request_cancellation) { int ret = 0;