Skip to content

Commit e3c70ba

Browse files
committed
tests: lib: devicetree: api: Add test cases for DT_CHILD_BY_REG_ADDR
Introduce test cases to the devicetree API test suite for DT_CHILD_BY_REG_ADDR and DT_INST_CHILD_BY_REG_ADDR. Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
1 parent 3f29703 commit e3c70ba

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
@@ -650,16 +650,21 @@
650650
/* there should only be one of these */
651651
test_children: test-children {
652652
compatible = "vnd,child-bindings";
653+
#address-cells = <1>;
654+
#size-cells = <0>;
653655

654-
test_child_a: child-a {
656+
test_child_a: child@a {
657+
reg = <0xa>;
655658
val = <0>;
656659
status = "okay";
657660
};
658-
test_child_b: child-b {
661+
test_child_b: child@b {
662+
reg = <0xb>;
659663
val = <1>;
660664
status = "okay";
661665
};
662-
test_child_c: child-c {
666+
test_child_c: child@c {
667+
reg = <0xc>;
663668
val = <2>;
664669
status = "disabled";
665670
};

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_REG_ADDR(DT_NODELABEL(test_children), 0, 0xa),
2519+
val), 0, "");
2520+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 10),
2521+
val), 0, "");
2522+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 0xb),
2523+
val), 1, "");
2524+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 11),
2525+
val), 1, "");
2526+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 0xc),
2527+
val), 2, "");
2528+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 12),
2529+
val), 2, "");
2530+
2531+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 0xa), val), 0, "");
2532+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 10), val), 0, "");
2533+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 0xb), val), 1, "");
2534+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 11), val), 1, "");
2535+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 0xc), val), 2, "");
2536+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 12), val), 2, "");
25172537
}
25182538

25192539
#undef DT_DRV_COMPAT

0 commit comments

Comments
 (0)