Commit Graph

58 Commits

Author SHA1 Message Date
Daniel Lublin
7eb4d0304b
fw: load app at the start of RAM
Since app is always loaded at the start of RAM, the TK1_APP_ADDR define
is no longer needed.

Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-14 10:25:03 +01:00
Michael Cardell Widerkrantz
8edfdf9c36
fw: Remove state init_loading, introduce state fail
- We always assert on allowed commands in a state.
- We don't allow FW_CMD_LOAD_APP to be used twice.
- Enter fail state on read buffer overrun, header endpoint not for us,
  header parse error, and unknown firmware command.

Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-14 10:25:02 +01:00
Daniel Lublin
5f4f5c6584
Correct for new fw-ram size
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-08 12:34:34 +01:00
Daniel Lublin
8fd0fca967
Grow largest frame length to 512 bytes 2023-03-07 13:52:02 +01:00
Joachim Strömbergson
d075cc72c3
Manually merged changes for scrambling
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-07 10:42:59 +01:00
Joachim Strömbergson
3eb5b7879c Add API address to read out number of bytes in Rx FIFO
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-07 08:22:27 +01:00
Daniel Lublin
3c0828e51d Document using named timer_ctrl bits
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-01-30 15:48:57 +01:00
Joachim Strömbergson
6137b88fe0 Add separate start, stop bits and running status bit in API
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-01-30 15:48:57 +01:00
Daniel Lublin
f3c4e6c818
Revise UDI
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-01-05 14:34:32 +01:00
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
Daniel Lublin
726bbcd15c
Capitalize consistently
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-11-30 14:23:44 +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
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
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
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
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
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