blob: 8c38339f915298e7f69af5d98684b9e9c9be6a4a [file] [log] [blame] [view]
# Tock OS
Tock OS is a secure embedded operating system for microcontrollers.
This directory contains OpenTitan board and chip implementation for Tock that
are maintained downstream. Other OS components are pulled directly from
upstream or a local Tock OS repository. See below for more details.
Tock OS documentation available at:
https://www.tockos.org/
https://github.com/tock/tock
# Rationale
Upstream OpenTitan implementation is not using DIFs, which means that the
peripheral drivers cannot be directly implemented upstream. Therefore it is not
possible to use upstream OpenTitan board and chip implementations.
The intention is, where possible, to use upstream packages. At the moment the
only excpetions are board and chip packages, which are implemented and
maintained downstream.
# Copyright
The source files in this directory come from two sources, with slightly
different copyright licences.
Some source files are copied from the upstream tock repository. The notice in
COPYRIGHT in this directory applies to all source files with explicit Tock OS
Developers copyright headers, or no copyright headers at all.
Where lowRISC has added additional files, these are marked with the lowRISC
Copyright header, and the notice in LICENCE in the root of this repository
applies.
# Directory layout
## Tock OS standard directories
`boards` directory contains board specific configuration.
`chips` directory contains chip specific configuration, and peripheral driver
implementations.
For more information please see Tock OS documentation and local README files.
## Additional directories
`tock` directory implements a crate that pulls in external tock dependencies
(packages that are not maintained downstream). These dependencies can be either
pulled directly from the upstream, or from a local Tock directory.