diff --git a/components/common/fdt/fdt_helpers.c b/components/common/fdt/fdt_helpers.c
index eaf7922..5a6f949 100644
--- a/components/common/fdt/fdt_helpers.c
+++ b/components/common/fdt/fdt_helpers.c
@@ -38,3 +38,37 @@
 
 	return true;
 }
+
+bool dt_get_u32_by_offset(const void *fdt, int offset, const char **prop_name, uint32_t *prop_val)
+{
+	const fdt32_t *u32_prop = NULL;
+	int len = 0;
+
+	if (!fdt || !prop_name || !prop_val)
+		return false;
+
+	u32_prop = fdt_getprop_by_offset(fdt, offset, prop_name, &len);
+	if (!u32_prop || len != sizeof(*u32_prop) || !(*prop_name))
+		return false;
+
+	*prop_val = fdt32_to_cpu(*u32_prop);
+
+	return true;
+}
+
+bool dt_get_u64_by_offset(const void *fdt, int offset, const char **prop_name, uint64_t *prop_val)
+{
+	const fdt64_t *u64_prop = NULL;
+	int len = 0;
+
+	if (!fdt || !prop_name || !prop_val)
+		return false;
+
+	u64_prop = fdt_getprop_by_offset(fdt, offset, prop_name, &len);
+	if (!u64_prop || len != sizeof(*u64_prop) || !(*prop_name))
+		return false;
+
+	*prop_val = fdt64_to_cpu(*u64_prop);
+
+	return true;
+}
diff --git a/components/common/fdt/fdt_helpers.h b/components/common/fdt/fdt_helpers.h
index e3fc8fc..66535ca 100644
--- a/components/common/fdt/fdt_helpers.h
+++ b/components/common/fdt/fdt_helpers.h
@@ -8,3 +8,5 @@
 
 bool dt_get_u32(const void *fdt, int node, const char *prop_name, uint32_t *prop_val);
 bool dt_get_u64(const void *fdt, int node, const char *prop_name, uint64_t *prop_val);
+bool dt_get_u32_by_offset(const void *fdt, int offset, const char **prop_name, uint32_t *prop_val);
+bool dt_get_u64_by_offset(const void *fdt, int offset, const char **prop_name, uint64_t *prop_val);
