Commit Graph

138 Commits

Author SHA1 Message Date
Roman Zeyde
98ba19b081 build(core): fix Rust library path in SConscript
[no changelog]
2026-01-14 11:16:47 +01:00
cepetr
f0d12275d3 refactor(core): move rsod to io/gfx and sec/rsod
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
47a7ba723f refactor(core): move gfx to io/gfx
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
cd8b7b62d6 refactor(core): move translatations module to io layer
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
2cc46b0f08 refactor(core): move image module to sec layer
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
79dd851f78 refactor(core): move flash driver to sys layer
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
0fb65da661 refactor(core): move scm_revision to rtl layer
[no changelog]
2026-01-13 11:18:26 +01:00
tychovrahe
5d5358da61 feat(core): introduce telemetry
[no changelog]
2026-01-13 09:30:29 +01:00
Roman Zeyde
ef0cb404e3 build(core): remove unused import shlex
[no changelog]
2025-12-22 09:58:05 +01:00
Roman Zeyde
6a637bd49f build(core): exclude embed/rtl/printf.c from non-prodtest builds
Otherwise, nightly CI fails with:
https://github.com/trezor/trezor-firmware/actions/runs/20320385493/job/58431441939

We currently use `printf()` only in prodtest / non-production builds[^1].

[no changelog]

[^1]: https://github.com/trezor/trezor-firmware/pull/6208#discussion_r2610006444
2025-12-18 19:07:27 +01:00
cepetr
80c5444a2e fix(core): remove rsod screens from rtl error handling
[no changelog]
2025-12-16 11:49:07 +01:00
cepetr
b1af516621 feat(core): add extended formatting capabilities to snprintf
[no changelog]
2025-12-12 15:18:35 +01:00
cepetr
b969d71cd3 refactor(core): do not use mini_snprintf in board/bootloader
[no changelog]
2025-12-12 15:18:35 +01:00
tychovrahe
4a12681776 refactor(core/bootloader): extract fw check from main.c
[no changelog]
2025-12-08 10:18:11 +01:00
tychovrahe
360e6d479f chore(core/bootloader): add option to disable animations in bootloader
[no changelog]
2025-11-27 16:40:20 +01:00
cepetr
dfb72957f1 fix(core): get rid of confidential global vars
[no changelog]
2025-10-29 09:00:15 +01:00
tychovrahe
8e1f07888e fix(core/bootloader): fix battery drain when waiting on unofficial firmware confirmation 2025-10-27 11:36:54 +01:00
cepetr
6096623322 feat(core): use tropic chip entropy in RNG
[no changelog]
2025-09-24 15:51:02 +02:00
cepetr
ca929574e8 feat(core): introduce DBG_CONSOLE build argument
[no changelog]
2025-08-28 15:25:56 +02:00
cepetr
71d6052652 refactor(core): simplify usb driver api
[no changelog]
2025-08-28 14:57:24 +02:00
cepetr
9951c962c3 refactor(core): remove circular dependencies, new 'storage' feature
[no changelog]
2025-08-12 13:47:39 +02:00
tychovrahe
98692d5401 refactor(core): rename debug overlay to performance overlay
[no changelog]
2025-08-11 16:41:35 +02:00
cepetr
681b0d389e feat(core): introduce fail-safe/pq signed boardloader
[no changelog]
2025-07-29 11:37:47 +02:00
tychovrahe
fc125f7e87 perf(core/bootloader): remove tropic from bootloader
[no changelog]
2025-07-01 12:24:52 +02:00
tychovrahe
fdc9cfdc94 perf(core/bootloader): remove optiga from bootloader
[no changelog]
2025-07-01 12:24:52 +02:00
tychovrahe
32c4d9f105 refactor(core/bootloader): remove obsolete antiglitch protection
[no changelog]
2025-06-27 16:50:59 +02:00
cepetr
564743ef7e refactor(core): introduce suspend module
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
c17ce0e89e feat(core): wake up from suspend mode after timeout
[no changelog]
2025-06-19 14:25:53 +02:00
tychovrahe
b83889457b feat(core): introduce IWDG driver
[no changelog]
2025-06-13 13:59:10 +02:00
cepetr
8a115eff03 chore(core): reformat FEATURES_WANTED list for readability
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
bbb74c03a4 feat(core): introduce secure monitor
[no changelog]
2025-06-04 16:58:15 +02:00
kopecdav
7d3d2e877f refactor(core): add power manager api comments
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
b634eaca91 feat(core/bootloader): adjust boot sequence for battery devices
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
b4fc523711 fix(core): fix power_manager dependencies
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
6bdac7614f feat(core): support handling of tropic keys in secret sector
[no changelog]
2025-05-19 11:41:36 +02:00
cepetr
452e63c4fb feat(core): add display feature to SConscript
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
daa6ea25fb feat(core): add powerctl feature to SConscript
[no changelog]
2025-05-12 07:57: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
tychovrahe
8e0e3a1787 refactor(core): complete bootloader refactoring 2025-03-24 14:31:14 +01:00
Roman Zeyde
90d7713592 build(core): fix RUST_PRINT_TYPES_SIZES passing to SConscript.firmware
Use a list to collect RUSTFLAGS, to prevent overwriting them.

Also:
- fix a typo in `SConscript.unix` (it was using `firmware` build directory)
- use keyword arguments for better readability
- reformat Rust library build command string

[no changelog]
2025-03-13 18:18:48 +02:00
cepetr
c57a59d123 feat(rust): introduce info overlay rendering
[no changelog]
2025-02-26 09:56:08 +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
1700841856 refactor(core): unify way how rust is added to build
[no changelog]
2025-02-11 11:25:18 +01:00
cepetr
95afa34f27 refactor(core): rewrite startup code in C
[no changelog]
2025-01-30 14:07:25 +01:00
Martin Milata
dadff32f39 build(core): use internal model names everywhere
TREZOR_MODEL=T and TREZOR_MODEL=R

no longer work, please use

  TREZOR_MODEL=T2T1 and TREZOR_MODEL=T2B1

[no changelog]
2025-01-13 16:24:35 +01:00
Andrew Kozlik
83a96f7a5a feat(core): Randomize SCM_REVISION address in firmware
[no changelog]
2025-01-03 10:23:41 +01:00
matejcik
b35854471b build(core): improve CPPDEFINES quoting
Here we change all FOO=VALUE defines to be tuples ("FOO", "VALUE").
Also, VALUE is always the raw string you want to end up in the C file,
instead of attempting to shell-escape it while specifying.

By all rights scons _should_ be using shlex.quote() on the CPPDEFINES,
but it doesn't, so we hack it by specifying the define prefix as `-D'`
and suffix as `'`. That way the arguments in shell are '-escaped, and
we're (currently) not using ' in any argument value so this should work
fine.

At the same time, when passing the flags to cargo, we can shlex.quote
the whole thing and get the right strings passed all the way into
build.rs -- as long as no argument contains a comma, which is the split
character...
2024-11-21 14:33:52 +01:00
cepetr
089db2cadf refactor(core): restructure embed folder
[no changelog]
2024-11-18 09:41:02 +01:00
cepetr
d4286ff584 chore(core): remove legacy drawing code (c)
[no changelog]
2024-11-13 12:15:38 +01:00