Merge branches 'fixes', 'misc' and 'spectre' into for-next
[sfrench/cifs-2.6.git] / Documentation / arm / Marvell / README
1 ARM Marvell SoCs
2 ================
3
4 This document lists all the ARM Marvell SoCs that are currently
5 supported in mainline by the Linux kernel. As the Marvell families of
6 SoCs are large and complex, it is hard to understand where the support
7 for a particular SoC is available in the Linux kernel. This document
8 tries to help in understanding where those SoCs are supported, and to
9 match them with their corresponding public datasheet, when available.
10
11 Orion 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
29 Kirkwood 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
59 Discovery 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
79 EBU 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
126 EBU 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
158 Avanta 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
175 Storage 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
184 Dove 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
198 PXA 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
245 MMP/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
298 Berlin 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
333 CPU Cores
334 ---------
335
336 The XScale cores were designed by Intel, and shipped by Marvell in the older
337 PXA processors. Feroceon is a Marvell designed core that developed in-house,
338 and that evolved into Sheeva. The XScale and Feroceon cores were phased out
339 over time and replaced with Sheeva cores in later products, which subsequently
340 got 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
376 Long-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
387 Credits
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>