cepetr
5fc3c6e617
refactor(core): improve and simplify error handling
...
[no changelog]
2024-06-17 16:57:33 +02:00
matejcik
54c441a607
feat(core): enable Optiga logging in debug builds by default
...
[no changelog]
2024-05-03 09:49:37 +02:00
tychovrahe
dfe5ee67f1
fix(core): move OEM key check after display initialization so that error message can be displayed
...
[no changelog]
2024-04-17 14:23:09 +02:00
Martin Milata
906c00e4e5
refactor(core): rename screen_boot_{empty,full} to screen_boot_stage_{1,2}
...
[no changelog]
2024-04-12 12:25:46 +00:00
tychovrahe
8a18cfe0d4
feat(core): use U5 DHUK to encrypt optiga pairing secret in flash
...
[no changelog]
2024-04-08 21:41:30 +02:00
tychovrahe
c3f84e2949
perf(core): optimize boot speed on U5 by using has processor to calculate image hashes, switches to sha256
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
72dc8f57e8
feat(core): add haptic feedback
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
834693a115
fix(core): fix OTP programming on U5
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
cec0191360
fix(core): fix bootloader update on STM32U5
...
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
271bed8bf6
chore(core): use cortex-m33 stack protection
2024-02-29 23:05:56 +01:00
tychovrahe
8150636a81
feat(core): add basic support for STM32U5
2024-02-29 23:05:56 +01:00
Martin Milata
3c7a6dd68a
fix(core): handle uncaught exceptions from main.py
...
[no changelog]
2024-02-05 16:53:49 +01:00
tychovrahe
63ee6f2ad2
perf(core): change 4bpp font format to allow dma2d rendering
...
[no changelog]
2024-01-11 12:22:08 +01:00
tychovrahe
a2f72b1055
feat(core): optimize boot time by drawing full logo sooner and shortening the enforced delay proportionally
...
[no changelog]
2023-11-30 16:46:04 +01:00
cepetr
ba83a7e644
feat(core): introduce interaction-less upgrade
2023-10-27 16:15:15 +02:00
tychovrahe
510281590f
fix(core): add delays to optiga i2c communications
...
[no changelog]
2023-09-27 12:14:32 +02:00
tychovrahe
f881fab797
fix(core): disable access to secret in flash after boot
...
[no changelog]
2023-09-15 13:31:24 +02:00
Andrew Kozlik
db6630a5a3
feat(core): Support Optiga in Trezor firmware.
2023-09-13 15:45:48 +02:00
Ondrej Mikle
bf96c43d32
chore(core): cstyle reformat
...
DSVibram AR fix
2023-09-11 14:36:11 +02:00
Ondrej Mikle
ac64d2d2f1
fix(core): one forgotten ensure_compatible_settings
2023-09-11 14:36:11 +02:00
Ondrej Mikle
75a148e414
fix(core): clear memory when not going to use copy firmware header for bootloader
2023-09-11 14:36:11 +02:00
Ondrej Mikle
b69ef9d168
feat(core): Copy firmware image header to bootloader RAM to be able to skip directly to firmware install, jumping from firmware to bootloader
...
Change linking of util.s and limited version of util.s to avoid mistakes
with boardloader etc.
2023-09-11 14:36:11 +02:00
tychovrahe
e8281385f6
feat(core): implement secret handling in bootloader
2023-08-15 09:37:38 +02:00
Andrew Kozlik
74759310bb
feat(core): Integrate OPTIGA Trust M
...
[no changelog]
2023-08-02 00:35:43 +02:00
tychovrahe
238e3fd7c1
refactor(core): add abstraction over flash memory layout
...
[no changelog]
2023-07-25 10:25:20 +02:00
tychovrahe
ebbd7f9d35
refactor(core): restructure trezorhal, prepare to support more platforms
...
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
671f23f1aa
feat(core): support rev 10 of T2B1 HW
...
[no changelog]
2023-06-27 22:45:33 +02:00
tychovrahe
8d812ca36e
feat(core): support device variants
...
[no changelog]
2023-06-07 19:48:53 +02:00
Martin Milata
3fb3f108cc
chore(vendor): bump micropython to 1.19.1
...
Relevant micropython commits:
01374d941f9d7398e35990b574769b20c6779457 py/mpconfig.h: Define initial templates for "feature levels".
7b89ad8dbf432ab51eea6d138e179bf51394c786 py/vm: Add a fast path for LOAD_ATTR on instance types.
68219a295c75457c096ac42dbe8411b84e1e1a51 stm32: Enable LOAD_ATTR fast path, and map lookup caching on >M0.
e0bf4611c3a8b23b3c52e6a7804aac341ac3a87d py: Only search frozen modules when '.frozen' is found in sys.path.
f2040bfc7ee033e48acef9f289790f3b4e6b74e5 py: Rework bytecode and .mpy file format to be mostly static data.
926b554dafffa1e9bd80aa12fea5c621221c9d79 extmod/moduos: Create general uos module to be used by all ports.
2b409ef8a46015f8f3bd20bc44e644637dbe9bd3 unix/moduos: Convert module to use extmod version.
47f634300c5572571816817f16836113c98814ae py: Change makemoduledefs process so it uses output of qstr extraction.
0e7bfc88c6ac6b5d64240f91183a3cfe2ab67ade all: Use mp_obj_malloc everywhere it's applicable.
2a6ba47110be88ff1e1f5abd1bd76c353447884c py/obj: Add static safety checks to mp_obj_is_type().
2023-04-21 13:14:07 +02:00
tychovrahe
33fb590f44
refactor(core): decouple i2c driver and touch driver
...
[no changelog]
2023-04-19 21:36:51 +02:00
matejcik
ca5a68ebc5
fix(core): unify error strings
2023-04-03 22:01:26 +02:00
matejcik
6e85d61688
feat(core): QA build for testing bootloaders / upgrades
...
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
64bc94cbc9
feat(core): uninitialized welcome flow
...
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
5a991f3244
feat(core/rust): bootloader implementation in rust
2023-03-09 16:14:36 +01:00
tychovrahe
ead61d1e90
refactor(core): improve flexibility of build, allow different touch panel driver, allow STM32F429
...
[no changelog]
2023-03-02 15:56:33 +01:00
tychovrahe
99d4b0185a
fix(core): fix model T display reinitialization crash
...
[no changelog]
2023-01-11 16:19:02 +01:00
tychovrahe
0d733d8e22
feat(core): change display type for model R
...
[no changelog]
2022-11-24 11:37:52 +01:00
tychovrahe
a89d139dc9
feat(core): increase clock frequency to 180 MHz
2022-11-04 15:10:55 +01:00
tychovrahe
f7b9bb4ef8
feat(core/rust): use dma2d to improve rendering performance, implement text over image and icon over icon functions
2022-09-29 21:50:10 +02:00
tychovrahe
e3d5c178f1
feat(core): enable bus fault and usage fault handlers
...
[no changelog]
2022-09-13 15:04:40 +02:00
tychovrahe
6cf92fd748
feat(core): Introduce stack overflow detection by moving stack to the start of RAM
2022-08-16 17:03:06 +02:00
TychoVrahe
a762e75fee
fix(core): reintroduce touch controller initialization without power down/up in firmware, fix model R firmware initialization
2022-07-26 15:09:43 +02:00
tychovrahe
c33f92bd72
feat(core): add RGB LED driver for Model R
2022-06-22 09:28:31 +02:00
Ondrej Mikle
7b7318c3aa
feat(core/boardloader): add fixed-address boardloader capablities field
2022-06-13 18:18:25 +02:00
Martin Novak
2663801108
perf(firmware): do not initialize touch controller in firmware
2022-06-02 10:30:53 +02:00
Ondrej Mikle
c563c987e1
feat(core): jump back and stay in bootloader for TT via reverse SVC call trampoline
2022-06-01 14:50:59 +02:00
tychovrahe
f7a3aad9bd
feat(core): initial Model R display implementation with framebuffer
2022-05-10 16:49:23 +02:00
grdddj
12da7f301d
feat(core): allow for model R in firmware build
...
As model R will run on the same computational hardware as model T,
memory_R.ld is just a symbolic link to memory_T.ld.
[no changelog]
2022-05-06 11:44:52 +02:00
TychoVrahe
7912a7d0d3
build(core,storage): fix conditional compilation for different Trezor models
...
* build(core,storage) - Fix conditional compilation for different trezor models
* build(core) - Rename MODEL_* macro to TREZOR_MODEL_*, remove the original TREZOR_MODEL macro (replaced by conditional compilation for QSTR generation)
* build(core) - fixed missing TREZOR_MODEL to TREZOR_MODEL_x changes
[no changelog]
2022-04-26 13:47:40 +02:00
Ondřej Vejpustek
ad38d8e324
refactor(crypto,core): make zkp_context_init() return status
2021-11-18 19:05:40 +01:00