From linux-sunxi.org

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

Overview

The idea is to submit the code needed to run the Linux kernel on Allwinner SoCs upstream, ie. to the official Linux kernel.

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

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

Status

The Mainline Kernel howto contains the currently used repositories for the mainlining process. The U-Boot repository and toolchain is described in the Mainline U-Boot howto.

The Mainline Kernel category gives an overview of currently supported devices.

Status Matrix

The goal of this matrix is to give an easy view of work on each SoC worked on by linux-sunxi.





Legend In Linux mainline since version x Nobody works on it, but it should be compatible with already done drivers Somebody works on it No support, nobody works on it support impossible Status is unknown/to be completed

Work In Progress

Core Stuff

A13 PSCI Suspend / Resume / CPUIdle (WiP: Antoine Tenart) patch-v1

Major drivers

AC100 Audio codec WiP Ondrej Jirman digital part analog part

Minor drivers

Drivers that can still be improved/added

Nobody works on these features. If you're interested, you can pick one of these add your name to them and move them to one of the sections above, to indicate you're working on the driver/feature.

sunxi-musb driver lacks DMA support (with current driver, USB gadgets are limited to PIO, limiting speed to 10MiB/s and causing large CPU)

DE2 driver has buggy layer support, see [1]

DE1/DE2/DE3 writeback support

A64 audiocodec driver components (sun8i-codec and sun50i-codec-analog) lack support for jack detection

Planned for 5.10

A100 Clocks Pinctrl I2C Thermal (THS)



New Devices Supported

Merged into 5.9

H5 DVFS



Merged into 5.8

H6 DVFS IOMMU



A64 / A83T / H3 / H5 / H6 Message Box



Merged into 5.7

A20 LVDS



A83T and A64 Rotate driver



H6 SPI



R40 Thermal



New Devices Supported

Merged into 5.6

A10 CSI (BT656 and Parallel)



A64 MIPI DSI DVFS



A64 / A83T / H3 / H5 / H6 Thermal



H6 PWM



H3 / H5 / H6 / R40 PMU



R40 CSI (BT656 and Parallel) SPI



New Devices Supported

H5 ALL-H3-IT H5 board ALL-H5-CC H5 board

H6 PineH64 Model A



Merged into 5.5

H3 Deinterlace driver



H6 Crypto GPU(3D) Mali USB3 PHY (for boards not needing vbus switching)



A64 / A80 / A83T / H3 / H5 / R40 Crypto



multiple SoCs Cedrus HEVC/H.265



Broadcom-based (AMPAK modules) Bluetooth support on Emlid Neutis



New Devices Supported

Merged into 5.4

A20 CSI (BT656 and Parallel)

A64 IR

H6 IR RTC SPDIF



New Devices Supported

Merged into 5.3

A64 LRADC RGB LCD

A83T CSI (BT656 and Parallel)

H6 DMA Watchdog

multiple SoCs Cedrus h264



Merged into 5.2

A83T LRADC USB OTG



multiple SoCs Lima Panfrost



New Devices Supported

Merged into 5.1

A10 Cedrus PMU



A20 Audio Codec improvements



A23 Display pipeline LCD enabled on Q8 A23 tablets



A64 ARM Architectural Timer errata workaround PMU CSI (BT656 and Parallel)



A80 GMAC support



CSI in general RGR565 support JPEG pass-through support



LCD enabled on A13 Q8 tablets

Merged into 5.0

A64 Cedrus DTS changes for audio codec



F1C100s initial F1C100s support



H6 Ethernet DE3/HDMI support USB 2.0



H3 / H5 CSI (BT656 and Parallel) Support



H5 Cedrus



R40 RTC



T3 initial T3 support [5]



V3s CSI (BT656 and Parallel) Support



New Devices Supported

Merged into 4.20

A13 / A20 / A33 / H3 Cedrus driver



A83T IR receiver



A64 Cleanup for device tree files HDMI support Audio codec support (DTS changes will be merged in 5.0)



H3 / H5 SID



R40 SATA



New Devices Supported

Merged into 4.19

A10 / A13 / A20 / A23 / A33 SRAM controller / system control



A64 SRAM controller / system control Display clocks and bus RTC clock output PWM R_I2C



H3 SRAM controller / system control



H6 MMC PMIC



R40 HDMI support



Board Changes

SPI flash node for Orange Pi PC 2 and Pine64 SoPINE

Use lid switch as wake-up source for A64 based laptops

LEDs added for PineH64

New Devices

Pine Pinebook

Amarula A64-Relic

Changes merged up to 4.18

Changes up to 4.18 can be found on Linux mainlining history page.

References

See also

How to upstream