arm: omap5: add U-Boot FIT signing and SPL image post-processing
Modify the SPL build procedure for AM57xx and DRA7xx high-security (HS) device variants to create a secure u-boot_HS.img FIT blob that contains U-Boot and DTB artifacts signed with a TI-specific process based on the CONFIG_TI_SECURE_DEVICE config option and the externally-provided image signing tool. Also populate the corresponding FIT image post processing call to be performed during SPL runtime. Signed-off-by: Daniel Allred <d-allred@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
		
							parent
							
								
									da74d1f341
								
							
						
					
					
						commit
						17c2987336
					
				|  | @ -15,5 +15,8 @@ else | ||||||
| ALL-y	+= MLO | ALL-y	+= MLO | ||||||
| endif | endif | ||||||
| else | else | ||||||
|  | ifeq ($(CONFIG_TI_SECURE_DEVICE),y) | ||||||
|  | ALL-y   += u-boot_HS.img | ||||||
|  | endif | ||||||
| ALL-y	+= u-boot.img | ALL-y	+= u-boot.img | ||||||
| endif | endif | ||||||
|  |  | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
| #include <sata.h> | #include <sata.h> | ||||||
| #include <usb.h> | #include <usb.h> | ||||||
| #include <asm/omap_common.h> | #include <asm/omap_common.h> | ||||||
|  | #include <asm/omap_sec_common.h> | ||||||
| #include <asm/emif.h> | #include <asm/emif.h> | ||||||
| #include <asm/gpio.h> | #include <asm/gpio.h> | ||||||
| #include <asm/arch/gpio.h> | #include <asm/arch/gpio.h> | ||||||
|  | @ -750,3 +751,10 @@ int board_fit_config_name_match(const char *name) | ||||||
| 		return -1; | 		return -1; | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  | 
 | ||||||
|  | #ifdef CONFIG_TI_SECURE_DEVICE | ||||||
|  | void board_fit_image_post_process(void **p_image, size_t *p_size) | ||||||
|  | { | ||||||
|  | 	secure_boot_verify_image(p_image, p_size); | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | @ -17,6 +17,8 @@ | ||||||
| #include <asm/gpio.h> | #include <asm/gpio.h> | ||||||
| #include <usb.h> | #include <usb.h> | ||||||
| #include <linux/usb/gadget.h> | #include <linux/usb/gadget.h> | ||||||
|  | #include <asm/omap_common.h> | ||||||
|  | #include <asm/omap_sec_common.h> | ||||||
| #include <asm/arch/gpio.h> | #include <asm/arch/gpio.h> | ||||||
| #include <asm/arch/dra7xx_iodelay.h> | #include <asm/arch/dra7xx_iodelay.h> | ||||||
| #include <asm/emif.h> | #include <asm/emif.h> | ||||||
|  | @ -834,3 +836,10 @@ int board_fit_config_name_match(const char *name) | ||||||
| 		return -1; | 		return -1; | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  | 
 | ||||||
|  | #ifdef CONFIG_TI_SECURE_DEVICE | ||||||
|  | void board_fit_image_post_process(void **p_image, size_t *p_size) | ||||||
|  | { | ||||||
|  | 	secure_boot_verify_image(p_image, p_size); | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | @ -40,4 +40,5 @@ CONFIG_USB_XHCI_DWC3=y | ||||||
| CONFIG_FIT=y | CONFIG_FIT=y | ||||||
| CONFIG_SPL_OF_LIBFDT=y | CONFIG_SPL_OF_LIBFDT=y | ||||||
| CONFIG_SPL_LOAD_FIT=y | CONFIG_SPL_LOAD_FIT=y | ||||||
|  | CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y | ||||||
| CONFIG_OF_LIST="am57xx-beagle-x15" | CONFIG_OF_LIST="am57xx-beagle-x15" | ||||||
|  |  | ||||||
|  | @ -58,4 +58,5 @@ CONFIG_G_DNL_PRODUCT_NUM=0xd022 | ||||||
| CONFIG_FIT=y | CONFIG_FIT=y | ||||||
| CONFIG_SPL_OF_LIBFDT=y | CONFIG_SPL_OF_LIBFDT=y | ||||||
| CONFIG_SPL_LOAD_FIT=y | CONFIG_SPL_LOAD_FIT=y | ||||||
|  | CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y | ||||||
| CONFIG_OF_LIST="dra7-evm dra72-evm" | CONFIG_OF_LIST="dra7-evm dra72-evm" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue