From 34035c0c4548dc4621c8f096779433af124b05a4 Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Wed, 15 Mar 2023 18:23:43 +0800 Subject: [PATCH] rk3562: bl31: update version to v1.12 build form: 3376a679b plat: rockchip: rk3562: Implement autocs suspend and resume update feature: 3376a679b plat: rockchip: rk3562: Implement autocs suspend and resume c244bb505 plat: rk3568: dmc: update dcf code to v1.01 30edc7f8a plat: rk3562: dmc: pctl_need_save_fsp[] add DDR_PCTL2_RANKCTL Signed-off-by: Finley Xiao Change-Id: I9bf4af656eb9f3f50bb04b5716b3518ec6473d10 --- RKTRUST/RK3562TRUST.ini | 2 +- ...2_bl31_v1.11.elf => rk3562_bl31_v1.12.elf} | Bin 336672 -> 336672 bytes doc/release/RK3562_CN.md | 12 ++++++++++++ doc/release/RK3562_EN.md | 12 ++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) rename bin/rk35/{rk3562_bl31_v1.11.elf => rk3562_bl31_v1.12.elf} (83%) diff --git a/RKTRUST/RK3562TRUST.ini b/RKTRUST/RK3562TRUST.ini index b34a7b77..c82baaf8 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.11.elf +PATH=bin/rk35/rk3562_bl31_v1.12.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/bin/rk35/rk3562_bl31_v1.11.elf b/bin/rk35/rk3562_bl31_v1.12.elf similarity index 83% rename from bin/rk35/rk3562_bl31_v1.11.elf rename to bin/rk35/rk3562_bl31_v1.12.elf index 60b7868cae3a2e5c92c1358ae83b01f771b7c62a..1fa3f37b1dff2e5314fc8ff253832ed5f2c06bd9 100644 GIT binary patch delta 13087 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 Dssv~L delta 13428 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