1=============================
2ARM Microchip SoCs (aka AT91)
3=============================
4
5
6Introduction
7------------
8This document gives useful information about the ARM Microchip SoCs that are
9currently supported in Linux Mainline (you know, the one on kernel.org).
10
11It is important to note that the Microchip (previously Atmel) ARM-based MPU
12product line is historically named "AT91" or "at91" throughout the Linux kernel
13development process even if this product prefix has completely disappeared from
14the official Microchip product name. Anyway, files, directories, git trees,
15git branches/tags and email subject always contain this "at91" sub-string.
16
17
18AT91 SoCs
19---------
20Documentation and detailed datasheet for each product are available on
21the 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      - sam9x60
96
97          * Datasheet
98
99          http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf
100
101    * ARM Cortex-A5 based SoCs
102      - sama5d3 family
103
104        - sama5d31
105        - sama5d33
106        - sama5d34
107        - sama5d35
108        - sama5d36 (device superset)
109
110          * Datasheet
111
112          http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf
113
114    * ARM Cortex-A5 + NEON based SoCs
115      - sama5d4 family
116
117        - sama5d41
118        - sama5d42
119        - sama5d43
120        - sama5d44 (device superset)
121
122          * Datasheet
123
124          http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
125
126      - sama5d2 family
127
128        - sama5d21
129        - sama5d22
130        - sama5d23
131        - sama5d24
132        - sama5d26
133        - sama5d27 (device superset)
134        - sama5d28 (device superset + environmental monitors)
135
136          * Datasheet
137
138          http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
139
140    * ARM Cortex-A7 based SoCs
141      - sama7g5 family
142
143        - sama7g51
144        - sama7g52
145        - sama7g53
146        - sama7g54 (device superset)
147
148          * Datasheet
149
150          Coming soon
151
152      - lan966 family
153        - lan9662
154        - lan9668
155
156          * Datasheet
157
158          Coming soon
159
160    * ARM Cortex-M7 MCUs
161      - sams70 family
162
163        - sams70j19
164        - sams70j20
165        - sams70j21
166        - sams70n19
167        - sams70n20
168        - sams70n21
169        - sams70q19
170        - sams70q20
171        - sams70q21
172
173      - samv70 family
174
175        - samv70j19
176        - samv70j20
177        - samv70n19
178        - samv70n20
179        - samv70q19
180        - samv70q20
181
182      - samv71 family
183
184        - samv71j19
185        - samv71j20
186        - samv71j21
187        - samv71n19
188        - samv71n20
189        - samv71n21
190        - samv71q19
191        - samv71q20
192        - samv71q21
193
194          * Datasheet
195
196          http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf
197
198
199Linux kernel information
200------------------------
201Linux kernel mach directory: arch/arm/mach-at91
202MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
203
204
205Device Tree for AT91 SoCs and boards
206------------------------------------
207All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
208must use this method to boot the Linux kernel.
209
210Work In Progress statement:
211Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
212considered as "Unstable". To be completely clear, any at91 binding can change at
213any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
214the same source tree.
215Please refer to the Documentation/devicetree/bindings/ABI.rst file for a
216definition of a "Stable" binding/ABI.
217This statement will be removed by AT91 MAINTAINERS when appropriate.
218
219Naming conventions and best practice:
220
221- SoCs Device Tree Source Include files are named after the official name of
222  the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
223- Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
224  shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
225  When collecting nodes for a particular peripheral or topic, the identifier have to
226  be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
227  or sama5d3_gmac.dtsi for example).
228- board Device Tree Source files (.dts) are prefixed by the string "at91-" so
229  that they can be identified easily. Note that some files are historical exceptions
230  to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).
231