summaryrefslogtreecommitdiff
path: root/zephyr/test/i2c_dts/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/test/i2c_dts/src/main.c')
-rw-r--r--zephyr/test/i2c_dts/src/main.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/zephyr/test/i2c_dts/src/main.c b/zephyr/test/i2c_dts/src/main.c
new file mode 100644
index 0000000000..359808776b
--- /dev/null
+++ b/zephyr/test/i2c_dts/src/main.c
@@ -0,0 +1,30 @@
+/* Copyright 2020 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.
+ */
+
+#include <device.h>
+#include <devicetree.h>
+#include <ztest.h>
+
+static void test_i2c_get_device(void)
+{
+ const struct device *accel0 = device_get_binding(
+ DT_PROP_BY_PHANDLE(DT_PATH(named_i2c_ports, accel_0), i2c_port,
+ label));
+ const struct device *bmi_i2c = device_get_binding(
+ DT_LABEL(DT_NODELABEL(bmi_i2c)));
+
+ zassert_not_null(accel0, "accel0 was NULL");
+ zassert_not_null(bmi_i2c, "bmi_i2c was NULL");
+ zassert_equal(accel0, bmi_i2c,
+ "named_i2c_ports/accel0 and bmi_i2c should resolve to the same device");
+}
+
+/* test case main entry */
+void test_main(void)
+{
+ ztest_test_suite(test_i2c_bindings,
+ ztest_user_unit_test(test_i2c_get_device));
+ ztest_run_test_suite(test_i2c_bindings);
+}