Difference between revisions of "Marvell EBU:Mainline Linux"

From eLinux.org
Jump to: navigation, search
(Status matrix)
 
(34 intermediate revisions by 6 users not shown)
Line 100: Line 100:
 
|-
 
|-
 
| USB 2.0
 
| USB 2.0
 +
|
 +
|
 +
|
 +
|
 +
|
 +
| style="background: lightgreen;" | 3.16
 +
ehci-orion
 +
| style="background: lightgreen;" | 3.16
 +
ehci-orion
 +
|
 +
|
 +
|
 
|-
 
|-
 
| USB 3.0
 
| USB 3.0
 +
| N/A
 +
| N/A
 +
| N/A
 +
| N/A
 +
| N/A
 +
| style="background: lightgreen;" | 3.16
 +
xhci-mvebu
 +
| style="background: lightgreen;" | 3.16
 +
xhci-mvebu
 +
|
 +
|
 +
|
 
|-
 
|-
 
| USB Device
 
| USB Device
Line 192: Line 216:
 
|-
 
|-
 
| RTC
 
| RTC
 +
| style="background: lightgreen;" | OK
 +
rtc-mv
 +
| style="background: lightgreen;" | OK
 +
rtc-mv
 +
| style="background: lightgreen;" | OK
 +
rtc-mv
 +
| style="background: lightgreen;" | OK
 +
rtc-mv
 +
| style="background: lightgreen;" | OK
 +
rtc-mv
 +
| style="background: lightgreen;" | OK
 +
rtc-mv
 +
| style="background: lightgreen;" | 4.0
 +
rtc-armada38x
 +
| style="background: lightgreen;" | 4.0
 +
rtc-armada38x
 +
| N/A
 +
| style="background: lightgreen;" | 4.11
 +
rtc-armada38x
 
|-
 
|-
 
| Crypto
 
| Crypto
Line 209: Line 252:
 
cesa
 
cesa
 
| style="background: red;" | NOK
 
| style="background: red;" | NOK
| style="background: orange;" | WIP
+
| style="background: lightgreen;" | 4.16
 +
safeXcel EIP-97
 
| style="background: lightgreen;" | OK
 
| style="background: lightgreen;" | OK
 
safeXcel
 
safeXcel
Line 240: Line 284:
 
|-
 
|-
 
| cpufreq
 
| cpufreq
|}
+
| style="background: red;" | NOK
 +
| style="background: lightgreen;" | OK
 +
kirkwood-cpufreq
 +
| style="background: red;" | NOK
 +
| style="background: red;" | NOK
 +
| style="background: lightgreen;" | OK
 +
mvebu-cpufreq
 +
| style="background: red;" | NOK
 +
| style="background: red;" | NOK
 +
| style="background: red;" | NOK
 +
| style="background: lightgreen;" | 4.16 + 4.19 (AVS)
 +
armada-37xx-cpufreq
 +
| style="background: orange;" | WIP
 +
|
 +
|-
 +
| watchdog
 +
|-
 +
}
  
 
= Upstreaming effort =
 
= Upstreaming effort =
  
Free Electrons maintains a number of branches reflecting the in-progress upstream work. They are based on 4.14. Those branches are available in the public Git repository at https://github.com/MISL-EBU-System-SW/mainline-public. The logic is as follows:
+
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:
 
* <code>devel-4.14/<topic></code> are topic branches for work in progress, not yet merged upstream. Such branches are based on <code>backport-4.14</code> (there are exceptions), and are rebased as needed
 
* <code>devel-4.14/<topic></code> are topic branches for work in progress, not yet merged upstream. Such branches are based on <code>backport-4.14</code> (there are exceptions), and are rebased as needed
 
* <code>devel-4.14/all</code> which is a branch resulting of the merge of all the <code>devel-4.14/<topic></code> branches
 
* <code>devel-4.14/all</code> which is a branch resulting of the merge of all the <code>devel-4.14/<topic></code> branches
  
 
These branches are:
 
These branches are:
* <code>backport-4.14</code> is based on v4.14, with patches backported from upstream, i.e patches that had already been accepted. This branch is '''not rebased'''.
+
* <code>backport-4.14</code> 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.
* <code>devel-4.14/comphy</code> contains fixes and improvements for the comphy.
+
* <code>devel-4.14/a8kp-doc</code> introduces the 8KP support, in the documentation. Based on <code>devel-4.14/icu-sei-overheat</code>.
 +
* <code>devel-4.14/a8kp-drivers</code> introduces the 8KP support, in the drivers.
 +
* <code>devel-4.14/a8kp-dt64</code> introduces the 8KP support, in the device trees. Based on <code>devel-4.14/dt64</code>.
 +
* <code>devel-4.14/comphy</code>
 +
* <code>devel-4.14/custom-defconfig64</code> contains '''out of tree''' patches to enable Marvell EBU specific drivers in the ARM64 defconfig. Based on <code>devel-4.14/defconfig64</code>.
 +
* <code>devel-4.14/defconfig64</code> contains the ARM64 defconfig specific patches.
 +
* <code>devel-4.14/dt64</code> contains all the ARM64 Device Tree updates. They are regrouped in a single topic branches to avoid conflicts.
 +
* <code>devel-4.14/icu-sei-overheat</code> contains improvements for the interrupts and thermal drivers.
 +
* <code>devel-4.14/pm-a3700</code> contains patches adding suspend/resume support for the a3700.
 +
* <code>devel-4.14/pcie</code> contains fixes and improvements to the PCI support for Marvell SoCs, especially the pci-mvebu and pci-aardvark drivers
 
* <code>devel-4.14/ppv2</code> contains fixes and improvements in the mvpp2 network driver.
 
* <code>devel-4.14/ppv2</code> contains fixes and improvements in the mvpp2 network driver.
* <code>devel-4.14/crypto</code> contains fixes and optimizations for the Inside Secure SafeXel cryptographic engine which can be found on Marvell 7k/8k and 37200 SoCs.
 
* <code>devel-4.14/nand</code> contains the reworked NAND framework as it has been sent in the RFCv2 and the reworked NAND controller driver (works with 32-bits platforms).
 
* <code>devel-4.14/pcie</code> contains improvements for compatibility with PCI devices with aardvark (PCIE host controller on Armada 3700).
 
* <code>devel-4.14/dt64</code> contains all the Device Tree updates. They are regrouped in a single topic branches to avoid conflicts.
 
* <code>devel-4.14/defconfig64</code> contains the ARM64 defconfig specific patches.
 
* <code>devel-4.14/custom-defconfig64</code> contains '''out of tree''' patches to enable Marvell EBU specific drivers in the ARM64 defconfig. Based on <code>devel-4.14/defconfig64</code>.
 
  
 
Commands used to generate the <code>devel-4.14/all</code> branch (so that topic branches are always merged in the same order) :
 
Commands used to generate the <code>devel-4.14/all</code> branch (so that topic branches are always merged in the same order) :
 
<pre>
 
<pre>
 
git reset --hard backport-4.14
 
git reset --hard backport-4.14
git merge devel-4.14/comphy devel-4.14/ppv2 devel-4.14/crypto devel-4.14/nand devel-4.14/uart devel-4.14/pcie devel-4.12/dt64 devel-4.12/defconfig64 devel-4.12/custom-defconfig64
+
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
</pre>
 
 
 
=== Former 4.12 branches ===
 
The 4.12 based branches are '''no more updated''' and '''obsolete''', but there are currently as is for those who still need it. For the record,
 
 
 
These branches are:
 
* <code>backport-4.12</code> is based on v4.12, with patches backported from upstream, i.e patches that had already been accepted. '''This branch is not rebased.''
 
* <code>devel-4.12/fixes</code> contains various fixes not merged yet in mainline (and that are not device tree fix as all the device tree related patches are in devel-4.12/dt or devel-4.12/dt64)
 
* <code>devel-4.12/ppv2</code> contains improvements in the mvpp2 network driver.
 
* <code>devel-4.12/dt64</code> contains all the Device Tree updates. They are regrouped in a single topic branches to avoid conflicts
 
* <code>devel-4.12/dt</code> contains all the Device Tree updates for ARM32. They are regrouped in a single topic branches to avoid conflicts
 
* <code>devel-4.12/defconfig64</code> contains the ARM64 defconfig specific patches.
 
* <code>devel-4.12/custom-defconfig64</code> contains '''out of tree''' patches to enable Marvell EBU specific drivers in the ARM64 defconfig. Based on <code>devel-4.12/defconfig64</code>.
 
* <code>devel-4.12/misc</code> contains various single improvement that were not part of a series of patches.
 
* <code>devel-4.12/xenon</code> contains all Xenon (SD and eMMC controller) fixes and improvement.
 
 
 
Commands used to generate the <code>devel-4.12/all</code> branch (so that topic branches are always merged in the same order) :
 
<pre>
 
git reset --hard backport-4.12
 
git merge devel-4.12/fixes devel-4.12/ppv2 devel-4.12/misc devel-4.12/xenon devel-4.12/dt64 devel-4.12/dt devel-4.12/defconfig64 devel-4.12/custom-defconfig64
 
 
</pre>
 
</pre>

Latest revision as of 02:44, 26 November 2019

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

Status matrix

}

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:

  • devel-4.14/<topic> are topic branches for work in progress, not yet merged upstream. Such branches are based on backport-4.14 (there are exceptions), and are rebased as needed
  • devel-4.14/all which is a branch resulting of the merge of all the devel-4.14/<topic> branches

These branches are:

  • backport-4.14 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.
  • devel-4.14/a8kp-doc introduces the 8KP support, in the documentation. Based on devel-4.14/icu-sei-overheat.
  • devel-4.14/a8kp-drivers introduces the 8KP support, in the drivers.
  • devel-4.14/a8kp-dt64 introduces the 8KP support, in the device trees. Based on devel-4.14/dt64.
  • devel-4.14/comphy
  • devel-4.14/custom-defconfig64 contains out of tree patches to enable Marvell EBU specific drivers in the ARM64 defconfig. Based on devel-4.14/defconfig64.
  • devel-4.14/defconfig64 contains the ARM64 defconfig specific patches.
  • devel-4.14/dt64 contains all the ARM64 Device Tree updates. They are regrouped in a single topic branches to avoid conflicts.
  • devel-4.14/icu-sei-overheat contains improvements for the interrupts and thermal drivers.
  • devel-4.14/pm-a3700 contains patches adding suspend/resume support for the a3700.
  • devel-4.14/pcie contains fixes and improvements to the PCI support for Marvell SoCs, especially the pci-mvebu and pci-aardvark drivers
  • devel-4.14/ppv2 contains fixes and improvements in the mvpp2 network driver.

Commands used to generate the devel-4.14/all 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
SoC family Orion Kirkwood Dove A370 AXP A375 A38x A39x A3700 A7K/A8K
GPIO OK

gpio-mvebu

OK

gpio-mvebu

OK

gpio-mvebu

OK

gpio-mvebu

OK

gpio-mvebu

OK

gpio-mvebu

OK

gpio-mvebu

OK

gpio-mvebu

4.12

pinctrl-armada-37xx

4.13

gpio-mvebu

Pinmux OK

pinctrl-mvebu/ pinctrl-orion

OK

pinctrl-mvebu/ pinctrl-kirkwood

OK

pinctrl-mvebu/ pinctrl-dove

OK

pinctrl-mvebu/ pinctrl-armada-370

OK

pinctrl-mvebu/ pinctrl-armada-xp

OK

pinctrl-mvebu/ pinctrl-armada-375

OK

pinctrl-mvebu/ pinctrl-armada-38x

OK

pinctrl-mvebu/ pinctrl-armada-39x

4.12

pinctrl-armada-37xx

4.13

pinctrl-mvebu/
pinctrl-armada-[ap806|cp110]

Clock
NAND
Device bus
Network OK

mv643xx_eth

OK

mv643xx_eth

OK

mv643xx_eth

3.8

mvneta

3.8

mvneta

3.17

mvpp2

3.15

mvneta

NOK OK

mvneta

OK

mvpp2

PCIe
USB 2.0 3.16

ehci-orion

3.16

ehci-orion

USB 3.0 N/A N/A N/A N/A N/A 3.16

xhci-mvebu

3.16

xhci-mvebu

USB Device
SATA
SPI OK

spi-orion

OK

spi-orion

OK

spi-orion

OK

spi-orion

OK

spi-orion

OK

spi-orion

OK

spi-orion

OK

spi-orion

4.10

spi-armada-3700

OK

spi-orion

TDM
SDIO
I2C OK

i2c-mv64xxx

OK

i2c-mv64xxx

OK

i2c-mv64xxx

OK

i2c-mv64xxx

OK

i2c-mv64xxx

OK

i2c-mv64xxx

OK

i2c-mv64xxx

OK

i2c-mv64xxx

4.10

i2x-pxa

OK

i2c-mv64xxx

UART OK

8250

OK

8250

OK

8250

3.6

8250

3.6

8250

3.15

8250

3.15

8250

OK

8250

4.6

mvebu-uart

4.6

8250

LCD
Audio ??? ??? OK OK N/A N/A NOK ??? N/A N/A
RTC OK

rtc-mv

OK

rtc-mv

OK

rtc-mv

OK

rtc-mv

OK

rtc-mv

OK

rtc-mv

4.0

rtc-armada38x

4.0

rtc-armada38x

N/A 4.11

rtc-armada38x

Crypto OK

cesa

OK

cesa

OK

cesa

OK

cesa

OK

cesa

OK

cesa

OK

cesa

NOK 4.16

safeXcel EIP-97

OK

safeXcel

XOR engines OK

mv_xor

OK

mv_xor

OK

mv_xor

OK

mv_xor

OK

mv_xor

OK

mv_xor

OK

mv_xor

OK

mv_xor

4.7

mv_xor

4.8

mv_xor_v2

Suspend/resume
cpuidle
cpufreq NOK OK

kirkwood-cpufreq

NOK NOK OK

mvebu-cpufreq

NOK NOK NOK 4.16 + 4.19 (AVS)

armada-37xx-cpufreq

WIP
watchdog