Legacy Linux Kernel Page


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 and to integrate ARM based system on chip specific patch sets.

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 SoC by different vendors.

The Linux-arm-kernel Mailing lists and the Linux-arm-kernel Archives.

Linux4SAM Experimental Patches

The experimental AT91 patch set is built and contributed by people from the AT91 Linux community. These patches are against Andrew Victor patches. They contain unpublished or not yet included piece of code or driver.


  • basically all support provided by previous 2.6.30-at91-exp.3 patch
  • power management rework for all products, USB host/gadget power management fixes
  • AC97 fixes
  • Adding support for AT91SAM9M10G45-EK board


  • basically all support provided by previous 2.6.30-at91-exp.2 patch
  • Adding of all code that is needed for driving ON2 embedded video decoder IP (GPL)
  • Add on2-8170 GPL modules


  • basically all support provided by previous 2.6.30-at91-exp patch
  • AT91SAM9M10 addition to experimental patchset


  • basically all support provided by previous 2.6.27-at91-exp patch
  • in comparison to previous experimental patch remove HW ECC and ISI driver (need rework)
  • updated LCD pixel clock for AT91SAM9G45 non ES parts
  • several gpio buttons, SD card detect and led support for AT91SAM9G20EK, AT91SAM9G20EK-2MMC and AT91SAM9RLEK
  • Linux kernel default configuration updated for all products (*_defconfig files)
  • update of the sound/soc directory from Linux 2.6.32-rc3 to update this part of ALSA to 1.0.21


  • add support for AT91SAM9G20EK with dual SD/MMC slot
  • change default configuration for the use of 128MB of RAM on AT91SAM9G45EKES
  • All 2.6.27-at91-exp.2.patch enhancements included (see below)


  • add support for new AT91SAM9G10 chip and AT91SAM9G10EK board
  • add support for new AT91SAM9G45 chip and AT91SAM9G45EKES board
  • ISI driver for AT91SAM9G45 & AT91SAM9263 (use OV9655 camera sensor)
  • DMA driver at_hdmac for AT91SAM9RL & AT91SAM9G45
  • atmel_mci MCI driver adaptation for DMA usage on AT91SAM9G45
  • USB high speed drivers for AT91SAM9G45 (both host and gadget)
  • atmel_lcd fix wrong FIFO size for some products
  • All 2.6.27-at91-exp.patch enhancements included (see below)


  • AT91SAM9G20EK - add audio support
  • merge AT32 and AT91 ssc DAI (Digital Audio Interface)
  • AC97 playback and capture driver
  • DMA engine driver on AT91SAM9RL
  • AT91SAM9RLEK - fix touchscreen
  • LED - on AT91SAM9RLEK
  • AT91_MCI - fixes
  • ATMEL_MACB - Add SRAM Tx buffers capabilities for AT91SAM926[03]EK
  • ATMEL_LCD - fixes & RGB 555 wiring mode
  • new NandFlash partitioning
  • buttons (on AT91SAM9RLEK and AT91SAM9G20EK)
  • hardware ECC on NandFlash for AT91SAM9G20


  • fix NandFlash timings
  • new NandFlash partitioning
  • atmel_lcd manage underflow error
  • pwm_led driver
  • buttons (& pullups conf.)


  • Fix some typos on SSC, RTC
  • Enhancement in support for AT91SAM9RL : LCD fifo, USB HS, buttons, leds, AC97
  • Note that the touchscreen is not supported yet on AT91SAM9RL
  • LCD wiring mode : BGR or RGB selection
  • backlight for LCD panel
  • Power management support


  • AT91SAM9261EK - Add button interface
  • AT91_MCI - Enhancements (1)
  • ATMEL_LCD - Add STN and alpha in 32bpp mode support
  • AT91SAM9261Ek - Make NAND FLASH partition match those on AT91SAM926[03]EK
  • ATMEL_MACB - Add SRAM Tx buffers capabilities for AT91SAM926[03]EK
  • AT91_AC97 driver for AT91SAM9263EK (playback only)
  • AT73C213 (I2S DAC audio) support for AT91SAM926[01]EK

C source code file Source : check the summary table below (last column).


Configure and Build the Linux kernel

Now you have to configure the Linux kernel according to your hardware. First identify your kernel revision, your board and then, download the corresponding configuration file.

wget https://www.linux4sam.org/pub/Linux4SAM/LegacyLinuxKernel/at91sam926yek_defconfig
cd linux-2.6.xx
cp at91sam926yek_defconfig .config
make ARCH=arm oldconfig 

At this step, you can modify default configuration

make ARCH=arm menuconfig 

And build the Linux kernel image

make ARCH=arm  CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix->


1 : at91_mci enhancement with those upstream patches :
- folow flowcharts
- disable handling of blocks with size not multiple of 4 bytes
- bug-in-at91-mci-suspend-routines.patch
- whitespace
- typo
- add multiwrite cap

r2 - 17 Apr 2018 - 12:14:35 - TWikiAdminUser
Linux & Open Source for AT91 Microchip Microprocessors

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

Microchip® and others, are registered trademarks or trademarks of Microchip Technology Inc. and its subsidiaries. This site is powered by the TWiki collaboration platform

Arm® and others are registered trademarks or trademarks of Arm Limited (or its affiliates). Other terms and product names may be trademarks of others.

Ideas, requests, contributions ? Connect to LinksToCommunities page.

Syndicate this siteRSS ATOM