From 693cc1635b0016ccf1e6a5ea707f2b5d8efce814 Mon Sep 17 00:00:00 2001 From: shengfei Xu Date: Tue, 16 May 2023 10:05:19 +0000 Subject: [PATCH] rk3562: bl31: update version to v1.17 build form: a394bf0a3 plat: rk3562: add the hash calculation for ultra suspend mode update feature: a394bf0a3 plat: rk3562: add the hash calculation for ultra suspend mode ad741c04f plat: rk3562: save/restore the pmic register in the ultra suspend mode 7e65e9348 plat: rk3562: Add interface to config the MCU dfd64c37f plat: rk3588: hdmirx: support auto_touch target cpu config 93f1e6233 plat: rk3562: dmc: update dcf code to v1.02 Signed-off-by: shengfei Xu Change-Id: I33c080e1c3116059c0414ae8cdbdc826a8d81674 --- RKTRUST/RK3562TRUST.ini | 2 +- ...2_bl31_v1.16.elf => rk3562_bl31_v1.17.elf} | Bin 335952 -> 335952 bytes doc/release/RK3562_CN.md | 15 +++++++++++++++ doc/release/RK3562_EN.md | 15 +++++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) rename bin/rk35/{rk3562_bl31_v1.16.elf => rk3562_bl31_v1.17.elf} (86%) diff --git a/RKTRUST/RK3562TRUST.ini b/RKTRUST/RK3562TRUST.ini index bcaf7c63..78c3f3c0 100644 --- a/RKTRUST/RK3562TRUST.ini +++ b/RKTRUST/RK3562TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk35/rk3562_bl31_v1.16.elf +PATH=bin/rk35/rk3562_bl31_v1.17.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/bin/rk35/rk3562_bl31_v1.16.elf b/bin/rk35/rk3562_bl31_v1.17.elf similarity index 86% rename from bin/rk35/rk3562_bl31_v1.16.elf rename to bin/rk35/rk3562_bl31_v1.17.elf index 662af5e215cc585d687b6c4d8c546032f9e71212..7c08cf5a6a577284d774d374fdfd8da90d6192e9 100644 GIT binary patch delta 14591 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 delta 13221 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