1 =============================
2 ARM Microchip SoCs (aka AT91)
3 =============================
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.
20 Documentation and detailed datasheet for each product are available on
21 the Microchip website: http://www.microchip.com.
29 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf
36 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf
42 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
48 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf
54 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf
60 http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf
66 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf
72 - at91sam9m11 (device superset)
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")
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
93 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf
99 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf
101 * ARM Cortex-A5 based SoCs
108 - sama5d36 (device superset)
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
120 - sama5d44 (device superset)
124 http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
133 - sama5d27 (device superset)
134 - sama5d28 (device superset + environmental monitors)
138 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
140 * ARM Cortex-A7 based SoCs
146 - sama7g54 (device superset)
196 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf
199 Linux kernel information
200 ------------------------
201 Linux kernel mach directory: arch/arm/mach-at91
202 MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
205 Device Tree for AT91 SoCs and boards
206 ------------------------------------
207 All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
208 must use this method to boot the Linux kernel.
210 Work In Progress statement:
211 Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
212 considered as "Unstable". To be completely clear, any at91 binding can change at
213 any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
214 the same source tree.
215 Please refer to the Documentation/devicetree/bindings/ABI.rst file for a
216 definition of a "Stable" binding/ABI.
217 This statement will be removed by AT91 MAINTAINERS when appropriate.
219 Naming conventions and best practice:
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).