Linux mainlining effort

From linux-sunxi.org
(Redirected from Mainlining Effort)
Jump to: navigation, search

The purpose of this page is to try and define sub-goals and milestones for mainlining effort, containing goals and sub-goals with milestones for adding Allwinner support in the upstream mainline Linux Kernel.

It is very important to note that this is intended as a rough set of minimal goals - it is not meant to collide with the huge effort of rewriting major drivers!

Contents

Overview

The idea is to submit break the code needed to run the Linux kernel on Allwinner SoCs upstream to the official Linux kernel, also checkout Linux-tree-diff.

This can be achieved by following the concept outlined in the Your new ARM SoC Linux support check-list! published by Thomas Petazzoni from Free Electrons.[1][2]

Where relevant, I have attempted to include who is currently working on an item, mostly separate from any particular mainlining goal.

Status

Merged into 3.8

  • Timer
  • UART
  • Device Tree
  • Interrupt controller

Related merges: [1], [2]

Added board support: Cubieboard, A13-OLinuXino

Merged into 3.9

  • PINCTRL driver
  • GPIO-lib based driver

Related merges: [3]

Added Board Support: Hackberry

Merged into 3.10

  • LED support
  • Clock driver
  • Complete UART support

Related merges: [4], [5], [6]

Added Board Support: Mini X-Plus

Planned for 3.11

  • IRQ support for the PIO
  • I2C Driver [7]
  • EMAC Driver [8]
  • A31 support

Work In Progress

Major drivers

  • DMAengine driver (WiP: Matt Porter (mdp))
  • DMAengine driver handles slave dma clients including SPI, EMAC, USB, I2S, HDMI audio, and NAND
  • Implementing slave SG transfers is the priority (for SPI to start), with cyclic transfers (for audio clients) following that
  • SPI driver (WiP: Matt Porter (mdp))
  • PIO mode only to start then DMA support via the dmaengine API
  • USB driver (WiP: Felipe Balbi (felipebalbi))

Minor drivers

  • Security ID driver (WiP: Oliver Schinagl (oliv3r))
  • Watchdog driver (WiP: Carlo Caione (n01))

Left to be done

Achievable

  • PMU driver
  • MMC driver
  • MMC appears to have its own DMA access to the memory, reported by wingrime
  • IIO LRADC driver
  • PWM Driver
  • IR driver
  • RTC driver

DMA dependent drivers

  • NAND MTD driver
  • We can take as a good base the MTD Driver from Quiang Yu
  • Sound driver

Needing major rework

These drivers need major rework AND lack documentation other than existing source pile.

  • USB Driver
  • USB Gadget driver
  • Display driver (libv)

Unlikely

These are too far off the track third party drivers making it unlikely they will ever get accepted mainline.

  • Mali driver (will not happen unless libv gets a proper lima driver out)

Related but separate

  • Device-specific drivers

References

  1. http://www.elinux.org/images/a/ad/Arm-soc-checklist.pdf
  2. http://www.cnx-software.com/2013/01/16/your-new-arm-soc-linux-support-check-list-elce-2012/ Your New ARM SoC Linux Support Check-List – ELCE 2012

See also

Linux-tree-diff - list of kernel files modified or added ('+' sign) for allwinner SOCs.

External Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox