Linux Kernel

Last modified by Microchip on 2025/06/09 07:50

Ecosystem

Linux Kernel Archives is the primary site for the Linux kernel source. All Linux kernel versions, including latest snapshot or "release candidate" (-rc) can be easily found here.

The ARM Linux Project lead by Russell King. Russell is in charge to ensure the ARM core support in the Kernel mainline.

The ARM-SOC git tree lead by Arnd Bergmann and Olof Johansson. It is the initiative that managed to unify the work being done on ARM-based System on Chip (SoC) by different vendors. This git tree is the natural way to send AT91-related material upstream.

The Linux-arm-kernel Mailing lists is where the work is actually being done. Discussions, bug reports and patches must be posted there.

Changes introduced by Device Tree support

The Device Tree is a binary file containing the description of your SoC and your board. Before this move to Device Tree, the information was stored in several C files directly in the Linux kernel code. The number of ARM-based SoC growing rapidly it has become clear that the amount of C code could not follow this pace. In addition to consolidating the ARM related kernel code, allowing the common code to be centralized and better maintained, the Device Tree also bring the possibility to run the same kernel binary on several platforms sharing the same ARM instruction set. This single zImage initiative allow the use of the same Linux kernel binary, without having the need for recompiling it, on another SoC, by just providing the proper Device Tree Binary file (.dtb).

Now the boot process has to deal with two Linux files instead of one: the Device Tree Binary file and the kernel image itself. It mainly involves changes for the U-Boot booting command. If you don't want to care about this new file, there is an Linux kernel option to append the Device Tree Binary at the end of the kernel image.

Useful documentation:

Linux for MPU source code

The Linux kernel for Microchip / Atmel ARM-based SoC (aka AT91) is distributed as a GIT tree hosted on GitHub as a fork of the official Linus Torvalds' git tree. The objective of the Microchip Linux team is to integrate all the AT91-related material in the official Linux Kernel.
Before completing this inclusion process, which can take time, this website provides the Linux4SAM Linux Kernel git tree for AT91 devices at:

https://github.com/linux4sam/linux-at91.
and now on:
https://github.com/linux4microchip/linux.

Branches

NAMEBOARD SUPPORTEDCOMMENTRELATED TAGS
github sources: linux-6.12-mchp
wiki page: LinuxKernel-6.12
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA7G5 EKSAM9X60 CuriositySAMA5D29 CuriositySAM9X75 CuriositySAMA7D65 Curiosity,
Maintained, stablelinux4microchip-2025.04
github sources: linux-6.6-mchp
wiki page: LinuxKernel-6.6
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA7G5 EKSAM9X60 CuriositySAMA5D29 CuriositySAM9X75 Curiosity,
Maintained, stablelinux4microchip-2024.10
github sources: linux-6.6-mchp
wiki page: LinuxKernel - 6.6
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA7G5 EKSAM9X60 CuriositySAMA5D29 CuriositySAM9X75 Curiosity,
Maintained, stablelinux4microchip-2024.04
github sources: linux-6.1-mchp
wiki page: LinuxKernel - 6.1
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA7G5 EKSAM9X60 CuriositySAMA5D29 Curiosity,
Not recommended for new developmentslinux4microchip-2023.10
github sources: linux-6.1-mchp
wiki page: LinuxKernel - 6.1
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAM9X60-EKSAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA7G5 EKSAM9X60 Curiosity,
Not recommended for new developmentslinux4microchip-2023.04
github sources: linux-5.15-mchp
wiki page: LinuxKernel - 5.15
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAM9X60-EKSAMA5D27 WLSOM1 EK], SAMA5D27 SOM1 EKSAMA5D2 ICPSAMA7G5 EKSAM9X60 Curiosity,
Not recommended for new developmentslinux4microchip-2022.10
github sources: linux-5.15-mchp
wiki page: 
github sources: linux-5.15-mchp
wiki page: LinuxKernel - 5.15
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAM9X60-EKSAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA7G5 EKSAM9X60 Curiosity,
Not recommended for new developmentslinux4microchip+sam9x60_curiosity-2022.07
github sources: linux-5.15-mchp
wiki page: 
github sources: linux-5.15-mchp
wiki page: LinuxKernel - 5.15
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAM9X60-EKSAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EK,SAMA5D2 ICPSAMA7G5 EK,
Not recommended for new developmentslinux4microchip-2022.04
github sources: linux-5.10-mchp
wiki page: LinuxKernel - 5.10
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAM9X60-EKSAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICP,
Not recommended for new developmentslinux4microchip-2021.10
github sources: linux-5.10-at91
wiki page: 
github sources: linux-5.10-mchp
wiki page: LinuxKernel - 5.10
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAM9X60-EKSAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 Xplained
Not recommended for new developmentslinux4sam-2021.04
github sources: linux-5.4-at91
wiki page: LinuxKernel - 5.4
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAM9X60-EKSAMA5D27 WLSOM1 EKSAMA5D27 SOM1 EKSAMA5D2 ICPSAMA5D2 Xplained,
Not recommended for new developmentslinux4sam-2020.10
github sources: linux-5.4-at91
wiki page: 
github sources: linux-5.4-at91
wiki page: LinuxKernel - 5.4
All Microchip boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 WLSOM1 EKSAM9X60-EKSAMA5D27 SOM1 EKSAMA5D2 PTC EKSAMA5D2 ICPSAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 Xplained
Not recommended for new developmentslinux4sam-2020.04
github sources: linux-4.19-at91
wiki page: LinuxKernel - 4.19
SAMA5D2 ICP board supported
SAMA5D2 ICP board using Device Tree
Board with demo available: SAMA5D2 ICP
Not recommended for new developmentslinux4sam_6.2-icp
github sources: linux-4.19-at91
wiki page: 
github sources: linux-4.19-at91
wiki page: LinuxKernel - 4.19
All Atmel boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 WLSOM1 EKSAM9X60-EKSAMA5D27 SOM1 EKSAMA5D2 PTC EKSAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 Xplained
Not recommended for new developmentslinux4sam_6.2
github sources: linux-4.19-at91
wiki page: 
github sources: linux-4.19-at91
wiki page: LinuxKernel - 4.19
All Atmel boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 SOM1 EKSAMA5D2 PTC EKSAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 XplainedAT91SAM9X5-EK
Not recommended for new developmentslinux4sam_6.1
github sources: linux-4.14-at91
wiki page: LinuxKernel - 4.14
All Atmel boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 SOM1 EKSAMA5D2 PTC EKSAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 Xplained,AT91SAM9X5-EK
Not recommended for new developmentslinux4sam_6.0
github sources: linux-4.9-at91
wiki page: LinuxKernel - 4.9
All Atmel boards supported
All boards using Device Tree
Boards with demo available: SAMA5D27 SOM1 EKSAMA5D2 PTC EKSAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 XplainedAT91SAM9X5-EK
Not recommended for new developmentslinux4sam_5.6
linux4sam_5.7
linux4sam_5.8
github sources: linux-4.4-at91
wiki page: LinuxKernel - 4.4
All Atmel boards supported
All boards using Device Tree
Boards with demo available: SAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 XplainedAT91SAM9X5-EK
Old branch
don't use for new developments
linux4sam_5.4
linux4sam_5.5
github sources: linux-4.1-at91
wiki page: LinuxKernel - 4.1
All Atmel boards supported
All boards using Device Tree
Boards with demo available: SAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 Xplained
Old branch
don't use for new developments
linux4sam_5.0
linux4sam_5.1
linux4sam_5.2
linux4sam_5.3
github sources: linux-3.18-at91
wiki page: LinuxKernel - 3.18
All Atmel boards supported
All boards using Device Tree
Boards with demo available: SAMA5D2 XplainedSAMA5D3 XplainedSAMA5D4 XplainedSAMA5D4-EKSAMA5D4 Xplained
Old branch
don't use for new developments
linux4sam_5.0-alpha7
linux4sam_4.7
github sources: linux-3.10-at91
wiki page: LinuxKernel - 3.10
All Atmel boards supported
Some boards using Device Tree
Boards with demo available: SAMA5D3-EKSAMA5D3 XplainedSAMA5D4-EKSAMA5D4 XplainedAT91SAM9X5-EK
Not recommended for new developmentslinux4sam_4.6
linux4sam_4.5
github sources: linux-3.6.9-at91
wiki page: LinuxKernel_legacy
 Old branch
don't use for new developments
 
github sources: linux-2.6.39-at91
wiki page: LinuxKernel_legacy
 Legacy branch
don't use for new developments
 

Tags

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-6-12.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-6-6.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-6-1.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-5-15.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-5-10.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-5-4.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-4-19.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-4-14.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-4-9.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-4-4.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-4-1.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-3-18.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-3-10.WebHome]]. Click on this message for details.

Build Linux for AT91

Go to the latest Linux release page to see how to build Linux Kernel for AT91.

Related Topics