Commit Graph

88 Commits

Author SHA1 Message Date
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
Matthew Mets
e04b502833 Pin icestorm to a known-good version in setup doc 2023-03-02 12:03:33 +01:00
Matthew Mets
9d1708cf42
toolchain setup: link to CH552 build instructions (#78)
* Remove 'Optional' section from README, and update titles of
  sub-sections.
* Add link to sub-directory with CH552 setup instructions
* Fix line lengths in programmer board section
2023-02-15 11:45:42 +01:00
Daniel Lublin
9a6a790715
Add github action with basic CI that builds
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-02-03 14:28:56 +01:00
Joachim Strömbergson
b7d0698e1b
Improve wording and fix spelling nits
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-02-01 15:54:12 +01:00
Daniel Lublin
d5b5c6f91c
Update release notes
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-01-31 11:03:38 +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
08bde89b3d
Clarify toolchain use
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-01-09 10:38:20 +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
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