Pavol Rusnak
5e476b856e
unix: implement sdcard, add unit test
2017-12-15 01:00:00 +01:00
Pavol Rusnak
48ef409fdb
modtrezorio: remove mocks
2017-12-15 00:06:09 +01:00
Pavol Rusnak
b4933f969e
bootloader: don't downgrade firmware below fix_version in the current firmware
2017-12-14 21:58:32 +01:00
Pavol Rusnak
965aa73b63
trezorhal: introduce fix_version in image header (version of last critical bugfix)
2017-12-14 21:29:13 +01:00
Pavol Rusnak
e8f70ed4af
pin: implement graphics pin timeout
2017-12-14 19:01:41 +01:00
Jochen Hoenicke
87f7054e46
Added callback for PIN timeout
...
When PIN is entered or changed and their were failed tries the function
waits for time (exponential slow down). For every second it waits, it
now calls back into python to give it the chance to show a message.
GUI still needs to be implemented
2017-12-14 17:19:51 +01:00
Jochen Hoenicke
9f2bbb0e1a
Removed references to pin fail area
2017-12-14 17:18:45 +01:00
Jochen Hoenicke
497021f2ef
storage: New pin fail section inside NORCOW
...
Added a function to update NORCOW data.
Changed storage pin fail logic.
2017-12-14 17:18:45 +01:00
Pavol Rusnak
b7444ac13e
modtrezorconfig: fix wipe error
2017-12-14 16:27:18 +01:00
Pavol Rusnak
2f719526e7
bootloader: implement vendor keys lock
2017-12-13 23:08:15 +01:00
Pavol Rusnak
45c290d24c
trezorhal: introduce vendor_keys_hash, use it in compare_to_current_vendor_header
2017-12-13 22:50:48 +01:00
Pavol Rusnak
70ac202d7a
modtrezorcrypto: add trezor.crypto.hashlib.blake256
2017-12-13 20:47:12 +01:00
Pavol Rusnak
34322d5fb6
firmware: enable stack protector (except nlr stuff)
2017-12-13 02:06:22 +01:00
Pavol Rusnak
1aba175d7d
build: adapt to new trezor-crypto changes
2017-12-12 22:00:15 +01:00
Pavol Rusnak
7b9fcf98ae
drop embed/extmod/modtrezorcrypto/trezor-crypto symlink
2017-12-12 20:31:03 +01:00
Jochen Hoenicke
816bfe387f
Bug fix: missing parenthesis in flash_write_word
2017-12-12 00:01:49 +01:00
Pavol Rusnak
20a1326ebb
storage: fix typo
2017-12-11 23:11:43 +01:00
Pavol Rusnak
ce3eaba925
trezorhal: use static inline instead of static (gcc 7.2 workaround)
2017-12-11 22:34:45 +01:00
Pavol Rusnak
8a8450d6be
fix build for older compilers
2017-12-09 18:18:42 +01:00
Pavol Rusnak
e268aeb8b7
flash: simplify/unify flash_erase_sectors usage
2017-12-09 18:00:37 +01:00
Pavol Rusnak
6ab0f03ec4
embed: norcow_init, storage_init and flash_init don't return secbool, they halt using ensure if something goes wrong
2017-12-09 14:48:49 +01:00
Pavol Rusnak
6b94fd26e4
boardloader: rename reset_flags_init to reset_flags_check
2017-12-09 14:36:02 +01:00
Jan Pochyla
314e6a99c1
modtrezorcrypto/bip32: add HDNode.__init__
2017-12-08 17:25:28 +01:00
Pavol Rusnak
626a8885ce
trezor.config: add compaction test
2017-12-08 16:46:13 +01:00
Pavol Rusnak
b39b4a4947
norcow: fix bug
2017-12-08 16:17:58 +01:00
Pavol Rusnak
7f5192701f
unix: use mmap to access flash file
2017-12-08 14:18:15 +01:00
Pavol Rusnak
44a11fa3ef
norcow: introduce NORCOW_MAGIC
2017-12-08 13:42:17 +01:00
Pavol Rusnak
38e3088325
common: don't expose shutdown() via common.h
2017-12-08 12:42:43 +01:00
Pavol Rusnak
f88080b904
Merge branch 'pin_fails'
2017-12-07 15:29:47 +01:00
Pavol Rusnak
40104822e8
unix: make SDL failures fatal
2017-12-07 12:44:38 +01:00
Pavol Rusnak
04d980f8f0
add Features.model field (set to "T")
2017-12-04 22:40:42 +01:00
Jan Pochyla
8b85078730
reflash: add new firmware target
...
Flashes (unlocked) boardloader and bootloader from pre-compiled sdcard image.
2017-11-28 20:59:32 +01:00
Jan Pochyla
09af312789
prodtest: add BORDER command
2017-11-27 13:19:22 +01:00
Pavol Rusnak
679d024df0
display: use CMD2EN: Command 2 Enable
2017-11-22 19:31:58 +01:00
mcudev
6179edde90
touch: reset and usage updates
2017-11-21 10:22:16 -05:00
mcudev
5556c37f6f
display: hardware reset updates
2017-11-21 10:22:16 -05:00
mcudev
61ff3b46c5
display: ST7789V porch settings are for RGB interface, not parallel 8080-I
2017-11-21 10:22:16 -05:00
mcudev
30829b281c
display: ST7789V remove commands that unnecessarily set default values again
2017-11-21 10:22:16 -05:00
mcudev
e62fa345c8
display: minor ILI9341 updates
2017-11-21 10:22:16 -05:00
mcudev
a0129e7715
display: orientation, windowing, and config updates
2017-11-21 10:22:16 -05:00
mcudev
f53ec3f928
display: update display_unsleep
2017-11-21 10:22:16 -05:00
mcudev
5e867cc092
display: update display_sleep
2017-11-21 10:22:16 -05:00
mcudev
2ea5d102a8
bootloader, firmware: remove unneeded call to display_orientation
2017-11-21 10:22:08 -05:00
Pavol Rusnak
4002ef2a49
firmware, unix: return cpython compatibility (needed for __class__ and __dict__)
2017-11-21 15:35:46 +01:00
Pavol Rusnak
ec6c3c2cdc
unix, firmware: more cleanup
2017-11-21 15:11:35 +01:00
Pavol Rusnak
d4893add54
firmware, unix: turn off some modules
2017-11-20 17:29:24 +01:00
Jan Pochyla
5bd39c70b0
storage: fix change_pin and small details
2017-11-08 18:08:19 +01:00
Jan Pochyla
cf14717d43
unix: add shutdown()
...
As sys/socket.h defines shutdown also, we can't include common.h in unix mocks.
2017-11-08 18:07:33 +01:00
Pavol Rusnak
879a3e85bd
trezorhal: reorder stuff in common.{c,h}; remove unnecessary externs for functions
2017-11-07 20:44:30 +01:00
Pavol Rusnak
d9574bf131
trezorhal: enable BOR level 3, PVD level 5, turn off display in PVD handler
2017-11-07 18:06:42 +01:00
Pavol Rusnak
e4360a7296
bootloader: change upgrade criteria to vendor keyset comparison
2017-11-07 13:46:18 +01:00
Jan Pochyla
237740de9c
storage: implement change_pin
2017-11-06 17:47:05 +01:00
Jan Pochyla
5e643e9195
modtrezorconfig: fix has_pin
2017-11-06 17:26:25 +01:00
Jan Pochyla
df77e74988
storage: fix unlock
2017-11-06 17:26:13 +01:00
Pavol Rusnak
3636a5f1b1
bootloader/vendorheader: vtrust is bitmap not scalar
2017-11-06 16:31:09 +01:00
Pavol Rusnak
5444410e04
unix: use return value from fread properly
2017-11-06 15:44:35 +01:00
mcudev
430900ea2c
boardloader: ensure check_sdcard fails when read fails
2017-11-06 14:36:56 +01:00
Pavol Rusnak
2e3b8336c2
unix: fix unused-result warning
2017-11-06 11:12:43 +01:00
Pavol Rusnak
ee7d260d2f
trezorhal: use const where possible for flash
2017-11-05 23:51:10 +01:00
Pavol Rusnak
30363305f4
modtrezorconfig: use secbool, not bool
2017-11-05 23:32:32 +01:00
Jan Pochyla
1f6cc70480
flash: remove flash_set_option_bytes
2017-11-05 21:00:38 +01:00
Jan Pochyla
0376ff7f48
storage, norcow: use secbool
2017-11-05 20:46:59 +01:00
Jan Pochyla
662cfc1b2c
unix/flash: use secbool
2017-11-05 20:46:59 +01:00
Jan Pochyla
418f035811
storage: add has_pin and change_pin
...
TODO: finish change_pin
2017-11-05 20:46:59 +01:00
Jan Pochyla
c2ec40bebf
flash: flash_init returns bool
2017-11-05 20:46:58 +01:00
Jan Pochyla
353883e0f3
storage: rename constant
2017-11-05 20:46:11 +01:00
Jan Pochyla
b6ba95625c
norcow: port on top of flash.c, remove config
2017-11-05 20:46:11 +01:00
Jan Pochyla
27bfcfe1af
norcow: import into tree
2017-11-05 20:46:11 +01:00
Jan Pochyla
d4443a4f7f
unix/flash: start with 0xff
2017-11-05 20:46:11 +01:00
Jan Pochyla
12708b4987
unix/flash: default FLASH_FILE
2017-11-05 20:46:11 +01:00
Jan Pochyla
c78babdc12
flash: add flash_get_address
2017-11-05 20:46:11 +01:00
Jan Pochyla
f07b4dda0b
modtrezorconfig: extract pin & unlocking to storage.c
2017-11-05 20:46:11 +01:00
Jan Pochyla
fdc2f6a39d
modtrezorconfig: use new flash API
2017-11-05 20:46:11 +01:00
Jan Pochyla
543e8c5007
flash: add unix/flash.c
2017-11-05 20:46:11 +01:00
Jan Pochyla
4cabe40220
storage: pin checking in c proof of concept
...
TODO: move out of modtrezorconfig
TODO: flash unix mock
2017-11-05 20:46:11 +01:00
mcudev
2ebd2b1b6b
jump_to: clear out before the next stage NMI exception handler can run
2017-11-05 19:37:05 +01:00
mcudev
ffc16a98b5
rng: header cleanup, loop codestyle
2017-11-05 19:37:05 +01:00
mcudev
cc9aa8c197
cleanup: do not use reserved identifiers for header guards
2017-11-05 19:37:05 +01:00
Pavol Rusnak
77cc62644d
firmware: don't return CYCCNT contents as it is always zero anyway (cycle counter is disabled)
2017-11-05 18:02:47 +01:00
Pavol Rusnak
8190e0909e
boardloader: set BOR level to 2
2017-11-05 16:42:20 +01:00
mcudev
1737f17f43
boardloader: flash option bytes, production changes
2017-11-05 16:42:20 +01:00
mcudev
15bdc59b46
touch: reset touch panel
2017-11-05 16:20:37 +01:00
mcudev
d9a64fbb6a
touch: app note related updates and exit loop upon detection
2017-11-05 16:20:37 +01:00
mcudev
2ae1c99b06
touch: address simplification
2017-11-05 16:20:37 +01:00
mcudev
6aeccd5ee1
touch: make i2c_handle static and trivial simplification
2017-11-05 16:20:37 +01:00
mcudev
d1ed02fb98
touch: use full 12-bit X and Y values
2017-11-05 16:20:37 +01:00
mcudev
edd95d9b65
secbool: add unsigned literal suffixes
2017-11-03 19:38:18 +01:00
mcudev
7e01a733a3
shutdown: reorder operations
2017-11-03 19:33:15 +01:00
mcudev
5be5e19f99
clear_otg_hs_memory: remove unpredictable write
2017-11-03 19:33:15 +01:00
Jan Pochyla
c632f9450f
trezorhal: add spread spectrum clock
2017-10-31 11:49:18 +01:00
Jan Pochyla
6213974b6e
prodtest: emulate python impl in OTP READ
2017-10-30 14:08:56 +01:00
Pavol Rusnak
7d0a12c29e
unix: fix build
2017-10-29 23:26:44 +01:00
Pavol Rusnak
311a28242b
boardloader: fix production build, disable reset_flags_init for now
2017-10-29 21:12:40 +01:00
Pavol Rusnak
16f657361c
boardloader: disable BOR protection; fix setting OB flags
2017-10-29 18:07:05 +01:00
Pavol Rusnak
a08f18c2ce
boardloader: use PVD level 4
2017-10-29 17:58:33 +01:00
Pavol Rusnak
30ddb53c11
prodtest: fix calls to sdcard functions
2017-10-29 17:51:16 +01:00
Pavol Rusnak
6738796d8b
trezorhal: call shutdown in default_handler
2017-10-29 17:50:50 +01:00
Pavol Rusnak
69c17dae9b
trezorhal: use uint32_t* for sdcard_{read,write}_blocks
2017-10-29 16:34:09 +01:00
Pavol Rusnak
fa802e9353
boardloader: fix test for existence of bootloader on sd card
2017-10-29 16:23:25 +01:00
Pavol Rusnak
a56da7d7ed
prodtest: fix sdcard test
2017-10-29 15:07:34 +01:00
Pavol Rusnak
5d6d342813
bootloader: erase storage on vendor change
2017-10-27 18:45:33 +02:00
Jan Pochyla
836508657d
prodtest: style
2017-10-27 17:26:14 +02:00
Pavol Rusnak
3851404d04
small cosmetic changes to prodtest and others
2017-10-27 06:01:22 +02:00
Pavol Rusnak
d0e81edc8f
bootloader: check chunk hash before flashing
2017-10-27 05:09:35 +02:00
Pavol Rusnak
36143033c4
bootloader: check vendor header / image header before flashing
2017-10-27 04:49:59 +02:00
Pavol Rusnak
9690f1abdf
bootloader: load chunk into memory first, then save it to flash
2017-10-27 04:20:03 +02:00
Pavol Rusnak
4d36d0e1c1
trezorhal: use sectrue where possible
2017-10-27 03:58:00 +02:00
Pavol Rusnak
efa918a2f9
prodtest: code cleanup, fix build
2017-10-27 01:00:39 +02:00
Jan Pochyla
905e0bc82a
prodtest: codestyle, touch, fixes
2017-10-26 23:55:15 +02:00
Jan Pochyla
51d00e1de7
trezorhal/usb: add Inf timeout to blocking fns
2017-10-26 23:55:14 +02:00
Jan Pochyla
9cb342fcb6
prodtest: implement commands
2017-10-26 23:55:14 +02:00
Jan Pochyla
95965c3ff7
prodtest: add new target
2017-10-26 23:55:13 +02:00
Pavol Rusnak
f73eb3effd
trezorhal: introduce secbool/sectrue/secfalse and use it where possible
2017-10-26 23:51:39 +02:00
Pavol Rusnak
7ddfdf69d6
trezorhal: support for non-continous areas in check_image_contents
2017-10-26 19:09:53 +02:00
Pavol Rusnak
89cc35b195
trezorhal: fix hash offset in check_image_contents
2017-10-26 18:53:20 +02:00
Pavol Rusnak
7c891e19e5
boardloader, bootloader: check image contents against hashes in the header
2017-10-26 17:16:59 +02:00
Pavol Rusnak
b4ff9deb6b
bootloader: better wording
2017-10-26 15:56:57 +02:00
Pavol Rusnak
63636be0a3
trezorhal: rework header checking to new format
2017-10-26 15:54:02 +02:00
Pavol Rusnak
9e82a4d348
bootloader, firmware: introduce chunk hashes in the image header
2017-10-26 14:25:10 +02:00
Pavol Rusnak
3c974095aa
trezorhal: increase image header size from 512 to 1024 bytes
2017-10-26 02:11:40 +02:00
Pavol Rusnak
0c6ee14ee1
trezorhal: move image related defines to image.h
2017-10-26 01:17:57 +02:00
Pavol Rusnak
28aca51bc8
firmware: sign just the firmware part, not vendor header
2017-10-26 00:09:21 +02:00
Pavol Rusnak
e4003700cd
bootloader, firmware: update visuals
2017-10-25 15:20:06 +02:00
Pavol Rusnak
8bd258db6f
trezorhal: added calls to USBD_LL_FlushEP in deinit functions
2017-10-24 19:19:57 +02:00
Pavol Rusnak
9e31e0f4d4
bootloader: stop/deinit usb for unplug events as well
2017-10-24 18:48:01 +02:00
mcudev
b922579173
bootloader: cleanup usb on firmware upload success before jumping to firmware ( #68 )
2017-10-24 18:45:02 +02:00
Pavol Rusnak
d2ecae71d7
trezorhal: return position of last touch event from touch_click
2017-10-24 17:59:25 +02:00
Pavol Rusnak
6e51ee251f
bootloader+firmware: call shutdown instead of inf-loop after main is finished
2017-10-24 17:23:06 +02:00
mcudev
abf7f822b8
boardloader: do not call shutdown directly, return and the startup code handles it
2017-10-24 17:17:20 +02:00
mcudev
041dd951d3
boardloader: do not use ensure before display_init, just return
2017-10-24 17:17:20 +02:00
mcudev
1f6edb448c
boardloader: check reset flags for production
2017-10-24 17:17:20 +02:00
mcudev
3f58a771b4
boardloader: stop clearing standby flag
2017-10-24 17:17:20 +02:00
mcudev
b1eea5a434
boardloader: enable PVD programmable voltage detector and interrupt
2017-10-24 17:17:20 +02:00
Jan Pochyla
f93316bebd
cleanup .gitignore files
2017-10-24 16:24:59 +02:00
Pavol Rusnak
6b9751d30d
trezorhal: cleanup usb api
2017-10-20 18:51:05 +02:00
Pavol Rusnak
4f041e9f3a
trezorhal: update sdcard api
2017-10-20 18:13:17 +02:00
Pavol Rusnak
3033762618
trezorhal: make touch_init and usb_init return void, use ensure inside
2017-10-20 17:18:55 +02:00
Pavol Rusnak
5f256ce0b0
bootloader: show DOM QR code on welcome screen
2017-10-20 16:07:42 +02:00
Pavol Rusnak
b544fd3f81
bootloader: fix usb_init_all api
2017-10-20 16:03:51 +02:00
Pavol Rusnak
79fe9162b5
trezorhal: simplify api for init functions, use bool and void rather than int
2017-10-20 15:25:24 +02:00
Pavol Rusnak
b51ca0a16e
trezorhal: remove extra comment
2017-10-20 14:56:15 +02:00
Pavol Rusnak
21fac2e2c3
boardloader: don't erase sectors in flash_set_option_bytes for now
2017-10-20 14:42:51 +02:00
mcudev
d6ae912703
boardloader: flash option bytes updates
2017-10-20 14:41:01 +02:00
mcudev
fc7b1cfe81
flash_init: remove empty function from all stages
2017-10-20 14:41:01 +02:00
mcudev
167d476fff
image_parse_header: remove undefined behavior and other updates ( #61 )
...
boardloader: bootloader: remove undefined behavior in header parsing, code cleanup
2017-10-19 18:45:57 +02:00
mcudev
a0286bcc29
build: further cleanup common symbols ( #63 )
2017-10-19 15:27:15 +02:00
Pavol Rusnak
749b80ba03
bootloader: fix touch detection at start
2017-10-18 17:18:58 +02:00
mcudev
ee7e6134a2
bootloader, firmware: do not need touch interrupt handlers or to enable touch interrupts ( #59 )
2017-10-18 16:54:03 +02:00
mcudev
73897c1147
boardloader: remove micropython related code that enables debug features to get clock cycle counts ( #58 )
2017-10-17 18:29:51 +02:00
Pavol Rusnak
e10d40f846
bootloader: restart into firmware after update, don't shutdown
2017-10-17 18:29:03 +02:00