2019-04-14 18:51:10 +00:00
|
|
|
=============================
|
2018-02-28 14:56:42 +00:00
|
|
|
ARM Microchip SoCs (aka AT91)
|
|
|
|
=============================
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
------------
|
2018-02-28 14:56:42 +00:00
|
|
|
This document gives useful information about the ARM Microchip SoCs that are
|
2015-01-06 10:25:12 +00:00
|
|
|
currently supported in Linux Mainline (you know, the one on kernel.org).
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
It is important to note that the Microchip (previously Atmel) ARM-based MPU
|
|
|
|
product line is historically named "AT91" or "at91" throughout the Linux kernel
|
|
|
|
development process even if this product prefix has completely disappeared from
|
|
|
|
the official Microchip product name. Anyway, files, directories, git trees,
|
2015-01-06 10:25:12 +00:00
|
|
|
git branches/tags and email subject always contain this "at91" sub-string.
|
|
|
|
|
|
|
|
|
|
|
|
AT91 SoCs
|
|
|
|
---------
|
2017-05-31 01:06:19 +00:00
|
|
|
Documentation and detailed datasheet for each product are available on
|
2018-02-28 14:56:42 +00:00
|
|
|
the Microchip website: http://www.microchip.com.
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
Flavors:
|
|
|
|
* ARM 920 based SoC
|
|
|
|
- at91rm9200
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
* ARM 926 based SoCs
|
|
|
|
- at91sam9260
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9xe
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9261
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9263
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9rl
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9g20
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9g45 family
|
|
|
|
- at91sam9g45
|
|
|
|
- at91sam9g46
|
|
|
|
- at91sam9m10
|
|
|
|
- at91sam9m11 (device superset)
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9x5 family (aka "The 5 series")
|
|
|
|
- at91sam9g15
|
|
|
|
- at91sam9g25
|
|
|
|
- at91sam9g35
|
|
|
|
- at91sam9x25
|
|
|
|
- at91sam9x35
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet (can be considered as covering the whole family)
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
- at91sam9n12
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
2020-01-10 09:01:03 +00:00
|
|
|
- sam9x60
|
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf
|
|
|
|
|
2015-01-06 10:25:12 +00:00
|
|
|
* ARM Cortex-A5 based SoCs
|
|
|
|
- sama5d3 family
|
2019-04-14 18:51:10 +00:00
|
|
|
|
2015-01-06 10:25:12 +00:00
|
|
|
- sama5d31
|
|
|
|
- sama5d33
|
|
|
|
- sama5d34
|
|
|
|
- sama5d35
|
|
|
|
- sama5d36 (device superset)
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2019-08-19 15:12:19 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
* ARM Cortex-A5 + NEON based SoCs
|
|
|
|
- sama5d4 family
|
2019-04-14 18:51:10 +00:00
|
|
|
|
2015-01-06 10:25:12 +00:00
|
|
|
- sama5d41
|
|
|
|
- sama5d42
|
|
|
|
- sama5d43
|
|
|
|
- sama5d44 (device superset)
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf
|
2015-01-06 10:25:12 +00:00
|
|
|
|
2015-07-30 17:12:12 +00:00
|
|
|
- sama5d2 family
|
2019-04-14 18:51:10 +00:00
|
|
|
|
2016-05-19 13:11:03 +00:00
|
|
|
- sama5d21
|
|
|
|
- sama5d22
|
|
|
|
- sama5d23
|
|
|
|
- sama5d24
|
|
|
|
- sama5d26
|
|
|
|
- sama5d27 (device superset)
|
|
|
|
- sama5d28 (device superset + environmental monitors)
|
2019-04-14 18:51:10 +00:00
|
|
|
|
|
|
|
* Datasheet
|
|
|
|
|
2018-02-28 14:56:42 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
|
2015-07-30 17:12:12 +00:00
|
|
|
|
2017-05-31 01:06:19 +00:00
|
|
|
* ARM Cortex-M7 MCUs
|
|
|
|
- sams70 family
|
2019-04-14 18:51:10 +00:00
|
|
|
|
2017-05-31 01:06:19 +00:00
|
|
|
- sams70j19
|
|
|
|
- sams70j20
|
|
|
|
- sams70j21
|
|
|
|
- sams70n19
|
|
|
|
- sams70n20
|
|
|
|
- sams70n21
|
|
|
|
- sams70q19
|
|
|
|
- sams70q20
|
|
|
|
- sams70q21
|
|
|
|
|
|
|
|
- samv70 family
|
2019-04-14 18:51:10 +00:00
|
|
|
|
2017-05-31 01:06:19 +00:00
|
|
|
- samv70j19
|
|
|
|
- samv70j20
|
|
|
|
- samv70n19
|
|
|
|
- samv70n20
|
|
|
|
- samv70q19
|
|
|
|
- samv70q20
|
|
|
|
|
|
|
|
- samv71 family
|
2019-04-14 18:51:10 +00:00
|
|
|
|
2017-05-31 01:06:19 +00:00
|
|
|
- samv71j19
|
|
|
|
- samv71j20
|
|
|
|
- samv71j21
|
|
|
|
- samv71n19
|
|
|
|
- samv71n20
|
|
|
|
- samv71n21
|
|
|
|
- samv71q19
|
|
|
|
- samv71q20
|
|
|
|
- samv71q21
|
2018-02-28 14:56:42 +00:00
|
|
|
|
2019-04-14 18:51:10 +00:00
|
|
|
* Datasheet
|
|
|
|
|
2019-08-19 15:12:19 +00:00
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf
|
2018-02-28 14:56:42 +00:00
|
|
|
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
Linux kernel information
|
|
|
|
------------------------
|
|
|
|
Linux kernel mach directory: arch/arm/mach-at91
|
2018-02-28 14:56:42 +00:00
|
|
|
MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support"
|
2015-01-06 10:25:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
Device Tree for AT91 SoCs and boards
|
|
|
|
------------------------------------
|
|
|
|
All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
|
|
|
|
must use this method to boot the Linux kernel.
|
|
|
|
|
|
|
|
Work In Progress statement:
|
|
|
|
Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
|
|
|
|
considered as "Unstable". To be completely clear, any at91 binding can change at
|
|
|
|
any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
|
|
|
|
the same source tree.
|
|
|
|
Please refer to the Documentation/devicetree/bindings/ABI.txt file for a
|
|
|
|
definition of a "Stable" binding/ABI.
|
|
|
|
This statement will be removed by AT91 MAINTAINERS when appropriate.
|
|
|
|
|
|
|
|
Naming conventions and best practice:
|
2019-04-14 18:51:10 +00:00
|
|
|
|
2015-01-06 10:25:12 +00:00
|
|
|
- SoCs Device Tree Source Include files are named after the official name of
|
|
|
|
the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
|
|
|
|
- Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
|
|
|
|
shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
|
|
|
|
When collecting nodes for a particular peripheral or topic, the identifier have to
|
|
|
|
be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
|
|
|
|
or sama5d3_gmac.dtsi for example).
|
|
|
|
- board Device Tree Source files (.dts) are prefixed by the string "at91-" so
|
|
|
|
that they can be identified easily. Note that some files are historical exceptions
|
|
|
|
to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).
|