1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-08-03 12:28:13 +00:00
Commit Graph

180 Commits

Author SHA1 Message Date
Roman Zeyde
7cdb0cf244 feat(vendor): update MicroPython to allow excluding line numbers from bytecode
Setting `MICROPY_ENABLE_SOURCE_LINE=0` helps reducing the debug firmware size by ~2%:
```
$ TREZOR_MODEL=T3T1 MICROPY_ENABLE_SOURCE_LINE=0 PYOPT=0 make -C core build_firmware
<snip>
           FLASH:     1,629,456 B      1664 KB     95.63%
```

Before this PR:
```
           FLASH:     1,662,224 B      1664 KB     97.55%
```

[no changelog]
2025-05-13 17:07:37 +03:00
tychovrahe
e641fb1c25 fix(core): fix sysevents polling deadlines
[no changelog]
2025-05-12 08:58:58 +02:00
tychovrahe
d6220d72a5 fix(core/bootloader): fix null ios handling in host control
[no changelog]
2025-05-12 08:58:46 +02:00
cepetr
b9bb71a243 refactor(core): prepare board_capabilities for secmon api
[no changelog]
2025-05-12 07:57:46 +02:00
tychovrahe
c319e5fa20 refactor(core/bootloader): streamline initializing & deinitializing communication interfaces in bootloader
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
4f783c0a45 fix(core/prodtest): fix nrf communication tests
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
3fe0c90c1c feat(core): change internal communication with NRF to SPI only
[no changelog]
2025-05-07 16:36:40 +02:00
tychovrahe
54202b9f53 feat(nordic): send busy response when trezor is not listening to BLE messages
[no changelog]
2025-05-07 16:08:46 +02:00
tychovrahe
70014e103a feat(core/bootloader): add power-off item to the bootloader menu
[no changelog]
2025-05-07 15:23:46 +02:00
tychovrahe
37687f1815 feat(core): add BLE to bootloader 2025-05-07 14:54:28 +02:00
Roman Zeyde
749c0bc8b2 chore(core): use systick_us for mp_hal_ticks_us
[no changelog]
2025-05-06 09:37:17 +03:00
tychovrahe
c6dedea7b3 chore(core/prodtest): improve CLI parameter documentation
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
e9b47d1116 chore(core/prodtest): fix time units in readme for NFC commands
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
a22563c01a chore(core/prodtest): fix typos in prodtest
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
3a9315cc58 feat(core/prodtest): allow infinite testing of NFC functionalities
[no changelog]
2025-05-01 19:53:00 +02:00
Ioan Bizău
8ad1069166 chore(core): bump version to 2.8.11
[no changelog]
2025-05-01 08:53:26 +02:00
kopecdav
aa16fa71d6 fix(core): remove backup ram deinit outside of FIXED_HW_DEINIT
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
c9984fabb2 fix(core): fix backup ram prodtest argument parsing
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
ae02677ca2 feat(core): add backup ram global initialization in bootloader, prodtest and kernel
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
bece935d67 refactor(core): Remove backup ram section from linker [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
5ae5d97328 feat(core): Add backup_ram header, version and consistency checks + minor refactor [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
7f27730b5d feat(core): Add backup driver prodtest [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
bfd78c8d6e feat(core): Update fuel gauge charging mode + Update battery model to separate battery data in standalone header file. [no changelog] 2025-04-30 12:55:49 +02:00
kopecdav
3b407e8dc8 feat(core): Add fuel_gauge prodtest [no changelog] 2025-04-30 12:55:49 +02:00
Roman Zeyde
65e8f96428 chore(core): update main_clean_exit comment
We are not using `atexit()` handler following #4892.

[no changelog]
2025-04-24 16:26:36 +03:00
cepetr
8b0736c360 fix(prodtest): increase vcp ring buffer size
[no changelog]
2025-04-23 13:32:21 +02:00
cepetr
a05ce8aa70 fix(core): fix USB VCP freeze on T3W1 in prodtest
[no changelog]
2025-04-17 11:45:26 +02:00
Martin Milata
e81617e1c6 build(core): fix build for GCC14
[no changelog]
2025-04-16 17:27:11 +02:00
Roman Zeyde
2975a07f1f chore(core): remove unused path definitions from MicroPython emulator
[no changelog]
2025-04-14 22:42:05 +03:00
cepetr
8a636bd9cf fix(core): make mod_trezorio_poll return False only on timeout
[no changelog]
2025-04-14 12:30:52 +02:00
Martin Milata
828e1868ab docs: fix broken changelog links 2025-04-09 10:11:21 +02:00
tychovrahe
f1120d53c2 fix(core/prodtest): provide BLE driver with pairing code when accepting pairing
[no changelog]
2025-04-07 15:05:57 +02:00
kopecdav
56bad5bd3a feat(core): Update stwlc38 patching cut selection + new stwlc38 FW patch and configs [no changelog] 2025-04-07 13:42:10 +02:00
tychovrahe
d506abd9db fix(core/bootloader_ci): fix firmware upload
[no changelog]
2025-04-04 16:20:01 +02:00
tychovrahe
7e2847c357 fix(core): allow running firmware on locked bootloader device based on allow_run_with_secret flag 2025-04-03 18:59:52 +02:00
tychovrahe
8ea957b8e1 feat(core/prodtest): add hibernation on power button long-press
[no changelog]
2025-04-03 16:06:20 +02:00
tychovrahe
f579d31684 refactor(core/prodtest): make cli non-blocking, event-loop compatible
[no changelog]
2025-04-03 16:06:20 +02:00
Roman Zeyde
ec87d2d21d fix(core): presize __main__ module to avoid heap fragmentation
[no changelog]
2025-04-02 16:01:51 +03:00
cepetr
7994a0b93b feat(core): introduce kernel event loop
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
8d7a25e5eb feat(core): add event polling to button driver
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
271f029be7 fix(core): fix emulator build on macOS
[no changelog]
2025-04-01 10:00:26 +02:00
tychovrahe
9d46ad259c fix(core/prodtest): remove final wait from report commands
[no changelog]
2025-03-27 18:25:46 +01:00
tychovrahe
b7b8e77ccb feat(core): enable tropic in firmware/kernel on hw
[no changelog]
2025-03-27 11:59:10 +01:00
tychovrahe
4fce1f55ee fix(core): fix bootloader build for models with HW keys but without optiga
[no changelog]
2025-03-26 14:59:19 +01:00
tychovrahe
8e0e3a1787 refactor(core): complete bootloader refactoring 2025-03-24 14:31:14 +01:00
tychovrahe
6fb65bcfd9 refactor(core): refactor button events
[no changelog]
2025-03-20 11:07:34 +01:00
Ioan Bizău
3efa0480c6 feat(core): add libtropic to the unix build
[no changelog]
2025-03-13 15:08:48 +01:00
Roman Zeyde
c95158751a build(core): allow increasing VCP write timeout
It should allow us exporting larger amounts of debug data.

[no changelog]
2025-03-13 16:07:09 +02:00
tychovrahe
103568e2e5 feat(core/prodtest): show device ID in prodtest QR code 2025-03-08 12:26:41 +01:00
tychovrahe
661a30e390 feat(core/prodtest): support writing device ID into OTP memory 2025-03-08 12:26:41 +01:00
tychovrahe
ee9f42a8b2 fix(core/prodtest): add early return in case of otp batch reading error
[no changelog]
2025-03-08 12:26:41 +01:00
tychovrahe
6db5eaf850 fix(core/prodtest): fix otp device variant lock check
[no changelog]
2025-03-08 12:26:41 +01:00
kopecdav
f2054ff409 feat(core/prodtest): Introduce unit test extension into prodtest [no changelog] 2025-03-07 17:24:24 +01:00
obrusvit
acdf549fc4 chore(core): bump version to 2.8.10
[no changelog]
2025-03-07 11:44:29 +01:00
tychovrahe
d1c1503fa4 feat(core/prodtest): add tamper testing function
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
d535e725c0 fix(core): fix tamper setting
[no changelog]
2025-03-04 11:23:55 +01:00
cepetr
19ba854c69 feat(code): introduce dma2d syscalls
[no changelog]
2025-03-04 08:08:10 +01:00
tychovrahe
dcf9002f00 feat(core/prodtest): add hw-revision command and driver 2025-03-03 13:28:10 +01:00
tychovrahe
a22c15663c chore(core): fix typo
[no changelog]
2025-03-03 13:28:10 +01:00
tychovrahe
4221b8514b feat(core/prodtest): implement NRF test functions
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
93f20bead1 feat(core/prodtest): add BLE testing
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
10f3011663 feat(core/prodtest): add touch-draw command to prodtest
[no changelog]
2025-02-26 08:53:36 +01:00
tychovrahe
32bf5d82ff feat(core/prodtest): add tropic01 HAL integration and basic production tests
[no changelog]
2025-02-26 08:53:16 +01:00
kopecdav
bdc8dbffe3 feat(core): Introduce nfc commands in prodtest & update NFC library [no changelog] 2025-02-25 18:29:54 +01:00
kopecdav
e672cb08b4 feat(core): Introduce nfc module with rfal library [no changelog] 2025-02-25 18:29:54 +01:00
kopecdav
9f03e0c37b feat(core): Add prodtest function which prints simple text log on the screen [no changelog] 2025-02-21 10:15:12 +01:00
Martin Milata
d375db9fc2 fix(tools): changelog.py: stricter model list format 2025-02-19 22:05:32 +01:00
cepetr
aa29681939 doc(prodtest): document pmic and wpc commands
[no changelog]
2025-02-14 22:22:33 +01:00
cepetr
de73b38aae feat(core): introduce hibernate mode
[no changelog]
2025-02-14 16:43:22 +01:00
obrusvit
c69d2c9aff Merge branch 'release/25.02' into obrusvit/merge-release-25.02 2025-02-13 11:42:08 +01:00
obrusvit
45394f2b26 chore(core): bump bootloader version to 2.1.11
[no changelog]
2025-02-12 14:25:26 +01:00
obrusvit
2d20d43944 chore(core): bump version to 2.8.9
[no changelog]
2025-02-12 14:25:26 +01:00
kopecdav
f1db0e6906 feat(core/prodtest): Allow prodtest to exit from interactive mode [no changelog] 2025-02-12 10:50:48 +01:00
tychovrahe
57789c7121 refactor(core): remove fonts and no longer used drawing functions from C
[no changelog]
2025-02-11 11:25:18 +01:00
tychovrahe
c3981cdebe refactor(core): render prodtest UI in rust
[no changelog]
2025-02-11 11:25:18 +01:00
cepetr
08d55ea3f4 refactor(core): improve dma2d driver init/deinit
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
ee13872e90 fix(prodtest): remove haptic-test duration limit
[no changelog]
2025-02-10 14:12:15 +01:00
cepetr
d35f062866 fix(prodtest): fix haptic test
[no changelog]
2025-02-10 08:12:38 +01:00
obrusvit
592590cf66 docs(core): changelog for bootloader 2.1.10 2025-02-07 17:13:45 +01:00
tychovrahe
0dbb31f04a fix(core): fully initialize display driver at the start of bootloader
[no changelog]
2025-02-06 13:53:31 +01:00
tychovrahe
0b9d2e3ac9 feat(core): lazy initialize display driver in boardloader
[no changelog]
2025-02-06 13:53:31 +01:00
tychovrahe
6102e10e91 refactor(core): reorganize boardloader code
[no changelog]
2025-02-06 13:53:31 +01:00
tychovrahe
3bdd7f661e fix(core/prodtest): fix QR code display 2025-02-06 07:56:15 +01:00
tychovrahe
a70c57d228 fix(core/bootloader): add fade-out before jumping to FW if backlight will be reset
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
411e8779f7 fix(core): add fade-in to boot stage 2 screen if backlight was reset
[no changelog]
2025-02-02 22:41:17 +01:00
cepetr
2eb1e5b3ca feat(prodtest): refactor and improve prodtest 2025-01-31 08:15:20 +01:00
cepetr
6719eeb376 refactor(core): simplify shutdown/handover code
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
2697c06642 refactor(core): rewrite rescue code in C
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
95afa34f27 refactor(core): rewrite startup code in C
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
2671404e44 refactor(core): rename stack related linker script symbols
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
bdb3d486e3 refactor(core): rename jump_to function
[no changelog]
2025-01-30 14:07:25 +01:00
tychovrahe
d9c547c590 fix(core): calculate image hash including padding between header and code
[no changelog]
2025-01-29 16:56:11 +01:00
tychovrahe
7f53b34b8e feat(core): introduce RGB LED driver with low power TIM
[no changelog]
2025-01-29 16:55:56 +01:00
Martin Milata
7c06363fea chore(core/prodtest): bump version to 0.2.13
[no changelog]
2025-01-28 12:27:05 +01:00
Martin Milata
b0e39dbe6f chore(core): bump version to 2.8.8
[no changelog]
2025-01-28 12:27:05 +01:00
Andrew Kozlik
27ed1fd49e fix(core): Fix displayed batch number in prodtest.
[no changelog]
2025-01-23 16:48:00 +01:00
tychovrahe
5fd773757c fix(core): fix fading issues 2025-01-23 15:24:00 +01:00
cepetr
a920b92ad3 fix(core): fix gfx_bitblt initialization
[no changelog]
2025-01-22 17:21:41 +01:00
Martin Milata
ae853bb821 Merge branch 'release/25.01' 2025-01-22 12:14:10 +01:00
Roman Zeyde
e9aca68612 docs: make sure changelog fragments end with a period
Also, run `generate-changelog.py` over prodtest changelog.

[no changelog]
2025-01-20 14:54:27 +02:00