[v2,6/8] am57xx_hs: avb2.0: add support of AVB 2.0

Message ID 1528052203-29689-7-git-send-email-igor.opaniuk@linaro.org
State New
Headers show
Series
  • Initial integration of AVB2.0
Related show

Commit Message

Igor Opaniuk June 3, 2018, 6:56 p.m.
1. Add vbmeta partition info to android partition layout for am57xx SoC
2. Add support of AVB 2.0 (including avb subset of commands) for am57xx HS

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
---
 include/configs/am57xx_evm.h  | 11 +++++++++++
 include/environment/ti/boot.h | 15 +++++++++++++++
 2 files changed, 26 insertions(+)

Comments

Tom Rini June 19, 2018, 6:40 p.m. | #1
On Sun, Jun 03, 2018 at 09:56:41PM +0300, Igor Opaniuk wrote:

> 1. Add vbmeta partition info to android partition layout for am57xx SoC

> 2. Add support of AVB 2.0 (including avb subset of commands) for am57xx HS

> 

> Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>


I re-worded this slightly as it only updates
include/environment/ti/boot.h now, a follow-up is still needed to enable
CMD_AVB on the platform.  That said, applied to u-boot/master, thanks!

-- 
Tom

Patch

diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
index d1f73f7..b44e283 100644
--- a/include/configs/am57xx_evm.h
+++ b/include/configs/am57xx_evm.h
@@ -38,6 +38,16 @@ 
 
 #define CONFIG_SYS_OMAP_ABE_SYSCK
 
+#define VBMETA_PART_SIZE		(64 * 1024)
+
+#if defined(CONFIG_LIBAVB)
+#define VBMETA_PART \
+	"name=vbmeta,size=" __stringify(VBMETA_PART_SIZE) \
+	",uuid=${uuid_gpt_vbmeta};"
+#else
+#define VBMETA_PART			""
+#endif
+
 /* Define the default GPT table for eMMC */
 #define PARTS_DEFAULT \
 	/* Linux partitions */ \
@@ -61,6 +71,7 @@ 
 	"name=cache,size=256M,uuid=${uuid_gpt_cache};" \
 	"name=ipu1,size=1M,uuid=${uuid_gpt_ipu1};" \
 	"name=ipu2,size=1M,uuid=${uuid_gpt_ipu2};" \
+	VBMETA_PART \
 	"name=userdata,size=-,uuid=${uuid_gpt_userdata}"
 
 #define DFUARGS \
diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h
index 24b7783..a8336ae 100644
--- a/include/environment/ti/boot.h
+++ b/include/environment/ti/boot.h
@@ -18,6 +18,19 @@ 
 #define PARTS_DEFAULT
 #endif
 
+#if defined(CONFIG_CMD_AVB)
+#define AVB_VERIFY_CHECK "if run avb_verify; then " \
+				"echo AVB verification OK.;" \
+				"set bootargs $bootargs $avb_bootargs;" \
+			"else " \
+				"echo AVB verification failed.;" \
+			"exit; fi;"
+#define AVB_VERIFY_CMD "avb_verify=avb init 1; avb verify;\0"
+#else
+#define AVB_VERIFY_CHECK ""
+#define AVB_VERIFY_CMD ""
+#endif
+
 #define DEFAULT_COMMON_BOOT_TI_ARGS \
 	"console=" CONSOLEDEV ",115200n8\0" \
 	"fdtfile=undefined\0" \
@@ -26,6 +39,7 @@ 
 	"bootfile=zImage\0" \
 	"usbtty=cdc_acm\0" \
 	"vram=16M\0" \
+	AVB_VERIFY_CMD \
 	"partitions=" PARTS_DEFAULT "\0" \
 	"optargs=\0" \
 	"dofastboot=0\0" \
@@ -43,6 +57,7 @@ 
 		"setenv machid fe6; " \
 		"mmc dev $mmcdev; " \
 		"mmc rescan; " \
+		AVB_VERIFY_CHECK \
 		"part start mmc ${mmcdev} environment fdt_start; " \
 		"part size mmc ${mmcdev} environment fdt_size; " \
 		"part start mmc ${mmcdev} boot boot_start; " \