| ================ |
| ARM Marvell SoCs |
| ================ |
| |
| This document lists all the ARM Marvell SoCs that are currently |
| supported in mainline by the Linux kernel. As the Marvell families of |
| SoCs are large and complex, it is hard to understand where the support |
| for a particular SoC is available in the Linux kernel. This document |
| tries to help in understanding where those SoCs are supported, and to |
| match them with their corresponding public datasheet, when available. |
| |
| Orion family |
| ------------ |
| |
| Flavors: |
| - 88F5082 |
| - 88F5181 |
| - 88F5181L |
| - 88F5182 |
| |
| - Datasheet: http://www.embeddedarm.com/documentation/third-party/MV88F5182-datasheet.pdf |
| - Programmer's User Guide: http://www.embeddedarm.com/documentation/third-party/MV88F5182-opensource-manual.pdf |
| - User Manual: http://www.embeddedarm.com/documentation/third-party/MV88F5182-usermanual.pdf |
| - 88F5281 |
| |
| - Datasheet: http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf |
| - 88F6183 |
| Core: |
| Feroceon 88fr331 (88f51xx) or 88fr531-vd (88f52xx) ARMv5 compatible |
| Linux kernel mach directory: |
| arch/arm/mach-orion5x |
| Linux kernel plat directory: |
| arch/arm/plat-orion |
| |
| Kirkwood family |
| --------------- |
| |
| Flavors: |
| - 88F6282 a.k.a Armada 300 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf |
| - 88F6283 a.k.a Armada 310 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf |
| - 88F6190 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6190-003_WEB.pdf |
| - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf |
| - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf |
| - 88F6192 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6192-003_ver1.pdf |
| - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf |
| - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf |
| - 88F6182 |
| - 88F6180 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6180-003_ver1.pdf |
| - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6180_OpenSource.pdf |
| - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf |
| - 88F6281 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6281-004_ver1.pdf |
| - Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf |
| - Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf |
| Homepage: |
| http://www.marvell.com/embedded-processors/kirkwood/ |
| Core: |
| Feroceon 88fr131 ARMv5 compatible |
| Linux kernel mach directory: |
| arch/arm/mach-mvebu |
| Linux kernel plat directory: |
| none |
| |
| Discovery family |
| ---------------- |
| |
| Flavors: |
| - MV78100 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78100-003_WEB.pdf |
| - Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78100_OpenSource.pdf |
| - Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf |
| - MV78200 |
| |
| - Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78200-002_WEB.pdf |
| - Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78200_OpenSource.pdf |
| - Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf |
| - MV76100 |
| |
| Not supported by the Linux kernel. |
| |
| Core: |
| Feroceon 88fr571-vd ARMv5 compatible |
| |
| Linux kernel mach directory: |
| arch/arm/mach-mv78xx0 |
| Linux kernel plat directory: |
| arch/arm/plat-orion |
| |
| EBU Armada family |
| ----------------- |
| |
| Armada 370 Flavors: |
| - 88F6710 |
| - 88F6707 |
| - 88F6W11 |
| |
| - Product Brief: http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf |
| - Hardware Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf |
| - Functional Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf |
| |
| Core: |
| Sheeva ARMv7 compatible PJ4B |
| |
| Armada 375 Flavors: |
| - 88F6720 |
| |
| - Product Brief: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf |
| |
| Core: |
| ARM Cortex-A9 |
| |
| Armada 38x Flavors: |
| - 88F6810 Armada 380 |
| - 88F6820 Armada 385 |
| - 88F6828 Armada 388 |
| |
| - Product infos: http://www.marvell.com/embedded-processors/armada-38x/ |
| - Functional Spec: http://www.marvell.com/content/dam/marvell/en/public-collateral/embedded-processors/marvell-embedded-processors-armada-38x-functional-specifications-2015-11.pdf |
| |
| Core: |
| ARM Cortex-A9 |
| |
| Armada 39x Flavors: |
| - 88F6920 Armada 390 |
| - 88F6928 Armada 398 |
| |
| - Product infos: http://www.marvell.com/embedded-processors/armada-39x/ |
| |
| Core: |
| ARM Cortex-A9 |
| |
| Armada XP Flavors: |
| - MV78230 |
| - MV78260 |
| - MV78460 |
| |
| NOTE: |
| not to be confused with the non-SMP 78xx0 SoCs |
| |
| Product Brief: |
| http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf |
| |
| Functional Spec: |
| http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf |
| |
| - Hardware Specs: |
| |
| - http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF |
| - http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF |
| - http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF |
| |
| Core: |
| Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP |
| |
| Linux kernel mach directory: |
| arch/arm/mach-mvebu |
| Linux kernel plat directory: |
| none |
| |
| EBU Armada family ARMv8 |
| ----------------------- |
| |
| Armada 3710/3720 Flavors: |
| - 88F3710 |
| - 88F3720 |
| |
| Core: |
| ARM Cortex A53 (ARMv8) |
| |
| Homepage: |
| http://www.marvell.com/embedded-processors/armada-3700/ |
| |
| Product Brief: |
| http://www.marvell.com/content/dam/marvell/en/public-collateral/embedded-processors/marvell-embedded-processors-armada-37xx-product-brief-2016-01.pdf |
| |
| Hardware Spec: |
| http://www.marvell.com/content/dam/marvell/en/public-collateral/embedded-processors/marvell-embedded-processors-armada-37xx-hardware-specifications-2019-09.pdf |
| |
| Device tree files: |
| arch/arm64/boot/dts/marvell/armada-37* |
| |
| Armada 7K Flavors: |
| - 88F7020 (AP806 Dual + one CP110) |
| - 88F7040 (AP806 Quad + one CP110) |
| |
| Core: ARM Cortex A72 |
| |
| Homepage: |
| http://www.marvell.com/embedded-processors/armada-70xx/ |
| |
| Product Brief: |
| - http://www.marvell.com/embedded-processors/assets/Armada7020PB-Jan2016.pdf |
| - http://www.marvell.com/embedded-processors/assets/Armada7040PB-Jan2016.pdf |
| |
| Device tree files: |
| arch/arm64/boot/dts/marvell/armada-70* |
| |
| Armada 8K Flavors: |
| - 88F8020 (AP806 Dual + two CP110) |
| - 88F8040 (AP806 Quad + two CP110) |
| Core: |
| ARM Cortex A72 |
| |
| Homepage: |
| http://www.marvell.com/embedded-processors/armada-80xx/ |
| |
| Product Brief: |
| - http://www.marvell.com/embedded-processors/assets/Armada8020PB-Jan2016.pdf |
| - http://www.marvell.com/embedded-processors/assets/Armada8040PB-Jan2016.pdf |
| |
| Device tree files: |
| arch/arm64/boot/dts/marvell/armada-80* |
| |
| Avanta family |
| ------------- |
| |
| Flavors: |
| - 88F6510 |
| - 88F6530P |
| - 88F6550 |
| - 88F6560 |
| |
| Homepage: |
| http://www.marvell.com/broadband/ |
| |
| Product Brief: |
| http://www.marvell.com/broadband/assets/Marvell_Avanta_88F6510_305_060-001_product_brief.pdf |
| |
| No public datasheet available. |
| |
| Core: |
| ARMv5 compatible |
| |
| Linux kernel mach directory: |
| no code in mainline yet, planned for the future |
| Linux kernel plat directory: |
| no code in mainline yet, planned for the future |
| |
| Storage family |
| -------------- |
| |
| Armada SP: |
| - 88RC1580 |
| |
| Product infos: |
| http://www.marvell.com/storage/armada-sp/ |
| |
| Core: |
| Sheeva ARMv7 comatible Quad-core PJ4C |
| |
| (not supported in upstream Linux kernel) |
| |
| Dove family (application processor) |
| ----------------------------------- |
| |
| Flavors: |
| - 88AP510 a.k.a Armada 510 |
| |
| Product Brief: |
| http://www.marvell.com/application-processors/armada-500/assets/Marvell_Armada510_SoC.pdf |
| |
| Hardware Spec: |
| http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Hardware-Spec.pdf |
| |
| Functional Spec: |
| http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Functional-Spec.pdf |
| |
| Homepage: |
| http://www.marvell.com/application-processors/armada-500/ |
| |
| Core: |
| ARMv7 compatible |
| |
| Directory: |
| - arch/arm/mach-mvebu (DT enabled platforms) |
| - arch/arm/mach-dove (non-DT enabled platforms) |
| |
| PXA 2xx/3xx/93x/95x family |
| -------------------------- |
| |
| Flavors: |
| - PXA21x, PXA25x, PXA26x |
| - Application processor only |
| - Core: ARMv5 XScale1 core |
| - PXA270, PXA271, PXA272 |
| - Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_pb.pdf |
| - Design guide : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_design_guide.pdf |
| - Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_dev_man.pdf |
| - Specification : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_emts.pdf |
| - Specification update : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_spec_update.pdf |
| - Application processor only |
| - Core: ARMv5 XScale2 core |
| - PXA300, PXA310, PXA320 |
| - PXA 300 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA300_PB_R4.pdf |
| - PXA 310 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA310_PB_R4.pdf |
| - PXA 320 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA320_PB_R4.pdf |
| - Design guide : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Design_Guide.pdf |
| - Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Developers_Manual.zip |
| - Specifications : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_EMTS.pdf |
| - Specification Update : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Spec_Update.zip |
| - Reference Manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_TavorP_BootROM_Ref_Manual.pdf |
| - Application processor only |
| - Core: ARMv5 XScale3 core |
| - PXA930, PXA935 |
| - Application processor with Communication processor |
| - Core: ARMv5 XScale3 core |
| - PXA955 |
| - Application processor with Communication processor |
| - Core: ARMv7 compatible Sheeva PJ4 core |
| |
| Comments: |
| |
| * This line of SoCs originates from the XScale family developed by |
| Intel and acquired by Marvell in ~2006. The PXA21x, PXA25x, |
| PXA26x, PXA27x, PXA3xx and PXA93x were developed by Intel, while |
| the later PXA95x were developed by Marvell. |
| |
| * Due to their XScale origin, these SoCs have virtually nothing in |
| common with the other (Kirkwood, Dove, etc.) families of Marvell |
| SoCs, except with the MMP/MMP2 family of SoCs. |
| |
| Linux kernel mach directory: |
| arch/arm/mach-pxa |
| Linux kernel plat directory: |
| arch/arm/plat-pxa |
| |
| MMP/MMP2/MMP3 family (communication processor) |
| ---------------------------------------------- |
| |
| Flavors: |
| - PXA168, a.k.a Armada 168 |
| - Homepage : http://www.marvell.com/application-processors/armada-100/armada-168.jsp |
| - Product brief : http://www.marvell.com/application-processors/armada-100/assets/pxa_168_pb.pdf |
| - Hardware manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_datasheet.pdf |
| - Software manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_software_manual.pdf |
| - Specification update : http://www.marvell.com/application-processors/armada-100/assets/ARMADA16x_Spec_update.pdf |
| - Boot ROM manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_ref_manual.pdf |
| - App node package : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_app_note_package.pdf |
| - Application processor only |
| - Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk) |
| - PXA910/PXA920 |
| - Homepage : http://www.marvell.com/communication-processors/pxa910/ |
| - Product Brief : http://www.marvell.com/communication-processors/pxa910/assets/Marvell_PXA910_Platform-001_PB_final.pdf |
| - Application processor with Communication processor |
| - Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk) |
| - PXA688, a.k.a. MMP2, a.k.a Armada 610 |
| - Product Brief : http://www.marvell.com/application-processors/armada-600/assets/armada610_pb.pdf |
| - Application processor only |
| - Core: ARMv7 compatible Sheeva PJ4 88sv581x core |
| - PXA2128, a.k.a. MMP3 (OLPC XO4, Linux support not upstream) |
| - Product Brief : http://www.marvell.com/application-processors/armada/pxa2128/assets/Marvell-ARMADA-PXA2128-SoC-PB.pdf |
| - Application processor only |
| - Core: Dual-core ARMv7 compatible Sheeva PJ4C core |
| - PXA960/PXA968/PXA978 (Linux support not upstream) |
| - Application processor with Communication Processor |
| - Core: ARMv7 compatible Sheeva PJ4 core |
| - PXA986/PXA988 (Linux support not upstream) |
| - Application processor with Communication Processor |
| - Core: Dual-core ARMv7 compatible Sheeva PJ4B-MP core |
| - PXA1088/PXA1920 (Linux support not upstream) |
| - Application processor with Communication Processor |
| - Core: quad-core ARMv7 Cortex-A7 |
| - PXA1908/PXA1928/PXA1936 |
| - Application processor with Communication Processor |
| - Core: multi-core ARMv8 Cortex-A53 |
| |
| Comments: |
| |
| * This line of SoCs originates from the XScale family developed by |
| Intel and acquired by Marvell in ~2006. All the processors of |
| this MMP/MMP2 family were developed by Marvell. |
| |
| * Due to their XScale origin, these SoCs have virtually nothing in |
| common with the other (Kirkwood, Dove, etc.) families of Marvell |
| SoCs, except with the PXA family of SoCs listed above. |
| |
| Linux kernel mach directory: |
| arch/arm/mach-mmp |
| Linux kernel plat directory: |
| arch/arm/plat-pxa |
| |
| Berlin family (Multimedia Solutions) |
| ------------------------------------- |
| |
| - Flavors: |
| - 88DE3010, Armada 1000 (no Linux support) |
| - Core: Marvell PJ1 (ARMv5TE), Dual-core |
| - Product Brief: http://www.marvell.com.cn/digital-entertainment/assets/armada_1000_pb.pdf |
| - 88DE3005, Armada 1500 Mini |
| - Design name: BG2CD |
| - Core: ARM Cortex-A9, PL310 L2CC |
| - 88DE3006, Armada 1500 Mini Plus |
| - Design name: BG2CDP |
| - Core: Dual Core ARM Cortex-A7 |
| - 88DE3100, Armada 1500 |
| - Design name: BG2 |
| - Core: Marvell PJ4B-MP (ARMv7), Tauros3 L2CC |
| - 88DE3114, Armada 1500 Pro |
| - Design name: BG2Q |
| - Core: Quad Core ARM Cortex-A9, PL310 L2CC |
| - 88DE3214, Armada 1500 Pro 4K |
| - Design name: BG3 |
| - Core: ARM Cortex-A15, CA15 integrated L2CC |
| - 88DE3218, ARMADA 1500 Ultra |
| - Core: ARM Cortex-A53 |
| |
| Homepage: https://www.synaptics.com/products/multimedia-solutions |
| Directory: arch/arm/mach-berlin |
| |
| Comments: |
| |
| * This line of SoCs is based on Marvell Sheeva or ARM Cortex CPUs |
| with Synopsys DesignWare (IRQ, GPIO, Timers, ...) and PXA IP (SDHCI, USB, ETH, ...). |
| |
| * The Berlin family was acquired by Synaptics from Marvell in 2017. |
| |
| CPU Cores |
| --------- |
| |
| The XScale cores were designed by Intel, and shipped by Marvell in the older |
| PXA processors. Feroceon is a Marvell designed core that developed in-house, |
| and that evolved into Sheeva. The XScale and Feroceon cores were phased out |
| over time and replaced with Sheeva cores in later products, which subsequently |
| got replaced with licensed ARM Cortex-A cores. |
| |
| XScale 1 |
| CPUID 0x69052xxx |
| ARMv5, iWMMXt |
| XScale 2 |
| CPUID 0x69054xxx |
| ARMv5, iWMMXt |
| XScale 3 |
| CPUID 0x69056xxx or 0x69056xxx |
| ARMv5, iWMMXt |
| Feroceon-1850 88fr331 "Mohawk" |
| CPUID 0x5615331x or 0x41xx926x |
| ARMv5TE, single issue |
| Feroceon-2850 88fr531-vd "Jolteon" |
| CPUID 0x5605531x or 0x41xx926x |
| ARMv5TE, VFP, dual-issue |
| Feroceon 88fr571-vd "Jolteon" |
| CPUID 0x5615571x |
| ARMv5TE, VFP, dual-issue |
| Feroceon 88fr131 "Mohawk-D" |
| CPUID 0x5625131x |
| ARMv5TE, single-issue in-order |
| Sheeva PJ1 88sv331 "Mohawk" |
| CPUID 0x561584xx |
| ARMv5, single-issue iWMMXt v2 |
| Sheeva PJ4 88sv581x "Flareon" |
| CPUID 0x560f581x |
| ARMv7, idivt, optional iWMMXt v2 |
| Sheeva PJ4B 88sv581x |
| CPUID 0x561f581x |
| ARMv7, idivt, optional iWMMXt v2 |
| Sheeva PJ4B-MP / PJ4C |
| CPUID 0x562f584x |
| ARMv7, idivt/idiva, LPAE, optional iWMMXt v2 and/or NEON |
| |
| Long-term plans |
| --------------- |
| |
| * Unify the mach-dove/, mach-mv78xx0/, mach-orion5x/ into the |
| mach-mvebu/ to support all SoCs from the Marvell EBU (Engineering |
| Business Unit) in a single mach-<foo> directory. The plat-orion/ |
| would therefore disappear. |
| |
| * Unify the mach-mmp/ and mach-pxa/ into the same mach-pxa |
| directory. The plat-pxa/ would therefore disappear. |
| |
| Credits |
| ------- |
| |
| - Maen Suleiman <maen@marvell.com> |
| - Lior Amsalem <alior@marvell.com> |
| - Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| - Andrew Lunn <andrew@lunn.ch> |
| - Nicolas Pitre <nico@fluxnic.net> |
| - Eric Miao <eric.y.miao@gmail.com> |