From 6e5a6beb6508296d03ed2234d945e915ca5c3f6e Mon Sep 17 00:00:00 2001 From: shengfei Xu Date: Wed, 26 May 2021 17:57:54 +0800 Subject: [PATCH] rk3568: bl31: update version to v1.23 Build from ATF commit: c2d509965 plat: rk3568: save and restore PMUCRU_PMUCLKSEL_CON00 update feature: c2d509965 plat: rk3568: save and restore PMUCRU_PMUCLKSEL_CON00 9b05de3a1 plat: rk3568: dump the wakeup irq 270aa3847 plat: rk3568: dmc: rectiyf LPDDR4 MR14 value 4214e1b9b plat: rk3568: correct osc 24M switch logic 6bac5da6d plat: rk3568: dmc: don't power down DDR4 VREF_OUT when suspend c75f366a6 plat: rk3568: disable GPIO debounce for system suspend 3c3da02d4 plat: rk3568: add comment for easy to backtrack the reason 3876f0dda plat: rk3568: add RK_ENABLE_JTAG configure Signed-off-by: shengfei Xu Change-Id: I59ffde2a0fd3fa16411a26d79a6327e5a841a53f --- RKTRUST/RK3568TRUST.ini | 2 +- ...8_bl31_v1.22.elf => rk3568_bl31_v1.23.elf} | Bin 270216 -> 270224 bytes 2 files changed, 1 insertion(+), 1 deletion(-) rename bin/rk35/{rk3568_bl31_v1.22.elf => rk3568_bl31_v1.23.elf} (85%) diff --git a/RKTRUST/RK3568TRUST.ini b/RKTRUST/RK3568TRUST.ini index 90c6db42..32d7bc63 100644 --- a/RKTRUST/RK3568TRUST.ini +++ b/RKTRUST/RK3568TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk35/rk3568_bl31_v1.22.elf +PATH=bin/rk35/rk3568_bl31_v1.23.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/bin/rk35/rk3568_bl31_v1.22.elf b/bin/rk35/rk3568_bl31_v1.23.elf similarity index 85% rename from bin/rk35/rk3568_bl31_v1.22.elf rename to bin/rk35/rk3568_bl31_v1.23.elf index 3a817dee03f2d97775bdbe2ac59d029233c347ba..80bd8aa9c2777f06751609a965c88204681d7d8f 100755 GIT binary patch delta 12035 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 MHWT>bWUcrA06G909{>OV delta 11400 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 H>x2InYQIH~