diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index f43f7ee..6122248 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -31,9 +31,6 @@ jobs:
run: |
make checkfmt
- - name: check for SPDX tags
- run: ./LICENSES/spdx-ensure
-
check-firmware:
runs-on: ubuntu-latest
container:
@@ -151,3 +148,15 @@ jobs:
- name: check matching hashes for firmware.bin & application_fpga.bin
working-directory: hw/application_fpga
run: make check-binary-hashes
+
+
+ reuse-compliance-check:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: REUSE Compliance Check
+ uses: fsfe/reuse-action@v4
+ with:
+ args: lint
diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt
new file mode 100644
index 0000000..0e259d4
--- /dev/null
+++ b/LICENSES/CC0-1.0.txt
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+ HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+ i. the right to reproduce, adapt, distribute, perform, display,
+ communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+ likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+ v. rights protecting the extraction, dissemination, use and reuse of data
+ in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation
+ thereof, including any amended or successor version of such
+ directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+ world based on applicable law or treaty, and any national
+ implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+ surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+ warranties of any kind concerning the Work, express, implied,
+ statutory or otherwise, including without limitation warranties of
+ title, merchantability, fitness for a particular purpose, non
+ infringement, or the absence of latent or other defects, accuracy, or
+ the present or absence of errors, whether or not discoverable, all to
+ the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+ that may apply to the Work or any use thereof, including without
+ limitation any person's Copyright and Related Rights in the Work.
+ Further, Affirmer disclaims responsibility for obtaining any necessary
+ consents, permissions or other rights required for any use of the
+ Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+ party to this document and has no duty or obligation with respect to
+ this CC0 or use of the Work.
diff --git a/LICENSES/isc.txt b/LICENSES/ISC.txt
similarity index 100%
rename from LICENSES/isc.txt
rename to LICENSES/ISC.txt
diff --git a/LICENSES/mit.txt b/LICENSES/MIT.txt
similarity index 100%
rename from LICENSES/mit.txt
rename to LICENSES/MIT.txt
diff --git a/LICENSES/README.md b/LICENSES/README.md
deleted file mode 100644
index 267e045..0000000
--- a/LICENSES/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# Tillitis TKey Licensing
-
-## Main license
-
-Unless otherwise noted, the project sources are copyright Tillitis AB,
-but you can redistribute it and/or modify it under the terms of the
-BSD-2-Clause license. See `BSD-2-Clause.txt`.
-
-Until Oct 29, 2025, the license was GPL-2.0 Only.
-
-This directory contains copies of the license texts used by the
-sources included in the project source tree.
-
-## SPDX
-
-The project uses single-line references to Unique License Identifiers
-as defined by the Linux Foundation's [SPDX project](https://spdx.org/).
-The line in each individual source file identifies the license
-applicable to that file.
-
-The current set of valid, predefined SPDX identifiers can be found on
-the SPDX License List at:
-
-https://spdx.org/licenses/
-
-## Notable imported projects
-
-- ch552 firmware: `hw/usb_interface/ch552_fw/`
-
- Originally by WCH under MIT. Much changed by Tillitis.
-
-- picorv32: `hw/application_fpga/core/picorv32`
-
- From https://github.com/YosysHQ/picorv32
-
- ISC.
-
-- PicoRV32 custom ops: `hw/application_fpga/fw/tk1/picorv32/`
-
- CC-1.
-
-- tkey-libs: `hw/application_fpga/tkey-libs/`
-
- BSD2. From https://github.com/tillitis/tkey-libs
diff --git a/LICENSES/cc-universal.txt b/LICENSES/cc-universal.txt
deleted file mode 100644
index 670154e..0000000
--- a/LICENSES/cc-universal.txt
+++ /dev/null
@@ -1,116 +0,0 @@
-CC0 1.0 Universal
-
-Statement of Purpose
-
-The laws of most jurisdictions throughout the world automatically confer
-exclusive Copyright and Related Rights (defined below) upon the creator and
-subsequent owner(s) (each and all, an "owner") of an original work of
-authorship and/or a database (each, a "Work").
-
-Certain owners wish to permanently relinquish those rights to a Work for the
-purpose of contributing to a commons of creative, cultural and scientific
-works ("Commons") that the public can reliably and without fear of later
-claims of infringement build upon, modify, incorporate in other works, reuse
-and redistribute as freely as possible in any form whatsoever and for any
-purposes, including without limitation commercial purposes. These owners may
-contribute to the Commons to promote the ideal of a free culture and the
-further production of creative, cultural and scientific works, or to gain
-reputation or greater distribution for their Work in part through the use and
-efforts of others.
-
-For these and/or other purposes and motivations, and without any expectation
-of additional consideration or compensation, the person associating CC0 with a
-Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
-and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
-and publicly distribute the Work under its terms, with knowledge of his or her
-Copyright and Related Rights in the Work and the meaning and intended legal
-effect of CC0 on those rights.
-
-1. Copyright and Related Rights. A Work made available under CC0 may be
-protected by copyright and related or neighboring rights ("Copyright and
-Related Rights"). Copyright and Related Rights include, but are not limited
-to, the following:
-
- i. the right to reproduce, adapt, distribute, perform, display, communicate,
- and translate a Work;
-
- ii. moral rights retained by the original author(s) and/or performer(s);
-
- iii. publicity and privacy rights pertaining to a person's image or likeness
- depicted in a Work;
-
- iv. rights protecting against unfair competition in regards to a Work,
- subject to the limitations in paragraph 4(a), below;
-
- v. rights protecting the extraction, dissemination, use and reuse of data in
- a Work;
-
- vi. database rights (such as those arising under Directive 96/9/EC of the
- European Parliament and of the Council of 11 March 1996 on the legal
- protection of databases, and under any national implementation thereof,
- including any amended or successor version of such directive); and
-
- vii. other similar, equivalent or corresponding rights throughout the world
- based on applicable law or treaty, and any national implementations thereof.
-
-2. Waiver. To the greatest extent permitted by, but not in contravention of,
-applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
-unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
-and Related Rights and associated claims and causes of action, whether now
-known or unknown (including existing as well as future claims and causes of
-action), in the Work (i) in all territories worldwide, (ii) for the maximum
-duration provided by applicable law or treaty (including future time
-extensions), (iii) in any current or future medium and for any number of
-copies, and (iv) for any purpose whatsoever, including without limitation
-commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
-the Waiver for the benefit of each member of the public at large and to the
-detriment of Affirmer's heirs and successors, fully intending that such Waiver
-shall not be subject to revocation, rescission, cancellation, termination, or
-any other legal or equitable action to disrupt the quiet enjoyment of the Work
-by the public as contemplated by Affirmer's express Statement of Purpose.
-
-3. Public License Fallback. Should any part of the Waiver for any reason be
-judged legally invalid or ineffective under applicable law, then the Waiver
-shall be preserved to the maximum extent permitted taking into account
-Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
-is so judged Affirmer hereby grants to each affected person a royalty-free,
-non transferable, non sublicensable, non exclusive, irrevocable and
-unconditional license to exercise Affirmer's Copyright and Related Rights in
-the Work (i) in all territories worldwide, (ii) for the maximum duration
-provided by applicable law or treaty (including future time extensions), (iii)
-in any current or future medium and for any number of copies, and (iv) for any
-purpose whatsoever, including without limitation commercial, advertising or
-promotional purposes (the "License"). The License shall be deemed effective as
-of the date CC0 was applied by Affirmer to the Work. Should any part of the
-License for any reason be judged legally invalid or ineffective under
-applicable law, such partial invalidity or ineffectiveness shall not
-invalidate the remainder of the License, and in such case Affirmer hereby
-affirms that he or she will not (i) exercise any of his or her remaining
-Copyright and Related Rights in the Work or (ii) assert any associated claims
-and causes of action with respect to the Work, in either case contrary to
-Affirmer's express Statement of Purpose.
-
-4. Limitations and Disclaimers.
-
- a. No trademark or patent rights held by Affirmer are waived, abandoned,
- surrendered, licensed or otherwise affected by this document.
-
- b. Affirmer offers the Work as-is and makes no representations or warranties
- of any kind concerning the Work, express, implied, statutory or otherwise,
- including without limitation warranties of title, merchantability, fitness
- for a particular purpose, non infringement, or the absence of latent or
- other defects, accuracy, or the present or absence of errors, whether or not
- discoverable, all to the greatest extent permissible under applicable law.
-
- c. Affirmer disclaims responsibility for clearing rights of other persons
- that may apply to the Work or any use thereof, including without limitation
- any person's Copyright and Related Rights in the Work. Further, Affirmer
- disclaims responsibility for obtaining any necessary consents, permissions
- or other rights required for any use of the Work.
-
- d. Affirmer understands and acknowledges that Creative Commons is not a
- party to this document and has no duty or obligation with respect to this
- CC0 or use of the Work.
-
-For more information, please see
-
diff --git a/LICENSES/spdx-ensure b/LICENSES/spdx-ensure
deleted file mode 100755
index a79993e..0000000
--- a/LICENSES/spdx-ensure
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/bash
-set -eu
-
-# Check for the SPDX tag in all files in the repo. Exit with a non-zero code if
-# some is missing. The missingok arrays below contain files and directories
-# with files where the the tag is not required.
-
-cd "${0%/*}"
-cd ..
-
-tag="SPDX-License-Identifier:"
-
-missingok_dirs=(
-.github/workflows/
-LICENSES/
-doc/
-hw/application_fpga/core/picorv32/
-hw/application_fpga/core/uart/
-)
-
-missingok_files=(
-.editorconfig
-.gitattributes
-.gitignore
-.clang-format
-README.md
-contrib/99-tillitis.rules
-contrib/Dockerfile
-contrib/Makefile
-contrib/verible.sha512
-
-hw/application_fpga/README.md
-hw/application_fpga/core/clk_reset_gen/README.md
-hw/application_fpga/core/fw_ram/README.md
-hw/application_fpga/core/ram/README.md
-hw/application_fpga/core/rom/README.md
-hw/application_fpga/core/tk1/tb/udi.hex
-hw/application_fpga/core/uds/README.md
-hw/application_fpga/fw/README.md
-hw/application_fpga/fw/tk1/picorv32/README.md
-hw/application_fpga/fw/tk1/picorv32/LICENSE
-hw/application_fpga/apps/Makefile
-hw/application_fpga/apps/README.md
-hw/application_fpga/application_fpga.bin.sha256
-hw/application_fpga/config.vlt
-hw/application_fpga/core/timer/README.md
-hw/application_fpga/core/tk1/README.md
-hw/application_fpga/core/touch_sense/README.md
-hw/application_fpga/core/trng/README.md
-hw/application_fpga/data/udi.hex
-hw/application_fpga/data/uds.hex
-hw/application_fpga/firmware.bin.sha512
-hw/application_fpga/fw/testfw/Makefile
-hw/application_fpga/fw/tk1/Makefile
-hw/application_fpga/tools/tpt/README.md
-hw/usb_interface/ch552_fw/.gitignore
-hw/usb_interface/ch552_fw/LICENSES/GPL-2.0-only.txt
-hw/usb_interface/ch552_fw/LICENSES/MIT.txt
-hw/usb_interface/ch552_fw/Makefile
-hw/usb_interface/ch552_fw/README.md
-
-# tkey-libs is assumed to be REUSE compliant
-hw/application_fpga/tkey-libs/LICENSE
-hw/application_fpga/tkey-libs/LICENSES/BSD-2-Clause.txt
-hw/application_fpga/tkey-libs/LICENSES/CC0-1.0.txt
-hw/application_fpga/tkey-libs/Makefile
-hw/application_fpga/tkey-libs/README-DIST.txt
-hw/application_fpga/tkey-libs/README.md
-hw/application_fpga/tkey-libs/RELEASE.md
-hw/application_fpga/tkey-libs/blake2s/LICENSE
-hw/application_fpga/tkey-libs/blake2s/Makefile
-hw/application_fpga/tkey-libs/blake2s/blake2s.c
-hw/application_fpga/tkey-libs/blake2s/blake2s.h
-hw/application_fpga/tkey-libs/blake2s/blake2s_test.c
-hw/application_fpga/tkey-libs/example-app/Makefile
-hw/application_fpga/tkey-libs/monocypher/LICENSE
-hw/application_fpga/tkey-libs/monocypher/README.md
-
-hw/application_fpga/tools/README.md
-hw/application_fpga/tools/b2s/README.md
-hw/application_fpga/tools/b2s/go.mod
-hw/application_fpga/tools/b2s/go.sum
-hw/application_fpga/tools/tkeyimage/README.md
-hw/application_fpga/tools/tkeyimage/go.mod
-hw/application_fpga/tools/tkeyimage/go.sum
-)
-
-is_missingok() {
- item="$1"
- # ok for empty files
- [[ -f "$item" ]] && [[ ! -s "$item" ]] && return 0
- for fileok in "${missingok_files[@]}"; do
- [[ "$item" = "$fileok" ]] && return 0
- done
- for dirok in "${missingok_dirs[@]}"; do
- [[ "$item" =~ ^$dirok ]] && return 0
- done
- return 1
-}
-
-printf "* Checking for SPDX tags in %s\n" "$PWD"
-
-mapfile -t repofiles < <(git ls-files || true)
-if [[ -z "${repofiles[*]}" ]]; then
- printf "* No files in the repo?!\n"
- exit 1
-fi
-
-failed=0
-
-printed=0
-for fileok in "${missingok_files[@]}"; do
- [[ -f "$fileok" ]] && continue
- if (( !printed )); then
- printf "* Some files in missingok_files are themselves missing:\n"
- printed=1
- failed=1
- fi
- printf "%s\n" "$fileok"
-done
-
-printed=0
-for dirok in "${missingok_dirs[@]}"; do
- [[ -d "$dirok" ]] && continue
- if (( !printed )); then
- printf "* Some dirs in missingok_dirs are themselves missing:\n"
- printed=1
- failed=1
- fi
- printf "%s\n" "$dirok"
-done
-
-printed=0
-for file in "${repofiles[@]}"; do
- is_missingok "$file" && continue
- if ! grep -q "$tag" "$file"; then
- if (( !printed )); then
- printf "* Files missing the SPDX tag:\n"
- printed=1
- failed=1
- fi
- printf "%s\n" "$file"
- fi
-done
-
-exit "$failed"
diff --git a/README.md b/README.md
index 67be5b0..7a88f28 100644
--- a/README.md
+++ b/README.md
@@ -46,12 +46,44 @@ BSD-2-Clause license.
Until Oct 29, 2025, the license was GPL-2.0 Only.
-See [LICENSES](./LICENSES/README.md) for more information about
-the projects' licenses.
-
Each imported project is typically kept in its own directory with its
own LICENSE file.
+### SPDX
+
+The project uses single-line references to Unique License Identifiers
+as defined by the Linux Foundation's [SPDX project](https://spdx.org/).
+The line in each individual source file identifies the license
+applicable to that file.
+
+The current set of valid, predefined SPDX identifiers can be found on
+the SPDX License List at:
+
+https://spdx.org/licenses/
+
+We attempt to follow the [REUSE
+specification](https://reuse.software/).
+
+### Notable imported projects
+
+- ch552 firmware: `hw/usb_interface/ch552_fw/`
+
+ Originally by WCH under MIT. Much changed by Tillitis.
+
+- picorv32: `hw/application_fpga/core/picorv32`
+
+ From https://github.com/YosysHQ/picorv32
+
+ ISC.
+
+- PicoRV32 custom ops: `hw/application_fpga/fw/tk1/picorv32/`
+
+ CC-1.
+
+- tkey-libs: `hw/application_fpga/tkey-libs/`
+
+ BSD2. From https://github.com/tillitis/tkey-libs
+
## Repositories
This repository contains the FPGA design, the source of the
diff --git a/REUSE.toml b/REUSE.toml
new file mode 100644
index 0000000..e0e5809
--- /dev/null
+++ b/REUSE.toml
@@ -0,0 +1,62 @@
+# SPDX-FileCopyrightText: 2024 Tillitis AB
+# SPDX-License-Identifier: BSD-2-Clause
+version = 1
+
+[[annotations]]
+path = ".github/workflows/*"
+SPDX-FileCopyrightText = "2022 Tillitis AB "
+SPDX-License-Identifier = "BSD-2-Clause"
+
+[[annotations]]
+path = [
+ ".clang-format",
+ ".editorconfig",
+ ".gitattributes",
+ ".gitignore",
+ "README.md",
+ "contrib/99-tillitis.rules",
+ "contrib/Dockerfile",
+ "contrib/verible.sha512",
+ "doc/images/application_fpga_block_diagram.png",
+ "doc/images/tkey-open-lid.png",
+ "doc/release_notes.md",
+ "doc/threat_model/threat_model.md",
+ "hw/application_fpga/README.md",
+ "hw/application_fpga/application_fpga.bin.sha256",
+ "hw/application_fpga/apps/README.md",
+ "hw/application_fpga/config.vlt",
+ "hw/application_fpga/core/clk_reset_gen/README.md",
+ "hw/application_fpga/core/fw_ram/README.md",
+ "hw/application_fpga/core/picorv32/README.md",
+ "hw/application_fpga/core/ram/README.md",
+ "hw/application_fpga/core/rom/README.md",
+ "hw/application_fpga/core/timer/README.md",
+ "hw/application_fpga/core/tk1/README.md",
+ "hw/application_fpga/core/tk1/tb/README.txt",
+ "hw/application_fpga/core/tk1/tb/udi.hex",
+ "hw/application_fpga/core/touch_sense/README.md",
+ "hw/application_fpga/core/trng/README.md",
+ "hw/application_fpga/core/uart/README.md",
+ "hw/application_fpga/core/uds/README.md",
+ "hw/application_fpga/data/udi.hex",
+ "hw/application_fpga/data/uds.hex",
+ "hw/application_fpga/firmware.bin.sha512",
+ "hw/application_fpga/fw/README.md",
+ "hw/application_fpga/fw/tk1/picorv32/README.md",
+ "hw/application_fpga/tools/README.md",
+ "hw/application_fpga/tools/b2s/README.md",
+ "hw/application_fpga/tools/b2s/go.mod",
+ "hw/application_fpga/tools/b2s/go.sum",
+ "hw/application_fpga/tools/tkeyimage/README.md",
+ "hw/application_fpga/tools/tkeyimage/go.mod",
+ "hw/application_fpga/tools/tkeyimage/go.sum",
+ "hw/application_fpga/tools/tpt/README.md",
+]
+SPDX-FileCopyrightText = "2022 Tillitis AB "
+SPDX-License-Identifier = "BSD-2-Clause"
+
+
+
+[[annotations]]
+path = "hw/application_fpga/core/picorv32/rtl/picorv32.v"
+SPDX-License-Identifier = "ISC"
diff --git a/contrib/Makefile b/contrib/Makefile
index e1988c3..6a31abd 100644
--- a/contrib/Makefile
+++ b/contrib/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2024 - Tillitis AB
+# SPDX-FileCopyrightText: 2024 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
# image produced by build-image targets
diff --git a/contrib/buildtools.sh b/contrib/buildtools.sh
index 41225d6..6784245 100755
--- a/contrib/buildtools.sh
+++ b/contrib/buildtools.sh
@@ -1,6 +1,6 @@
#! /bin/sh -e
-# Copyright (C) 2025 Tillitis AB
+# SPDX-FileCopyrightText: 2025 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
## Build the specific versions of the tools we need to build the TKey
diff --git a/hw/application_fpga/Makefile b/hw/application_fpga/Makefile
index 55204db..1d9e263 100644
--- a/hw/application_fpga/Makefile
+++ b/hw/application_fpga/Makefile
@@ -6,7 +6,7 @@
# HW targets as well as its firmware.
#
#
-# Copyright (C) 2022-2024 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#
diff --git a/hw/application_fpga/apps/defaultapp/main.c b/hw/application_fpga/apps/defaultapp/main.c
index 4319cce..a6fb580 100644
--- a/hw/application_fpga/apps/defaultapp/main.c
+++ b/hw/application_fpga/apps/defaultapp/main.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/apps/loopbackapp/main.c b/hw/application_fpga/apps/loopbackapp/main.c
index 2ce2622..0d9a270 100644
--- a/hw/application_fpga/apps/loopbackapp/main.c
+++ b/hw/application_fpga/apps/loopbackapp/main.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/apps/reset_test/main.c b/hw/application_fpga/apps/reset_test/main.c
index 0109ed6..eb19138 100644
--- a/hw/application_fpga/apps/reset_test/main.c
+++ b/hw/application_fpga/apps/reset_test/main.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/apps/testapp/main.c b/hw/application_fpga/apps/testapp/main.c
index 8e23c85..b7e5de3 100644
--- a/hw/application_fpga/apps/testapp/main.c
+++ b/hw/application_fpga/apps/testapp/main.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/apps/testloadapp/blink.h b/hw/application_fpga/apps/testloadapp/blink.h
index d47e6e8..bf5d028 100644
--- a/hw/application_fpga/apps/testloadapp/blink.h
+++ b/hw/application_fpga/apps/testloadapp/blink.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef BLINK_APP_H
diff --git a/hw/application_fpga/apps/testloadapp/main.c b/hw/application_fpga/apps/testloadapp/main.c
index cabb098..e98cdd9 100644
--- a/hw/application_fpga/apps/testloadapp/main.c
+++ b/hw/application_fpga/apps/testloadapp/main.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/core/clk_reset_gen/rtl/clk_reset_gen.v b/hw/application_fpga/core/clk_reset_gen/rtl/clk_reset_gen.v
index c89e570..0ab02cb 100644
--- a/hw/application_fpga/core/clk_reset_gen/rtl/clk_reset_gen.v
+++ b/hw/application_fpga/core/clk_reset_gen/rtl/clk_reset_gen.v
@@ -9,7 +9,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/fw_ram/rtl/fw_ram.v b/hw/application_fpga/core/fw_ram/rtl/fw_ram.v
index 1a603dd..61c1e05 100644
--- a/hw/application_fpga/core/fw_ram/rtl/fw_ram.v
+++ b/hw/application_fpga/core/fw_ram/rtl/fw_ram.v
@@ -6,7 +6,7 @@
// support for mode based access control.
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/picorv32/toolruns/Makefile b/hw/application_fpga/core/picorv32/toolruns/Makefile
index 29e5349..07d47e8 100755
--- a/hw/application_fpga/core/picorv32/toolruns/Makefile
+++ b/hw/application_fpga/core/picorv32/toolruns/Makefile
@@ -6,7 +6,7 @@
#
#
# Author: Joachim Strombergson
-# Copyright (C) 2024 - Tillitis AB
+# SPDX-FileCopyrightText: 2024 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#===================================================================
diff --git a/hw/application_fpga/core/ram/rtl/ram.v b/hw/application_fpga/core/ram/rtl/ram.v
index e1d4422..7d54480 100644
--- a/hw/application_fpga/core/ram/rtl/ram.v
+++ b/hw/application_fpga/core/ram/rtl/ram.v
@@ -11,7 +11,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/rom/rtl/rom.v b/hw/application_fpga/core/rom/rtl/rom.v
index 97e3ff4..b984a4b 100644
--- a/hw/application_fpga/core/rom/rtl/rom.v
+++ b/hw/application_fpga/core/rom/rtl/rom.v
@@ -7,7 +7,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/timer/rtl/timer.v b/hw/application_fpga/core/timer/rtl/timer.v
index e970ca3..4174031 100644
--- a/hw/application_fpga/core/timer/rtl/timer.v
+++ b/hw/application_fpga/core/timer/rtl/timer.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/timer/rtl/timer_core.v b/hw/application_fpga/core/timer/rtl/timer_core.v
index 9ffde81..b9857e9 100644
--- a/hw/application_fpga/core/timer/rtl/timer_core.v
+++ b/hw/application_fpga/core/timer/rtl/timer_core.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/timer/tb/tb_timer.v b/hw/application_fpga/core/timer/tb/tb_timer.v
index 95e95bc..f0ab344 100644
--- a/hw/application_fpga/core/timer/tb/tb_timer.v
+++ b/hw/application_fpga/core/timer/tb/tb_timer.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/timer/tb/tb_timer_core.v b/hw/application_fpga/core/timer/tb/tb_timer_core.v
index a66d2d2..f009560 100644
--- a/hw/application_fpga/core/timer/tb/tb_timer_core.v
+++ b/hw/application_fpga/core/timer/tb/tb_timer_core.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/timer/toolruns/Makefile b/hw/application_fpga/core/timer/toolruns/Makefile
index 2de75f0..82fefd5 100755
--- a/hw/application_fpga/core/timer/toolruns/Makefile
+++ b/hw/application_fpga/core/timer/toolruns/Makefile
@@ -6,7 +6,7 @@
#
#
# Author: Joachim Strombergson
-# Copyright (C) 2022 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#===================================================================
diff --git a/hw/application_fpga/core/tk1/rtl/tk1.v b/hw/application_fpga/core/tk1/rtl/tk1.v
index 4eb8463..a2ba5a5 100644
--- a/hw/application_fpga/core/tk1/rtl/tk1.v
+++ b/hw/application_fpga/core/tk1/rtl/tk1.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/tk1/rtl/tk1_spi_master.v b/hw/application_fpga/core/tk1/rtl/tk1_spi_master.v
index acb2c59..ebdf85e 100644
--- a/hw/application_fpga/core/tk1/rtl/tk1_spi_master.v
+++ b/hw/application_fpga/core/tk1/rtl/tk1_spi_master.v
@@ -16,7 +16,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/tk1/rtl/udi_rom.v b/hw/application_fpga/core/tk1/rtl/udi_rom.v
index ef24c8e..91cae54 100644
--- a/hw/application_fpga/core/tk1/rtl/udi_rom.v
+++ b/hw/application_fpga/core/tk1/rtl/udi_rom.v
@@ -7,7 +7,7 @@
//
//
// Author: Claire Xenia Wolf
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/tk1/tb/sb_rgba_drv_sim.v b/hw/application_fpga/core/tk1/tb/sb_rgba_drv_sim.v
index 8b1d992..7a3c45a 100644
--- a/hw/application_fpga/core/tk1/tb/sb_rgba_drv_sim.v
+++ b/hw/application_fpga/core/tk1/tb/sb_rgba_drv_sim.v
@@ -8,7 +8,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/tk1/tb/tb_tk1.v b/hw/application_fpga/core/tk1/tb/tb_tk1.v
index a59cd22..ef69529 100644
--- a/hw/application_fpga/core/tk1/tb/tb_tk1.v
+++ b/hw/application_fpga/core/tk1/tb/tb_tk1.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/tk1/tb/tb_tk1_spi_master.v b/hw/application_fpga/core/tk1/tb/tb_tk1_spi_master.v
index cdb96b7..ea52fb8 100644
--- a/hw/application_fpga/core/tk1/tb/tb_tk1_spi_master.v
+++ b/hw/application_fpga/core/tk1/tb/tb_tk1_spi_master.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/tk1/tb/udi_rom_sim.v b/hw/application_fpga/core/tk1/tb/udi_rom_sim.v
index 1dc29d8..c7dff19 100644
--- a/hw/application_fpga/core/tk1/tb/udi_rom_sim.v
+++ b/hw/application_fpga/core/tk1/tb/udi_rom_sim.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strömbergson.
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/tk1/toolruns/Makefile b/hw/application_fpga/core/tk1/toolruns/Makefile
index f56cb1a..e98ac6f 100755
--- a/hw/application_fpga/core/tk1/toolruns/Makefile
+++ b/hw/application_fpga/core/tk1/toolruns/Makefile
@@ -6,7 +6,7 @@
#
#
# Author: Joachim Strombergson
-# Copyright (C) 2023 - Tillitis AB
+# SPDX-FileCopyrightText: 2023 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#===================================================================
diff --git a/hw/application_fpga/core/tk1/tools/mem_gen.py b/hw/application_fpga/core/tk1/tools/mem_gen.py
index c9f131d..6382a44 100755
--- a/hw/application_fpga/core/tk1/tools/mem_gen.py
+++ b/hw/application_fpga/core/tk1/tools/mem_gen.py
@@ -6,7 +6,7 @@
# ------
# Program that generates hex memory file read by the memory model.
#
-# Copyright (C) 2024 - Tillitis AB
+# SPDX-FileCopyrightText: 2024 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#=======================================================================
diff --git a/hw/application_fpga/core/touch_sense/rtl/touch_sense.v b/hw/application_fpga/core/touch_sense/rtl/touch_sense.v
index 3adb2e5..605f75a 100644
--- a/hw/application_fpga/core/touch_sense/rtl/touch_sense.v
+++ b/hw/application_fpga/core/touch_sense/rtl/touch_sense.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/touch_sense/tb/tb_touch_sense.v b/hw/application_fpga/core/touch_sense/tb/tb_touch_sense.v
index ecdcdd5..70b7281 100644
--- a/hw/application_fpga/core/touch_sense/tb/tb_touch_sense.v
+++ b/hw/application_fpga/core/touch_sense/tb/tb_touch_sense.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/touch_sense/toolruns/Makefile b/hw/application_fpga/core/touch_sense/toolruns/Makefile
index 43b9f4a..0c79c78 100755
--- a/hw/application_fpga/core/touch_sense/toolruns/Makefile
+++ b/hw/application_fpga/core/touch_sense/toolruns/Makefile
@@ -6,7 +6,7 @@
#
#
# Author: Joachim Strombergson
-# Copyright (C) 2022 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#===================================================================
diff --git a/hw/application_fpga/core/trng/rtl/trng.v b/hw/application_fpga/core/trng/rtl/trng.v
index fccd93b..37fc5ec 100644
--- a/hw/application_fpga/core/trng/rtl/trng.v
+++ b/hw/application_fpga/core/trng/rtl/trng.v
@@ -9,7 +9,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/trng/tb/SB_LUT4.v b/hw/application_fpga/core/trng/tb/SB_LUT4.v
index d55524d..25dc621 100644
--- a/hw/application_fpga/core/trng/tb/SB_LUT4.v
+++ b/hw/application_fpga/core/trng/tb/SB_LUT4.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/trng/tb/tb_trng.v b/hw/application_fpga/core/trng/tb/tb_trng.v
index 6baf107..b98313f 100644
--- a/hw/application_fpga/core/trng/tb/tb_trng.v
+++ b/hw/application_fpga/core/trng/tb/tb_trng.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/uart/rtl/uart_core.v b/hw/application_fpga/core/uart/rtl/uart_core.v
index 6a8c064..fd92b09 100644
--- a/hw/application_fpga/core/uart/rtl/uart_core.v
+++ b/hw/application_fpga/core/uart/rtl/uart_core.v
@@ -17,8 +17,8 @@
//
// Author: Joachim Strombergson
// Copyright (c) 2014, Secworks Sweden AB
-//
// SPDX-License-Identifier: BSD-2-Clause
+//
// Redistribution and use in source and binary forms, with or
// without modification, are permitted provided that the following
// conditions are met:
diff --git a/hw/application_fpga/core/uart/rtl/uart_fifo.v b/hw/application_fpga/core/uart/rtl/uart_fifo.v
index 72d3126..7722cea 100644
--- a/hw/application_fpga/core/uart/rtl/uart_fifo.v
+++ b/hw/application_fpga/core/uart/rtl/uart_fifo.v
@@ -7,7 +7,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (c) 2022, Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
// Redistribution and use in source and binary forms, with or
diff --git a/hw/application_fpga/core/uart/toolruns/Makefile b/hw/application_fpga/core/uart/toolruns/Makefile
index d96c26d..7eeca5c 100755
--- a/hw/application_fpga/core/uart/toolruns/Makefile
+++ b/hw/application_fpga/core/uart/toolruns/Makefile
@@ -6,7 +6,7 @@
#
#
# Author: Joachim Strombergson
-# Copyright (C) 2022 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#===================================================================
diff --git a/hw/application_fpga/core/uds/rtl/uds.v b/hw/application_fpga/core/uds/rtl/uds.v
index b9d12f4..8d6d43f 100644
--- a/hw/application_fpga/core/uds/rtl/uds.v
+++ b/hw/application_fpga/core/uds/rtl/uds.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/uds/rtl/uds_rom.v b/hw/application_fpga/core/uds/rtl/uds_rom.v
index 9908627..f31f795 100644
--- a/hw/application_fpga/core/uds/rtl/uds_rom.v
+++ b/hw/application_fpga/core/uds/rtl/uds_rom.v
@@ -7,7 +7,7 @@
//
//
// Author: Claire Xenia Wolf
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/uds/tb/tb_uds.v b/hw/application_fpga/core/uds/tb/tb_uds.v
index 5ebba98..0840b1a 100644
--- a/hw/application_fpga/core/uds/tb/tb_uds.v
+++ b/hw/application_fpga/core/uds/tb/tb_uds.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/core/uds/toolruns/Makefile b/hw/application_fpga/core/uds/toolruns/Makefile
index a072b15..1cdeeac 100755
--- a/hw/application_fpga/core/uds/toolruns/Makefile
+++ b/hw/application_fpga/core/uds/toolruns/Makefile
@@ -6,7 +6,7 @@
#
#
# Author: Joachim Strombergson
-# Copyright (C) 2022 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#===================================================================
diff --git a/hw/application_fpga/data/application_fpga_mta1_usb_dev.pcf b/hw/application_fpga/data/application_fpga_mta1_usb_dev.pcf
index 6f47581..f6ee05d 100644
--- a/hw/application_fpga/data/application_fpga_mta1_usb_dev.pcf
+++ b/hw/application_fpga/data/application_fpga_mta1_usb_dev.pcf
@@ -6,7 +6,7 @@
# Tillitis MTA1_USB_DEV board.
#
#
-# Copyright (C) 2022 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#=======================================================================
diff --git a/hw/application_fpga/data/application_fpga_tk1.pcf b/hw/application_fpga/data/application_fpga_tk1.pcf
index b48ea39..a6ff915 100644
--- a/hw/application_fpga/data/application_fpga_tk1.pcf
+++ b/hw/application_fpga/data/application_fpga_tk1.pcf
@@ -6,7 +6,7 @@
# on the tk1 board with the CH552 MCU used as a USB-serial chip.
#
#
-# Copyright (C) 2022 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#=======================================================================
diff --git a/hw/application_fpga/fw/testfw/main.c b/hw/application_fpga/fw/testfw/main.c
index 883050f..5f66006 100644
--- a/hw/application_fpga/fw/testfw/main.c
+++ b/hw/application_fpga/fw/testfw/main.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/testfw/start.S b/hw/application_fpga/fw/testfw/start.S
index ce48dab..f5bc39c 100644
--- a/hw/application_fpga/fw/testfw/start.S
+++ b/hw/application_fpga/fw/testfw/start.S
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
.section ".text.init"
diff --git a/hw/application_fpga/fw/tk1/auth_app.c b/hw/application_fpga/fw/tk1/auth_app.c
index e7fd52d..d7e50d2 100644
--- a/hw/application_fpga/fw/tk1/auth_app.c
+++ b/hw/application_fpga/fw/tk1/auth_app.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/auth_app.h b/hw/application_fpga/fw/tk1/auth_app.h
index 044b6e5..9391047 100644
--- a/hw/application_fpga/fw/tk1/auth_app.h
+++ b/hw/application_fpga/fw/tk1/auth_app.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef AUTH_APP_H
diff --git a/hw/application_fpga/fw/tk1/firmware.lds b/hw/application_fpga/fw/tk1/firmware.lds
index 97eee5b..568d83f 100644
--- a/hw/application_fpga/fw/tk1/firmware.lds
+++ b/hw/application_fpga/fw/tk1/firmware.lds
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2022, 2023 - Tillitis AB
+ * SPDX-FileCopyrightText: 2022 Tillitis AB
* SPDX-License-Identifier: BSD-2-Clause
*/
diff --git a/hw/application_fpga/fw/tk1/flash.c b/hw/application_fpga/fw/tk1/flash.c
index 80cc66c..6367b62 100644
--- a/hw/application_fpga/fw/tk1/flash.c
+++ b/hw/application_fpga/fw/tk1/flash.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/flash.h b/hw/application_fpga/fw/tk1/flash.h
index 6a4640e..1f231e1 100644
--- a/hw/application_fpga/fw/tk1/flash.h
+++ b/hw/application_fpga/fw/tk1/flash.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef TKEY_FLASH_H
diff --git a/hw/application_fpga/fw/tk1/main.c b/hw/application_fpga/fw/tk1/main.c
index 10157eb..a2b69f7 100644
--- a/hw/application_fpga/fw/tk1/main.c
+++ b/hw/application_fpga/fw/tk1/main.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/mgmt_app.c b/hw/application_fpga/fw/tk1/mgmt_app.c
index ec054c4..a1c9343 100644
--- a/hw/application_fpga/fw/tk1/mgmt_app.c
+++ b/hw/application_fpga/fw/tk1/mgmt_app.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/mgmt_app.h b/hw/application_fpga/fw/tk1/mgmt_app.h
index 828e214..d300669 100644
--- a/hw/application_fpga/fw/tk1/mgmt_app.h
+++ b/hw/application_fpga/fw/tk1/mgmt_app.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef MGMT_APP_H
diff --git a/hw/application_fpga/fw/tk1/partition_table.c b/hw/application_fpga/fw/tk1/partition_table.c
index 5aa95a8..9d7ed39 100644
--- a/hw/application_fpga/fw/tk1/partition_table.c
+++ b/hw/application_fpga/fw/tk1/partition_table.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/partition_table.h b/hw/application_fpga/fw/tk1/partition_table.h
index 76adb19..61b8a84 100644
--- a/hw/application_fpga/fw/tk1/partition_table.h
+++ b/hw/application_fpga/fw/tk1/partition_table.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef PARTITION_TABLE_H
diff --git a/hw/application_fpga/fw/tk1/preload_app.c b/hw/application_fpga/fw/tk1/preload_app.c
index 4a4a521..5e783c3 100644
--- a/hw/application_fpga/fw/tk1/preload_app.c
+++ b/hw/application_fpga/fw/tk1/preload_app.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/preload_app.h b/hw/application_fpga/fw/tk1/preload_app.h
index ae90243..22920d6 100644
--- a/hw/application_fpga/fw/tk1/preload_app.h
+++ b/hw/application_fpga/fw/tk1/preload_app.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef PRELOAD_APP_H
diff --git a/hw/application_fpga/fw/tk1/proto.c b/hw/application_fpga/fw/tk1/proto.c
index 3084d49..b91deb3 100644
--- a/hw/application_fpga/fw/tk1/proto.c
+++ b/hw/application_fpga/fw/tk1/proto.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/proto.h b/hw/application_fpga/fw/tk1/proto.h
index 69cf73e..04f545f 100644
--- a/hw/application_fpga/fw/tk1/proto.h
+++ b/hw/application_fpga/fw/tk1/proto.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2022, 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/qemu_firmware.lds b/hw/application_fpga/fw/tk1/qemu_firmware.lds
index 90ee2ad..6ce7e6b 100644
--- a/hw/application_fpga/fw/tk1/qemu_firmware.lds
+++ b/hw/application_fpga/fw/tk1/qemu_firmware.lds
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2022, 2023 - Tillitis AB
+ * SPDX-FileCopyrightText: 2022 Tillitis AB
* SPDX-License-Identifier: BSD-2-Clause
*/
diff --git a/hw/application_fpga/fw/tk1/reset.c b/hw/application_fpga/fw/tk1/reset.c
index 7ba1aba..d6056bb 100644
--- a/hw/application_fpga/fw/tk1/reset.c
+++ b/hw/application_fpga/fw/tk1/reset.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/reset.h b/hw/application_fpga/fw/tk1/reset.h
index ef80309..e2b3d07 100644
--- a/hw/application_fpga/fw/tk1/reset.h
+++ b/hw/application_fpga/fw/tk1/reset.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef TKEY_RESET_H
diff --git a/hw/application_fpga/fw/tk1/rng.c b/hw/application_fpga/fw/tk1/rng.c
index ed4575d..207721c 100644
--- a/hw/application_fpga/fw/tk1/rng.c
+++ b/hw/application_fpga/fw/tk1/rng.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include "rng.h"
diff --git a/hw/application_fpga/fw/tk1/rng.h b/hw/application_fpga/fw/tk1/rng.h
index 7486219..5ea7983 100644
--- a/hw/application_fpga/fw/tk1/rng.h
+++ b/hw/application_fpga/fw/tk1/rng.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef RNG_H
diff --git a/hw/application_fpga/fw/tk1/spi.c b/hw/application_fpga/fw/tk1/spi.c
index 3d25328..cd4b564 100644
--- a/hw/application_fpga/fw/tk1/spi.c
+++ b/hw/application_fpga/fw/tk1/spi.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include "spi.h"
diff --git a/hw/application_fpga/fw/tk1/spi.h b/hw/application_fpga/fw/tk1/spi.h
index 77bec72..6f3ad20 100644
--- a/hw/application_fpga/fw/tk1/spi.h
+++ b/hw/application_fpga/fw/tk1/spi.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef TKEY_SPI_H
diff --git a/hw/application_fpga/fw/tk1/start.S b/hw/application_fpga/fw/tk1/start.S
index c91cccd..d344154 100644
--- a/hw/application_fpga/fw/tk1/start.S
+++ b/hw/application_fpga/fw/tk1/start.S
@@ -1,4 +1,4 @@
-// Copyright (C) 2022-2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/state.h b/hw/application_fpga/fw/tk1/state.h
index 3c186da..970e66f 100644
--- a/hw/application_fpga/fw/tk1/state.h
+++ b/hw/application_fpga/fw/tk1/state.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2023 - Tillitis AB
+// SPDX-FileCopyrightText: 2023 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef STATE_H
diff --git a/hw/application_fpga/fw/tk1/storage.c b/hw/application_fpga/fw/tk1/storage.c
index db5dca4..2d6cdc3 100644
--- a/hw/application_fpga/fw/tk1/storage.c
+++ b/hw/application_fpga/fw/tk1/storage.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/storage.h b/hw/application_fpga/fw/tk1/storage.h
index 623ac1e..d1dee84 100644
--- a/hw/application_fpga/fw/tk1/storage.h
+++ b/hw/application_fpga/fw/tk1/storage.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 - Tillitis AB
+// SPDX-FileCopyrightText: 2024 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef STORAGE_H
diff --git a/hw/application_fpga/fw/tk1/syscall_enable.h b/hw/application_fpga/fw/tk1/syscall_enable.h
index f655ac9..6795a69 100644
--- a/hw/application_fpga/fw/tk1/syscall_enable.h
+++ b/hw/application_fpga/fw/tk1/syscall_enable.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef TKEY_SYSCALL_ENABLE_H
diff --git a/hw/application_fpga/fw/tk1/syscall_handler.c b/hw/application_fpga/fw/tk1/syscall_handler.c
index 264c29b..e74ea55 100644
--- a/hw/application_fpga/fw/tk1/syscall_handler.c
+++ b/hw/application_fpga/fw/tk1/syscall_handler.c
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#include
diff --git a/hw/application_fpga/fw/tk1/syscall_num.h b/hw/application_fpga/fw/tk1/syscall_num.h
index f78ceb5..4ca8393 100644
--- a/hw/application_fpga/fw/tk1/syscall_num.h
+++ b/hw/application_fpga/fw/tk1/syscall_num.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2025 - Tillitis AB
+// SPDX-FileCopyrightText: 2025 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
#ifndef TKEY_SYSCALL_NUM_H
diff --git a/hw/application_fpga/rtl/application_fpga.v b/hw/application_fpga/rtl/application_fpga.v
index 55db468..6053fa5 100644
--- a/hw/application_fpga/rtl/application_fpga.v
+++ b/hw/application_fpga/rtl/application_fpga.v
@@ -9,7 +9,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/tb/application_fpga_sim.v b/hw/application_fpga/tb/application_fpga_sim.v
index a61e6c5..0d4482f 100644
--- a/hw/application_fpga/tb/application_fpga_sim.v
+++ b/hw/application_fpga/tb/application_fpga_sim.v
@@ -8,7 +8,7 @@
// communicate with applications.
//
//
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/tb/application_fpga_verilator.cc b/hw/application_fpga/tb/application_fpga_verilator.cc
index cd78bd9..8449102 100644
--- a/hw/application_fpga/tb/application_fpga_verilator.cc
+++ b/hw/application_fpga/tb/application_fpga_verilator.cc
@@ -5,7 +5,7 @@
// Wrapper to allow simulation of the application_fpga using Verilator.
//
//
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/tb/reset_gen_sim.v b/hw/application_fpga/tb/reset_gen_sim.v
index 986870c..1781555 100644
--- a/hw/application_fpga/tb/reset_gen_sim.v
+++ b/hw/application_fpga/tb/reset_gen_sim.v
@@ -6,7 +6,7 @@
//
//
// Author: Joachim Strombergson
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/tb/tb_application_fpga_sim.v b/hw/application_fpga/tb/tb_application_fpga_sim.v
index 1c62dc6..ac49e9a 100644
--- a/hw/application_fpga/tb/tb_application_fpga_sim.v
+++ b/hw/application_fpga/tb/tb_application_fpga_sim.v
@@ -8,7 +8,7 @@
// communicate with applications.
//
//
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/tb/trng_sim.v b/hw/application_fpga/tb/trng_sim.v
index 4ebfe65..4206554 100644
--- a/hw/application_fpga/tb/trng_sim.v
+++ b/hw/application_fpga/tb/trng_sim.v
@@ -5,7 +5,7 @@
// TRNG simulation of the application_fpga.
//
//
-// Copyright (C) 2022 - Tillitis AB
+// SPDX-FileCopyrightText: 2022 Tillitis AB
// SPDX-License-Identifier: BSD-2-Clause
//
//======================================================================
diff --git a/hw/application_fpga/tools/app_bin_to_spram_hex.py b/hw/application_fpga/tools/app_bin_to_spram_hex.py
index a71c8f0..ed0b1ab 100644
--- a/hw/application_fpga/tools/app_bin_to_spram_hex.py
+++ b/hw/application_fpga/tools/app_bin_to_spram_hex.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
-# Copyright 2024 Tillitis AB
+# SPDX-FileCopyrightText: 2024 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
import argparse
diff --git a/hw/application_fpga/tools/patch_uds_udi.py b/hw/application_fpga/tools/patch_uds_udi.py
index 13ef230..a982a88 100644
--- a/hw/application_fpga/tools/patch_uds_udi.py
+++ b/hw/application_fpga/tools/patch_uds_udi.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
#=======================================================================
#
-# Copyright (C) 2023 Tillitis AB
+# SPDX-FileCopyrightText: 2023 Tillitis AB
# Written by Myrtle Shah
# SPDX-License-Identifier: BSD-2-Clause
#
diff --git a/hw/application_fpga/tools/tpt/tpt.py b/hw/application_fpga/tools/tpt/tpt.py
index 0e2eec4..e8332c5 100755
--- a/hw/application_fpga/tools/tpt/tpt.py
+++ b/hw/application_fpga/tools/tpt/tpt.py
@@ -8,7 +8,7 @@
#
# The tool use HKDF (RFC5869) to generate the UDS.
#
-# Copyright (C) 2022, 2023 - Tillitis AB
+# SPDX-FileCopyrightText: 2022 Tillitis AB
# SPDX-License-Identifier: BSD-2-Clause
#
#=======================================================================
diff --git a/hw/usb_interface/ch552_fw/REUSE.toml b/hw/usb_interface/ch552_fw/REUSE.toml
index fd9c228..eeb4f11 100644
--- a/hw/usb_interface/ch552_fw/REUSE.toml
+++ b/hw/usb_interface/ch552_fw/REUSE.toml
@@ -7,6 +7,7 @@ path = [
".gitignore",
"Makefile",
"README.md",
+ "encode_usb_strings.py", # Unable to parse
]
SPDX-FileCopyrightText = "2022 Tillitis AB "
SPDX-License-Identifier = "BSD-2-Clause"
diff --git a/hw/usb_interface/ch552_fw/encode_usb_strings.py b/hw/usb_interface/ch552_fw/encode_usb_strings.py
index 7dac4d8..9575342 100755
--- a/hw/usb_interface/ch552_fw/encode_usb_strings.py
+++ b/hw/usb_interface/ch552_fw/encode_usb_strings.py
@@ -63,8 +63,8 @@ if __name__ == "__main__":
}
with open('inc/usb_strings.h', 'w') as f:
- f.write('// SPDX-FileCopyrightText: 2024 Tillitis AB \n')
- f.write('// SPDX-License-Identifier: MIT\n')
+ f.write('// SPDX-FileCopyrightText: 2022 Tillitis AB \n')
+ f.write('// SPDX-License-Identifier: BSD-2-Clause\n')
f.write('\n')
f.write('#ifndef __USB_STRINGS_H__\n')
f.write('#define __USB_STRINGS_H__\n')