blob: 9c013299fd3bffa165ae058f4cb716f55928c162 [file] [log] [blame]
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -03001=============================
Nicolas Ferre8255c6b2018-02-28 15:56:42 +01002ARM Microchip SoCs (aka AT91)
3=============================
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +01004
5
6Introduction
7------------
Nicolas Ferre8255c6b2018-02-28 15:56:42 +01008This document gives useful information about the ARM Microchip SoCs that are
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +01009currently supported in Linux Mainline (you know, the one on kernel.org).
10
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010011It 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,
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010015git branches/tags and email subject always contain this "at91" sub-string.
16
17
18AT91 SoCs
19---------
Alexandre Bellonif0979982017-05-31 03:06:19 +020020Documentation and detailed datasheet for each product are available on
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010021the Microchip website: http://www.microchip.com.
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010022
23 Flavors:
24 * ARM 920 based SoC
25 - at91rm9200
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030026
27 * Datasheet
28
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010029 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010030
31 * ARM 926 based SoCs
32 - at91sam9260
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030033
34 * Datasheet
35
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010036 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010037
38 - at91sam9xe
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030039
40 * Datasheet
41
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010042 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010043
44 - at91sam9261
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030045
46 * Datasheet
47
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010048 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010049
50 - at91sam9263
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030051
52 * Datasheet
53
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010054 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010055
56 - at91sam9rl
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030057
58 * Datasheet
59
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010060 http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010061
62 - at91sam9g20
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030063
64 * Datasheet
65
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010066 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010067
68 - at91sam9g45 family
69 - at91sam9g45
70 - at91sam9g46
71 - at91sam9m10
72 - at91sam9m11 (device superset)
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030073
74 * Datasheet
75
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010076 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010077
78 - at91sam9x5 family (aka "The 5 series")
79 - at91sam9g15
80 - at91sam9g25
81 - at91sam9g35
82 - at91sam9x25
83 - at91sam9x35
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030084
85 * Datasheet (can be considered as covering the whole family)
86
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010087 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010088
89 - at91sam9n12
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030090
91 * Datasheet
92
Nicolas Ferre8255c6b2018-02-28 15:56:42 +010093 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +010094
Nicolas Ferred9b8e212020-01-10 10:01:03 +010095 - sam9x60
96
97 * Datasheet
98
99 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf
100
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100101 * ARM Cortex-A5 based SoCs
102 - sama5d3 family
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300103
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100104 - sama5d31
105 - sama5d33
106 - sama5d34
107 - sama5d35
108 - sama5d36 (device superset)
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300109
110 * Datasheet
111
Nicolas Ferre02c1c372019-08-19 17:12:19 +0200112 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100113
114 * ARM Cortex-A5 + NEON based SoCs
115 - sama5d4 family
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300116
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100117 - sama5d41
118 - sama5d42
119 - sama5d43
120 - sama5d44 (device superset)
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300121
122 * Datasheet
123
Nicolas Ferre8255c6b2018-02-28 15:56:42 +0100124 http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100125
Nicolas Ferrec268a742015-07-30 19:12:12 +0200126 - sama5d2 family
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300127
Nicolas Ferreb2f8c3d2016-05-19 15:11:03 +0200128 - sama5d21
129 - sama5d22
130 - sama5d23
131 - sama5d24
132 - sama5d26
133 - sama5d27 (device superset)
134 - sama5d28 (device superset + environmental monitors)
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300135
136 * Datasheet
137
Nicolas Ferre8255c6b2018-02-28 15:56:42 +0100138 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
Nicolas Ferrec268a742015-07-30 19:12:12 +0200139
Alexandre Bellonif0979982017-05-31 03:06:19 +0200140 * ARM Cortex-M7 MCUs
141 - sams70 family
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300142
Alexandre Bellonif0979982017-05-31 03:06:19 +0200143 - sams70j19
144 - sams70j20
145 - sams70j21
146 - sams70n19
147 - sams70n20
148 - sams70n21
149 - sams70q19
150 - sams70q20
151 - sams70q21
Alexandre Bellonif0979982017-05-31 03:06:19 +0200152
153 - samv70 family
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300154
Alexandre Bellonif0979982017-05-31 03:06:19 +0200155 - samv70j19
156 - samv70j20
157 - samv70n19
158 - samv70n20
159 - samv70q19
160 - samv70q20
Alexandre Bellonif0979982017-05-31 03:06:19 +0200161
162 - samv71 family
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300163
Alexandre Bellonif0979982017-05-31 03:06:19 +0200164 - samv71j19
165 - samv71j20
166 - samv71j21
167 - samv71n19
168 - samv71n20
169 - samv71n21
170 - samv71q19
171 - samv71q20
172 - samv71q21
Nicolas Ferre8255c6b2018-02-28 15:56:42 +0100173
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300174 * Datasheet
175
Nicolas Ferre02c1c372019-08-19 17:12:19 +0200176 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf
Nicolas Ferre8255c6b2018-02-28 15:56:42 +0100177
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100178
179Linux kernel information
180------------------------
181Linux kernel mach directory: arch/arm/mach-at91
Nicolas Ferre8255c6b2018-02-28 15:56:42 +0100182MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100183
184
185Device Tree for AT91 SoCs and boards
186------------------------------------
187All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
188must use this method to boot the Linux kernel.
189
190Work In Progress statement:
191Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
192considered as "Unstable". To be completely clear, any at91 binding can change at
193any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
194the same source tree.
Mauro Carvalho Chehab56516a9f2020-04-15 16:45:24 +0200195Please refer to the Documentation/devicetree/bindings/ABI.rst file for a
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100196definition of a "Stable" binding/ABI.
197This statement will be removed by AT91 MAINTAINERS when appropriate.
198
199Naming conventions and best practice:
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -0300200
Nicolas Ferrea4d1ca32015-01-06 11:25:12 +0100201- 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).