-
Notifications
You must be signed in to change notification settings - Fork 919
Move Xilinx README into docs #3054
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pamolloy
wants to merge
5
commits into
main
Choose a base branch
from
xlnx/docs/move-readme-into-docs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 3 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
c015326
docs: contribute: Rename user guide
pamolloy 278b74e
docs: getting_started: Move README into docs
pamolloy 53bed73
fixup! docs: getting_started: Move README into docs
gastmaier e9f51ce
docs: contribute: Fixup dt_binding_check
gastmaier aa4652d
fixup! fixup! docs: getting_started: Move README into docs
pamolloy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,59 +1,7 @@ | ||
| # Linux kernel - variant from Analog Devices, Inc. | ||
| # ADI Xilinx Linux branch | ||
|
|
||
| ## Table of contents | ||
|
|
||
| 1. [Description](#description) | ||
| 2. [How to build](#how-to-build) | ||
| 3. [Release branches](#release-branches) | ||
| 4. [Rebased branches](#rebased-branches) | ||
| 5. [Raspberry Pi branches](#raspberry-pi-branches) | ||
| 6. [Intel/Altera branches](#intelaltera-branches) | ||
|
|
||
| ## Description | ||
|
|
||
| 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. | ||
|
|
||
| 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. | ||
|
|
||
| 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). | ||
|
|
||
| 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. | ||
|
|
||
| ## How to build | ||
|
|
||
| For build instructions [check the wiki](https://wiki.analog.com/resources/tools-software/linux-drivers-all#building_the_adi_linux_kernel). | ||
|
|
||
| ## Release branches | ||
|
|
||
| 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. | ||
|
|
||
| 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. | ||
| Therefore, each kernel in the release branches is be built using the toolchains from a specific version of Vivado & Quartus. | ||
| A matching of these can be found [on the wiki](https://wiki.analog.com/resources/fpga/docs/releases). | ||
| 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. | ||
|
|
||
| ## Rebased branches | ||
|
|
||
| Starting with branch [adi-4.9.0](https://github.com/analogdevicesinc/linux/tree/adi-4.9.0) there are rebased branches. | ||
| 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. | ||
|
|
||
| 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. | ||
| 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]. | ||
|
|
||
| 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. | ||
|
|
||
| ## Raspberry Pi branches | ||
|
|
||
| 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. | ||
|
|
||
| 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). | ||
|
|
||
| ## Intel/Altera branches | ||
|
|
||
| Because the kernel versions that Intel/Altera were usually not in sync with Xilinx's, `altera-*` branches were created. | ||
| 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). | ||
|
|
||
| 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. | ||
|
|
||
| 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. | ||
| This development branch supports ADI devices and peripherals that are | ||
| integrated with AMD/Xilinx FPGAs as well as Raspberry Pi boards. | ||
|
|
||
| See [analogdevicesinc.github.io/linux/](https://analogdevicesinc.github.io/linux/) | ||
| for more information about getting started, contributing, etc. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| .. _getting_started: | ||
|
|
||
| Getting Started | ||
| =============== | ||
|
|
||
| Description | ||
| ----------- | ||
|
|
||
| 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. | ||
|
|
||
| Details about the drivers that are of interest and supported by this repository | ||
| can be found on the | ||
| :dokuwiki:`Analog Devices wiki <resources/tools-software/linux-drivers-all>`. | ||
| This readme focuses on details specific to how this code is | ||
| structured/organized, how it was derived, etc. | ||
|
|
||
| The current main is based on `xilinx v2025.1 <https://github.com/Xilinx/linux-xlnx/tree/xilinx-v2025.1>`__. | ||
| For details about the merge see commit | ||
| :git-linux:`3b1f15dc5c4d <commit/3b1f15dc5c4de92663059705d6f1cb6fc87d4470+>` | ||
| (Merge tag ``xilinx-v2025.1`` of https://github.com/Xilinx/linux-xlnx.git). | ||
| In this Xilinx release, the current version of upstream Linux is | ||
| `Linux 6.12 <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v6.12>`__. | ||
|
|
||
| How to build | ||
| ------------ | ||
|
|
||
| For build instructions | ||
| :dokuwiki:`check the wiki <resources/tools-software/linux-drivers-all#building_the_adi_linux_kernel>`. | ||
|
|
||
| Release branches | ||
| ---------------- | ||
|
|
||
| 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. | ||
|
|
||
| Each release is matched with a release from the :git-hdl:`HDL repo </>`. The | ||
| branching name/model for the HDL repo differs a bit from the one in this repo, | ||
| but the matching should be obvious. Therefore, each kernel in the release | ||
| branches is be built using the toolchains from a specific version of Vivado & | ||
| Quartus. A matching of these can be found at :external+hdl:ref:`releases`. | ||
| 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. | ||
|
|
||
| Rebased branches | ||
| ---------------- | ||
|
|
||
| Starting with :git-linux:`adi-4.9.0:` there are rebased branches. 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. | ||
|
|
||
| For :git-linux:`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 | ||
| :git-linux:`e5c22c2179cf <commit/e5c22c2179cfbec584d2c540d40a0c3d7a20770c+>` | ||
| in the ADI repo and commit | ||
| `45e196f59364 <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. 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. | ||
|
|
||
| The latest rebased branch depends on the current linux version supported in | ||
| master. Also note that a diff between the latest rebased branch and `xlnx-main` | ||
| (e.g., ``git diff xlnx-main adi-6.12.0``) must be NULL. | ||
|
|
||
| Raspberry Pi branches | ||
| --------------------- | ||
|
|
||
| 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. | ||
|
|
||
| As in the rebased branches, the latest rpi branch should be in accordance with | ||
| the current kernel version supported in master.. | ||
|
||
|
|
||
| Intel/Altera branches | ||
| --------------------- | ||
|
|
||
| Because the kernel versions that Intel/Altera were usually not in sync with | ||
| Xilinx's, ``altera-*`` branches were created: | ||
|
|
||
| - :git-linux:`altera_4.0 <altera_4.0:>` | ||
| - :git-linux:`altera_4.4 <altera_4.4:>` | ||
| - :git-linux:`altera_4.6 <altera_4.6:>` | ||
| - :git-linux:`altera_4.9 <altera_4.9:>` | ||
| - :git-linux:`altera_4.14 <altera_4.14:>` | ||
|
|
||
| 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. | ||
|
|
||
| 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. | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @nunojsa should we just remove them then? |
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this change do?