0001 =============================
0002 ARM Microchip SoCs (aka AT91)
0003 =============================
0004
0005
0006 Introduction
0007 ------------
0008 This document gives useful information about the ARM Microchip SoCs that are
0009 currently supported in Linux Mainline (you know, the one on kernel.org).
0010
0011 It is important to note that the Microchip (previously Atmel) ARM-based MPU
0012 product line is historically named "AT91" or "at91" throughout the Linux kernel
0013 development process even if this product prefix has completely disappeared from
0014 the official Microchip product name. Anyway, files, directories, git trees,
0015 git branches/tags and email subject always contain this "at91" sub-string.
0016
0017
0018 AT91 SoCs
0019 ---------
0020 Documentation and detailed datasheet for each product are available on
0021 the Microchip website: http://www.microchip.com.
0022
0023 Flavors:
0024 * ARM 920 based SoC
0025 - at91rm9200
0026
0027 * Datasheet
0028
0029 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf
0030
0031 * ARM 926 based SoCs
0032 - at91sam9260
0033
0034 * Datasheet
0035
0036 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf
0037
0038 - at91sam9xe
0039
0040 * Datasheet
0041
0042 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
0043
0044 - at91sam9261
0045
0046 * Datasheet
0047
0048 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf
0049
0050 - at91sam9263
0051
0052 * Datasheet
0053
0054 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf
0055
0056 - at91sam9rl
0057
0058 * Datasheet
0059
0060 http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf
0061
0062 - at91sam9g20
0063
0064 * Datasheet
0065
0066 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf
0067
0068 - at91sam9g45 family
0069 - at91sam9g45
0070 - at91sam9g46
0071 - at91sam9m10
0072 - at91sam9m11 (device superset)
0073
0074 * Datasheet
0075
0076 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
0077
0078 - at91sam9x5 family (aka "The 5 series")
0079 - at91sam9g15
0080 - at91sam9g25
0081 - at91sam9g35
0082 - at91sam9x25
0083 - at91sam9x35
0084
0085 * Datasheet (can be considered as covering the whole family)
0086
0087 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf
0088
0089 - at91sam9n12
0090
0091 * Datasheet
0092
0093 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf
0094
0095 - sam9x60
0096
0097 * Datasheet
0098
0099 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf
0100
0101 * ARM Cortex-A5 based SoCs
0102 - sama5d3 family
0103
0104 - sama5d31
0105 - sama5d33
0106 - sama5d34
0107 - sama5d35
0108 - sama5d36 (device superset)
0109
0110 * Datasheet
0111
0112 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf
0113
0114 * ARM Cortex-A5 + NEON based SoCs
0115 - sama5d4 family
0116
0117 - sama5d41
0118 - sama5d42
0119 - sama5d43
0120 - sama5d44 (device superset)
0121
0122 * Datasheet
0123
0124 http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
0125
0126 - sama5d2 family
0127
0128 - sama5d21
0129 - sama5d22
0130 - sama5d23
0131 - sama5d24
0132 - sama5d26
0133 - sama5d27 (device superset)
0134 - sama5d28 (device superset + environmental monitors)
0135
0136 * Datasheet
0137
0138 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
0139
0140 * ARM Cortex-A7 based SoCs
0141 - sama7g5 family
0142
0143 - sama7g51
0144 - sama7g52
0145 - sama7g53
0146 - sama7g54 (device superset)
0147
0148 * Datasheet
0149
0150 Coming soon
0151
0152 - lan966 family
0153 - lan9662
0154 - lan9668
0155
0156 * Datasheet
0157
0158 Coming soon
0159
0160 * ARM Cortex-M7 MCUs
0161 - sams70 family
0162
0163 - sams70j19
0164 - sams70j20
0165 - sams70j21
0166 - sams70n19
0167 - sams70n20
0168 - sams70n21
0169 - sams70q19
0170 - sams70q20
0171 - sams70q21
0172
0173 - samv70 family
0174
0175 - samv70j19
0176 - samv70j20
0177 - samv70n19
0178 - samv70n20
0179 - samv70q19
0180 - samv70q20
0181
0182 - samv71 family
0183
0184 - samv71j19
0185 - samv71j20
0186 - samv71j21
0187 - samv71n19
0188 - samv71n20
0189 - samv71n21
0190 - samv71q19
0191 - samv71q20
0192 - samv71q21
0193
0194 * Datasheet
0195
0196 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf
0197
0198
0199 Linux kernel information
0200 ------------------------
0201 Linux kernel mach directory: arch/arm/mach-at91
0202 MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
0203
0204
0205 Device Tree for AT91 SoCs and boards
0206 ------------------------------------
0207 All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
0208 must use this method to boot the Linux kernel.
0209
0210 Work In Progress statement:
0211 Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
0212 considered as "Unstable". To be completely clear, any at91 binding can change at
0213 any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
0214 the same source tree.
0215 Please refer to the Documentation/devicetree/bindings/ABI.rst file for a
0216 definition of a "Stable" binding/ABI.
0217 This statement will be removed by AT91 MAINTAINERS when appropriate.
0218
0219 Naming conventions and best practice:
0220
0221 - SoCs Device Tree Source Include files are named after the official name of
0222 the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
0223 - Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
0224 shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
0225 When collecting nodes for a particular peripheral or topic, the identifier have to
0226 be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
0227 or sama5d3_gmac.dtsi for example).
0228 - board Device Tree Source files (.dts) are prefixed by the string "at91-" so
0229 that they can be identified easily. Note that some files are historical exceptions
0230 to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).