Allow projects to define their own build.

To create a new project, add a directory under `project` and pass the
project name to `make`:

    mkdir project/my_project
    # Describe the build for the project.
    PROJECT=my_project make

Projects can be maintained separately from the main repository.

Change-Id: I33a9d7ca801e2fb3dd9795ece44577b3b565e913
diff --git a/inc/hf/fdt_handler.h b/inc/hf/fdt_handler.h
index 6d43d3f..531290b 100644
--- a/inc/hf/fdt_handler.h
+++ b/inc/hf/fdt_handler.h
@@ -20,5 +20,10 @@
 #include "hf/fdt.h"
 #include "hf/mm.h"
 
-bool fdt_get_boot_params(paddr_t fdt_addr, struct boot_params *p);
+struct fdt_header *fdt_map(paddr_t fdt_addr, struct fdt_node *n);
+bool fdt_unmap(struct fdt_header *fdt);
+void fdt_find_memory_ranges(const struct fdt_node *root, struct boot_params *p);
+bool fdt_find_initrd(struct fdt_node *n, paddr_t *begin, paddr_t *end);
+
+/** Apply an update to the FDT. */
 bool fdt_patch(paddr_t fdt_addr, struct boot_params_update *p);