From d115c7ff06c9780ce1b3986eea4f1f805fc13d9b Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Mon, 18 Oct 2021 03:21:06 +0000 Subject: [PATCH] rk3308: aarch64/32 bl31: update version to v2.24 Build from ATF commit: d5a5a89b7 plat: rk3308: use min voltage 0.843v for rk3308bs vdd_core update feature: d5a5a89b7 plat: rk3308: use min voltage 0.843v for rk3308bs vdd_core 42cb5315d plat: rk3308: only support standby wfi for cpu suspend 305418b09 lib: psci: Add weak psci_plat_cpu_suspend_prepare() 2f4c436b3 plat: rk3308: dram: ddr_get_rate() supports RK3308B-S Signed-off-by: Joseph Chen Change-Id: Ide88499d5e9840e1265fe1092f5d65d002ec51ea --- RKTRUST/RK3308AARCH32TRUST.ini | 2 +- RKTRUST/RK3308TRUST.ini | 2 +- ...2.23.elf => rk3308_bl31_aarch32_v2.24.elf} | Bin 148176 -> 148176 bytes ...8_bl31_v2.23.elf => rk3308_bl31_v2.24.elf} | Bin 148176 -> 148176 bytes 4 files changed, 2 insertions(+), 2 deletions(-) rename bin/rk33/{rk3308_bl31_aarch32_v2.23.elf => rk3308_bl31_aarch32_v2.24.elf} (83%) rename bin/rk33/{rk3308_bl31_v2.23.elf => rk3308_bl31_v2.24.elf} (83%) diff --git a/RKTRUST/RK3308AARCH32TRUST.ini b/RKTRUST/RK3308AARCH32TRUST.ini index 60b182ce..ed182acb 100644 --- a/RKTRUST/RK3308AARCH32TRUST.ini +++ b/RKTRUST/RK3308AARCH32TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk33/rk3308_bl31_aarch32_v2.23.elf +PATH=bin/rk33/rk3308_bl31_aarch32_v2.24.elf ADDR=0x00010000 [BL32_OPTION] SEC=0 diff --git a/RKTRUST/RK3308TRUST.ini b/RKTRUST/RK3308TRUST.ini index 059bb992..052d7404 100644 --- a/RKTRUST/RK3308TRUST.ini +++ b/RKTRUST/RK3308TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk33/rk3308_bl31_v2.23.elf +PATH=bin/rk33/rk3308_bl31_v2.24.elf ADDR=0x00010000 [BL32_OPTION] SEC=0 diff --git a/bin/rk33/rk3308_bl31_aarch32_v2.23.elf b/bin/rk33/rk3308_bl31_aarch32_v2.24.elf similarity index 83% rename from bin/rk33/rk3308_bl31_aarch32_v2.23.elf rename to bin/rk33/rk3308_bl31_aarch32_v2.24.elf index 232e4b56c44b634524265481ecbeb0e93dd561ed..5e8046c707b52d762f04b03ea9fe71d7ba07aab0 100755 GIT binary patch delta 8739 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 Dw!xT) delta 8408 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 delta 8476 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