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
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.rst 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).