diff options
author | Alan Tull <atull@kernel.org> | 2018-05-16 19:50:02 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-05-25 12:23:56 -0400 |
commit | 66c472cdb62d7b00de55722a772f7dfecf88abd1 (patch) | |
tree | b4dd1b7498ff16e1eb48dedfb66a7ad1bbb8c7ea /Documentation/driver-api | |
parent | 917a4304fe48c12d346f038c7d64da3f51bce53a (diff) |
Documentation: fpga: move fpga overview to driver-api
Start of moving Documentation/fpga/*.txt to driver-api, including:
- Add new directory driver-api/fpga
- Add new file driver-api/fpga/index.rst
- Add driver-api/fpga to driver-api/index.rst
- Move Documentation/fpga/overview.txt to driver-api/fpga/intro.rst
- Formatting and rewrites so that intro.rst will build cleanly
and form a good introduction to the rest of the docs to be added.
Signed-off-by: Alan Tull <atull@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation/driver-api')
-rw-r--r-- | Documentation/driver-api/fpga/index.rst | 10 | ||||
-rw-r--r-- | Documentation/driver-api/fpga/intro.rst | 54 | ||||
-rw-r--r-- | Documentation/driver-api/index.rst | 1 |
3 files changed, 65 insertions, 0 deletions
diff --git a/Documentation/driver-api/fpga/index.rst b/Documentation/driver-api/fpga/index.rst new file mode 100644 index 000000000000..71e568aea6cd --- /dev/null +++ b/Documentation/driver-api/fpga/index.rst | |||
@@ -0,0 +1,10 @@ | |||
1 | ============== | ||
2 | FPGA Subsystem | ||
3 | ============== | ||
4 | |||
5 | :Author: Alan Tull | ||
6 | |||
7 | .. toctree:: | ||
8 | :maxdepth: 2 | ||
9 | |||
10 | intro | ||
diff --git a/Documentation/driver-api/fpga/intro.rst b/Documentation/driver-api/fpga/intro.rst new file mode 100644 index 000000000000..51cd81dbb4dc --- /dev/null +++ b/Documentation/driver-api/fpga/intro.rst | |||
@@ -0,0 +1,54 @@ | |||
1 | Introduction | ||
2 | ============ | ||
3 | |||
4 | The FPGA subsystem supports reprogramming FPGAs dynamically under | ||
5 | Linux. Some of the core intentions of the FPGA subsystems are: | ||
6 | |||
7 | * The FPGA subsystem is vendor agnostic. | ||
8 | |||
9 | * The FPGA subsystem separates upper layers (userspace interfaces and | ||
10 | enumeration) from lower layers that know how to program a specific | ||
11 | FPGA. | ||
12 | |||
13 | * Code should not be shared between upper and lower layers. This | ||
14 | should go without saying. If that seems necessary, there's probably | ||
15 | framework functionality that that can be added that will benefit | ||
16 | other users. Write the linux-fpga mailing list and maintainers and | ||
17 | seek out a solution that expands the framework for broad reuse. | ||
18 | |||
19 | * Generally, when adding code, think of the future. Plan for re-use. | ||
20 | |||
21 | The framework in the kernel is divided into: | ||
22 | |||
23 | FPGA Manager | ||
24 | ------------ | ||
25 | |||
26 | If you are adding a new FPGA or a new method of programming a FPGA, | ||
27 | this is the subsystem for you. Low level FPGA manager drivers contain | ||
28 | the knowledge of how to program a specific device. This subsystem | ||
29 | includes the framework in fpga-mgr.c and the low level drivers that | ||
30 | are registered with it. | ||
31 | |||
32 | FPGA Bridge | ||
33 | ----------- | ||
34 | |||
35 | FPGA Bridges prevent spurious signals from going out of a FPGA or a | ||
36 | region of a FPGA during programming. They are disabled before | ||
37 | programming begins and re-enabled afterwards. An FPGA bridge may be | ||
38 | actual hard hardware that gates a bus to a cpu or a soft ("freeze") | ||
39 | bridge in FPGA fabric that surrounds a partial reconfiguration region | ||
40 | of an FPGA. This subsystem includes fpga-bridge.c and the low level | ||
41 | drivers that are registered with it. | ||
42 | |||
43 | FPGA Region | ||
44 | ----------- | ||
45 | |||
46 | If you are adding a new interface to the FPGA framework, add it on top | ||
47 | of a FPGA region to allow the most reuse of your interface. | ||
48 | |||
49 | The FPGA Region framework (fpga-region.c) associates managers and | ||
50 | bridges as reconfigurable regions. A region may refer to the whole | ||
51 | FPGA in full reconfiguration or to a partial reconfiguration region. | ||
52 | |||
53 | The Device Tree FPGA Region support (of-fpga-region.c) handles | ||
54 | reprogramming FPGAs when device tree overlays are applied. | ||
diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst index 6d8352c0f354..ed40ec090299 100644 --- a/Documentation/driver-api/index.rst +++ b/Documentation/driver-api/index.rst | |||
@@ -49,6 +49,7 @@ available subsections can be seen below. | |||
49 | dmaengine/index | 49 | dmaengine/index |
50 | slimbus | 50 | slimbus |
51 | soundwire/index | 51 | soundwire/index |
52 | fpga/index | ||
52 | 53 | ||
53 | .. only:: subproject and html | 54 | .. only:: subproject and html |
54 | 55 | ||