1ARM Marvell SoCs
2================
3
4This document lists all the ARM Marvell SoCs that are currently
5supported in mainline by the Linux kernel. As the Marvell families of
6SoCs are large and complex, it is hard to understand where the support
7for a particular SoC is available in the Linux kernel. This document
8tries to help in understanding where those SoCs are supported, and to
9match them with their corresponding public datasheet, when available.
10
11Orion family
12------------
13
14  Flavors:
15        88F5082
16        88F5181
17        88F5181L
18        88F5182
19               Datasheet               : http://www.embeddedarm.com/documentation/third-party/MV88F5182-datasheet.pdf
20               Programmer's User Guide : http://www.embeddedarm.com/documentation/third-party/MV88F5182-opensource-manual.pdf
21               User Manual             : http://www.embeddedarm.com/documentation/third-party/MV88F5182-usermanual.pdf
22        88F5281
23               Datasheet               : http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf
24        88F6183
25  Core: Feroceon 88fr331 (88f51xx) or 88fr531-vd (88f52xx) ARMv5 compatible
26  Linux kernel mach directory: arch/arm/mach-orion5x
27  Linux kernel plat directory: arch/arm/plat-orion
28
29Kirkwood family
30---------------
31
32  Flavors:
33        88F6282 a.k.a Armada 300
34                Product Brief  : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf
35        88F6283 a.k.a Armada 310
36                Product Brief  : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf
37        88F6190
38                Product Brief  : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6190-003_WEB.pdf
39                Hardware Spec  : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf
40                Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
41        88F6192
42                Product Brief  : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6192-003_ver1.pdf
43                Hardware Spec  : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf
44                Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
45        88F6182
46        88F6180
47                Product Brief  : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6180-003_ver1.pdf
48                Hardware Spec  : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6180_OpenSource.pdf
49                Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
50        88F6281
51                Product Brief  : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6281-004_ver1.pdf
52                Hardware Spec  : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf
53                Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
54  Homepage: http://www.marvell.com/embedded-processors/kirkwood/
55  Core: Feroceon 88fr131 ARMv5 compatible
56  Linux kernel mach directory: arch/arm/mach-mvebu
57  Linux kernel plat directory: none
58
59Discovery family
60----------------
61
62  Flavors:
63        MV78100
64                Product Brief  : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78100-003_WEB.pdf
65                Hardware Spec  : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78100_OpenSource.pdf
66                Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf
67        MV78200
68                Product Brief  : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78200-002_WEB.pdf
69                Hardware Spec  : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78200_OpenSource.pdf
70                Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf
71        MV76100
72                Not supported by the Linux kernel.
73
74  Core: Feroceon 88fr571-vd ARMv5 compatible
75
76  Linux kernel mach directory: arch/arm/mach-mv78xx0
77  Linux kernel plat directory: arch/arm/plat-orion
78
79EBU Armada family
80-----------------
81
82  Armada 370 Flavors:
83        88F6710
84        88F6707
85        88F6W11
86    Product Brief:   http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf
87    Hardware Spec:   http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf
88    Functional Spec: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf
89    Core: Sheeva ARMv7 compatible PJ4B
90
91  Armada 375 Flavors:
92	88F6720
93    Product Brief: http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf
94    Core: ARM Cortex-A9
95
96  Armada 38x Flavors:
97	88F6810	Armada 380
98	88F6820 Armada 385
99	88F6828 Armada 388
100    Product infos:   http://www.marvell.com/embedded-processors/armada-38x/
101    Functional Spec: https://marvellcorp.wufoo.com/forms/marvell-armada-38x-functional-specifications/
102    Core: ARM Cortex-A9
103
104  Armada 39x Flavors:
105	88F6920 Armada 390
106	88F6928 Armada 398
107    Product infos: http://www.marvell.com/embedded-processors/armada-39x/
108    Core: ARM Cortex-A9
109
110  Armada XP Flavors:
111        MV78230
112        MV78260
113        MV78460
114    NOTE: not to be confused with the non-SMP 78xx0 SoCs
115    Product Brief: http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf
116    Functional Spec: http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf
117    Hardware Specs:
118      http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF
119      http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF
120      http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF
121    Core: Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP
122
123  Linux kernel mach directory: arch/arm/mach-mvebu
124  Linux kernel plat directory: none
125
126EBU Armada family ARMv8
127-----------------------
128
129  Armada 3710/3720 Flavors:
130	88F3710
131	88F3720
132	Core: ARM Cortex A53 (ARMv8)
133
134	Homepage: http://www.marvell.com/embedded-processors/armada-3700/
135	Product Brief: http://www.marvell.com/embedded-processors/assets/PB-88F3700-FNL.pdf
136	Device tree files: arch/arm64/boot/dts/marvell/armada-37*
137
138  Armada 7K Flavors:
139	88F7020 (AP806 Dual + one CP110)
140	88F7040 (AP806 Quad + one CP110)
141	Core: ARM Cortex A72
142
143	Homepage: http://www.marvell.com/embedded-processors/armada-70xx/
144	Product Brief: http://www.marvell.com/embedded-processors/assets/Armada7020PB-Jan2016.pdf
145		       http://www.marvell.com/embedded-processors/assets/Armada7040PB-Jan2016.pdf
146	Device tree files: arch/arm64/boot/dts/marvell/armada-70*
147
148  Armada 8K Flavors:
149	88F8020 (AP806 Dual + two CP110)
150	88F8040 (AP806 Quad + two CP110)
151	Core: ARM Cortex A72
152
153	Homepage: http://www.marvell.com/embedded-processors/armada-80xx/
154	Product Brief: http://www.marvell.com/embedded-processors/assets/Armada8020PB-Jan2016.pdf
155		       http://www.marvell.com/embedded-processors/assets/Armada8040PB-Jan2016.pdf
156	Device tree files: arch/arm64/boot/dts/marvell/armada-80*
157
158Avanta family
159-------------
160
161  Flavors:
162       88F6510
163       88F6530P
164       88F6550
165       88F6560
166  Homepage     : http://www.marvell.com/broadband/
167  Product Brief: http://www.marvell.com/broadband/assets/Marvell_Avanta_88F6510_305_060-001_product_brief.pdf
168  No public datasheet available.
169
170  Core: ARMv5 compatible
171
172  Linux kernel mach directory: no code in mainline yet, planned for the future
173  Linux kernel plat directory: no code in mainline yet, planned for the future
174
175Storage family
176--------------
177
178  Armada SP:
179	88RC1580
180    Product infos: http://www.marvell.com/storage/armada-sp/
181    Core: Sheeva ARMv7 comatible Quad-core PJ4C
182    (not supported in upstream Linux kernel)
183
184Dove family (application processor)
185-----------------------------------
186
187  Flavors:
188        88AP510 a.k.a Armada 510
189                Product Brief   : http://www.marvell.com/application-processors/armada-500/assets/Marvell_Armada510_SoC.pdf
190                Hardware Spec   : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Hardware-Spec.pdf
191                Functional Spec : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Functional-Spec.pdf
192  Homepage: http://www.marvell.com/application-processors/armada-500/
193  Core: ARMv7 compatible
194
195  Directory: arch/arm/mach-mvebu (DT enabled platforms)
196             arch/arm/mach-dove (non-DT enabled platforms)
197
198PXA 2xx/3xx/93x/95x family
199--------------------------
200
201  Flavors:
202        PXA21x, PXA25x, PXA26x
203             Application processor only
204             Core: ARMv5 XScale1 core
205        PXA270, PXA271, PXA272
206             Product Brief         : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_pb.pdf
207             Design guide          : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_design_guide.pdf
208             Developers manual     : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_dev_man.pdf
209             Specification         : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_emts.pdf
210             Specification update  : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_spec_update.pdf
211             Application processor only
212             Core: ARMv5 XScale2 core
213        PXA300, PXA310, PXA320
214             PXA 300 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA300_PB_R4.pdf
215             PXA 310 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA310_PB_R4.pdf
216             PXA 320 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA320_PB_R4.pdf
217             Design guide          : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Design_Guide.pdf
218             Developers manual     : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Developers_Manual.zip
219             Specifications        : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_EMTS.pdf
220             Specification Update  : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Spec_Update.zip
221             Reference Manual      : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_TavorP_BootROM_Ref_Manual.pdf
222             Application processor only
223             Core: ARMv5 XScale3 core
224        PXA930, PXA935
225             Application processor with Communication processor
226             Core: ARMv5 XScale3 core
227        PXA955
228             Application processor with Communication processor
229             Core: ARMv7 compatible Sheeva PJ4 core
230
231   Comments:
232
233    * This line of SoCs originates from the XScale family developed by
234      Intel and acquired by Marvell in ~2006. The PXA21x, PXA25x,
235      PXA26x, PXA27x, PXA3xx and PXA93x were developed by Intel, while
236      the later PXA95x were developed by Marvell.
237
238    * Due to their XScale origin, these SoCs have virtually nothing in
239      common with the other (Kirkwood, Dove, etc.) families of Marvell
240      SoCs, except with the MMP/MMP2 family of SoCs.
241
242   Linux kernel mach directory: arch/arm/mach-pxa
243   Linux kernel plat directory: arch/arm/plat-pxa
244
245MMP/MMP2/MMP3 family (communication processor)
246-----------------------------------------
247
248   Flavors:
249        PXA168, a.k.a Armada 168
250             Homepage             : http://www.marvell.com/application-processors/armada-100/armada-168.jsp
251             Product brief        : http://www.marvell.com/application-processors/armada-100/assets/pxa_168_pb.pdf
252             Hardware manual      : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_datasheet.pdf
253             Software manual      : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_software_manual.pdf
254             Specification update : http://www.marvell.com/application-processors/armada-100/assets/ARMADA16x_Spec_update.pdf
255             Boot ROM manual      : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_ref_manual.pdf
256             App node package     : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_app_note_package.pdf
257             Application processor only
258             Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk)
259        PXA910/PXA920
260             Homepage             : http://www.marvell.com/communication-processors/pxa910/
261             Product Brief        : http://www.marvell.com/communication-processors/pxa910/assets/Marvell_PXA910_Platform-001_PB_final.pdf
262             Application processor with Communication processor
263             Core: ARMv5 compatible Marvell PJ1 88sv331 (Mohawk)
264        PXA688, a.k.a. MMP2, a.k.a Armada 610
265             Product Brief        : http://www.marvell.com/application-processors/armada-600/assets/armada610_pb.pdf
266             Application processor only
267             Core: ARMv7 compatible Sheeva PJ4 88sv581x core
268	PXA2128, a.k.a. MMP3 (OLPC XO4, Linux support not upstream)
269	     Product Brief	  : http://www.marvell.com/application-processors/armada/pxa2128/assets/Marvell-ARMADA-PXA2128-SoC-PB.pdf
270	     Application processor only
271	     Core: Dual-core ARMv7 compatible Sheeva PJ4C core
272	PXA960/PXA968/PXA978 (Linux support not upstream)
273	     Application processor with Communication Processor
274	     Core: ARMv7 compatible Sheeva PJ4 core
275	PXA986/PXA988 (Linux support not upstream)
276	     Application processor with Communication Processor
277	     Core: Dual-core ARMv7 compatible Sheeva PJ4B-MP core
278	PXA1088/PXA1920 (Linux support not upstream)
279	     Application processor with Communication Processor
280	     Core: quad-core ARMv7 Cortex-A7
281	PXA1908/PXA1928/PXA1936
282	     Application processor with Communication Processor
283	     Core: multi-core ARMv8 Cortex-A53
284
285   Comments:
286
287    * This line of SoCs originates from the XScale family developed by
288      Intel and acquired by Marvell in ~2006. All the processors of
289      this MMP/MMP2 family were developed by Marvell.
290
291    * Due to their XScale origin, these SoCs have virtually nothing in
292      common with the other (Kirkwood, Dove, etc.) families of Marvell
293      SoCs, except with the PXA family of SoCs listed above.
294
295   Linux kernel mach directory: arch/arm/mach-mmp
296   Linux kernel plat directory: arch/arm/plat-pxa
297
298Berlin family (Multimedia Solutions)
299-------------------------------------
300
301  Flavors:
302	88DE3010, Armada 1000 (no Linux support)
303		Core:		Marvell PJ1 (ARMv5TE), Dual-core
304		Product Brief:	http://www.marvell.com.cn/digital-entertainment/assets/armada_1000_pb.pdf
305	88DE3005, Armada 1500 Mini
306		Design name:	BG2CD
307		Core:		ARM Cortex-A9, PL310 L2CC
308	88DE3006, Armada 1500 Mini Plus
309		Design name:	BG2CDP
310		Core:		Dual Core ARM Cortex-A7
311	88DE3100, Armada 1500
312		Design name:	BG2
313		Core:		Marvell PJ4B-MP (ARMv7), Tauros3 L2CC
314	88DE3114, Armada 1500 Pro
315		Design name:	BG2Q
316		Core:		Quad Core ARM Cortex-A9, PL310 L2CC
317	88DE3214, Armada 1500 Pro 4K
318		Design name:	BG3
319		Core:		ARM Cortex-A15, CA15 integrated L2CC
320	88DE3218, ARMADA 1500 Ultra
321		Core:		ARM Cortex-A53
322
323  Homepage: https://www.synaptics.com/products/multimedia-solutions
324  Directory: arch/arm/mach-berlin
325
326  Comments:
327
328   * This line of SoCs is based on Marvell Sheeva or ARM Cortex CPUs
329     with Synopsys DesignWare (IRQ, GPIO, Timers, ...) and PXA IP (SDHCI, USB, ETH, ...).
330
331   * The Berlin family was acquired by Synaptics from Marvell in 2017.
332
333CPU Cores
334---------
335
336The XScale cores were designed by Intel, and shipped by Marvell in the older
337PXA processors. Feroceon is a Marvell designed core that developed in-house,
338and that evolved into Sheeva. The XScale and Feroceon cores were phased out
339over time and replaced with Sheeva cores in later products, which subsequently
340got replaced with licensed ARM Cortex-A cores.
341
342  XScale 1
343	CPUID 0x69052xxx
344	ARMv5, iWMMXt
345  XScale 2
346	CPUID 0x69054xxx
347	ARMv5, iWMMXt
348  XScale 3
349	CPUID 0x69056xxx or 0x69056xxx
350	ARMv5, iWMMXt
351  Feroceon-1850 88fr331 "Mohawk"
352	CPUID 0x5615331x or 0x41xx926x
353	ARMv5TE, single issue
354  Feroceon-2850 88fr531-vd "Jolteon"
355	CPUID 0x5605531x or 0x41xx926x
356	ARMv5TE, VFP, dual-issue
357  Feroceon 88fr571-vd "Jolteon"
358	CPUID 0x5615571x
359	ARMv5TE, VFP, dual-issue
360  Feroceon 88fr131 "Mohawk-D"
361	CPUID 0x5625131x
362	ARMv5TE, single-issue in-order
363  Sheeva PJ1 88sv331 "Mohawk"
364	CPUID 0x561584xx
365	ARMv5, single-issue iWMMXt v2
366  Sheeva PJ4 88sv581x "Flareon"
367	CPUID 0x560f581x
368	ARMv7, idivt, optional iWMMXt v2
369  Sheeva PJ4B 88sv581x
370	CPUID 0x561f581x
371	ARMv7, idivt, optional iWMMXt v2
372  Sheeva PJ4B-MP / PJ4C
373	CPUID 0x562f584x
374	ARMv7, idivt/idiva, LPAE, optional iWMMXt v2 and/or NEON
375
376Long-term plans
377---------------
378
379 * Unify the mach-dove/, mach-mv78xx0/, mach-orion5x/ into the
380   mach-mvebu/ to support all SoCs from the Marvell EBU (Engineering
381   Business Unit) in a single mach-<foo> directory. The plat-orion/
382   would therefore disappear.
383
384 * Unify the mach-mmp/ and mach-pxa/ into the same mach-pxa
385   directory. The plat-pxa/ would therefore disappear.
386
387Credits
388-------
389
390 Maen Suleiman <maen@marvell.com>
391 Lior Amsalem <alior@marvell.com>
392 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
393 Andrew Lunn <andrew@lunn.ch>
394 Nicolas Pitre <nico@fluxnic.net>
395 Eric Miao <eric.y.miao@gmail.com>
396