]> git.sur5r.net Git - u-boot/blobdiff - drivers/core/read.c
Merge git://www.denx.de/git/u-boot-imx
[u-boot] / drivers / core / read.c
index 3131e5379c966a831a56b6dc6b1e80a33d3fe627..fe40bed64de3c8f6d164b05a4e13e15eec377d35 100644 (file)
@@ -94,6 +94,16 @@ int dev_read_size_cells(struct udevice *dev)
        return ofnode_read_size_cells(dev_ofnode(dev));
 }
 
+int dev_read_simple_addr_cells(struct udevice *dev)
+{
+       return ofnode_read_simple_addr_cells(dev_ofnode(dev));
+}
+
+int dev_read_simple_size_cells(struct udevice *dev)
+{
+       return ofnode_read_simple_size_cells(dev_ofnode(dev));
+}
+
 int dev_read_phandle(struct udevice *dev)
 {
        ofnode node = dev_ofnode(dev);
@@ -104,9 +114,9 @@ int dev_read_phandle(struct udevice *dev)
                return fdt_get_phandle(gd->fdt_blob, ofnode_to_offset(node));
 }
 
-const u32 *dev_read_prop(struct udevice *dev, const char *propname, int *lenp)
+const void *dev_read_prop(struct udevice *dev, const char *propname, int *lenp)
 {
-       return ofnode_read_prop(dev_ofnode(dev), propname, lenp);
+       return ofnode_get_property(dev_ofnode(dev), propname, lenp);
 }
 
 int dev_read_alias_seq(struct udevice *dev, int *devnump)
@@ -138,3 +148,19 @@ const uint8_t *dev_read_u8_array_ptr(struct udevice *dev, const char *propname,
 {
        return ofnode_read_u8_array_ptr(dev_ofnode(dev), propname, sz);
 }
+
+int dev_read_enabled(struct udevice *dev)
+{
+       ofnode node = dev_ofnode(dev);
+
+       if (ofnode_is_np(node))
+               return of_device_is_available(ofnode_to_np(node));
+       else
+               return fdtdec_get_is_enabled(gd->fdt_blob,
+                                            ofnode_to_offset(node));
+}
+
+int dev_read_resource(struct udevice *dev, uint index, struct resource *res)
+{
+       return ofnode_read_resource(dev_ofnode(dev), index, res);
+}