From 0cd0dce73b58b1147092f7f52f5c715ac0e23df3 Mon Sep 17 00:00:00 2001 From: XiaoDong Huang Date: Mon, 29 Jun 2020 17:00:25 +0800 Subject: [PATCH] rk3368h: bl31: update version to v2.26 Build from ATF commit: 772856166 plat: rk3368: monitor: fix err of identifying rk3368a update feature: 772856166 plat: rk3368: monitor: fix err of identifying rk3368a edb2faa0a plat: rk3368: monitor: print crash reason when panic 12eef0df8 plat: rk3368: support system_off 8e14cfa25 plat: rk3368: monitor: limit RK3368A 2041b46d8 BACKPORT: Prevent speculative execution past ERET af49f6714 UPSTREAM: runtime_exceptions: Save x4-x29 unconditionally 7c114f10c plat: rockchip: common: fix the error about lpddr4 tccd Change-Id: Idfe571dc8995994f5584bfaa2861bd5bc0c8e74e Signed-off-by: XiaoDong Huang --- RKTRUST/PX5KERNEL4.4TRUST.ini | 2 +- RKTRUST/RK3368BOXTRUST.ini | 2 +- RKTRUST/RK3368HTRUST.ini | 2 +- ..._bl31_v2.25.elf => rk3368h_bl31_v2.26.elf} | Bin 271056 -> 271056 bytes 4 files changed, 3 insertions(+), 3 deletions(-) rename bin/rk33/{rk3368h_bl31_v2.25.elf => rk3368h_bl31_v2.26.elf} (86%) diff --git a/RKTRUST/PX5KERNEL4.4TRUST.ini b/RKTRUST/PX5KERNEL4.4TRUST.ini index 516b5f9b..90a924bc 100644 --- a/RKTRUST/PX5KERNEL4.4TRUST.ini +++ b/RKTRUST/PX5KERNEL4.4TRUST.ini @@ -7,7 +7,7 @@ PATH=bin/rk33/rk3368_bl30_v2.16.bin ADDR=0x00080000 [BL31_OPTION] SEC=1 -PATH=bin/rk33/rk3368h_bl31_v2.25.elf +PATH=bin/rk33/rk3368h_bl31_v2.26.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/RKTRUST/RK3368BOXTRUST.ini b/RKTRUST/RK3368BOXTRUST.ini index 516b5f9b..90a924bc 100644 --- a/RKTRUST/RK3368BOXTRUST.ini +++ b/RKTRUST/RK3368BOXTRUST.ini @@ -7,7 +7,7 @@ PATH=bin/rk33/rk3368_bl30_v2.16.bin ADDR=0x00080000 [BL31_OPTION] SEC=1 -PATH=bin/rk33/rk3368h_bl31_v2.25.elf +PATH=bin/rk33/rk3368h_bl31_v2.26.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/RKTRUST/RK3368HTRUST.ini b/RKTRUST/RK3368HTRUST.ini index 516b5f9b..90a924bc 100644 --- a/RKTRUST/RK3368HTRUST.ini +++ b/RKTRUST/RK3368HTRUST.ini @@ -7,7 +7,7 @@ PATH=bin/rk33/rk3368_bl30_v2.16.bin ADDR=0x00080000 [BL31_OPTION] SEC=1 -PATH=bin/rk33/rk3368h_bl31_v2.25.elf +PATH=bin/rk33/rk3368h_bl31_v2.26.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 diff --git a/bin/rk33/rk3368h_bl31_v2.25.elf b/bin/rk33/rk3368h_bl31_v2.26.elf similarity index 86% rename from bin/rk33/rk3368h_bl31_v2.25.elf rename to bin/rk33/rk3368h_bl31_v2.26.elf index cee01f0050f08bb19ede4c53d413f315252503c9..bc813c06ae6ded96efa5e99d305ae6ce58bb958f 100755 GIT binary patch delta 15087 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 nZcMOqu2(cu=ZaQ~E2-J<^i;y0RC delta 14240 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

O6?!61E`jzJSM^q5Nba4_cnlYNAgZ+wKZ92cx* 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