ata: start separating SATA specific code from libata-core.c
[linux/fpc-iii.git] / Documentation / arm / microchip.rst
blob05e5f2dfb814bfc4f9afc10898469e5e0316c241
1 =============================
2 ARM Microchip SoCs (aka AT91)
3 =============================
6 Introduction
7 ------------
8 This document gives useful information about the ARM Microchip SoCs that are
9 currently supported in Linux Mainline (you know, the one on kernel.org).
11 It is important to note that the Microchip (previously Atmel) ARM-based MPU
12 product line is historically named "AT91" or "at91" throughout the Linux kernel
13 development process even if this product prefix has completely disappeared from
14 the official Microchip product name. Anyway, files, directories, git trees,
15 git branches/tags and email subject always contain this "at91" sub-string.
18 AT91 SoCs
19 ---------
20 Documentation and detailed datasheet for each product are available on
21 the Microchip website: http://www.microchip.com.
23   Flavors:
24     * ARM 920 based SoC
25       - at91rm9200
27           * Datasheet
29           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf
31     * ARM 926 based SoCs
32       - at91sam9260
34           * Datasheet
36           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf
38       - at91sam9xe
40           * Datasheet
42           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
44       - at91sam9261
46           * Datasheet
48           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf
50       - at91sam9263
52           * Datasheet
54           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf
56       - at91sam9rl
58           * Datasheet
60           http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf
62       - at91sam9g20
64           * Datasheet
66           http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf
68       - at91sam9g45 family
69         - at91sam9g45
70         - at91sam9g46
71         - at91sam9m10
72         - at91sam9m11 (device superset)
74           * Datasheet
76           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
78       - at91sam9x5 family (aka "The 5 series")
79         - at91sam9g15
80         - at91sam9g25
81         - at91sam9g35
82         - at91sam9x25
83         - at91sam9x35
85           * Datasheet (can be considered as covering the whole family)
87           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf
89       - at91sam9n12
91           * Datasheet
93           http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf
95       - sam9x60
97           * Datasheet
99           http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf
101     * ARM Cortex-A5 based SoCs
102       - sama5d3 family
104         - sama5d31
105         - sama5d33
106         - sama5d34
107         - sama5d35
108         - sama5d36 (device superset)
110           * Datasheet
112           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf
114     * ARM Cortex-A5 + NEON based SoCs
115       - sama5d4 family
117         - sama5d41
118         - sama5d42
119         - sama5d43
120         - sama5d44 (device superset)
122           * Datasheet
124           http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
126       - sama5d2 family
128         - sama5d21
129         - sama5d22
130         - sama5d23
131         - sama5d24
132         - sama5d26
133         - sama5d27 (device superset)
134         - sama5d28 (device superset + environmental monitors)
136           * Datasheet
138           http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
140     * ARM Cortex-M7 MCUs
141       - sams70 family
143         - sams70j19
144         - sams70j20
145         - sams70j21
146         - sams70n19
147         - sams70n20
148         - sams70n21
149         - sams70q19
150         - sams70q20
151         - sams70q21
153       - samv70 family
155         - samv70j19
156         - samv70j20
157         - samv70n19
158         - samv70n20
159         - samv70q19
160         - samv70q20
162       - samv71 family
164         - samv71j19
165         - samv71j20
166         - samv71j21
167         - samv71n19
168         - samv71n20
169         - samv71n21
170         - samv71q19
171         - samv71q20
172         - samv71q21
174           * Datasheet
176           http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf
179 Linux kernel information
180 ------------------------
181 Linux kernel mach directory: arch/arm/mach-at91
182 MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
185 Device Tree for AT91 SoCs and boards
186 ------------------------------------
187 All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
188 must use this method to boot the Linux kernel.
190 Work In Progress statement:
191 Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
192 considered as "Unstable". To be completely clear, any at91 binding can change at
193 any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
194 the same source tree.
195 Please refer to the Documentation/devicetree/bindings/ABI.txt file for a
196 definition of a "Stable" binding/ABI.
197 This statement will be removed by AT91 MAINTAINERS when appropriate.
199 Naming conventions and best practice:
201 - SoCs Device Tree Source Include files are named after the official name of
202   the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
203 - Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
204   shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
205   When collecting nodes for a particular peripheral or topic, the identifier have to
206   be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
207   or sama5d3_gmac.dtsi for example).
208 - board Device Tree Source files (.dts) are prefixed by the string "at91-" so
209   that they can be identified easily. Note that some files are historical exceptions
210   to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).