Skip to content

Commit 868b3ae

Browse files
committed
tests: lib: devicetree: api: Add test cases for DT_CHILD_BY_UNIT_ADDR
Introduce test cases to the devicetree API test suite for DT_CHILD_BY_UNIT_ADDR and DT_INST_CHILD_BY_UNIT_ADDR. Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
1 parent 475eadc commit 868b3ae

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

dts/bindings/test/vnd,child-bindings.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ include: [base.yaml]
1010
child-binding:
1111
description: Test child binding
1212
properties:
13+
reg:
14+
type: array
15+
required: true
1316
val:
1417
type: int
1518
required: true

tests/lib/devicetree/api/app.overlay

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -658,18 +658,23 @@
658658
/* there should only be one of these */
659659
test_children: test-children {
660660
compatible = "vnd,child-bindings";
661+
#address-cells = <1>;
662+
#size-cells = <0>;
661663

662-
test_child_a: child-a {
664+
test_child_a: child@a {
665+
reg = <0xa>;
663666
val = <0>;
664667
status = "okay";
665668
};
666669

667-
test_child_b: child-b {
670+
test_child_b: child@b {
671+
reg = <0xb>;
668672
val = <1>;
669673
status = "okay";
670674
};
671675

672-
test_child_c: child-c {
676+
test_child_c: child@c {
677+
reg = <0xc>;
673678
val = <2>;
674679
status = "disabled";
675680
};

tests/lib/devicetree/api/src/main.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2514,6 +2514,26 @@ ZTEST(devicetree_api, test_children)
25142514
zassert_equal(DT_PROP(DT_INST_CHILD(0, child_a), val), 0, "");
25152515
zassert_equal(DT_PROP(DT_INST_CHILD(0, child_b), val), 1, "");
25162516
zassert_equal(DT_PROP(DT_INST_CHILD(0, child_c), val), 2, "");
2517+
2518+
zassert_equal(DT_PROP(DT_CHILD_BY_UNIT_ADDR(DT_NODELABEL(test_children), 0xa),
2519+
val), 0, "");
2520+
zassert_equal(DT_PROP(DT_CHILD_BY_UNIT_ADDR(DT_NODELABEL(test_children), 10),
2521+
val), 0, "");
2522+
zassert_equal(DT_PROP(DT_CHILD_BY_UNIT_ADDR(DT_NODELABEL(test_children), 0xb),
2523+
val), 1, "");
2524+
zassert_equal(DT_PROP(DT_CHILD_BY_UNIT_ADDR(DT_NODELABEL(test_children), 11),
2525+
val), 1, "");
2526+
zassert_equal(DT_PROP(DT_CHILD_BY_UNIT_ADDR(DT_NODELABEL(test_children), 0xc),
2527+
val), 2, "");
2528+
zassert_equal(DT_PROP(DT_CHILD_BY_UNIT_ADDR(DT_NODELABEL(test_children), 12),
2529+
val), 2, "");
2530+
2531+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_UNIT_ADDR(0, 0xa), val), 0, "");
2532+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_UNIT_ADDR(0, 10), val), 0, "");
2533+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_UNIT_ADDR(0, 0xb), val), 1, "");
2534+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_UNIT_ADDR(0, 11), val), 1, "");
2535+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_UNIT_ADDR(0, 0xc), val), 2, "");
2536+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_UNIT_ADDR(0, 12), val), 2, "");
25172537
}
25182538

25192539
#undef DT_DRV_COMPAT

0 commit comments

Comments
 (0)