Skip to content

Commit 9ba96b7

Browse files
committed
docs: getting_started: Move README into docs
In order to consolidate documentation and in anticipation of moving the docs from the main Xilinx branch to the CI branch Signed-off-by: Philip Molloy <philip.molloy@analog.com>
1 parent 2d0daba commit 9ba96b7

File tree

3 files changed

+113
-57
lines changed

3 files changed

+113
-57
lines changed

README.md

Lines changed: 5 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,7 @@
1-
# Linux kernel - variant from Analog Devices, Inc.
1+
# ADI Xilinx Linux branch
22

3-
## Table of contents
4-
5-
1. [Description](#description)
6-
2. [How to build](#how-to-build)
7-
3. [Release branches](#release-branches)
8-
4. [Rebased branches](#rebased-branches)
9-
5. [Raspberry Pi branches](#raspberry-pi-branches)
10-
6. [Intel/Altera branches](#intelaltera-branches)
11-
12-
## Description
13-
14-
The Linux kernel in this repository is the [Linux kernel from Xilinx](https://github.com/Xilinx/linux-xlnx) together with drivers & patches applied from Analog Devices.
15-
16-
Details about the drivers that are of interest [and supported] by this repository can be found on the [Analog Devices wiki](https://wiki.analog.com/resources/tools-software/linux-drivers-all). This readme focuses on details specific to how this code is structured/organized, how it was derived, etc.
17-
18-
The current main is based on [xilinx v2024.1](https://github.com/Xilinx/linux-xlnx/tree/xilinx-v2024.1). For details about the merge see commit [d31fa3135dbef8bf186a7c42fd87b3eedd8446e9](https://github.com/analogdevicesinc/linux/commit/d31fa3135dbef8bf186a7c42fd87b3eedd8446e9) ("Merge tag 'xilinx-v2024.1' of https://github.com/Xilinx/linux-xlnx.git"). In this Xilinx release, the current version of upstream Linux is [Linux 6.6](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v6.6).
19-
20-
For legacy reasons, the [xcomm_zynq](https://github.com/analogdevicesinc/linux/tree/xcomm_zynq) branch is still available and should be in-sync with current master. That branch used to be the old master branch.
21-
22-
## How to build
23-
24-
For build instructions [check the wiki](https://wiki.analog.com/resources/tools-software/linux-drivers-all#building_the_adi_linux_kernel).
25-
26-
## Release branches
27-
28-
All release branches have the [YEAR]\_R[NUM] format. There are some special release branches sometimes (like 2014\_R2\_altera), because it wasn't always possible to match the Linux repo between Xilinx & Intel/Altera.
29-
30-
Each release is matched with a release from the [HDL repo](https://github.com/analogdevicesinc/hdl). The branching name/model for the HDL repo differs a bit from the one in this repo, but the matching should be obvious.
31-
Therefore, each kernel in the release branches is be built using the toolchains from a specific version of Vivado & Quartus.
32-
A matching of these can be found [on the wiki](https://wiki.analog.com/resources/fpga/docs/releases).
33-
Release branches can be built using other GCC toolchains, but in the official SD-card images provided, they will use the toolchains from Vivado/Quartus.
34-
35-
## Rebased branches
36-
37-
Starting with branch [adi-4.9.0](https://github.com/analogdevicesinc/linux/tree/adi-4.9.0) there are rebased branches.
38-
They're typically rebased branches from Xilinx with the ADI patches on top so that it's easier to identify patches that are not yet upstreamed.
39-
40-
For [adi-4.9.0](https://github.com/analogdevicesinc/linux/tree/adi-4.9.0) the base was branch [xlnx_rebase_v4.9](https://github.com/Xilinx/linux-xlnx/tree/xlnx_rebase_v4.9) at commit [d45e196f59364e9f5eafe46027a7d2af349083974](https://github.com/analogdevicesinc/linux/commit/d45e196f59364e9f5eafe46027a7d2af349083974) in the ADI repo and commit [45e196f59364e9f5eafe46027a7d2af349083974](https://github.com/Xilinx/linux-xlnx/commit/45e196f59364e9f5eafe46027a7d2af349083974) in the Xilinx repo. All ADI patches & drivers up to a specific point in time were cherry-picked to that branch from master.
41-
Note that since the `adi-4.9.0` branch is the first rebased branch, it's not particularly the best rebase that could have been done, but it should provide some patches that are somewhat reasonable to take and apply on top of an upstream 4.9 kernel [after some polishing].
42-
43-
The latest rebased branch depends on the current linux version supported in master. At the time of writing it is 5.10 so that [adi-5.10.0](https://github.com/analogdevicesinc/linux/tree/adi-5.10.0) is the latest. Also note that a diff between the latest rebased branch and master (`git diff master adi-5.10.0`) must be NULL.
44-
45-
## Raspberry Pi branches
46-
47-
These provide a kernel that is good to run on a Raspberry Pi board. All the drivers present in the master branch should be automatically cherry-picked into the latest rpi branch.
48-
49-
As in the rebased branches, the latest rpi branch should be in accordance with the current kernel version supported in master. At the time of writing, the kernel version in master is 5.10 so that the correspondent latest rpi branch is [rpi-5.10.y](https://github.com/analogdevicesinc/linux/tree/rpi-5.10.y).
50-
51-
## Intel/Altera branches
52-
53-
Because the kernel versions that Intel/Altera were usually not in sync with Xilinx's, `altera-*` branches were created.
54-
These are [altera_4.0](https://github.com/analogdevicesinc/linux/tree/altera_4.0), [altera_4.4](https://github.com/analogdevicesinc/linux/tree/altera_4.4), [altera_4.6](https://github.com/analogdevicesinc/linux/tree/altera_4.6), [altera_4.9](https://github.com/analogdevicesinc/linux/tree/altera_4.9).
55-
56-
These branches are derived from the [Intel/Altera linux kernel repo](https://github.com/altera-opensource/linux-socfpga), together with some merged versions of old master branches.
57-
58-
The hope is that with the upcoming Linux 4.19, these branches would stop existing, since Intel/Altera seems to keep in sync their kernel version with more recent [non-LTS kernels]. Typically the releases/references that are provided for these boards should already be in the mainline kernel, so these branches should no longer be needed.
3+
This development branch supports ADI devices and peripherals that are
4+
integrated with AMD/Xilinx FPGAs as well as Raspberry Pi boards.
595

6+
See [analogdevicesinc.github.io/linux/](https://analogdevicesinc.github.io/linux/)
7+
for more information about getting started, contributing, etc.

docs/getting_started.rst

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
.. _getting_started:
2+
3+
Getting Started
4+
===============
5+
6+
Description
7+
-----------
8+
9+
The Linux kernel in this repository is the `Linux kernel from Xilinx
10+
<https://github.com/Xilinx/linux-xlnx>`__ together with drivers & patches
11+
applied from Analog Devices.
12+
13+
Details about the drivers that are of interest and supported by this repository
14+
can be found on the :dokuwiki:`Analog Devices wiki
15+
<resources/tools-software/linux-drivers-all>`. This readme focuses on details
16+
specific to how this code is structured/organized, how it was derived, etc.
17+
18+
The current main is based on `xilinx v2024.1
19+
<https://github.com/Xilinx/linux-xlnx/tree/xilinx-v2024.1>`__. For details
20+
about the merge see commit :git-linux:`d31fa3135dbef8bf186a7c42fd87b3eedd8446e9
21+
<commit/d31fa3135dbef8bf186a7c42fd87b3eedd8446e9>` (Merge tag ``xilinx-v2024.1``
22+
of https://github.com/Xilinx/linux-xlnx.git). In this Xilinx release, the
23+
current version of upstream Linux is `Linux 6.6
24+
<https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v6.6>`__.
25+
26+
For legacy reasons, the :git-linux:`xcomm_zynq:` is still available and should
27+
be in-sync with current master. That branch used to be the old master branch.
28+
29+
How to build
30+
------------
31+
32+
For build instructions :dokuwiki:`check the wiki
33+
<resources/tools-software/linux-drivers-all#building_the_adi_linux_kernel>`.
34+
35+
Release branches
36+
----------------
37+
38+
All release branches have the ``[YEAR]_R[NUM]`` format. There are some special
39+
release branches sometimes (like ``2014_R2_altera``, because it wasn't always
40+
possible to match the Linux repo between Xilinx & Intel/Altera.
41+
42+
Each release is matched with a release from the :git-hdl:`HDL repo <>`. The
43+
branching name/model for the HDL repo differs a bit from the one in this repo,
44+
but the matching should be obvious. Therefore, each kernel in the release
45+
branches is be built using the toolchains from a specific version of Vivado &
46+
Quartus. A matching of these can be found :dokuwiki:`on the wiki
47+
<resources/fpga/docs/releases>`. Release branches can be built using other GCC
48+
toolchains, but in the official SD-card images provided, they will use the
49+
toolchains from Vivado/Quartus.
50+
51+
Rebased branches
52+
----------------
53+
54+
Starting with :git-linux:`adi-4.9.0:` there are rebased branches. They're
55+
typically rebased branches from Xilinx with the ADI patches on top so that it's
56+
easier to identify patches that are not yet upstreamed.
57+
58+
For :git-linux:`adi-4.9.0:` the base was branch `xlnx_rebase_v4.9
59+
<https://github.com/Xilinx/linux-xlnx/tree/xlnx_rebase_v4.9>`__ at commit
60+
:git-linux:`d45e196f59364e9f5eafe46027a7d2af349083974
61+
<commit/d45e196f59364e9f5eafe46027a7d2af349083974>` in the ADI repo and commit
62+
`45e196f59364e9f5eafe46027a7d2af349083974
63+
<https://github.com/Xilinx/linux-xlnx/commit/45e196f59364e9f5eafe46027a7d2af349083974>`__
64+
in the Xilinx repo. All ADI patches & drivers up to a specific point in time
65+
were cherry-picked to that branch from master. Note that since the
66+
``adi-4.9.0`` branch is the first rebased branch, it's not particularly the
67+
best rebase that could have been done, but it should provide some patches that
68+
are somewhat reasonable to take and apply on top of an upstream 4.9 kernel
69+
after some polishing.
70+
71+
The latest rebased branch depends on the current linux version supported in
72+
master. At the time of writing it is 5.10 so that :git-linux:`adi-5.10.0:` is
73+
the latest. Also note that a diff between the latest rebased branch and master
74+
(``git diff master adi-5.10.0``) must be NULL.
75+
76+
Raspberry Pi branches
77+
---------------------
78+
79+
These provide a kernel that is good to run on a Raspberry Pi board. All the
80+
drivers present in the master branch should be automatically cherry-picked into
81+
the latest rpi branch.
82+
83+
As in the rebased branches, the latest rpi branch should be in accordance with
84+
the current kernel version supported in master. At the time of writing, the
85+
kernel version in master is 5.10 so that the correspondent latest rpi branch is
86+
:git-linux:`rpi-5.10.y:`.
87+
88+
Intel/Altera branches
89+
---------------------
90+
91+
Because the kernel versions that Intel/Altera were usually not in sync with
92+
Xilinx's, ``altera-*`` branches were created:
93+
94+
- :git-linux:`altera_4.0:`
95+
- :git-linux:`altera_4.4:`
96+
- :git-linux:`altera_4.6:`
97+
- :git-linux:`altera_4.9:`
98+
99+
These branches are derived from the `Intel/Altera linux kernel repo
100+
<https://github.com/altera-opensource/linux-socfpga>`__, together with some
101+
merged versions of old master branches.
102+
103+
The hope is that with the upcoming Linux 4.19, these branches would stop
104+
existing, since Intel/Altera seems to keep in sync their kernel version with
105+
more recent non-LTS kernels. Typically the releases/references that are
106+
provided for these boards should already be in the mainline kernel, so these
107+
branches should no longer be needed.

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Linux documentation.
77
.. toctree::
88
:maxdepth: 1
99

10+
getting_started
1011
iio/index
1112
contribute
1213
ci

0 commit comments

Comments
 (0)