|
@@ -67,8 +67,34 @@ void do_fixup_by_compat(void *fdt, const char *compat,
|
|
const char *prop, const void *val, int len, int create);
|
|
const char *prop, const void *val, int len, int create);
|
|
void do_fixup_by_compat_u32(void *fdt, const char *compat,
|
|
void do_fixup_by_compat_u32(void *fdt, const char *compat,
|
|
const char *prop, u32 val, int create);
|
|
const char *prop, u32 val, int create);
|
|
|
|
+/**
|
|
|
|
+ * Setup the memory node in the DT. Creates one if none was existing before.
|
|
|
|
+ * Calls fdt_fixup_memory_banks() to populate a single reg pair covering the
|
|
|
|
+ * whole memory.
|
|
|
|
+ *
|
|
|
|
+ * @param blob FDT blob to update
|
|
|
|
+ * @param start Begin of DRAM mapping in physical memory
|
|
|
|
+ * @param size Size of the single memory bank
|
|
|
|
+ * @return 0 if ok, or -1 or -FDT_ERR_... on error
|
|
|
|
+ */
|
|
int fdt_fixup_memory(void *blob, u64 start, u64 size);
|
|
int fdt_fixup_memory(void *blob, u64 start, u64 size);
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * Fill the DT memory node with multiple memory banks.
|
|
|
|
+ * Creates the node if none was existing before.
|
|
|
|
+ * If banks is 0, it will not touch the existing reg property. This allows
|
|
|
|
+ * boards to not mess with the existing DT setup, which may have been
|
|
|
|
+ * filled in properly before.
|
|
|
|
+ *
|
|
|
|
+ * @param blob FDT blob to update
|
|
|
|
+ * @param start Array of size <banks> to hold the start addresses.
|
|
|
|
+ * @param size Array of size <banks> to hold the size of each region.
|
|
|
|
+ * @param banks Number of memory banks to create. If 0, the reg
|
|
|
|
+ * property will be left untouched.
|
|
|
|
+ * @return 0 if ok, or -1 or -FDT_ERR_... on error
|
|
|
|
+ */
|
|
int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks);
|
|
int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks);
|
|
|
|
+
|
|
void fdt_fixup_ethernet(void *fdt);
|
|
void fdt_fixup_ethernet(void *fdt);
|
|
int fdt_find_and_setprop(void *fdt, const char *node, const char *prop,
|
|
int fdt_find_and_setprop(void *fdt, const char *node, const char *prop,
|
|
const void *val, int len, int create);
|
|
const void *val, int len, int create);
|