1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-15 10:58:09 +00:00
Commit Graph

154 Commits

Author SHA1 Message Date
cepetr
1443f86983 feat(core/embed): introduce systick and systimer drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
4312c08612 refactor(core/embed): extract hw entropy logic to its own module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33c2bcbe52 refactor(core/embed): simplify ensure_compatible_settings
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
c1864a2a91 refactor(core): enclose monotonic counter to platform specific module
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
c7eabe3088 fix(core): update display initialization sequence on T3T1
[no changelog]
2024-08-28 11:03:20 +02:00
tychovrahe
c42c268e05 fix(core): fix dma2d includes and initialization with respect to new rendering
[no changelog]
2024-08-07 18:11:29 +02:00
tychovrahe
7307c47b94 chore(core): support new rendering on T3B1
[no changelog]
2024-08-01 16:17:12 +02:00
tychovrahe
1212a7319a fix(core): T3T1: adjust touch coordinates 2024-07-25 12:37:21 +03:00
tychovrahe
78b4017859 feat(core): add support for T3B1 2024-07-16 15:56:28 +02:00
Andrew Kozlik
9420b38a35 feat(core): Account for Optiga throttling delay in PIN countdown. 2024-07-09 16:52:50 +02:00
tychovrahe
3bc9e23260 feat(core): add support for 32bit colors in UI
[no changelog]
2024-07-09 11:44:21 +02:00
matejcik
8a3133bacc fix(core): include valid staging certificate for T3T1 emulator 2024-06-25 13:35:16 +02:00
cepetr
3460c4b891 refactor(core/embed): prepare touch drivers for low power mode
[no changelog]
2024-06-19 14:03:38 +02:00
cepetr
baff1691a0 feat(core/embed): prepare usb driver for low power mode
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
0bc1d1f706 refactor(core/embed): refactor usb driver
[no changelog]
2024-06-19 11:48:06 +02:00
cepetr
8e429b0352 refactor(core/embed): move usb driver to its own folder
[no changelog]
2024-06-19 11:48:06 +02:00
Martin Milata
2ba42d716e feat(core): init T3T1 UI layouts: meta 2024-05-31 11:59:52 +00:00
matejcik
44a6696f24 build(core): improve model detection
instead of MODEL_IS_T2B1, we now catch INTERNAL_MODEL == Txyz

this is still not perfect because it can't detect 'in'/'not in', which
sucks but what can we do
2024-05-24 13:53:05 +02:00
tychovrahe
76e98ecc3d fix(core): fix DISC2 build
[no changelog]
2024-05-21 19:01:31 +02:00
tychovrahe
ffe1ac7d7e fix(core): use DISPLAY_RGB565 macro consistently
[no changelog]
2024-05-21 19:01:31 +02:00
tychovrahe
9166dc330e refactor(core): reorganize model-specific files in embed/models
[no changelog]
2024-05-21 19:01:31 +02:00
tychovrahe
0b5e8ed480 refactor(core): introduce emulator boards
[no changelog]
2024-05-21 19:01:31 +02:00
tychovrahe
e6f2fa711e refactor(core): reorganize model specific files in site-scons
[no changelog]
2024-05-21 19:01:31 +02:00
cepetr
3336e3902f feat(core): introduce new display drivers
[no changelog]
2024-05-17 09:17:37 +02:00
Ondřej Vejpustek
ccb242ee1c chore(core): introduce THP flag
[no changelog]
2024-05-10 20:05:37 +02:00
obrusvit
c448a7bcfc refactor(tools): add gen_upper arg to gen_font
The new option allows generation of font glyph definition where both
lowercase and uppercase letters are mapped to uppercase glyphs.

[no changelog]
2024-05-08 22:46:58 +02:00
tychovrahe
ea1c32f90e fix(core/rust): fix bindgen macros generation
[no changelog]
2024-04-26 13:36:58 +02:00
tychovrahe
d349c44a58 refactor(core): generate macros for rust bindgen automatically
[no changelog]
2024-04-25 13:20:07 +02:00
tychovrahe
1600759457 refactor(core): simplify secret.h api, hide platform differences
[no changelog]
2024-04-11 16:13:58 +02:00
tychovrahe
ed6aa48726 feat(core): use confidential section for confidential and sensitive data
[no changelog]
2024-04-05 18:54:30 +02:00
tychovrahe
576ed7e04e chore(core): use SD hal driver from submodule
[no changelog]
2024-04-03 13:08:16 +02:00
tychovrahe
8ccd2cb048 feat(core): add support for T3T1 rev. E HW
[no changelog]
2024-03-05 16:51:23 +01:00
tychovrahe
d69750fae4 refactor(core): do not use framebuffer dma copy in boardloader to safe flash space
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
f08bed363d refactor(core): extract framebuffer copy to separate bg_copy functionality
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
afefc17478 refactor(core): use internal framebuffer on T3T1 (with ST7789V display controller)
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
7c800f183f refactor(core): make translations blob handling HW agnostic
[no changelog]
2024-02-29 23:05:56 +01: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
1ea7ca4149 chore(core): change STM32Cube submodule to separate hal driver and cmsis submodules.
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
653d73ee22 chore(core): optimize flash usage - backlight pwm
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
5e4e398f64 chore(core): optimize flash usage - SD card on U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
ce82f53010 feat(core): support SD card on STM32U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
ea0f3038a0 fix(core): improve cmakelists generation for CMSE
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
5106ac7aa3 feat(core): support optiga handling on U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
a71a608ea7 feat(core): add basic support for T3T1 2024-02-29 23:05:56 +01:00
cepetr
4cf781abb2 chore(core, legacy, storage): refactor flash drivers
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
c4c571d837 chore(core): refactor boot_args
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
353095ae95 feat(core): add support for STM32U5A9J-DK board
[no changelog]
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
cepetr
937b7d34d0 feat(core): add STM32CubeU5 submodule
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8147b11345 fix(core): fix quadword-only storage
[no changelog]
2024-02-20 09:37:28 +01:00
grdddj
b8ea21d24a feat(all): implement translations into Trezor
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01:00
stevenbooke
ed1785a985 fix(core): fix sed script syntax 2024-02-02 13:01:12 +01:00
matejcik
7958061705 build(core): optimize qstr and module collection
Run the preprocessor on each file separately.
This allows parallelization and doesn't need to re-run for all files if just a small number is changed.

Replace simple extractors with one-liners which are generally going to be faster.
2024-02-01 15:50:07 +01:00
tychovrahe
bf2697a619 feat(core): compress embedded bootloader
[no changelog]
2023-11-14 13:25:00 +01:00
Martin Milata
1c69644fe0 build(core): add flag for disabling optiga on debug builds
[skip_ci]
2023-11-14 12:47:22 +01:00
cepetr
ba83a7e644 feat(core): introduce interaction-less upgrade 2023-10-27 16:15:15 +02:00
tychovrahe
df42c99bc9 feat(core): add basic support for efficient frame buffer graphics
[no changelog]
2023-10-10 19:01:43 +02:00
Andrew Kozlik
dee559f4f9 feat(core): Integrate Optiga into PIN verification. 2023-09-27 17:17:09 +02:00
tychovrahe
3c1236bf82 refactor(core): setup single-place layout selection
[no changelog]
2023-09-18 18:05:37 +02:00
grdddj
76c6e9cd9d feat(all): implement support information for T2B1
WIP - change trezor{1,2} to their internal names, add support for model R

WIP - add EOS and NEM features Capability only for TT

WIP - not include EOS and NEM into TR

WIP - choose between device models when generating coininfo

WIP - regenerate coininfo.py

WIP - skip NEM, EOS, Dash, BGold and Decred device tests for TR

WIP - fix python support

WIP - fix unit tests

WIP - import bitcoin-like code only when needed

WIP - remove ignored coins for TR in fixtures.json

WIP - make all the external references to models UPPERCASE

WIP - do the model separation in mako script also for tokens and networks

WIP - hot-fixing non-supporting RELEASES_URL for new model names

WIP - support.py releases CLI command takes a list of -r key-value pairs DEVICE=VERSION

WIP - run `python support.py release`

WIP - use utils.MODEL_IS_T2B1 to ignore NEM and EOS

WIP - change all the docs and commands to have UPPERCASE model names

[no changelog]
2023-09-14 13:54:09 +02:00
Andrew Kozlik
db6630a5a3 feat(core): Support Optiga in Trezor firmware. 2023-09-13 15:45:48 +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
33fc64b629 refactor(core): remove universal DMA driver
[no changelog]
2023-08-29 11:17:03 +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
Martin Milata
4a6420c5dd style(core): discovery.py
[no changelog]
2023-07-18 13:22:45 +02:00
Martin Milata
f9a1592162 build(core): fix DISC1 boardloader build
[no changelog]
2023-07-18 12:01:42 +02:00
grdddj
db9f76df0d chore(style): apply pylint suggestion on site_scons python files
[no changelog]
2023-07-18 10:10:41 +02:00
grdddj
44ff6d42b3 chore(style): apply flake8 findings on site_scons python files
[no changelog]
2023-07-18 10:10:41 +02:00
grdddj
7df3219a7a chore(style): apply black and isort style lints for site_scons python files
[no changelog]
2023-07-18 10:10:41 +02:00
tychovrahe
eca1fc381b refactor(core): rust bindgen mcu-type related arguments are taken from board definition
[no changelog]
2023-07-07 22:09:56 +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
539420cac8 refactor(core): make backlight/fading optional
[no changelog]
2023-06-27 16:18:30 +02:00
tychovrahe
1f1680243f refactor(core): separate backlight pwm driver and display driver
[no changelog]
2023-06-27 16:18:30 +02:00
tychovrahe
da4ce32b45 fix(core): fix gamma correction for Model T 2023-06-20 10:58:09 +02:00
grdddj
f481590bb7 fix(core): support python3.8 for SConscript helpers
[no changelog]
2023-06-19 17:30:00 +02:00
tychovrahe
d3284baf21 feat(core): support STM32F429 discovery board 2023-06-15 17:08:14 +02:00
tychovrahe
8154e5103f refactor(core): make emulated dma2d usable outside of emulator
[no changelog]
2023-06-15 17:08:14 +02:00
grdddj
d031be83e6 chore(core): type and format the site_scons python helpers
[no changelog]
2023-06-14 18:17:09 +02:00
tychovrahe
0c5db05357 feat(core): support 16bit i8080 display bus
[no changelog]
2023-04-27 12:36:12 +02:00
tychovrahe
09349c308a feat(core): support hw revision 6 of T2B1
[no changelog]
2023-04-26 14:15:00 +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
tychovrahe
83500487b8 refactor(core): improve conditional compilations based on model
[no changelog]
2023-04-19 21:36:51 +02:00
tychovrahe
6ea68baf34 refactor(core): move files out of extmod
[no changelog]
2023-04-19 21:36:51 +02:00
matejcik
e5ed9d3df4 build(core): improve path resolution in scons tools
[no changelog]
2023-04-05 16:36:29 +02: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
9748a56a55 chore(core): automatic generation of CMakeLists
[no changelog]
2023-02-02 11:32:37 +01:00
tychovrahe
5ef6c3975d build(core): differentiate build results for different models
[no changelog]
2023-01-20 19:47:12 +01:00
tychovrahe
4603b9ee74 build(core): embed bootloader according to trezor model
[no changelog]
2023-01-20 19:47:12 +01:00
tychovrahe
115f7daaaa feat(core): prevent installing and running of incompatible firmware, prevent bootloader downgrade 2023-01-12 15:38:36 +01:00
tychovrahe
0d733d8e22 feat(core): change display type for model R
[no changelog]
2022-11-24 11:37:52 +01:00
tychovrahe
223d1b20fb refactor(core): change fonts organization 2022-09-29 21:50:10 +02:00
matejcik
bda1fa9912 build(core): exclude all "from typing" imports from build 2022-01-07 21:41:17 +01:00
amadejpapez
85ba7c12ba style(all): use f-strings for formatting
[no changelog]
2021-10-13 11:53:17 +02:00
matejcik
266955ba65 refactor: rework pb2py generator
This also includes the capability to build Rust protobuf blobs.
2021-06-08 09:55:19 +02:00
Jan Pochyla
f526818603 core: remove qstr blacklist
As its no longer needed. Mirrors micropython change a09fd0475.
2020-01-07 20:52:43 +01:00
Pavol Rusnak
b79102008d
core: fix new Python SyntaxWarning (new in 3.8) 2019-10-18 17:59:37 +00:00