Commit Graph

345 Commits

Author SHA1 Message Date
Matthew Mets
938f2b16d7 Pin icestorm in Dockerfile to a known-good commit 2023-03-02 11:08:10 +01:00
Matthew Mets
0c200dc4e4 Add latest (unreleased) clip plastic design 2023-03-01 13:57:35 +01:00
Matthew Mets
1e8da7de53 Add clip plastic for Acrab release (version 15) 2023-03-01 13:57:35 +01:00
Daniel Lublin
c9593f11c8 Config verilator lint to ignore known 3rd-party warnings; let warnings be fatal
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-03-01 13:37:31 +01:00
Matthew Mets
4995fdb93d Add tk1 case plastic designs 2023-02-28 11:33:40 +01:00
Joachim Strömbergson
caeee54e19
Change LED reset value to black
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-02-27 13:21:51 +01:00
Joachim Strömbergson
317561ad32
Remove options that are the same as the default values
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-02-27 10:22:04 +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
Matthew Mets
0ce6808ada
ci: compile also CH552 firmware, production test gateware; reorder 2023-02-13 21:42:26 +01:00
Daniel Lublin
5e43450a8a
ci: add status badge to README
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-02-06 09:11:22 +01:00
Daniel Lublin
b1fbf8c1dc
ci: add the verilator lint
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-02-06 09:09:37 +01:00
Daniel Lublin
31fa0b476c
Let script check all files in repo no matter where it is run from
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-02-03 16:13:34 +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
Daniel Lublin
eea8923170 Update fw & testfw to new api
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
Joachim Strömbergson
ab03ebd12c
Improve wording ans size info in header
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-01-30 13:19:01 +01:00
Joachim Strömbergson
cc464e5be2
The memory is 256 x 32 bits, not 512 x 32 bits
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-01-30 13:00:43 +01:00
Daniel Lublin
b184c0a94d
Let podman/docker remove containers after running 2023-01-27 10:10:18 +01:00
Joachim Strömbergson
f020495695
Cleanup of tb for timer core
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-01-20 10:14:44 +01:00
Daniel Lublin
60efb3c25e
Correct to new path 2023-01-13 15:42:46 +01:00
Matthew Mets
072b204d3d
Add (hardware) production tests for the TK-1 and TP-1 (#69)
* ch552 firmware: add ch55x support files directly

* Add sdcc compiler to docker image, for building CH552 firmware

* Rework production test script

* Add menu-based test runner
* Rewrite production test flows as lists of individual tests
* Add both production flows and manual tests to menu

* Switch to using included binaries

* production test: Update message format
* test_txrx_touchpad: Retry if device communications fail
* production test: put all binaries in binaries/ folder
* binaries/top.bin: replace broken binary

* flash_check: Check for explicit flash IDs

* Document most test procedures

* Test plan documentation

* Sample udev rules

* Production test: allow external references to be overridden

* Remove outdated descriptions

* Correct shebang

* Update shebangs to comply with PEP 394

Change the python scripts to call python instead of python3, as this
works cross platform. See:
https://peps.python.org/pep-0394/#for-python-script-publishers

* Move production test to higher-level directory

* Clarify production test setup

* Move USB C connector test to separate directory

Co-authored-by: Michael Cardell Widerkrantz <mc@tillitis.se>
2023-01-11 16:33:01 +01:00
Daniel Lublin
f511a84ab4
Clarify what quickstart is for
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-01-09 20:51:32 +01:00
Daniel Lublin
08bde89b3d
Clarify toolchain use
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-01-09 10:38:20 +01:00
Matthew Mets
34c1a20015
Remove outdated description 2023-01-09 10:31:26 +01:00
Daniel Lublin
f3c4e6c818
Revise UDI
Signed-off-by: Daniel Lublin <daniel@lublin.se>
2023-01-05 14:34:32 +01:00
Matthew Mets
21fffd3fed
Ch552 license (#65)
* Add MIT license for CH552 firmware
2023-01-03 15:48:53 +01:00
Joachim Strömbergson
9ce2b8a84a
Only accept tx data when the core is ready
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-01-02 13:10:40 +01:00
Matthew Mets
e71d70008b
TK-1 and TP-1 PCBs (#52)
* Add kicad library for flat programming clip

* Add descriptions to part symbols

* Add extended values, manufacturer/distributor info to components in mta1

* Add new board entry for TK1

* Add TP1 programmer design

* Update MTA1-USB-V1 release files to match production

* Change SPI flash memory type to XT25F08BDFIGT-S
* Change touch sensor feedback cap to 1uF
* Add manufacturer, manufacturer part number, distributor, distributor part number

* Update component values for TK1 PCB

* Use specific part # for C8
* Change flash back to Winbond part, for easier sourcing
* Change C1 to 1pF

* Fixes for production programmer PCB

* Swap GND and 5V on J3
* Replace graphic logo with text
* Rename part to 'TP-1'

* TK-1 release

* Add dimensions for PCB
* Add layer stackup for PCB
* Change PCB component origin to match expanded board
* Change schematic title to 'TK-1', update release date

* mta1-usb-v1-programmer: Add corrected part numbers for OSFC production

* Q1, Q2, F1 part subsititutions
* add mfr/supplier info for all parts

* PCB library: add parts

* Rectangular footprint for TK-1 test pads
* BOM generation script used for TK-1 and TP-1 releases

* TP-1 release

* Schematic: Add manufacturer, supplier information for all parts
* Schematic: Update name and release date
* PCB: Add PCB fabrication information
* PCB: Correct pinouts on silkscreen

* PCB library: add 'screw' and 'foot' symbols

* Screw is a schematic-only part, for including mechanical screws in the
  BOM
* Foot is for self-adhesive rubber mounting feet that can be stuck to
  the bottom of a PCB

* TP-1 release: Add screws, feet to the BOM

* Pico library: Add footprint for RPi Pico w/solder paste

* TP-1 RevA release updates:

* Add fiducials in 3 corners (1mm exposed copper ring w/2mm soldermask opening)
* Add solder paste openings to Raspberry Pi Pico pads

* TK-1: RevA.1 release

* Add two fiducials to TK-1 board

* TP-1: Update fuse type to match actual part

* Make placement diagrams for TP-1, TK-1

* Update BC-1-xxx footprints to include placement outlines
* Update TP-1 PCB with new footprints, clean up top fab layer
* Take screenshots of top layers of both boards

* tk-1: fix placement footprints

* Add pin1 marking for ncp footprint
* Add refdes for w25q80 footprint
* Update board with new footprints, clear extraneous text on fab layer
2022-12-22 16:41:46 +01:00
Daniel Lublin
c1b71b7ba6
testfw: test that UDI can't be read app-mode 2022-12-20 12:06:07 +01:00
Daniel Lublin
11c8eec7b8
testfw: use define and simplify 2022-12-20 12:06:07 +01:00
Daniel Lublin
dff768dd3b
Doc UDI lock-down 2022-12-20 12:06:07 +01:00
Joachim Strömbergson
5c74a0727c
Lock down access to UDI in app mode
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-12-20 12:05:56 +01:00
Daniel Lublin
c573155ba1
Sleep for a random number of cycles before reading out UDS to FW RAM
To protect against warm boot attacks.

Signed-off-by: Daniel Lublin <daniel@lublin.se>
2022-12-19 15:25:29 +01:00
Daniel Lublin
abdcd3af0e
Merge pull request #59 from tillitis/purge-uda
Purge UDA; never implemented, now deprecated
2022-12-19 14:32:19 +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
Daniel Lublin
7a9019d867
Merge pull request #56 from tillitis/podman
build tools: Add podman support
2022-12-16 10:15:51 +01:00
Michael Cardell Widerkrantz
e7e03c21b9
build tools: Add podman support
- Add a small menu of build targets
- Add podman support, both building the image, creating a container of
  the image and running shell, and running make inside a podman image.
2022-12-16 10:14:21 +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
Joachim Strömbergson
a48dc7cbbb
Add reg writable from FW, readable from app for blake2s entry
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2022-12-08 16:16:15 +01:00
Michael Cardell Widerkrantz
3220d1c119
testfw: Remove test_ prefix on UART functions 2022-12-02 16:12:25 +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
fbe71e1466
Use same name as elsewhere on USS 2022-12-02 13:44:43 +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