From 98efecd20a54ceaf877fc81ccbee8e78dbaa43dc Mon Sep 17 00:00:00 2001 From: XiaoDong Huang Date: Tue, 21 Jul 2020 15:46:19 +0800 Subject: [PATCH] px30: bl31: update version to v1.20 Build from ATF commit: d7103baf0 plat: px30: poweroff: delay 2ms before pull up pmic_sleep update feature: d7103baf0 plat: px30: poweroff: delay 2ms before pull up pmic_sleep 23e4d2483 rockchip: commit_elf.sh: select elf manually 2041b46d8 BACKPORT: Prevent speculative execution past ERET 11ca0aaa7 plat: px30: delete soc_bus_div_sip_handler function Change-Id: Ie117cac5ebe8e1bf57e7077af4b2f6f689ef09f4 Signed-off-by: XiaoDong Huang --- RKTRUST/PX30TRUST.ini | 2 +- ...x30_bl31_v1.19.elf => px30_bl31_v1.20.elf} | Bin 209616 -> 209616 bytes 2 files changed, 1 insertion(+), 1 deletion(-) rename bin/rk33/{px30_bl31_v1.19.elf => px30_bl31_v1.20.elf} (83%) diff --git a/RKTRUST/PX30TRUST.ini b/RKTRUST/PX30TRUST.ini index b8adf58f..19fadc89 100644 --- a/RKTRUST/PX30TRUST.ini +++ b/RKTRUST/PX30TRUST.ini @@ -5,7 +5,7 @@ MINOR=0 SEC=0 [BL31_OPTION] SEC=1 -PATH=bin/rk33/px30_bl31_v1.19.elf +PATH=bin/rk33/px30_bl31_v1.20.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/bin/rk33/px30_bl31_v1.19.elf b/bin/rk33/px30_bl31_v1.20.elf similarity index 83% rename from bin/rk33/px30_bl31_v1.19.elf rename to bin/rk33/px30_bl31_v1.20.elf index ff68c14983efcb2599adeae8146d8fca3038ef3c..6143c51a6d36f1f035c5e77570eb1a094788dba3 100644 GIT binary patch delta 8518 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 KRG{vwUjGjl=j9Us delta 8575 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