diff options
author | Tom Rini <trini@konsulko.com> | 2017-11-26 18:10:21 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-11-26 18:10:21 -0500 |
commit | 0931b6f20e19f6c412d6ad1ba8e3b50b2a70c3c0 (patch) | |
tree | 750f9b3523d6189093164e5aa1037a157008d43f /include | |
parent | 93a51d301ad051ec6f8c6016862c7719b8b434d3 (diff) | |
parent | e5ee24dda20af5dc87971b497268f9fb1c83027e (diff) |
Merge git://git.denx.de/u-boot-rockchip
Diffstat (limited to 'include')
-rw-r--r-- | include/fdt_support.h | 18 | ||||
-rw-r--r-- | include/image.h | 1 | ||||
-rw-r--r-- | include/spl.h | 12 |
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 |