diff --git a/test/dm/Makefile b/test/dm/Makefile
index f55874c..6c18fd0 100644
--- a/test/dm/Makefile
+++ b/test/dm/Makefile
@@ -31,8 +31,9 @@
 obj-$(CONFIG_LED) += led.o
 obj-$(CONFIG_DM_MAILBOX) += mailbox.o
 obj-$(CONFIG_DM_MMC) += mmc.o
-obj-y += ofnode.o
 obj-y += fdtdec.o
+obj-y += ofnode.o
+obj-y += ofread.o
 obj-$(CONFIG_OSD) += osd.o
 obj-$(CONFIG_DM_VIDEO) += panel.o
 obj-$(CONFIG_DM_PCI) += pci.o
diff --git a/test/dm/ofread.c b/test/dm/ofread.c
new file mode 100644
index 0000000..f2a1382
--- /dev/null
+++ b/test/dm/ofread.c
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+#include <common.h>
+#include <dm.h>
+#include <dm/test.h>
+#include <test/ut.h>
+
+static int dm_test_ofnode_get_property_by_prop(struct unit_test_state *uts)
+{
+	ofnode node;
+	struct ofprop prop;
+	const void *value;
+	const char *propname;
+	int res, len, count = 0;
+
+	node = ofnode_path("/cros-ec/flash");
+	for (res = ofnode_get_first_property(node, &prop);
+	     !res;
+	     res = ofnode_get_next_property(&prop)) {
+		value = ofnode_get_property_by_prop(&prop, &propname, &len);
+		ut_assertnonnull(value);
+		switch (count) {
+		case 0:
+			ut_asserteq_str("image-pos", propname);
+			ut_asserteq(4, len);
+			break;
+		case 1:
+			ut_asserteq_str("size", propname);
+			ut_asserteq(4, len);
+			break;
+		case 2:
+			ut_asserteq_str("erase-value", propname);
+			ut_asserteq(4, len);
+			break;
+		case 3:
+			/* only for platdata */
+			ut_asserteq_str("name", propname);
+			ut_asserteq(6, len);
+			ut_asserteq_str("flash", value);
+			break;
+		default:
+			break;
+		}
+		count++;
+	}
+
+	return 0;
+}
+DM_TEST(dm_test_ofnode_get_property_by_prop,
+	DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
