Merge branch 'access-creds'
[linux-2.6-microblaze.git] / Documentation / arm / microchip.rst
1 =============================
2 ARM Microchip SoCs (aka AT91)
3 =============================
4
5
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).
10
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.
16
17
18 AT91 SoCs
19 ---------
20 Documentation and detailed datasheet for each product are available on
21 the Microchip website: http://www.microchip.com.
22
23   Flavors:
24     * ARM 920 based SoC
25       - at91rm9200
26
27           * Datasheet
28
29           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf
30
31     * ARM 926 based SoCs
32       - at91sam9260
33
34           * Datasheet
35
36           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf
37
38       - at91sam9xe
39
40           * Datasheet
41
42           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
43
44       - at91sam9261
45
46           * Datasheet
47
48           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf
49
50       - at91sam9263
51
52           * Datasheet
53
54           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf
55
56       - at91sam9rl
57
58           * Datasheet
59
60           http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf
61
62       - at91sam9g20
63
64           * Datasheet
65
66           http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf
67
68       - at91sam9g45 family
69         - at91sam9g45
70         - at91sam9g46
71         - at91sam9m10
72         - at91sam9m11 (device superset)
73
74           * Datasheet
75
76           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
77
78       - at91sam9x5 family (aka "The 5 series")
79         - at91sam9g15
80         - at91sam9g25
81         - at91sam9g35
82         - at91sam9x25
83         - at91sam9x35
84
85           * Datasheet (can be considered as covering the whole family)
86
87           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf
88
89       - at91sam9n12
90
91           * Datasheet
92
93           http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf
94
95     * ARM Cortex-A5 based SoCs
96       - sama5d3 family
97
98         - sama5d31
99         - sama5d33
100         - sama5d34
101         - sama5d35
102         - sama5d36 (device superset)
103
104           * Datasheet
105
106           http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf
107
108     * ARM Cortex-A5 + NEON based SoCs
109       - sama5d4 family
110
111         - sama5d41
112         - sama5d42
113         - sama5d43
114         - sama5d44 (device superset)
115
116           * Datasheet
117
118           http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
119
120       - sama5d2 family
121
122         - sama5d21
123         - sama5d22
124         - sama5d23
125         - sama5d24
126         - sama5d26
127         - sama5d27 (device superset)
128         - sama5d28 (device superset + environmental monitors)
129
130           * Datasheet
131
132           http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
133
134     * ARM Cortex-M7 MCUs
135       - sams70 family
136
137         - sams70j19
138         - sams70j20
139         - sams70j21
140         - sams70n19
141         - sams70n20
142         - sams70n21
143         - sams70q19
144         - sams70q20
145         - sams70q21
146
147       - samv70 family
148
149         - samv70j19
150         - samv70j20
151         - samv70n19
152         - samv70n20
153         - samv70q19
154         - samv70q20
155
156       - samv71 family
157
158         - samv71j19
159         - samv71j20
160         - samv71j21
161         - samv71n19
162         - samv71n20
163         - samv71n21
164         - samv71q19
165         - samv71q20
166         - samv71q21
167
168           * Datasheet
169
170           http://ww1.microchip.com/downloads/en/DeviceDoc/60001527A.pdf
171
172
173 Linux kernel information
174 ------------------------
175 Linux kernel mach directory: arch/arm/mach-at91
176 MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
177
178
179 Device Tree for AT91 SoCs and boards
180 ------------------------------------
181 All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
182 must use this method to boot the Linux kernel.
183
184 Work In Progress statement:
185 Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
186 considered as "Unstable". To be completely clear, any at91 binding can change at
187 any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
188 the same source tree.
189 Please refer to the Documentation/devicetree/bindings/ABI.txt file for a
190 definition of a "Stable" binding/ABI.
191 This statement will be removed by AT91 MAINTAINERS when appropriate.
192
193 Naming conventions and best practice:
194
195 - SoCs Device Tree Source Include files are named after the official name of
196   the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
197 - Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
198   shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
199   When collecting nodes for a particular peripheral or topic, the identifier have to
200   be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
201   or sama5d3_gmac.dtsi for example).
202 - board Device Tree Source files (.dts) are prefixed by the string "at91-" so
203   that they can be identified easily. Note that some files are historical exceptions
204   to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).