From ee0796d87429a7ead0190fc66348c92fc889cb78 Mon Sep 17 00:00:00 2001 From: shengfei Xu Date: Fri, 9 Apr 2021 10:10:44 +0800 Subject: [PATCH] rk3568: bl31: update version to v1.21 Build from ATF commit: ae0d3958f plat: rk3568: adjust npu pvtpll config update feature: ae0d3958f plat: rk3568: adjust npu pvtpll config b86e22653 plat: rk3568: dmc: set ddr clock in phase when suspend 4f2434ad5 plat: rk3568: save/restore the clock gate contol 5803d89e7 plat: rk3568: add core_dbgprcr_pwrdown_wfi() for common d17c40da3 plat: rk3568: dmc: setting clk_msch_div base on DPLL 405a815fd plat: rk3568: dmc: ignore CRU_DPLL_CON1.dsmpd when dfs a5f3cd0d1 plat: rk3568: add ddr ecc support Signed-off-by: shengfei Xu Change-Id: I5a8cba8784690df13cdf5b471b813b8199175cc6 --- RKTRUST/RK3568TRUST.ini | 2 +- ...8_bl31_v1.20.elf => rk3568_bl31_v1.21.elf} | Bin 270112 -> 270216 bytes 2 files changed, 1 insertion(+), 1 deletion(-) rename bin/rk35/{rk3568_bl31_v1.20.elf => rk3568_bl31_v1.21.elf} (79%) diff --git a/RKTRUST/RK3568TRUST.ini b/RKTRUST/RK3568TRUST.ini index f48bec71..cbc876d9 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.20.elf +PATH=bin/rk35/rk3568_bl31_v1.21.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/bin/rk35/rk3568_bl31_v1.20.elf b/bin/rk35/rk3568_bl31_v1.21.elf similarity index 79% rename from bin/rk35/rk3568_bl31_v1.20.elf rename to bin/rk35/rk3568_bl31_v1.21.elf index 89fd8ef0ab8c8aa9cc7369ee6e07767d29a3e6df..330da41a2ef1e491f8dbeaef06d5f57e5fe279bf 100755 GIT binary patch delta 16667 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 delta 14904 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 Pfh8WfQc)3a8t{JrdX?Ed