From c015326f5be2f5ec3308c739bc41944dd2752323 Mon Sep 17 00:00:00 2001 From: Philip Molloy Date: Tue, 16 Dec 2025 14:40:57 +0100 Subject: [PATCH 1/5] docs: contribute: Rename user guide As the first sentence of the documentation explains, the document describes specific guidelines for contributing rather than general guidelines for users Signed-off-by: Philip Molloy --- docs/{user-guide.rst => contribute.rst} | 4 ++-- docs/index.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename docs/{user-guide.rst => contribute.rst} (99%) diff --git a/docs/user-guide.rst b/docs/contribute.rst similarity index 99% rename from docs/user-guide.rst rename to docs/contribute.rst index b27d10cb49a0f5..bc97a96260c569 100644 --- a/docs/user-guide.rst +++ b/docs/contribute.rst @@ -1,5 +1,5 @@ -User guide -========== +Contribution guidelines +======================= This page serves the purpose of providing pointers and a brief introduction to contributing to the Linux Kernel, using the tools available as well as wrappers diff --git a/docs/index.rst b/docs/index.rst index 28facd369ab528..56fe0010fc2563 100755 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,7 +8,7 @@ Linux documentation. :maxdepth: 1 iio/index - user-guide + contribute ci This documentation contains information only about this and the device drivers From 278b74e71d6b5a1168a47a7fb41c59e937416dec Mon Sep 17 00:00:00 2001 From: Philip Molloy Date: Tue, 16 Dec 2025 15:24:17 +0100 Subject: [PATCH 2/5] 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 --- README.md | 62 ++--------------------- docs/getting_started.rst | 107 +++++++++++++++++++++++++++++++++++++++ docs/index.rst | 1 + 3 files changed, 113 insertions(+), 57 deletions(-) create mode 100644 docs/getting_started.rst diff --git a/README.md b/README.md index 5c48a2edb1679a..6c9998f06b7c52 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/docs/getting_started.rst b/docs/getting_started.rst new file mode 100644 index 00000000000000..9699a5bdd8cdcd --- /dev/null +++ b/docs/getting_started.rst @@ -0,0 +1,107 @@ +.. _getting_started: + +Getting Started +=============== + +Description +----------- + +The Linux kernel in this repository is the `Linux kernel from Xilinx +`__ 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 +`. 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 +`__. For details +about the merge see commit :git-linux:`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 +`__. + +For legacy reasons, the :git-linux:`xcomm_zynq:` 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 :dokuwiki:`check the wiki +`. + +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 :dokuwiki:`on the wiki +`. 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 +`__ at commit +:git-linux:`d45e196f59364e9f5eafe46027a7d2af349083974 +` in the ADI repo and 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 :git-linux:`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 +:git-linux:`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: + +- :git-linux:`altera_4.0:` +- :git-linux:`altera_4.4:` +- :git-linux:`altera_4.6:` +- :git-linux:`altera_4.9:` + +These branches are derived from the `Intel/Altera linux kernel repo +`__, 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. diff --git a/docs/index.rst b/docs/index.rst index 56fe0010fc2563..a2fd98e12ec8d5 100755 --- a/docs/index.rst +++ b/docs/index.rst @@ -7,6 +7,7 @@ Linux documentation. .. toctree:: :maxdepth: 1 + getting_started iio/index contribute ci From 53bed730db4cdbfcc4e98d322ff60e45c41d2b16 Mon Sep 17 00:00:00 2001 From: Jorge Marques Date: Fri, 19 Dec 2025 14:58:43 +0100 Subject: [PATCH 3/5] fixup! docs: getting_started: Move README into docs Signed-off-by: Jorge Marques --- docs/conf.py | 4 ++ docs/getting_started.rst | 89 ++++++++++++++++++---------------------- 2 files changed, 45 insertions(+), 48 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 6c88deb1bab11e..aac90e51f8984b 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -26,6 +26,10 @@ # -- External docs configuration ---------------------------------------------- +interref_repos = [ + 'hdl', +] + intersphinx_mapping = { 'upstream': ('https://docs.kernel.org', None), 'b4': ('https://b4.docs.kernel.org/en/latest', None), diff --git a/docs/getting_started.rst b/docs/getting_started.rst index 9699a5bdd8cdcd..15dcc8dbbddd46 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -6,31 +6,28 @@ Getting Started Description ----------- -The Linux kernel in this repository is the `Linux kernel from Xilinx -`__ together with drivers & patches -applied from Analog Devices. +The Linux kernel in this repository is the +`Linux kernel from Xilinx `__ +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 -`. 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 -`__. For details -about the merge see commit :git-linux:`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 -`__. - -For legacy reasons, the :git-linux:`xcomm_zynq:` is still available and should -be in-sync with current master. That branch used to be the old master branch. +can be found on the +:dokuwiki:`Analog Devices wiki `. +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 `__. +For details about the merge see commit +:git-linux:`3b1f15dc5c4d ` +(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 `__. How to build ------------ -For build instructions :dokuwiki:`check the wiki -`. +For build instructions +:dokuwiki:`check the wiki `. Release branches ---------------- @@ -39,14 +36,13 @@ 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 +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 :dokuwiki:`on the wiki -`. 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. +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 ---------------- @@ -55,12 +51,12 @@ 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 -`__ at commit -:git-linux:`d45e196f59364e9f5eafe46027a7d2af349083974 -` in the ADI repo and commit -`45e196f59364e9f5eafe46027a7d2af349083974 -`__ +For :git-linux:`adi-4.9.0:` the base was branch +`xlnx_rebase_v4.9 `__ +at commit +:git-linux:`e5c22c2179cf ` +in the ADI repo and commit +`45e196f59364 `__ 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 @@ -69,9 +65,8 @@ 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 :git-linux:`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. +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 --------------------- @@ -81,9 +76,7 @@ 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 -:git-linux:`rpi-5.10.y:`. +the current kernel version supported in master.. Intel/Altera branches --------------------- @@ -91,17 +84,17 @@ 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:` -- :git-linux:`altera_4.4:` -- :git-linux:`altera_4.6:` -- :git-linux:`altera_4.9:` +- :git-linux:`altera_4.0 ` +- :git-linux:`altera_4.4 ` +- :git-linux:`altera_4.6 ` +- :git-linux:`altera_4.9 ` +- :git-linux:`altera_4.14 ` -These branches are derived from the `Intel/Altera linux kernel repo -`__, together with some -merged versions of old master branches. +These branches are derived from the +`Intel/Altera linux kernel repo `__, +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. +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. From e9f51ce1554a3f83ca50fdbf3a4cd23db2762003 Mon Sep 17 00:00:00 2001 From: Jorge Marques Date: Fri, 19 Dec 2025 15:05:41 +0100 Subject: [PATCH 4/5] docs: contribute: Fixup dt_binding_check Was missing a letter. Signed-off-by: Jorge Marques --- docs/contribute.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contribute.rst b/docs/contribute.rst index bc97a96260c569..f9d6becba1828f 100644 --- a/docs/contribute.rst +++ b/docs/contribute.rst @@ -138,7 +138,7 @@ When submitting dt-bindings, you must check: .. shell:: ~/linux - $make dt_binding_chec CONFIG_DTC=y DT_CHECKER_FLAGS=-m DT_SCHEMA_FILES="./path/to/.yaml" + $make dt_binding_check CONFIG_DTC=y DT_CHECKER_FLAGS=-m DT_SCHEMA_FILES="./path/to/.yaml" For warnings and erros and resolve accordingly. From aa4652d6dfa5e052005cf4fcb954faa0c999a27c Mon Sep 17 00:00:00 2001 From: Philip Molloy Date: Sun, 21 Dec 2025 12:12:01 +0100 Subject: [PATCH 5/5] fixup! fixup! docs: getting_started: Move README into docs --- docs/getting_started.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting_started.rst b/docs/getting_started.rst index 15dcc8dbbddd46..46f3bd60582fa1 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -76,7 +76,7 @@ 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.. +the current kernel version supported in master. Intel/Altera branches ---------------------