Skip to content

Commit c119467

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 613fd2b commit c119467

File tree

3 files changed

+49
-3
lines changed

3 files changed

+49
-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 = <2>;
662+
#size-cells = <1>;
661663

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

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

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

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

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2514,6 +2514,44 @@ 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), 1, 0x64),
2523+
val), 0, "");
2524+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 1, 100),
2525+
val), 0, "");
2526+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 0xb),
2527+
val), 1, "");
2528+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 11),
2529+
val), 1, "");
2530+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 1, 0xc8),
2531+
val), 1, "");
2532+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 1, 200),
2533+
val), 1, "");
2534+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 0xc),
2535+
val), 2, "");
2536+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 0, 12),
2537+
val), 2, "");
2538+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 1, 0x12c),
2539+
val), 2, "");
2540+
zassert_equal(DT_PROP(DT_CHILD_BY_REG_ADDR(DT_NODELABEL(test_children), 1, 300),
2541+
val), 2, "");
2542+
2543+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 0xa), val), 0, "");
2544+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 10), val), 0, "");
2545+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 1, 0x64), val), 0, "");
2546+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 1, 100), val), 0, "");
2547+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 0xb), val), 1, "");
2548+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 11), val), 1, "");
2549+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 1, 0xc8), val), 1, "");
2550+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 1, 200), val), 1, "");
2551+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 0xc), val), 2, "");
2552+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 0, 12), val), 2, "");
2553+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 1, 0x12c), val), 2, "");
2554+
zassert_equal(DT_PROP(DT_INST_CHILD_BY_REG_ADDR(0, 1, 300), val), 2, "");
25172555
}
25182556

25192557
#undef DT_DRV_COMPAT

0 commit comments

Comments
 (0)