diff options
Diffstat (limited to 'zephyr/test/i2c_dts/src/main.c')
-rw-r--r-- | zephyr/test/i2c_dts/src/main.c | 30 |
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); +} |