Skip to content

Commit 9965091

Browse files
nordicjmdkalowsk
authored andcommitted
tests: lib: devicetree: Add sub-partition tests
Adds tests for sub-partition macros Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
1 parent 7095260 commit 9965091

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

tests/lib/devicetree/api/app.overlay

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -861,10 +861,30 @@
861861
reg = < 0x0 0xc0 >;
862862
label = "test-partition-0";
863863
};
864+
864865
partition@c0 {
865866
reg = < 0xc0 0x40 >;
866867
label = "test-partition-1";
867868
};
869+
870+
partition@100 {
871+
compatible = "fixed-subpartitions";
872+
label = "test-subpartitions";
873+
reg = <0x00000100 0x100>;
874+
ranges = <0x0 0x100 0x100>;
875+
#address-cells = <1>;
876+
#size-cells = <1>;
877+
878+
partition@0 {
879+
label = "test-subpartition-0";
880+
reg = <0x00000000 0x40>;
881+
};
882+
883+
partition@40 {
884+
label = "test-subpartition-1";
885+
reg = <0x00000040 0xc0>;
886+
};
887+
};
868888
};
869889
};
870890
};

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

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,13 @@
104104
#define TEST_PARTITION_1 DT_PATH(test, test_mtd_ffeeddcc, flash_20000000, partitions, partition_c0)
105105
#define TEST_PARTITION_2 DT_PATH(test, test_mtd_33221100, partitions, partition_6ff80)
106106

107+
#define TEST_SUBPARTITION_COMBINED DT_PATH(test, test_mtd_ffeeddcc, flash_20000000, partitions, \
108+
partition_100)
109+
#define TEST_SUBPARTITION_0 DT_PATH(test, test_mtd_ffeeddcc, flash_20000000, partitions, \
110+
partition_100, partition_0)
111+
#define TEST_SUBPARTITION_1 DT_PATH(test, test_mtd_ffeeddcc, flash_20000000, partitions, \
112+
partition_100, partition_40)
113+
107114
#define ZEPHYR_USER DT_PATH(zephyr_user)
108115

109116
#define TA_HAS_COMPAT(compat) DT_NODE_HAS_COMPAT(TEST_ARRAYS, compat)
@@ -3215,6 +3222,34 @@ ZTEST(devicetree_api, test_fixed_partitions)
32153222
#undef FIXED_PARTITION_ID_COMMA
32163223
}
32173224

3225+
ZTEST(devicetree_api, test_fixed_subpartitions)
3226+
{
3227+
zassert_true(DT_FIXED_PARTITION_EXISTS(TEST_SUBPARTITION_COMBINED));
3228+
zassert_true(DT_FIXED_SUBPARTITION_EXISTS(TEST_SUBPARTITION_0));
3229+
zassert_true(DT_FIXED_SUBPARTITION_EXISTS(TEST_SUBPARTITION_1));
3230+
3231+
/* Test DT_MEM_FROM_FIXED_SUBPARTITION. */
3232+
zassert_true(DT_NODE_EXISTS(DT_MEM_FROM_FIXED_PARTITION(TEST_SUBPARTITION_COMBINED)));
3233+
zassert_true(DT_NODE_EXISTS(DT_MEM_FROM_FIXED_SUBPARTITION(TEST_SUBPARTITION_0)));
3234+
zassert_true(DT_NODE_EXISTS(DT_MEM_FROM_FIXED_SUBPARTITION(TEST_SUBPARTITION_1)));
3235+
3236+
/* Test DT_MTD_FROM_FIXED_SUBPARTITION. */
3237+
zassert_true(DT_NODE_EXISTS(DT_MTD_FROM_FIXED_PARTITION(TEST_SUBPARTITION_COMBINED)));
3238+
zassert_true(DT_NODE_EXISTS(DT_MTD_FROM_FIXED_SUBPARTITION(TEST_SUBPARTITION_0)));
3239+
zassert_true(DT_NODE_EXISTS(DT_MTD_FROM_FIXED_SUBPARTITION(TEST_SUBPARTITION_1)));
3240+
3241+
/* Test DT_FIXED_SUBPARTITION_ADDR. */
3242+
zassert_equal(DT_FIXED_PARTITION_ADDR(TEST_SUBPARTITION_COMBINED), 0x20000100);
3243+
zassert_equal(DT_FIXED_SUBPARTITION_ADDR(TEST_SUBPARTITION_0),
3244+
DT_FIXED_PARTITION_ADDR(TEST_SUBPARTITION_COMBINED));
3245+
zassert_equal(DT_FIXED_SUBPARTITION_ADDR(TEST_SUBPARTITION_0), 0x20000100);
3246+
zassert_equal(DT_FIXED_SUBPARTITION_ADDR(TEST_SUBPARTITION_1), 0x20000140);
3247+
3248+
/* Check sizes match */
3249+
zassert_equal(DT_REG_SIZE(TEST_SUBPARTITION_COMBINED),
3250+
(DT_REG_SIZE(TEST_SUBPARTITION_0) + DT_REG_SIZE(TEST_SUBPARTITION_1)));
3251+
}
3252+
32183253
ZTEST(devicetree_api, test_string_token)
32193254
{
32203255
#undef DT_DRV_COMPAT

0 commit comments

Comments
 (0)