[Feature][API-794]mtk-patch fix AB Update error handling
Change-Id: I014d17fd73bcefac631041ec4def758830becc80
diff --git a/src/bsp/lk/app/blxboot/blxboot_ab.c b/src/bsp/lk/app/blxboot/blxboot_ab.c
index c6a3687..5d22ab2 100644
--- a/src/bsp/lk/app/blxboot/blxboot_ab.c
+++ b/src/bsp/lk/app/blxboot/blxboot_ab.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: MIT
/*
* Copyright (c) 2019 MediaTek Inc.
*
@@ -39,8 +40,7 @@
bool is_enabled_ab_ota_updater(void)
{
- /* [todo] remove #if defined(MT2712_ANDROID) when yocto is ready */
-#if defined(MT2712_ANDROID) && defined(AB_OTA_UPDATER)
+#if defined(AB_OTA_UPDATER)
return true;
#else
return false;
diff --git a/src/bsp/lk/platform/mt2735/platform.c b/src/bsp/lk/platform/mt2735/platform.c
index 90494f6..38f1c2d 100644
--- a/src/bsp/lk/platform/mt2735/platform.c
+++ b/src/bsp/lk/platform/mt2735/platform.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: MIT
/*
* Copyright (c) 2018 MediaTek Inc.
*
@@ -20,6 +21,7 @@
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#include <arch/ops.h>
#include <debug.h>
#include <dev/interrupt/arm_gic.h>
#include <dev/timer/arm_generic.h>
@@ -69,6 +71,22 @@
platform_init_blx();
}
+void platform_halt(platform_halt_action suggested_action,
+ platform_halt_reason reason)
+{
+ switch (suggested_action) {
+ case HALT_ACTION_REBOOT:
+ dprintf(ALWAYS, "REBOOT (reason = %d)\n",reason);
+ mtk_arch_reset(1);
+ break;
+ default:
+ break;
+ }
+ dprintf(ALWAYS, "HALT: spinning forever... (reason = %d)\n", reason);
+ arch_disable_ints();
+ for (;;);
+}
+
/* Initialization context in start.S before switching from EL3 to EL1.
* Note data/bss segment NOT initialized, i.e. No assumption on global variable initialization.*/
void platform_el3_init(void)