Nicolas Ferre | a4d1ca3 | 2015-01-06 11:25:12 +0100 | [diff] [blame] | 1 | ARM Atmel SoCs (aka AT91) |
| 2 | ========================= |
| 3 | |
| 4 | |
| 5 | Introduction |
| 6 | ------------ |
| 7 | This document gives useful information about the ARM Atmel SoCs that are |
| 8 | currently supported in Linux Mainline (you know, the one on kernel.org). |
| 9 | |
| 10 | It is important to note that the Atmel | SMART ARM-based MPU product line is |
| 11 | historically named "AT91" or "at91" throughout the Linux kernel development |
| 12 | process even if this product prefix has completely disappeared from the |
| 13 | official Atmel product name. Anyway, files, directories, git trees, |
| 14 | git branches/tags and email subject always contain this "at91" sub-string. |
| 15 | |
| 16 | |
| 17 | AT91 SoCs |
| 18 | --------- |
| 19 | Documentation and detailled datasheet for each product are available on |
| 20 | the Atmel website: http://www.atmel.com. |
| 21 | |
| 22 | Flavors: |
| 23 | * ARM 920 based SoC |
| 24 | - at91rm9200 |
| 25 | + Datasheet |
| 26 | http://www.atmel.com/Images/doc1768.pdf |
| 27 | |
| 28 | * ARM 926 based SoCs |
| 29 | - at91sam9260 |
| 30 | + Datasheet |
| 31 | http://www.atmel.com/Images/doc6221.pdf |
| 32 | |
| 33 | - at91sam9xe |
| 34 | + Datasheet |
| 35 | http://www.atmel.com/Images/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf |
| 36 | |
| 37 | - at91sam9261 |
| 38 | + Datasheet |
| 39 | http://www.atmel.com/Images/doc6062.pdf |
| 40 | |
| 41 | - at91sam9263 |
| 42 | + Datasheet |
| 43 | http://www.atmel.com/Images/Atmel_6249_32-bit-ARM926EJ-S-Microcontroller_SAM9263_Datasheet.pdf |
| 44 | |
| 45 | - at91sam9rl |
| 46 | + Datasheet |
| 47 | http://www.atmel.com/Images/doc6289.pdf |
| 48 | |
| 49 | - at91sam9g20 |
| 50 | + Datasheet |
| 51 | http://www.atmel.com/Images/doc6384.pdf |
| 52 | |
| 53 | - at91sam9g45 family |
| 54 | - at91sam9g45 |
| 55 | - at91sam9g46 |
| 56 | - at91sam9m10 |
| 57 | - at91sam9m11 (device superset) |
| 58 | + Datasheet |
| 59 | http://www.atmel.com/Images/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf |
| 60 | |
| 61 | - at91sam9x5 family (aka "The 5 series") |
| 62 | - at91sam9g15 |
| 63 | - at91sam9g25 |
| 64 | - at91sam9g35 |
| 65 | - at91sam9x25 |
| 66 | - at91sam9x35 |
| 67 | + Datasheet (can be considered as covering the whole family) |
| 68 | http://www.atmel.com/Images/Atmel_11055_32-bit-ARM926EJ-S-Microcontroller_SAM9X35_Datasheet.pdf |
| 69 | |
| 70 | - at91sam9n12 |
| 71 | + Datasheet |
| 72 | http://www.atmel.com/Images/Atmel_11063_32-bit-ARM926EJ-S-Microcontroller_SAM9N12CN11CN12_Datasheet.pdf |
| 73 | |
| 74 | * ARM Cortex-A5 based SoCs |
| 75 | - sama5d3 family |
| 76 | - sama5d31 |
| 77 | - sama5d33 |
| 78 | - sama5d34 |
| 79 | - sama5d35 |
| 80 | - sama5d36 (device superset) |
| 81 | + Datasheet |
| 82 | http://www.atmel.com/Images/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf |
| 83 | |
| 84 | * ARM Cortex-A5 + NEON based SoCs |
| 85 | - sama5d4 family |
| 86 | - sama5d41 |
| 87 | - sama5d42 |
| 88 | - sama5d43 |
| 89 | - sama5d44 (device superset) |
| 90 | + Datasheet |
| 91 | http://www.atmel.com/Images/Atmel-11238-32-bit-Cortex-A5-Microcontroller-SAMA5D4_Datasheet.pdf |
| 92 | |
| 93 | |
| 94 | Linux kernel information |
| 95 | ------------------------ |
| 96 | Linux kernel mach directory: arch/arm/mach-at91 |
| 97 | MAINTAINERS entry is: "ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES" |
| 98 | |
| 99 | |
| 100 | Device Tree for AT91 SoCs and boards |
| 101 | ------------------------------------ |
| 102 | All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products |
| 103 | must use this method to boot the Linux kernel. |
| 104 | |
| 105 | Work In Progress statement: |
| 106 | Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are |
| 107 | considered as "Unstable". To be completely clear, any at91 binding can change at |
| 108 | any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from |
| 109 | the same source tree. |
| 110 | Please refer to the Documentation/devicetree/bindings/ABI.txt file for a |
| 111 | definition of a "Stable" binding/ABI. |
| 112 | This statement will be removed by AT91 MAINTAINERS when appropriate. |
| 113 | |
| 114 | Naming conventions and best practice: |
| 115 | - SoCs Device Tree Source Include files are named after the official name of |
| 116 | the product (at91sam9g20.dtsi or sama5d33.dtsi for instance). |
| 117 | - Device Tree Source Include files (.dtsi) are used to collect common nodes that can be |
| 118 | shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance). |
| 119 | When collecting nodes for a particular peripheral or topic, the identifier have to |
| 120 | be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi |
| 121 | or sama5d3_gmac.dtsi for example). |
| 122 | - board Device Tree Source files (.dts) are prefixed by the string "at91-" so |
| 123 | that they can be identified easily. Note that some files are historical exceptions |
| 124 | to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example). |