diff options
Diffstat (limited to 'zephyr/test/system')
-rw-r--r-- | zephyr/test/system/overlay.dts | 10 | ||||
-rw-r--r-- | zephyr/test/system/prj.conf | 6 | ||||
-rw-r--r-- | zephyr/test/system/test_system.c | 37 |
3 files changed, 26 insertions, 27 deletions
diff --git a/zephyr/test/system/overlay.dts b/zephyr/test/system/overlay.dts index 37bac97680..bba99a0b81 100644 --- a/zephyr/test/system/overlay.dts +++ b/zephyr/test/system/overlay.dts @@ -4,6 +4,16 @@ */ / { + chosen { + cros-ec,bbram = &bbram; + }; + + bbram: test-bbram-dev { + compatible = "zephyr,bbram-emul"; + label = "TEST_BBRAM_DEV"; + size = <64>; + }; + named-bbram-regions { compatible = "named-bbram-regions"; pd0 { diff --git a/zephyr/test/system/prj.conf b/zephyr/test/system/prj.conf index 03357fa10f..4b3055b39b 100644 --- a/zephyr/test/system/prj.conf +++ b/zephyr/test/system/prj.conf @@ -1,4 +1,10 @@ +# Copyright 2021 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + CONFIG_ZTEST=y CONFIG_PLATFORM_EC=y CONFIG_CROS_EC=y CONFIG_LOG=y +CONFIG_BBRAM=y +CONFIG_BBRAM_EMUL=y diff --git a/zephyr/test/system/test_system.c b/zephyr/test/system/test_system.c index e8eba44fc8..96befde553 100644 --- a/zephyr/test/system/test_system.c +++ b/zephyr/test/system/test_system.c @@ -8,7 +8,6 @@ #include <logging/log.h> #include <ztest.h> -#include "bbram.h" #include "system.h" LOG_MODULE_REGISTER(test); @@ -21,50 +20,34 @@ LOG_MODULE_REGISTER(test); static char mock_data[64] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@"; -static int mock_bbram_read(const struct device *unused, size_t offset, - size_t size, uint8_t *data) -{ - if (offset < 0 || offset + size >= ARRAY_SIZE(mock_data)) - return -1; - memcpy(data, mock_data + offset, size); - return EC_SUCCESS; -} - -static const struct bbram_driver_api bbram_api = { - .read = mock_bbram_read, -}; - -static const struct device bbram_dev_instance = { - .name = "TEST_BBRAM_DEV", - .config = NULL, - .api = &bbram_api, - .data = NULL, -}; - -const struct device *bbram_dev = &bbram_dev_instance; - static void test_bbram_get(void) { + const struct device *const bbram_dev = + DEVICE_DT_GET(DT_CHOSEN(cros_ec_bbram)); uint8_t output[10]; int rc; + /* Write expected data to read back */ + rc = bbram_write(bbram_dev, 0, ARRAY_SIZE(mock_data), mock_data); + zassert_ok(rc, NULL); + rc = system_get_bbram(SYSTEM_BBRAM_IDX_PD0, output); - zassert_equal(rc, 0, NULL); + zassert_ok(rc, NULL); zassert_mem_equal(output, mock_data + BBRAM_REGION_OFF(pd0), BBRAM_REGION_SIZE(pd0), NULL); rc = system_get_bbram(SYSTEM_BBRAM_IDX_PD1, output); - zassert_equal(rc, 0, NULL); + zassert_ok(rc, NULL); zassert_mem_equal(output, mock_data + BBRAM_REGION_OFF(pd1), BBRAM_REGION_SIZE(pd1), NULL); rc = system_get_bbram(SYSTEM_BBRAM_IDX_PD2, output); - zassert_equal(rc, 0, NULL); + zassert_ok(rc, NULL); zassert_mem_equal(output, mock_data + BBRAM_REGION_OFF(pd2), BBRAM_REGION_SIZE(pd2), NULL); rc = system_get_bbram(SYSTEM_BBRAM_IDX_TRY_SLOT, output); - zassert_equal(rc, 0, NULL); + zassert_ok(rc, NULL); zassert_mem_equal(output, mock_data + BBRAM_REGION_OFF(try_slot), BBRAM_REGION_SIZE(try_slot), NULL); } |