chore(core): move RGB_LED pin definitions to model files.
What changed, and why it matters
This commit is a simple code cleanup: it moves the definitions of which physical pins control the RGB LED from a shared driver file into the board-specific header files for two Trezor T3W1 hardware revisions. The same pin numbers and ports are used, and no behavior changes. There is no security issue here.
No action required; this is a benign refactor.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change relocates RGB_LED_* pin/port/clock-enable macros from core/embed/io/rgb_led/stm32u5/rgb_led_lp.c into core/embed/models/T3W1/boards/trezor_t3w1_revB.h and trezor_t3w1_revC.h. The macro values are identical to those removed from the C file. This is a pure refactor to make pin definitions model-specific; it does not alter logic, timing, or access controls.
Changed components
core/embed/io/rgb_led/stm32u5/rgb_led_lp.ccore/embed/models/T3W1/boards/trezor_t3w1_revB.hcore/embed/models/T3W1/boards/trezor_t3w1_revC.hInspect captured patch +20 / −12
diff --git a/core/embed/io/rgb_led/stm32u5/rgb_led_lp.c b/core/embed/io/rgb_led/stm32u5/rgb_led_lp.c
index 106ecf32..c759f518 100644
--- a/core/embed/io/rgb_led/stm32u5/rgb_led_lp.c
+++ b/core/embed/io/rgb_led/stm32u5/rgb_led_lp.c
@@ -29,18 +29,6 @@
#include "rgb_led_internal.h"
#include "sys/systick.h"
-#define RGB_LED_RED_PIN GPIO_PIN_2
-#define RGB_LED_RED_PORT GPIOB
-#define RGB_LED_RED_CLK_ENA __HAL_RCC_GPIOB_CLK_ENABLE
-
-#define RGB_LED_GREEN_PIN GPIO_PIN_2
-#define RGB_LED_GREEN_PORT GPIOF
-#define RGB_LED_GREEN_CLK_ENA __HAL_RCC_GPIOF_CLK_ENABLE
-
-#define RGB_LED_BLUE_PIN GPIO_PIN_0
-#define RGB_LED_BLUE_PORT GPIOB
-#define RGB_LED_BLUE_CLK_ENA __HAL_RCC_GPIOB_CLK_ENABLE
-
#define RGB_LED_EFFECT_TIMER_PERIOD_MS 20
static rgb_led_t g_rgb_led = {0};
diff --git a/core/embed/models/T3W1/boards/trezor_t3w1_revB.h b/core/embed/models/T3W1/boards/trezor_t3w1_revB.h
index fdc7faf2..f4058bc4 100644
--- a/core/embed/models/T3W1/boards/trezor_t3w1_revB.h
+++ b/core/embed/models/T3W1/boards/trezor_t3w1_revB.h
@@ -236,6 +236,16 @@
#define NFC_EXTI_INTERRUPT_NUM EXTI10_IRQn
#define NFC_EXTI_INTERRUPT_HANDLER EXTI10_IRQHandler
+#define RGB_LED_RED_PIN GPIO_PIN_2
+#define RGB_LED_RED_PORT GPIOB
+#define RGB_LED_RED_CLK_ENA __HAL_RCC_GPIOB_CLK_ENABLE
+#define RGB_LED_GREEN_PIN GPIO_PIN_2
+#define RGB_LED_GREEN_PORT GPIOF
+#define RGB_LED_GREEN_CLK_ENA __HAL_RCC_GPIOF_CLK_ENABLE
+#define RGB_LED_BLUE_PIN GPIO_PIN_0
+#define RGB_LED_BLUE_PORT GPIOB
+#define RGB_LED_BLUE_CLK_ENA __HAL_RCC_GPIOB_CLK_ENABLE
+
#define HW_REVISION_PUPD GPIO_PULLDOWN
#define HW_REVISION_0_PIN GPIO_PIN_1
#define HW_REVISION_0_PORT GPIOI
diff --git a/core/embed/models/T3W1/boards/trezor_t3w1_revC.h b/core/embed/models/T3W1/boards/trezor_t3w1_revC.h
index 8654ef6d..6f903f16 100644
--- a/core/embed/models/T3W1/boards/trezor_t3w1_revC.h
+++ b/core/embed/models/T3W1/boards/trezor_t3w1_revC.h
@@ -254,6 +254,16 @@
#define NFC_EXTI_INTERRUPT_NUM EXTI10_IRQn
#define NFC_EXTI_INTERRUPT_HANDLER EXTI10_IRQHandler
+#define RGB_LED_RED_PIN GPIO_PIN_2
+#define RGB_LED_RED_PORT GPIOB
+#define RGB_LED_RED_CLK_ENA __HAL_RCC_GPIOB_CLK_ENABLE
+#define RGB_LED_GREEN_PIN GPIO_PIN_2
+#define RGB_LED_GREEN_PORT GPIOF
+#define RGB_LED_GREEN_CLK_ENA __HAL_RCC_GPIOF_CLK_ENABLE
+#define RGB_LED_BLUE_PIN GPIO_PIN_0
+#define RGB_LED_BLUE_PORT GPIOB
+#define RGB_LED_BLUE_CLK_ENA __HAL_RCC_GPIOB_CLK_ENABLE
+
#define HW_REVISION_PUPD GPIO_PULLDOWN
#define HW_REVISION_0_PIN GPIO_PIN_1
#define HW_REVISION_0_PORT GPIOI
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.