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

157 Commits

Author SHA1 Message Date
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
matejcik
6e0937c1ce chore(core/bootloader): bump version after release 2023-09-07 11:32:48 +02:00
matejcik
965d3182a0 docs(core/bootloader): generate changelog for 2.1.2 2023-09-07 11:32:48 +02:00
tychovrahe
6d9e4321fd feat(core): add install restricted screen on installation with locked bootloader
[no changelog]
2023-08-25 14:41:59 +02:00
matejcik
7cf3a655e5 docs(core/bootloader): add changelog entry 2023-08-18 16:13:58 +02:00
matejcik
c0fd783b06 feat(core/bootloader): always use empty logo
Now that the empty logo also shows model name, we do not need to draw
the full logo in bootloader at all.
2023-08-18 16:13:58 +02:00
tychovrahe
90bdab6599 fix(core): fixed unwanted delays in T2B1
[no changelog]
2023-08-18 16:13:58 +02:00
tychovrahe
17f13b4140 feat(core): design for T2B1 "unsafe, do not use" screen
[no changelog]
2023-08-15 22:08:11 +02:00
tychovrahe
b369e3f4a7 feat(core): enable seamless build of bootloader using devkeys
[no changelog]
2023-08-15 09:37:38 +02:00
tychovrahe
e8281385f6 feat(core): implement secret handling in bootloader 2023-08-15 09:37:38 +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
da4ce32b45 fix(core): fix gamma correction for Model T 2023-06-20 10:58:09 +02:00
Pavol Rusnak
089ff76822
Merge branch 'matejcik/signed-vhs' 2023-06-15 22:41:12 +02:00
tychovrahe
d3284baf21 feat(core): support STM32F429 discovery board 2023-06-15 17:08:14 +02:00
matejcik
ef079f35e5 chore(core/bootloader): generate changelog and bump bootloader version 2023-06-14 11:42:12 +02:00
tychovrahe
8d812ca36e feat(core): support device variants
[no changelog]
2023-06-07 19:48:53 +02:00
tychovrahe
531511407b feat(core/rust): add bootloader design for T2B1
[no changelog]
2023-06-06 17:49:53 +02:00
tychovrahe
a2f8cb9d1c feat(core): add internal model field to features
[no changelog]
2023-06-06 09:39:45 +02:00
matejcik
45c1a4212d chore(core): add T2B1 keys to bootloader / boardloader 2023-06-02 14:48:59 +02:00
tychovrahe
0a8981d643 refactor(core): rewrite display_image into rust
[no changelog]
2023-04-25 10:28:33 +02:00
tychovrahe
33fb590f44 refactor(core): decouple i2c driver and touch driver
[no changelog]
2023-04-19 21:36:51 +02:00
matejcik
dd4d020a76 fix(core/bootloader): correctly handle images smaller than one chunk 2023-04-14 16:20:49 +02:00
Martin Milata
46940521d8 chore(core/bootloader): bump version to 2.1.1
[skip_ci]
2023-04-09 12:37:18 +02:00
matejcik
bd491bb2da docs(core/bootloader): changelog for bootloader 2.1.0 2023-04-03 22:01:26 +02:00
matejcik
ca5a68ebc5 fix(core): unify error strings 2023-04-03 22:01:26 +02:00
matejcik
a2f7d8395f fix(core/bootloader): erase the storage as soon as we know we should
This fixes a problem that would previously cause the storage to be
erased every time.
2023-04-03 22:01:26 +02:00
matejcik
ba112e6290 feat(core/bootloader): show whether the storage was erased in emu 2023-04-03 22:01:26 +02:00
matejcik
7638694484 chore: make fields on FirmwareRequest required (fixes #1941)
[no changelog]
2023-04-03 22:01:26 +02:00
matejcik
63c27bafd6 fix(core/bootloader): properly display upgrade/downgrade 2023-04-03 22:01:26 +02:00
matejcik
c3af3eafe2 refactor(core/bootloader): get rid of Paragraphs
for a ~10kB space saving
2023-04-03 22:01:26 +02:00
matejcik
14f0fba949 feat(core/bootloader): tweak initial screens
* do not wait for user touch when we know we are going to the welcome
  screen
* do not fade before the Trezor Model T screen
2023-04-03 22:01:26 +02:00
matejcik
6d434122f7 feat(core/bootloader): emulator can now show custom error screens 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
matejcik
288cd11b2a refactor(core/bootloader): inline "wait for click" into ui_screen_boot_click 2023-04-03 22:01:26 +02:00
tychovrahe
7e96b96d00 feat(core/bootloader): remove different logo color when firmware present 2023-04-03 22:01:26 +02:00
matejcik
ae9960ca61 feat(core): introduce bootloader emulator 2023-04-03 22:01:26 +02:00
tychovrahe
9b8984896e refactor(core): unify error screens
[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
2537436211 feat(core): update bootloader style
[no changelog]
2023-04-03 22:01:26 +02:00
grdddj
d8cad1f4a9 chore(core): bump bootloader version to 2.1.0
[no changelog]
2023-03-28 15:34:06 +02:00
tychovrahe
3f54b84aef fix(core/bootloader): fix retries when reading from USB 2023-03-22 15:09:39 +01:00
tychovrahe
5a991f3244 feat(core/rust): bootloader implementation in rust 2023-03-09 16:14:36 +01:00
tychovrahe
3b23621bea feat(core): modify bootloader linkerscript to support 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
461f566777 fix(core/bootloader): fix detection of installed firmware
[no changelog]
2023-01-26 11:56:08 +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
4c7060186a fix(core): fix display blinking by increasing backlight pwm frequency 2022-11-24 13:22:30 +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
fb08536b6a feat(core): icon and images using new format 2022-09-29 21:50:10 +02: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
6cf92fd748 feat(core): Introduce stack overflow detection by moving stack to the start of RAM 2022-08-16 17:03:06 +02:00
tychovrahe
f538547d5b feat(core): optimize touch controller communication 2022-08-08 15:52:26 +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
60db3e3e52 fix(core/bootloader): do not wait for touch if we know we are staying in bootloader 2022-06-01 14:50:59 +02:00
Ondrej Mikle
49462dc283 chore(core/bootloader): bump over unreleased version 2022-06-01 14:50:59 +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
58041036f5 feat(core): set colors for monochromatic displays 2022-05-10 16:49:23 +02:00
tychovrahe
f7a3aad9bd feat(core): initial Model R display implementation with framebuffer 2022-05-10 16:49:23 +02:00
tychovrahe
936c84bac6 feat(core): added button support for Model R 2022-05-10 16:49:23 +02:00
Pavol Rusnak
b0e0280465 chore: drop obsolete fw_vendor_keys field from Features
[no changelog]
2022-01-03 14:23:58 +01:00
Pavol Rusnak
35d40cc164 fix(core): change logic of vendor header comparison
Previously we checked whether the current vendor header and
the new vendor header are the same by comparing the embedded keyset.

What originally looked like a good idea is not that good, because
this disallows us from ever changing the vendor header signing keys
without causing erasure of the storage during the version update.

This commit fixes that by changing the logic to comparing just the
vendor string.

Change of function names is purely cosmetic:
* vendor_keys_hash -> vendor_header_hash
* check_vendor_keys_lock -> check_vendor_header_lock
2022-01-03 14:23:58 +01:00
Ondrej Mikle
a85d2483ff chore(legacy & core): changelogs added 2021-09-27 15:42:29 +02:00
Ondrej Mikle
6ea4b7b211 fix(core & legacy): better styled compiler checks 2021-09-27 15:42:29 +02:00
Ondrej Mikle
6b849b1d4d fix(core & legacy): avoid accidental build with broken stack protector 2021-09-27 15:42:29 +02:00
Martin Milata
412d06fdfe docs(core+legacy): use towncrier for generating CHANGELOG.md
core/embed/boardloader/CHANGELOG.md
core/embed/bootloader/CHANGELOG.md
core/embed/bootloader_ci/CHANGELOG.md
legacy/intermediate_fw/CHANGELOG.md
2021-07-21 14:27:20 +02:00
Pavol Rusnak
d35071d732 docs(core+legacy): update changelogs to new format 2021-07-21 14:27:20 +02:00
Pavol Rusnak
3d69ca1b1b chore(vendor): update nanopb to 0.4.5 2021-07-14 17:34:12 +02:00
Ondřej Vejpustek
cca9d4b1c4 refactor(core): rename shutdown to shutdown_privileged 2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
6fd4739c5c feat(core): make random delays use chacha_drbg 2021-05-21 13:42:53 +02:00
Pavol Rusnak
e7966cc804
refactor(core): rework color definitions in bootloader 2021-03-10 18:33:00 +01:00
Pavol Rusnak
1e2bb337a9
refactor(core): drop buttons argument for ui_screen_firmware_info 2021-03-10 17:42:52 +01:00
Pavol Rusnak
814db111b2
feat(core): add define to invert display colors on ST7789V 2021-03-10 16:06:18 +01:00
Pavol Rusnak
ebfd51d818
fix(core): stay_in_bootloader should default to false, not true 2021-03-06 20:09:56 +01:00
Martin Milata
7c1d72c254 style(core): fix bootloader formatting 2021-03-04 19:21:56 +01:00
Pavol Rusnak
5dd3d73d00
fix(core): remove unused stuff from bootloader_ci
plus minor ui function renames
2021-03-04 17:01:01 +01:00
Ondrej Mikle
a4ba24645b
feat(core): remove connect to host dialog in the bootloader 2021-03-04 16:34:30 +01:00
Pavol Rusnak
2dc094bd3e
fix(core): small secbool refactors 2021-03-04 11:59:38 +01:00
Pavol Rusnak
f46380147f fix(core): update sync protobuf messages in bootloader 2021-02-10 10:56:52 +01:00
Pavol Rusnak
93215ae3c7 style: reformat with clang-format 11 2021-01-04 14:40:16 +01:00
Pavol Rusnak
b9c0b3969b
legacy+core: unify error codes in bootloaders (#1347) 2020-11-18 11:21:57 +01:00
Pavol Rusnak
649e31cef0 chore(core/bootloader): regenerate messages with nanopb 0.4.3 2020-09-24 10:52:31 +02:00
Pavol Rusnak
8dacad0782
core/bootloader: update protobuf definitions 2020-07-26 00:00:37 +02:00
Tomas Susanka
f8b2f0bb7b changelogs: change also bootloader changelogs to the new format 2020-06-11 15:48:38 +00:00
Pavol Rusnak
336a417233 core/bootloader: distinguish between a vendor change and downgrade with wipe 2020-03-25 15:15:12 +01:00
Ondrej Mikle
634ed5aabc
core: commands for flashing via JLink (#911) 2020-03-23 10:40:06 +01:00
Pavol Rusnak
dc66bbe3d5
core/bootloader: split long vendor string 2020-02-19 21:40:28 +00:00
Pavol Rusnak
c4babd3c0b
Merge pull request #846 from trezor/bootloader-read-retry
core/bootloader: make read more benevolent and read error more helpful
2020-02-19 19:45:34 +01:00
Pavol Rusnak
581e46ff87
Merge pull request #845 from trezor/prusnak/webusb-popup
Don't show WebUSB popup in firmware, in bootloader only if no firmware present
2020-02-19 18:18:01 +01:00
Pavol Rusnak
63dfd6c6ab
core/bootloader: make read more benevolent and read error more helpful 2020-02-12 22:05:29 +01:00
Pavol Rusnak
07cd73ce57
core: show webusb popup only in bootloader and only if firmware is not installed 2020-02-12 20:47:05 +00:00
Tomas Susanka
a02d7e3daf core/bootloader: request vendor header first 2020-02-06 12:22:32 +00:00
Pavol Rusnak
6dbed1424f
core+legacy: update nanopb api to version 0.4 2020-02-04 17:18:27 +00:00
Pavol Rusnak
3eb7775659
core/bootloader: regenerate protobuf messages 2020-02-04 17:18:17 +00:00
Pavol Rusnak
4647e7d686
core+legacy: use nanopb generator from pipenv 2020-02-04 17:15:25 +00:00
Pavol Rusnak
5fe2f7e59c common/protob: remove ButtonRequest.data field 2019-10-24 11:11:43 +02:00
Pavol Rusnak
324cb651c6
core+legacy: update bootloader ChangeLogs 2019-08-30 16:15:04 +02:00