|
@@ -112,6 +112,18 @@ int dev_read_size(struct udevice *dev, const char *propname);
|
|
|
*/
|
|
|
fdt_addr_t dev_read_addr_index(struct udevice *dev, int index);
|
|
|
|
|
|
+/**
|
|
|
+ * dev_remap_addr_index() - Get the indexed reg property of a device
|
|
|
+ * as a memory-mapped I/O pointer
|
|
|
+ *
|
|
|
+ * @dev: Device to read from
|
|
|
+ * @index: the 'reg' property can hold a list of <addr, size> pairs
|
|
|
+ * and @index is used to select which one is required
|
|
|
+ *
|
|
|
+ * @return pointer or NULL if not found
|
|
|
+ */
|
|
|
+void *dev_remap_addr_index(struct udevice *dev, int index);
|
|
|
+
|
|
|
/**
|
|
|
* dev_read_addr() - Get the reg property of a device
|
|
|
*
|
|
@@ -131,6 +143,16 @@ fdt_addr_t dev_read_addr(struct udevice *dev);
|
|
|
*/
|
|
|
void *dev_read_addr_ptr(struct udevice *dev);
|
|
|
|
|
|
+/**
|
|
|
+ * dev_remap_addr() - Get the reg property of a device as a
|
|
|
+ * memory-mapped I/O pointer
|
|
|
+ *
|
|
|
+ * @dev: Device to read from
|
|
|
+ *
|
|
|
+ * @return pointer or NULL if not found
|
|
|
+ */
|
|
|
+void *dev_remap_addr(struct udevice *dev);
|
|
|
+
|
|
|
/**
|
|
|
* dev_read_addr_size() - get address and size from a device property
|
|
|
*
|
|
@@ -482,6 +504,16 @@ static inline void *dev_read_addr_ptr(struct udevice *dev)
|
|
|
return devfdt_get_addr_ptr(dev);
|
|
|
}
|
|
|
|
|
|
+static inline void *dev_remap_addr(struct udevice *dev)
|
|
|
+{
|
|
|
+ return devfdt_remap_addr(dev);
|
|
|
+}
|
|
|
+
|
|
|
+static inline void *dev_remap_addr_index(struct udevice *dev, int index)
|
|
|
+{
|
|
|
+ return devfdt_remap_addr_index(dev, index);
|
|
|
+}
|
|
|
+
|
|
|
static inline fdt_addr_t dev_read_addr_size(struct udevice *dev,
|
|
|
const char *propname,
|
|
|
fdt_size_t *sizep)
|