From 85bbc89eed05d13d3c3db005971c65743a4f9919 Mon Sep 17 00:00:00 2001 From: tychovrahe Date: Thu, 6 Feb 2025 12:37:36 +0100 Subject: [PATCH] fix(core): don't use RSOD_INFINITE_LOOP on models using DSI/LTDC displays [no changelog] --- core/embed/models/T2B1/model_T2B1.h | 1 + core/embed/models/T2T1/model_T2T1.h | 1 + core/embed/models/T3B1/model_T3B1.h | 1 + core/embed/models/T3T1/model_T3T1.h | 1 + core/embed/sys/startup/stm32/bootutils.c | 6 ++++-- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/core/embed/models/T2B1/model_T2B1.h b/core/embed/models/T2B1/model_T2B1.h index c02668279f..f123b1988a 100644 --- a/core/embed/models/T2B1/model_T2B1.h +++ b/core/embed/models/T2B1/model_T2B1.h @@ -27,6 +27,7 @@ #define IMAGE_HASH_BLAKE2S #define DISPLAY_JUMP_BEHAVIOR DISPLAY_RETAIN_CONTENT +#define RSOD_INFINITE_LOOP 1 // SHARED WITH MAKEFILE // common diff --git a/core/embed/models/T2T1/model_T2T1.h b/core/embed/models/T2T1/model_T2T1.h index c081a07297..54ea37ec51 100644 --- a/core/embed/models/T2T1/model_T2T1.h +++ b/core/embed/models/T2T1/model_T2T1.h @@ -27,6 +27,7 @@ #define IMAGE_HASH_BLAKE2S #define DISPLAY_JUMP_BEHAVIOR DISPLAY_RETAIN_CONTENT +#define RSOD_INFINITE_LOOP 1 // SHARED WITH MAKEFILE // common diff --git a/core/embed/models/T3B1/model_T3B1.h b/core/embed/models/T3B1/model_T3B1.h index 1b2af250e8..2ab765869f 100644 --- a/core/embed/models/T3B1/model_T3B1.h +++ b/core/embed/models/T3B1/model_T3B1.h @@ -28,6 +28,7 @@ #define IMAGE_HASH_SHA256 #define DISPLAY_JUMP_BEHAVIOR DISPLAY_RETAIN_CONTENT +#define RSOD_INFINITE_LOOP 1 // SHARED WITH MAKEFILE, LINKER SCRIPT etc. // misc diff --git a/core/embed/models/T3T1/model_T3T1.h b/core/embed/models/T3T1/model_T3T1.h index d0db8a5791..d98f8c81e3 100644 --- a/core/embed/models/T3T1/model_T3T1.h +++ b/core/embed/models/T3T1/model_T3T1.h @@ -28,6 +28,7 @@ #define IMAGE_HASH_SHA256 #define DISPLAY_JUMP_BEHAVIOR DISPLAY_RETAIN_CONTENT +#define RSOD_INFINITE_LOOP 1 // SHARED WITH MAKEFILE, LINKER SCRIPT etc. // misc diff --git a/core/embed/sys/startup/stm32/bootutils.c b/core/embed/sys/startup/stm32/bootutils.c index d434dc78a5..a878d54588 100644 --- a/core/embed/sys/startup/stm32/bootutils.c +++ b/core/embed/sys/startup/stm32/bootutils.c @@ -35,8 +35,10 @@ // Battery powered devices (USE_POWERCTL) should not stall // after showing RSOD, as it would drain the battery. -#ifndef USE_POWERCTL -#define RSOD_INFINITE_LOOP +#ifdef USE_POWERCTL +#ifdef RSOD_INFINITE_LOOP +#error "RSOD_INFINITE_LOOP is not supported on battery powered devices" +#endif #endif #ifdef STM32U5