Commit | Line | Data |
---|---|---|
dc7a12bd | 1 | ============================= |
8255c6b7 NF |
2 | ARM Microchip SoCs (aka AT91) |
3 | ============================= | |
a4d1ca34 NF |
4 | |
5 | ||
6 | Introduction | |
7 | ------------ | |
8255c6b7 | 8 | This document gives useful information about the ARM Microchip SoCs that are |
a4d1ca34 NF |
9 | currently supported in Linux Mainline (you know, the one on kernel.org). |
10 | ||
8255c6b7 NF |
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, | |
a4d1ca34 NF |
15 | git branches/tags and email subject always contain this "at91" sub-string. |
16 | ||
17 | ||
18 | AT91 SoCs | |
19 | --------- | |
f0979987 | 20 | Documentation and detailed datasheet for each product are available on |
8255c6b7 | 21 | the Microchip website: http://www.microchip.com. |
a4d1ca34 NF |
22 | |
23 | Flavors: | |
24 | * ARM 920 based SoC | |
25 | - at91rm9200 | |
dc7a12bd MCC |
26 | |
27 | * Datasheet | |
28 | ||
8255c6b7 | 29 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf |
a4d1ca34 NF |
30 | |
31 | * ARM 926 based SoCs | |
32 | - at91sam9260 | |
dc7a12bd MCC |
33 | |
34 | * Datasheet | |
35 | ||
8255c6b7 | 36 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf |
a4d1ca34 NF |
37 | |
38 | - at91sam9xe | |
dc7a12bd MCC |
39 | |
40 | * Datasheet | |
41 | ||
8255c6b7 | 42 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf |
a4d1ca34 NF |
43 | |
44 | - at91sam9261 | |
dc7a12bd MCC |
45 | |
46 | * Datasheet | |
47 | ||
8255c6b7 | 48 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf |
a4d1ca34 NF |
49 | |
50 | - at91sam9263 | |
dc7a12bd MCC |
51 | |
52 | * Datasheet | |
53 | ||
8255c6b7 | 54 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf |
a4d1ca34 NF |
55 | |
56 | - at91sam9rl | |
dc7a12bd MCC |
57 | |
58 | * Datasheet | |
59 | ||
8255c6b7 | 60 | http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf |
a4d1ca34 NF |
61 | |
62 | - at91sam9g20 | |
dc7a12bd MCC |
63 | |
64 | * Datasheet | |
65 | ||
8255c6b7 | 66 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf |
a4d1ca34 NF |
67 | |
68 | - at91sam9g45 family | |
69 | - at91sam9g45 | |
70 | - at91sam9g46 | |
71 | - at91sam9m10 | |
72 | - at91sam9m11 (device superset) | |
dc7a12bd MCC |
73 | |
74 | * Datasheet | |
75 | ||
8255c6b7 | 76 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf |
a4d1ca34 NF |
77 | |
78 | - at91sam9x5 family (aka "The 5 series") | |
79 | - at91sam9g15 | |
80 | - at91sam9g25 | |
81 | - at91sam9g35 | |
82 | - at91sam9x25 | |
83 | - at91sam9x35 | |
dc7a12bd MCC |
84 | |
85 | * Datasheet (can be considered as covering the whole family) | |
86 | ||
8255c6b7 | 87 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf |
a4d1ca34 NF |
88 | |
89 | - at91sam9n12 | |
dc7a12bd MCC |
90 | |
91 | * Datasheet | |
92 | ||
8255c6b7 | 93 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf |
a4d1ca34 | 94 | |
d9b8e21e NF |
95 | - sam9x60 |
96 | ||
97 | * Datasheet | |
98 | ||
99 | http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf | |
100 | ||
a4d1ca34 NF |
101 | * ARM Cortex-A5 based SoCs |
102 | - sama5d3 family | |
dc7a12bd | 103 | |
a4d1ca34 NF |
104 | - sama5d31 |
105 | - sama5d33 | |
106 | - sama5d34 | |
107 | - sama5d35 | |
108 | - sama5d36 (device superset) | |
dc7a12bd MCC |
109 | |
110 | * Datasheet | |
111 | ||
02c1c37f | 112 | http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf |
a4d1ca34 NF |
113 | |
114 | * ARM Cortex-A5 + NEON based SoCs | |
115 | - sama5d4 family | |
dc7a12bd | 116 | |
a4d1ca34 NF |
117 | - sama5d41 |
118 | - sama5d42 | |
119 | - sama5d43 | |
120 | - sama5d44 (device superset) | |
dc7a12bd MCC |
121 | |
122 | * Datasheet | |
123 | ||
8255c6b7 | 124 | http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf |
a4d1ca34 | 125 | |
c268a743 | 126 | - sama5d2 family |
dc7a12bd | 127 | |
b2f8c3d5 NF |
128 | - sama5d21 |
129 | - sama5d22 | |
130 | - sama5d23 | |
131 | - sama5d24 | |
132 | - sama5d26 | |
133 | - sama5d27 (device superset) | |
134 | - sama5d28 (device superset + environmental monitors) | |
dc7a12bd MCC |
135 | |
136 | * Datasheet | |
137 | ||
8255c6b7 | 138 | http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf |
c268a743 | 139 | |
f0979987 AB |
140 | * ARM Cortex-M7 MCUs |
141 | - sams70 family | |
dc7a12bd | 142 | |
f0979987 AB |
143 | - sams70j19 |
144 | - sams70j20 | |
145 | - sams70j21 | |
146 | - sams70n19 | |
147 | - sams70n20 | |
148 | - sams70n21 | |
149 | - sams70q19 | |
150 | - sams70q20 | |
151 | - sams70q21 | |
f0979987 AB |
152 | |
153 | - samv70 family | |
dc7a12bd | 154 | |
f0979987 AB |
155 | - samv70j19 |
156 | - samv70j20 | |
157 | - samv70n19 | |
158 | - samv70n20 | |
159 | - samv70q19 | |
160 | - samv70q20 | |
f0979987 AB |
161 | |
162 | - samv71 family | |
dc7a12bd | 163 | |
f0979987 AB |
164 | - samv71j19 |
165 | - samv71j20 | |
166 | - samv71j21 | |
167 | - samv71n19 | |
168 | - samv71n20 | |
169 | - samv71n21 | |
170 | - samv71q19 | |
171 | - samv71q20 | |
172 | - samv71q21 | |
8255c6b7 | 173 | |
dc7a12bd MCC |
174 | * Datasheet |
175 | ||
02c1c37f | 176 | http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf |
8255c6b7 | 177 | |
a4d1ca34 NF |
178 | |
179 | Linux kernel information | |
180 | ------------------------ | |
181 | Linux kernel mach directory: arch/arm/mach-at91 | |
8255c6b7 | 182 | MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support" |
a4d1ca34 NF |
183 | |
184 | ||
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. | |
189 | ||
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. | |
56516a9f | 195 | Please refer to the Documentation/devicetree/bindings/ABI.rst file for a |
a4d1ca34 NF |
196 | definition of a "Stable" binding/ABI. |
197 | This statement will be removed by AT91 MAINTAINERS when appropriate. | |
198 | ||
199 | Naming conventions and best practice: | |
dc7a12bd | 200 | |
a4d1ca34 NF |
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). |