aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--example-release-notes.rst52
-rw-r--r--licenses/permissive-binary-license.txt47
-rw-r--r--readme.rst147
3 files changed, 246 insertions, 0 deletions
diff --git a/example-release-notes.rst b/example-release-notes.rst
new file mode 100644
index 0000000..e10a8cc
--- /dev/null
+++ b/example-release-notes.rst
@@ -0,0 +1,52 @@
+VendorA ExampleBlob Release Notes
+=============================
+
+.. section-numbering::
+ :suffix: .
+
+.. contents::
+
+Overview
+--------
+
+Files: ``exampleblob.bin``, ``exampleblob_sram.bin``
+
+Release Date: April 22nd, 2019
+
+Version: 1.3.0
+
+License: `Trusted Firmware Permissive Binary License`_
+
+Tested TF-A commit: b1349743a7949bb7b678fdf5aa681eb9d8d88081
+
+Supported Silicon: VendorA SoC1, VendorA SoC2, VendorA SoC2-R
+
+Notices
+-------
+
+.. Note: If this section get's too long, you can also link a separate file for it.
+
+::
+ Copyright 2018-2019 VendorA Inc. All rights reserved.
+ VendorA is a registered trademark of VendorA Inc.
+`Trusted Firmware Permissive Binary License`_
+
+::
+ Copyright 2000-2008 <author of third-party library dependency>
+SPDX-License-Identifier: `LGPL-3.0-or-later`_
+
+Release History
+---------------
+
+- 1.3.0 (April 22nd, 2019)
+ - Added SoC2-R support
+ - Fixed a power sequencing bug that could cause a crash on resume
+ - Tested with TF-A commit b1349743a7949bb7b678fdf5aa681eb9d8d88081
+- 1.2.0 (January 15th, 2019)
+ - Added SoC2 support
+ - Added PSCI hotplug support
+ - Tested with TF-A commit f0ea34206afae74987aeaf69a31616868a3fa693
+- ... (further history) ...
+
+.. _Trusted Firmware Permissive Binary License: licenses/permissive-binary-license.txt
+.. _LGPL-3.0-or-later: https://spdx.org/licenses/LGPL-3.0-or-later.html
diff --git a/licenses/permissive-binary-license.txt b/licenses/permissive-binary-license.txt
new file mode 100644
index 0000000..18d86ab
--- /dev/null
+++ b/licenses/permissive-binary-license.txt
@@ -0,0 +1,47 @@
+Trusted Firmware Permissive Binary License
+
+Version 1.0, April 2019
+(adapted for Trusted Firmware from Mbed Permissive Binary License 1.0
+ at https://www.mbed.com/en/licenses/permissive-binary-license/)
+
+Redistribution. Redistribution and use in binary form, without
+modification, are permitted provided that the following conditions are
+met:
+
+1) Redistributions must reproduce the copyright notice and the
+ following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+2) Unless to the extent explicitly permitted by law, no reverse
+ engineering, decompilation, or disassembly of this software is
+ permitted.
+
+3) Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+Limited patent license. The copyright holders (and contributors) grant a
+worldwide, non-exclusive, no-charge, royalty-free patent license to
+make, have made, use, offer to sell, sell, import, and otherwise
+transfer this software, where such license applies only to those patent
+claims licensable by the copyright holders (and contributors) that are
+necessarily infringed by this software. This patent license shall not
+apply to any combinations that include this software. No hardware is
+licensed hereunder.
+
+If you institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the software
+itself infringes your patent(s), then your rights granted under this
+license shall terminate as of the date such litigation is filed.
+
+DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/readme.rst b/readme.rst
new file mode 100644
index 0000000..e2003f2
--- /dev/null
+++ b/readme.rst
@@ -0,0 +1,147 @@
+Trusted Firmware binary repository
+==================================
+
+.. section-numbering::
+ :suffix: .
+
+.. contents::
+
+This repository hosts redistributable binary components that are needed with
+certain platform ports of trustedfirmware.org projects. All contributions to
+this repository must follow the rules and process laid out below as well as
+individual contribution guidelines of the respective project. License terms for
+individual binaries are described in the accompanying ``release-notes.rst``.
+
+Scope
+-----
+
+This repository is intended for cases where it's not possible to fully
+open-source a trustedfirmware.org project platform port. Binary components
+should be as minimal as possible, augmenting the more significant, open-source
+part of the platform port. Binary components that contain all meaningful
+functionality of a platform port and are merely linked into a boilerplate shell
+of open-source code will not be accepted.
+
+The trustedfirmware.org Technical Steering Committee or Governing Board will
+decide whether to host binary components in this repository on a case by case
+basis. Applications for inclusion can be sent to tsc@lists.trustedfirmware.org.
+
+Binary components must always be associated with a specific platform port. No
+generic code (i.e. any code outside the ``plat/<vendor>`` directory) may depend
+on a binary component.
+
+License
+-------
+
+All binary components must be accompanied by a distribution license. The license
+should:
+
+#. be irrevocable
+
+#. be royalty-free
+
+#. grant usage rights for both copyright and patents covering the binary
+
+#. allow unlimited redistribution under the same terms
+
+#. not restrict the ability to publish test results from the platform port
+
+To simplify legal review and avoid potential concerns, we recommend that the
+license should be as short and simple as possible. Special terms should be
+limited to what is absolutely necessary. The `Permissive Binary License`_
+adapted from the Arm Mbed project is a good example of a license that fulfills
+these requirements, and contributors are welcome to reuse it for their binaries.
+Reusing an already accepted license may greatly speed up and simplify the
+acceptance process for a new binary.
+
+When a binary is including third-party code (including open-source code) that is
+covered by separate license terms, all those licenses must be compatible with
+the distribution license.
+
+Notices
+-------
+
+All license and copyright notices covering the binary (including for linked
+third-party components) must be listed or linked to in the release notes. For
+licenses that are included in the `SPDX license list`_, please link to the
+appropriate SPDX license page rather than uploading a copy of the license to the
+binary repository.
+
+Release Notes
+-------------
+
+All binary components must be clearly versioned and accompanied by a release
+notes document that lists the following (updated for each version):
+
+#. version
+
+#. release date
+
+#. distribution license
+
+#. full list of license and copyright notices for (all parts of) the binary
+ (can be put into a separate file and linked from release notes if desired)
+
+#. supported silicon
+
+#. changes since the last version
+
+#. errata, known issues
+
+#. commit hash of the open-source trustedfirmware.org project it was tested with
+
+See the `example release notes`_ for suggestions on how to format these notes.
+
+Support
+-------
+
+As interfaces in open-source trustedfirmware.org projects change and get
+deprecated, it may not be possible to keep a platform port functional without
+updating the binary components it depends on. Contributors of binary components
+are expected to maintain them together with their platform ports and release
+updates as necessary. A binary component that no longer works with current
+builds of the open-source project and is not being kept up to date may be
+removed. Likewise, new binary component updates need to be tested with the
+latest version of the open-source platform port (and the latter needs to be
+updated if necessary) before they can be accepted.
+
+Directory Structure
+-------------------
+
+This repository contains binaries, license files and release notes. Release
+notes must always be placed in the same directory as the binary file(s) they
+apply to and should be called ``release-notes.rst``. Directories should be
+scoped by vendor and platform if necessary (e.g. a binary pertaining to a single
+platform should be placed under ``vendorname/platformname`` whereas a binary
+that can support multiple SoCs of a vendor can be placed directly under
+``vendorname``). Vendor-specific licenses should be placed in the ``licenses/``
+subdirectory of a vendor directory and referenced from the ``release-notes.rst``
+files of the binaries they apply to.
+
+Example layout::
+
+ - readme.rst
+ - licenses/
+ - permissive-binary-license.txt
+ - vendorA/
+ - licenses/
+ - vendor-specific-license.txt
+ - commonBinaryX/
+ - fileA.bin
+ - fileB.hex
+ - release-notes.rst
+ - platformA1/
+ - fileC.bin
+ - release-notes.rst
+ - platformA2
+ - binaryY/
+ - fileD.bin
+ - release-notes.rst
+ - binaryZ/
+ - fileE.elf
+ - fileF.bin
+ - release-notes.rst
+
+.. _Permissive Binary License: licenses/permissive-binary-license.txt
+.. _SPDX license list: https://spdx.org/licenses/
+.. _example release notes: example-release-notes.rst