Commit Graph

124 Commits

Author SHA1 Message Date
Daniel Lublin
dff768dd3b
Doc UDI lock-down 2022-12-20 12:06:07 +01:00
Daniel Lublin
9b9a125c66
Purge UDA; never implemented, now deprecated
Fixes #58

Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-12-19 14:32:01 +01:00
Joachim Strömbergson
a69b35ffff
Add documentation for the RGB LED
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-12-19 13:22:22 +01:00
Joachim Strömbergson
f09fcfadb8
Rephrase explanation of what the FW is
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-12-19 12:07:57 +01:00
Joachim Strömbergson
8a5a338473
Add documentation for the GPIOs
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-12-19 11:47:12 +01:00
Michael Cardell Widerkrantz
08e1438d1e
fw: Add support for blake2s MMIO
In firmware we store the address to firmware blake2s() function at
TK1_MMIO_TK1_BLAKE2S so app can use this firmware function sort of
like a system call but without context switch.
2022-12-15 12:59:52 +01:00
Michael Cardell Widerkrantz
65bc96a725
fw: Prefix all HTIF console I/O functions with htif_ 2022-12-02 15:09:10 +01:00
Daniel Lublin
49d4735f17
Use TKey name
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-12-02 08:03:06 +01:00
Michael Cardell Widerkrantz
8dca845bc1
Harmonize firmware description
The links to firmware.md disappeared earlier so this change
incorporates some of the the text there in under the Firmware heading
in software.md. Also changes the names of the commands in the state
machine to the same names as in the rest of software.md.

Mention the Zmmul extension and what it means and possible workarounds
for people developing with clang < version 15.
2022-12-02 07:45:53 +01:00
Michael Cardell Widerkrantz
dfdb2809e4
Update release notes
- we have no div, use Zmmul.
- the USS is no longer used if not supplied.

Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-12-02 07:44:05 +01:00
Daniel Lublin
70f5cbf22e
Include QEMU
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-12-01 19:11:42 +01:00
Daniel Lublin
80f518882c
Clarify commonly needed pkgs
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-12-01 19:10:46 +01:00
Daniel Lublin
726bbcd15c
Capitalize consistently
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-11-30 14:23:44 +01:00
Joachim Strömbergson
97c0a2152e
Prepare for new official release, add initial context
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-30 14:12:35 +01:00
Joachim Strömbergson
00ebcb2186 Adding more info about the programmer, updating names to TKey-something
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-30 13:50:46 +01:00
Joachim Strömbergson
dfae0c1d90
Remove (stale) open question, todos
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-29 14:47:27 +01:00
Joachim Strömbergson
e0906a7da5
Add more info about the ROSC TRNG
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-29 14:43:35 +01:00
Joachim Strömbergson
d5aa1b3f1c Add link to SW for API descriptions
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-29 14:21:33 +01:00
Joachim Strömbergson
7d7a7eda23 Add information about the touch sensor core
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-29 14:21:33 +01:00
Joachim Strömbergson
405a18f6fa Update system description to match all changes
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-29 14:21:33 +01:00
Joachim Strömbergson
4915e1d54f Add a lot of content about the application FPGA
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-29 14:21:33 +01:00
Joachim Strömbergson
2233c18511 Add block diagram image
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-29 14:21:33 +01:00
Daniel Lublin
f87e12d1bb
Build with zmmul extension (require clang 15)
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-11-29 13:03:06 +01:00
Daniel Lublin
5435ed723d
Document our little-endian integers as such
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-11-28 16:17:19 +01:00
Michael Cardell Widerkrantz
632e21886d
Update documentation according to new firmware protocol 2022-11-28 16:17:19 +01:00
Michael Cardell Widerkrantz
c80dc53027
fw: Introduce an explicit state machine - changes protocol!
We introduce an explicit state machine (see README).

With the new states we:

- combine setting size and USS to a single command.
- start the device app immediatiely when having receceived the last
  data chunk and returning the digest.
- Loop forever and wait for the stick to be removed if we end up in
  unknown state.

Signed-off-by: Michael Cardell Widerkrantz <mc@tillitis.se>
2022-11-28 16:17:19 +01:00
Daniel Lublin
3435941eab
Remove version suffixes, no longer needed on ubuntu 22.10 (clang 15)
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-11-23 09:47:48 +01:00
Daniel Lublin
b4b5d9add6
toolchain: add explicit llvm; remove libboots-dev dupe
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-11-22 13:43:23 +01:00
Joachim Strömbergson
a15a94fe8e
Move readme:s for boards and firmware to doc subdir
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-11-21 16:27:30 +01:00
Michael Cardell Widerkrantz
254a384181
fw: Clarify and correct doc 2022-11-03 16:25:21 +01:00
Daniel Lublin
a14662c622
Change to max 100 KB app with 28 KB stack 2022-11-02 15:52:29 +01:00
Daniel Lublin
fdda69745e
Add wrapper script that runs reset.py using virtualenv 2022-11-02 15:19:31 +01:00
Matthew Mets
13617c4db4 Add golang to toolchain setup 2022-11-01 13:25:08 +00:00
Daniel Lublin
85ef93cd3c
Clarify switch_app reads and writes; add read test to testfw 2022-10-26 11:38:58 +02:00
Daniel Lublin
4b4f014d38
Rename to TK1 2022-10-26 09:20:02 +02:00
Daniel Lublin
5e80b4ae15
Refer to named bits consistently; say 0/1 instead of unset/set
Clarify touch
2022-10-26 08:34:12 +02:00
Michael Cardell Widerkrantz
e53811ca91
Document FW_RAM and CDI computation 2022-10-26 08:16:41 +02:00
Daniel Lublin
c851b2c0b1
Correct various bits 2022-10-24 15:35:39 +02:00
Daniel Lublin
c4b36429bf
Correct old term 2022-10-24 14:42:30 +02:00
Daniel Lublin
db8f9cf881
Document SRAM==SPRAM; fix whitespace 2022-10-24 11:58:54 +02:00
Daniel Lublin
675fa1087f
Raise bps to 62500 2022-10-21 14:10:41 +02:00
Michael Cardell Widerkrantz
b8f1d4a083
Add make target secret, update quickstart 2022-10-20 17:02:56 +02:00
Daniel Lublin
65f2272a45
Add TRNG to testfw, document 2022-10-20 12:05:19 +02:00
Michael Cardell Widerkrantz
c52f7d52cd
testfw: Add timer tests 2022-10-20 11:34:01 +02:00
Joachim Strömbergson
2531832683
Fix spelling and clarify programming board FW update procedure 2022-10-19 15:59:42 +02:00
Joachim Strömbergson
32312ead28
Fix spellinh nits 2022-10-19 15:27:51 +02:00
Joachim Strömbergson
2be934ee22
Restore start and stop bits, but clarify in documenation 2022-10-13 16:10:08 +02:00
Joachim Strömbergson
50fbc8adc4
Update software description with timer API changes 2022-10-13 15:22:52 +02:00
Michael Cardell Widerkrantz
99aabe89e9
Fix minor doc nits 2022-10-12 15:12:07 +02:00
Daniel Lublin
55c5081486
Adjust and document the firmware state-machine, including USS
In particular, order of LOAD_USS and LOAD_APP_SIZE is not required, but
the need to send both is documented. This is followed up with adjustment
in the host programs' Go code, to try to reinforce this. LoadApp() will
take the secretPhrase parameter (to be hashed as USS), and loadUSS()
will be unexported.

Correct CMD/RSP lengths in pseudo-code.
2022-10-12 15:12:07 +02:00
Joachim Strömbergson
c25fc0e7f2
Fix language nits 2022-10-12 10:10:48 +02:00
Daniel Lublin
96746b2de0
Clarify BRAM_FW_SIZE 2022-10-11 17:25:00 +02:00
Joachim Strömbergson
7e0692b150
Replace FiGaRO based TRNG with new ROSC based TRNG 2022-10-11 13:17:04 +02:00
Joachim Strömbergson
1439e4a587
Remove name, version info about cores from SW description 2022-10-11 11:28:40 +02:00
Daniel Lublin
429ac6877e
Note about the importance of releases; clarify some docs 2022-10-04 13:17:37 +02:00
Michael Cardell Widerkrantz
ffa0bb48cb
Doc: Add a warning about USS to release notes 2022-09-30 13:34:47 +02:00
Daniel Lublin
fe6e7b83d1
Document need to unplug stick (and programmer) 2022-09-29 21:20:28 +02:00
Daniel Lublin
c9755e4cca
Add deps for building qemu 2022-09-29 15:24:21 +02:00
Daniel Lublin
34407a32ce
Update doc for revised tpt 2022-09-28 08:30:31 +02:00
Daniel Lublin
98c2463dbc
Reference a bit more
Try to make it a bit easier to understand "measure" and where to read
more.
2022-09-26 11:27:28 +02:00
Daniel Lublin
fcae028007
Try to clarify it all 2022-09-26 11:13:36 +02:00
Daniel Lublin
8f4f3585f7
Build specific version of nextpnr
Keep our repo-commit notes in /usr/local so they are copied over to
final image.
2022-09-23 12:10:38 +02:00
Joachim Strömbergson
f7f8ba3e16
Add instructions for updating the FW in the programmer 2022-09-21 14:30:16 +02:00
Daniel Lublin
dde3b56bbf
Remove memory model draft forgotten earlier 2022-09-21 09:05:09 +02:00
Daniel Lublin
40803993e1
Make synth.json depend on data/{uds,udi}.hex; revise docs 2022-09-20 16:37:04 +02:00
Marcello Sylvester Bauer
650fb8a10f doc/toolchain_setup: Add missing apt dependency
libhidapi-dev is required to build icestorm:
```
pi_pico_interface.c:5:10: fatal error: hidapi/hidapi.h: No such file
or directory
```

Tested with podman.

Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
2022-09-20 12:31:42 +02:00
Joachim Strömbergson
d354f203dc
Update the system decription to match engineering-release-1 2022-09-20 11:38:03 +02:00
Joachim Strömbergson
be4d098131
Update threat model to engineering-release-1 2022-09-20 09:54:30 +02:00
Joachim Strömbergson
8785da9280 Merge branch 'main' of github.com:tillitis/tillitis-key1 2022-09-19 12:30:58 +02:00
Joachim Strömbergson
608c1c8656
Add information about UDS, UDI and the tpt tool 2022-09-19 12:28:35 +02:00
Daniel Lublin
696b1606e2
Make RAM size more visible 2022-09-19 11:02:30 +02:00
Michael Cardell Widerkrantz
20c570e2be
Update doc to reflect real hardware 2022-09-19 11:02:30 +02:00
Joachim Strömbergson
69fc33c524
Add release notes 2022-09-19 10:02:58 +02:00
Joachim Strömbergson
715de60f4a Make initial public release 2022-09-19 08:51:11 +02:00