Marvell EBU:Mainline Linux

This page presents the status of the support in the official Linux kernel for Marvell EBU processors.

= Status matrix =

{| class="wikitable" style="text-align: center; width: 100%;" ! SoC family ! Orion ! Kirkwood ! Dove ! A370 ! AXP ! A375 ! A38x ! A39x ! A3700 ! A7K/A8K gpio-mvebu gpio-mvebu gpio-mvebu gpio-mvebu gpio-mvebu gpio-mvebu gpio-mvebu gpio-mvebu pinctrl-armada-37xx gpio-mvebu pinctrl-mvebu/ pinctrl-orion pinctrl-mvebu/ pinctrl-kirkwood pinctrl-mvebu/ pinctrl-dove pinctrl-mvebu/ pinctrl-armada-370 pinctrl-mvebu/ pinctrl-armada-xp pinctrl-mvebu/ pinctrl-armada-375 pinctrl-mvebu/ pinctrl-armada-38x pinctrl-mvebu/ pinctrl-armada-39x pinctrl-armada-37xx pinctrl-mvebu/
 * GPIO
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 4.12
 * style="background: lightgreen;" | 4.13
 * Pinmux
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 4.12
 * style="background: lightgreen;" | 4.13

pinctrl-armada-[ap806|cp110] mv643xx_eth mv643xx_eth mv643xx_eth mvneta mvneta mvpp2 mvneta mvneta mvpp2 ehci-orion ehci-orion xhci-mvebu xhci-mvebu spi-orion spi-orion spi-orion spi-orion spi-orion spi-orion spi-orion spi-orion spi-armada-3700 spi-orion i2c-mv64xxx i2c-mv64xxx i2c-mv64xxx i2c-mv64xxx i2c-mv64xxx i2c-mv64xxx i2c-mv64xxx i2c-mv64xxx i2x-pxa i2c-mv64xxx 8250 8250 8250 8250 8250 8250 8250 8250 mvebu-uart 8250 rtc-mv rtc-mv rtc-mv rtc-mv rtc-mv rtc-mv rtc-armada38x rtc-armada38x rtc-armada38x cesa cesa cesa cesa cesa cesa cesa safeXcel EIP-97 safeXcel mv_xor mv_xor mv_xor mv_xor mv_xor mv_xor mv_xor mv_xor mv_xor mv_xor_v2 kirkwood-cpufreq mvebu-cpufreq armada-37xx-cpufreq }
 * Clock
 * NAND
 * Device bus
 * Network
 * style="background: lightgreen;" | OK
 * Device bus
 * Network
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 3.8
 * style="background: lightgreen;" | 3.8
 * style="background: lightgreen;" | 3.17
 * style="background: lightgreen;" | 3.15
 * style="background: red;" | NOK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * PCIe
 * USB 2.0
 * style="background: lightgreen;" | 3.16
 * USB 2.0
 * style="background: lightgreen;" | 3.16
 * style="background: lightgreen;" | 3.16
 * style="background: lightgreen;" | 3.16
 * style="background: lightgreen;" | 3.16
 * style="background: lightgreen;" | 3.16
 * style="background: lightgreen;" | 3.16
 * style="background: lightgreen;" | 3.16
 * USB 3.0
 * N/A
 * N/A
 * N/A
 * N/A
 * N/A
 * style="background: lightgreen;" | 3.16
 * N/A
 * N/A
 * N/A
 * style="background: lightgreen;" | 3.16
 * style="background: lightgreen;" | 3.16
 * USB Device
 * SATA
 * SPI
 * style="background: lightgreen;" | OK
 * USB Device
 * SATA
 * SPI
 * style="background: lightgreen;" | OK
 * SPI
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 4.10
 * style="background: lightgreen;" | OK
 * TDM
 * SDIO
 * I2C
 * style="background: lightgreen;" | OK
 * I2C
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 4.10
 * style="background: lightgreen;" | OK
 * UART
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 3.6
 * style="background: lightgreen;" | 3.6
 * style="background: lightgreen;" | 3.15
 * style="background: lightgreen;" | 3.15
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 4.6
 * style="background: lightgreen;" | 4.6
 * LCD
 * Audio
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * N/A
 * N/A
 * style="background: red;" | NOK
 * N/A
 * N/A
 * RTC
 * style="background: lightgreen;" | OK
 * N/A
 * N/A
 * RTC
 * style="background: lightgreen;" | OK
 * RTC
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 4.0
 * style="background: lightgreen;" | 4.0
 * N/A
 * style="background: lightgreen;" | 4.11
 * Crypto
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: red;" | NOK
 * style="background: lightgreen;" | 4.16
 * style="background: lightgreen;" | OK
 * XOR engines
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | OK
 * style="background: lightgreen;" | 4.7
 * style="background: lightgreen;" | 4.8
 * Suspend/resume
 * cpuidle
 * cpufreq
 * style="background: red;" | NOK
 * style="background: lightgreen;" | OK
 * cpufreq
 * style="background: red;" | NOK
 * style="background: lightgreen;" | OK
 * style="background: red;" | NOK
 * style="background: red;" | NOK
 * style="background: lightgreen;" | OK
 * style="background: red;" | NOK
 * style="background: red;" | NOK
 * style="background: red;" | NOK
 * style="background: lightgreen;" | 4.16 + 4.19 (AVS)
 * style="background: orange;" | WIP
 * watchdog
 * watchdog
 * watchdog

= Upstreaming effort =

Bootlin maintains a number of branches reflecting the in-progress upstream work. They are based on 4.14.y. Those branches are available in the public Git repository at https://github.com/MISL-EBU-System-SW/mainline-public. The logic is as follows:
 * are topic branches for work in progress, not yet merged upstream. Such branches are based on  (there are exceptions), and are rebased as needed
 * which is a branch resulting of the merge of all the  branches

These branches are:
 * is based on v4.14.58, with patches backported from upstream, i.e patches that had already been accepted. This branch is generally not rebased, but we rebased it to 4.14.58 recently.
 * introduces the 8KP support, in the documentation. Based on.
 * introduces the 8KP support, in the drivers.
 * introduces the 8KP support, in the device trees. Based on.
 * contains out of tree patches to enable Marvell EBU specific drivers in the ARM64 defconfig. Based on.
 * contains the ARM64 defconfig specific patches.
 * contains all the ARM64 Device Tree updates. They are regrouped in a single topic branches to avoid conflicts.
 * contains improvements for the interrupts and thermal drivers.
 * contains patches adding suspend/resume support for the a3700.
 * contains fixes and improvements to the PCI support for Marvell SoCs, especially the pci-mvebu and pci-aardvark drivers
 * contains fixes and improvements in the mvpp2 network driver.
 * contains fixes and improvements in the mvpp2 network driver.

Commands used to generate the  branch (so that topic branches are always merged in the same order) : git reset --hard backport-4.14 git merge devel-4.14/comphy devel-4.14/ppv2 devel-4.14/crypto devel-4.14/pcie devel-4.14/mvneta devel-4.14/icu-sei-overheat devel-4.14/dt64 devel-4.14/a8kp-dt64 devel-4.14/a8kp-drivers devel-4.14/a8kp-doc devel-4.14/defconfig64 devel-4.14/custom-defconfig64 devel-4.14/pm-a3700