Commit Graph

70 Commits

Author SHA1 Message Date
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