summaryrefslogtreecommitdiff
path: root/zephyr/test/system
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/test/system')
-rw-r--r--zephyr/test/system/overlay.dts10
-rw-r--r--zephyr/test/system/prj.conf6
-rw-r--r--zephyr/test/system/test_system.c37
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);
}