blob: 8c38339f915298e7f69af5d98684b9e9c9be6a4a [file] [log] [blame] [view]
Silvestrs Timofejevse6e17552020-04-29 08:04:17 +01001# Tock OS
2
3Tock OS is a secure embedded operating system for microcontrollers.
4
5This directory contains OpenTitan board and chip implementation for Tock that
6are maintained downstream. Other OS components are pulled directly from
7upstream or a local Tock OS repository. See below for more details.
8
9Tock OS documentation available at:
10https://www.tockos.org/
11https://github.com/tock/tock
12
13# Rationale
14
15Upstream OpenTitan implementation is not using DIFs, which means that the
16peripheral drivers cannot be directly implemented upstream. Therefore it is not
17possible to use upstream OpenTitan board and chip implementations.
18
19The intention is, where possible, to use upstream packages. At the moment the
20only excpetions are board and chip packages, which are implemented and
21maintained downstream.
22
23# Copyright
24
25The source files in this directory come from two sources, with slightly
26different copyright licences.
27
28Some source files are copied from the upstream tock repository. The notice in
29COPYRIGHT in this directory applies to all source files with explicit Tock OS
30Developers copyright headers, or no copyright headers at all.
31
32Where lowRISC has added additional files, these are marked with the lowRISC
33Copyright header, and the notice in LICENCE in the root of this repository
34applies.
35
36# Directory layout
37
38## Tock OS standard directories
39
40`boards` directory contains board specific configuration.
41`chips` directory contains chip specific configuration, and peripheral driver
42implementations.
43
44For more information please see Tock OS documentation and local README files.
45
46## Additional directories
47
48`tock` directory implements a crate that pulls in external tock dependencies
49(packages that are not maintained downstream). These dependencies can be either
50pulled directly from the upstream, or from a local Tock directory.