summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2017-11-26 18:10:21 -0500
committerTom Rini <trini@konsulko.com>2017-11-26 18:10:21 -0500
commit0931b6f20e19f6c412d6ad1ba8e3b50b2a70c3c0 (patch)
tree750f9b3523d6189093164e5aa1037a157008d43f /include
parent93a51d301ad051ec6f8c6016862c7719b8b434d3 (diff)
parente5ee24dda20af5dc87971b497268f9fb1c83027e (diff)
Merge git://git.denx.de/u-boot-rockchip
Diffstat (limited to 'include')
-rw-r--r--include/fdt_support.h18
-rw-r--r--include/image.h1
-rw-r--r--include/spl.h12
3 files changed, 28 insertions, 3 deletions
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 2bca4d78891..e0f908636c2 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -133,6 +133,24 @@ void fdt_fixup_crypto_node(void *blob, int sec_rev);
static inline void fdt_fixup_crypto_node(void *blob, int sec_rev) {}
#endif
+/**
+ * Record information about a processed loadable in /fit-images (creating
+ * /fit-images if necessary).
+ *
+ * @param blob FDT blob to update
+ * @param index index of this loadable
+ * @param name name of the loadable
+ * @param load_addr address the loadable was loaded to
+ * @param size number of bytes loaded
+ * @param entry_point entry point (if specified, otherwise pass -1)
+ * @param type type (if specified, otherwise pass NULL)
+ * @param os os-type (if specified, otherwise pass NULL)
+ * @return 0 if ok, or -1 or -FDT_ERR_... on error
+ */
+int fdt_record_loadable(void *blob, u32 index, const char *name,
+ uintptr_t load_addr, u32 size, uintptr_t entry_point,
+ const char *type, const char *os);
+
#ifdef CONFIG_PCI
#include <pci.h>
int fdt_pci_dma_ranges(void *blob, int phb_off, struct pci_controller *hose);
diff --git a/include/image.h b/include/image.h
index 127cfc51489..e9c18ce4035 100644
--- a/include/image.h
+++ b/include/image.h
@@ -152,6 +152,7 @@ enum {
IH_OS_OSE, /* OSE */
IH_OS_PLAN9, /* Plan 9 */
IH_OS_OPENRTOS, /* OpenRTOS */
+ IH_OS_ARM_TRUSTED_FIRMWARE, /* ARM Trusted Firmware */
IH_OS_COUNT,
};
diff --git a/include/spl.h b/include/spl.h
index b14a29c57cc..308ce7b563b 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -23,8 +23,11 @@
struct spl_image_info {
const char *name;
u8 os;
- ulong load_addr;
- ulong entry_point;
+ uintptr_t load_addr;
+ uintptr_t entry_point;
+#if CONFIG_IS_ENABLED(LOAD_FIT)
+ void *fdt_addr;
+#endif
u32 size;
u32 flags;
void *arg;
@@ -268,7 +271,10 @@ int spl_dfu_cmd(int usbctrl, char *dfu_alt_info, char *interface, char *devstr);
int spl_mmc_load_image(struct spl_image_info *spl_image,
struct spl_boot_device *bootdev);
-void bl31_entry(void);
+/**
+ * spl_invoke_atf - boot using an ARM trusted firmware image
+ */
+void spl_invoke_atf(struct spl_image_info *spl_image);
/**
* board_return_to_bootrom - allow for boards to continue with the boot ROM