summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/dm/of_access.h20
-rw-r--r--include/dm/ofnode.h20
-rw-r--r--include/dm/read.h32
3 files changed, 72 insertions, 0 deletions
diff --git a/include/dm/of_access.h b/include/dm/of_access.h
index d2827001e2..c5ea391aec 100644
--- a/include/dm/of_access.h
+++ b/include/dm/of_access.h
@@ -61,6 +61,26 @@ int of_n_addr_cells(const struct device_node *np);
int of_n_size_cells(const struct device_node *np);
/**
+ * of_simple_addr_cells() - Get the address cells property in a node
+ *
+ * This function matches fdt_address_cells().
+ *
+ * @np: Node pointer to check
+ * @return value of #address-cells property in this node, or 2 if none
+ */
+int of_simple_addr_cells(const struct device_node *np);
+
+/**
+ * of_simple_size_cells() - Get the size cells property in a node
+ *
+ * This function matches fdt_size_cells().
+ *
+ * @np: Node pointer to check
+ * @return value of #size-cells property in this node, or 2 if none
+ */
+int of_simple_size_cells(const struct device_node *np);
+
+/**
* of_find_property() - find a property in a node
*
* @np: Pointer to device node holding property
diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h
index d261a61e91..c3d8db5b16 100644
--- a/include/dm/ofnode.h
+++ b/include/dm/ofnode.h
@@ -562,6 +562,26 @@ int ofnode_read_addr_cells(ofnode node);
int ofnode_read_size_cells(ofnode node);
/**
+ * ofnode_read_simple_addr_cells() - Get the address cells property in a node
+ *
+ * This function matches fdt_address_cells().
+ *
+ * @np: Node pointer to check
+ * @return value of #address-cells property in this node, or 2 if none
+ */
+int ofnode_read_simple_addr_cells(ofnode node);
+
+/**
+ * ofnode_read_simple_size_cells() - Get the size cells property in a node
+ *
+ * This function matches fdt_size_cells().
+ *
+ * @np: Node pointer to check
+ * @return value of #size-cells property in this node, or 2 if none
+ */
+int ofnode_read_simple_size_cells(ofnode node);
+
+/**
* ofnode_pre_reloc() - check if a node should be bound before relocation
*
* Device tree nodes can be marked as needing-to-be-bound in the loader stages
diff --git a/include/dm/read.h b/include/dm/read.h
index cea1c16a00..6dd1634675 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -231,6 +231,26 @@ int dev_read_addr_cells(struct udevice *dev);
int dev_read_size_cells(struct udevice *dev);
/**
+ * dev_read_addr_cells() - Get the address cells property in a node
+ *
+ * This function matches fdt_address_cells().
+ *
+ * @dev: devioe to check
+ * @return number of address cells this node uses
+ */
+int dev_read_simple_addr_cells(struct udevice *dev);
+
+/**
+ * dev_read_size_cells() - Get the size cells property in a node
+ *
+ * This function matches fdt_size_cells().
+ *
+ * @dev: devioe to check
+ * @return number of size cells this node uses
+ */
+int dev_read_simple_size_cells(struct udevice *dev);
+
+/**
* dev_read_phandle() - Get the phandle from a device
*
* @dev: device to check
@@ -398,11 +418,23 @@ static inline int dev_read_phandle_with_args(struct udevice *dev,
static inline int dev_read_addr_cells(struct udevice *dev)
{
+ /* NOTE: this call should walk up the parent stack */
return fdt_address_cells(gd->fdt_blob, dev_of_offset(dev));
}
static inline int dev_read_size_cells(struct udevice *dev)
{
+ /* NOTE: this call should walk up the parent stack */
+ return fdt_size_cells(gd->fdt_blob, dev_of_offset(dev));
+}
+
+static inline int dev_read_simple_addr_cells(struct udevice *dev)
+{
+ return fdt_address_cells(gd->fdt_blob, dev_of_offset(dev));
+}
+
+static inline int dev_read_simple_size_cells(struct udevice *dev)
+{
return fdt_size_cells(gd->fdt_blob, dev_of_offset(dev));
}