What changed, and why it matters
This commit tidies up build configuration files for Trezor's Nordic Bluetooth/radio test firmware. It removes some redundant or outdated settings, adds a couple of clarifying options, and disables over-the-air firmware update slots for test builds. There is no direct evidence in the commit that this fixes a security vulnerability; it reads as a routine cleanup of build settings.
No immediate security action required. Treat as routine build cleanup. If reviewing for release, verify that the removed Kconfig options are intentionally obsolete and that the new sysbuild MCUboot settings produce the expected single-slot, no-OTA behavior for test/debug firmware.
Security signals we found
Disables secondary firmware update slot for single-app MCUboot builds (SB_CONFIG_MCUBOOT_APP_SYNC_UPDATEABLE_IMAGES=n)
Removes deprecated/inconsistent MCUboot single-app Kconfig symbols in favor of sysbuild equivalents
Removes CONFIG_BT_TINYCRYPT_ECC from BLE configuration (may rely on alternative ECC implementation)
Removes CONFIG_NFCT_PINS_AS_GPIOS (NFC pins no longer repurposed as GPIO in direct test mode)
Evidence from the diff
The diff modifies Kconfig/sysbuild configuration files under nordic/trezor/ for direct_test_mode, radio_test, and trezor-ble. Changes include: removing CONFIG_NFCT_PINS_AS_GPIOS, CONFIG_LOG_PRINTK, CONFIG_CONSOLE_HANDLER, CONFIG_BOOTLOADER_MCUBOOT (from prj.conf where sysbuild now handles it), CONFIG_PM, CONFIG_BT_TINYCRYPT_ECC; adding CONFIG_CONSOLE=y in debug configs; and moving single-app MCUboot mode settings into sysbuild.conf (SB_CONFIG_MCUBOOT_MODE_SINGLE_APP=y and SB_CONFIG_MCUBOOT_APP_SYNC_UPDATEABLE_IMAGES=n) while removing the older CONFIG_MCUBOOT_BOOTLOADER_MODE_SINGLE_APP and CONFIG_SINGLE_APPLICATION_SLOT from mcuboot.conf. These are build-system/configuration refactorings rather than runtime code changes.
Changed components
nordic/trezor/direct_test_mode build configurationnordic/trezor/radio_test build configurationnordic/trezor/trezor-ble build configurationNordic nRF Zephyr/MCUboot bootloader configurationInspect captured patch +10 / −16
diff --git a/nordic/trezor/direct_test_mode/debug.conf b/nordic/trezor/direct_test_mode/debug.conf
index 09b655c3..9a27e0c3 100644
--- a/nordic/trezor/direct_test_mode/debug.conf
+++ b/nordic/trezor/direct_test_mode/debug.conf
@@ -13,5 +13,7 @@ CONFIG_RTT_CONSOLE=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
+# enable console
+CONFIG_CONSOLE=y
CONFIG_ASSERT=y
diff --git a/nordic/trezor/direct_test_mode/prj.conf b/nordic/trezor/direct_test_mode/prj.conf
index 42c733ba..ed0a51dc 100644
--- a/nordic/trezor/direct_test_mode/prj.conf
+++ b/nordic/trezor/direct_test_mode/prj.conf
@@ -10,8 +10,6 @@ CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_PERIOD=4000
-CONFIG_NFCT_PINS_AS_GPIOS=y
-
# Configure assertions
CONFIG_ASSERT=y
CONFIG_ASSERT_NO_COND_INFO=y
@@ -23,7 +21,6 @@ CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n
CONFIG_LOG=y
-CONFIG_LOG_PRINTK=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
diff --git a/nordic/trezor/direct_test_mode/sysbuild.conf b/nordic/trezor/direct_test_mode/sysbuild.conf
index 3be85567..2be4094f 100644
--- a/nordic/trezor/direct_test_mode/sysbuild.conf
+++ b/nordic/trezor/direct_test_mode/sysbuild.conf
@@ -7,6 +7,8 @@
# Enable MCUboot
SB_CONFIG_BOOTLOADER_MCUBOOT=y
SB_CONFIG_MCUBOOT_MODE_SINGLE_APP=y
+# Single-slot: app has no secondary slot, no OTA image management
+SB_CONFIG_MCUBOOT_APP_SYNC_UPDATEABLE_IMAGES=n
# Use DTS fixed-partitions instead of pm_static.yml
SB_CONFIG_PARTITION_MANAGER=n
diff --git a/nordic/trezor/direct_test_mode/sysbuild/mcuboot.conf b/nordic/trezor/direct_test_mode/sysbuild/mcuboot.conf
index 4dfe2a2e..ba0818fa 100644
--- a/nordic/trezor/direct_test_mode/sysbuild/mcuboot.conf
+++ b/nordic/trezor/direct_test_mode/sysbuild/mcuboot.conf
@@ -24,8 +24,6 @@ CONFIG_BOOT_SERIAL_UART=y
#CONFIG_BOOT_SERIAL_DETECT_PIN=11
#CONFIG_MCUMGR_SMP_UART=y
-CONFIG_MCUBOOT_BOOTLOADER_MODE_SINGLE_APP=y
-CONFIG_SINGLE_APPLICATION_SLOT=y
CONFIG_BOOT_VALIDATE_SLOT0=y
CONFIG_RTT_CONSOLE=n
diff --git a/nordic/trezor/radio_test/debug.conf b/nordic/trezor/radio_test/debug.conf
index 09b655c3..9a27e0c3 100644
--- a/nordic/trezor/radio_test/debug.conf
+++ b/nordic/trezor/radio_test/debug.conf
@@ -13,5 +13,7 @@ CONFIG_RTT_CONSOLE=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
+# enable console
+CONFIG_CONSOLE=y
CONFIG_ASSERT=y
diff --git a/nordic/trezor/radio_test/prj.conf b/nordic/trezor/radio_test/prj.conf
index 0cab6670..dc22cf73 100644
--- a/nordic/trezor/radio_test/prj.conf
+++ b/nordic/trezor/radio_test/prj.conf
@@ -9,7 +9,6 @@ CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_PERIOD=4000
-CONFIG_CONSOLE_HANDLER=y
CONFIG_SHELL=y
CONFIG_DYNAMIC_INTERRUPTS=y
@@ -24,8 +23,6 @@ CONFIG_FEM_AL_LIB=y
CONFIG_PICOLIBC_IO_FLOAT=y
-CONFIG_BOOTLOADER_MCUBOOT=y
-
# compiler
CONFIG_DEBUG_OPTIMIZATIONS=y
diff --git a/nordic/trezor/radio_test/sysbuild.conf b/nordic/trezor/radio_test/sysbuild.conf
index 3be85567..2be4094f 100644
--- a/nordic/trezor/radio_test/sysbuild.conf
+++ b/nordic/trezor/radio_test/sysbuild.conf
@@ -7,6 +7,8 @@
# Enable MCUboot
SB_CONFIG_BOOTLOADER_MCUBOOT=y
SB_CONFIG_MCUBOOT_MODE_SINGLE_APP=y
+# Single-slot: app has no secondary slot, no OTA image management
+SB_CONFIG_MCUBOOT_APP_SYNC_UPDATEABLE_IMAGES=n
# Use DTS fixed-partitions instead of pm_static.yml
SB_CONFIG_PARTITION_MANAGER=n
diff --git a/nordic/trezor/radio_test/sysbuild/mcuboot.conf b/nordic/trezor/radio_test/sysbuild/mcuboot.conf
index 4dfe2a2e..ba0818fa 100644
--- a/nordic/trezor/radio_test/sysbuild/mcuboot.conf
+++ b/nordic/trezor/radio_test/sysbuild/mcuboot.conf
@@ -24,8 +24,6 @@ CONFIG_BOOT_SERIAL_UART=y
#CONFIG_BOOT_SERIAL_DETECT_PIN=11
#CONFIG_MCUMGR_SMP_UART=y
-CONFIG_MCUBOOT_BOOTLOADER_MODE_SINGLE_APP=y
-CONFIG_SINGLE_APPLICATION_SLOT=y
CONFIG_BOOT_VALIDATE_SLOT0=y
CONFIG_RTT_CONSOLE=n
diff --git a/nordic/trezor/trezor-ble/prj.conf b/nordic/trezor/trezor-ble/prj.conf
index cd8f50b2..2e1aa2cc 100644
--- a/nordic/trezor/trezor-ble/prj.conf
+++ b/nordic/trezor/trezor-ble/prj.conf
@@ -30,9 +30,7 @@ CONFIG_GPIO=y
CONFIG_HEAP_MEM_POOL_SIZE=19000
# Enable system-wide Power Management
-CONFIG_PM=y
CONFIG_PM_DEVICE=y
-# (Optional) Enable device power management at runtime
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_POWEROFF=y
@@ -50,7 +48,6 @@ CONFIG_BT_SMP_SC_ONLY=y
CONFIG_BT_FILTER_ACCEPT_LIST=y
CONFIG_BT_BONDING_REQUIRED=y
CONFIG_BT_PRIVACY=y
-CONFIG_BT_TINYCRYPT_ECC=y
CONFIG_BT_LL_SOFTDEVICE=y
CONFIG_BT_CTLR_TX_PWR_PLUS_4=y
CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=y
@@ -114,4 +111,3 @@ CONFIG_NANOPB=n
# bootloader
#CONFIG_SECURE_BOOT=y
-CONFIG_BOOTLOADER_MCUBOOT=y
diff --git a/nordic/trezor/trezor-ble/sysbuild.conf b/nordic/trezor/trezor-ble/sysbuild.conf
index 45f611d5..6350c43a 100644
--- a/nordic/trezor/trezor-ble/sysbuild.conf
+++ b/nordic/trezor/trezor-ble/sysbuild.conf
@@ -3,6 +3,8 @@
# Enable MCUboot
SB_CONFIG_BOOTLOADER_MCUBOOT=y
SB_CONFIG_MCUBOOT_MODE_SINGLE_APP=y
+# Single-slot: app has no secondary slot, no OTA image management
+SB_CONFIG_MCUBOOT_APP_SYNC_UPDATEABLE_IMAGES=n
# Use DTS fixed-partitions instead of pm_static.yml
SB_CONFIG_PARTITION_MANAGER=n
diff --git a/nordic/trezor/trezor-ble/sysbuild/mcuboot.conf b/nordic/trezor/trezor-ble/sysbuild/mcuboot.conf
index 4dfe2a2e..ba0818fa 100644
--- a/nordic/trezor/trezor-ble/sysbuild/mcuboot.conf
+++ b/nordic/trezor/trezor-ble/sysbuild/mcuboot.conf
@@ -24,8 +24,6 @@ CONFIG_BOOT_SERIAL_UART=y
#CONFIG_BOOT_SERIAL_DETECT_PIN=11
#CONFIG_MCUMGR_SMP_UART=y
-CONFIG_MCUBOOT_BOOTLOADER_MODE_SINGLE_APP=y
-CONFIG_SINGLE_APPLICATION_SLOT=y
CONFIG_BOOT_VALIDATE_SLOT0=y
CONFIG_RTT_CONSOLE=n
Why this scored 11/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.