Commit Graph

73 Commits

Author SHA1 Message Date
Jonas Thörnblad
aea2e319eb
Harmonize the naming of firmware and app mode.
- The API changes name from `_SWITCH_APP` to `_SYSTEM_MODE_CTRL`.
- The registers and wires changes name to `system_mode_*`, instead of a
  mix of `switch_app_*` and `fw_app_mode`.
2024-11-12 15:13:59 +01:00
Daniel Jobson
70986a1840
Doc: fix broken links, update system_description regarding data and
address randomization and fix typos
2024-10-17 16:21:32 +02:00
Daniel Jobson
559924868e
Move the boards folder to new repositories
To simplify versioning and isolate the different parts of the projects
to their own repositories, these hardware parts are moved to separate
locations.

- tk1, mta1-usb-dev, mta-usb-v1 and mta1-library moves to
  https://github.com/tillitis/tk1-pcba
- tp1, mta1-usb-programmer, mta1-library and KiCad-RP Pico moves to
  https://github.com/tillitis/tp1
- Relevant documentation referring to these boards are also moved to the
  new repositories, links are updated to point to the new location
- The CERN-OHL-S license is removed from this repo
- CI is no longer building the TP1 firmware
2024-10-17 16:21:24 +02:00
Michael Cardell Widerkrantz
cc16c8481c
doc: Move software.md to fw/README 2024-06-27 22:22:14 +02:00
Michael Cardell Widerkrantz
058c8e970c
docs: Remove firmware protocol description
Point to Developer Handbook description.
2024-06-27 09:03:00 +02:00
dehanj
c406b780ba
Docs: remove framing protocol in favor of using the dev-handbook. 2024-06-27 09:02:59 +02:00
dehanj
159b5b052b
Updated readme and docs to point at dev.tillitis.se. 2024-03-19 17:06:34 +01:00
Joachim Strömbergson
aac03357e9
Add note about clearing stray touch events
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-07-04 09:04:23 +02:00
Joachim Strömbergson
909b95cdaa
Clarify access behaviour of the UDS
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-28 10:02:57 +02:00
Daniel Lublin
e3ee7c5bab
doc: adjust to 128-byte framelen 2023-03-27 10:58:20 +02:00
Michael Cardell Widerkrantz
cefb6ca9c1
fw: Change max frame size to 128 bytes 2023-03-27 10:58:16 +02:00
Michael Cardell Widerkrantz
6613b7e695
docs: Update firmware docs and move memory map
Update firmware docs to reflect new state machine, the new stack in
FW_RAM, and new loading address for app. Remove superflous technical
details from the software description.

Move memory subsystem and memory map to system_description.md and
refer to it directly by subsection elsewhere.
2023-03-22 22:50:08 +01:00
Joachim Strömbergson
dbb7e61509
Add description of exe monitor API
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-22 15:55:36 +01:00
Joachim Strömbergson
315f2f9d00
Adding description of new security features
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-22 15:54:43 +01:00
Joachim Strömbergson
7152bd55e1
Minor edits to update the system description to new release
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-03-22 15:08:39 +01:00
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