1ARM Atmel SoCs (aka AT91) 2========================= 3 4 5Introduction 6------------ 7This document gives useful information about the ARM Atmel SoCs that are 8currently supported in Linux Mainline (you know, the one on kernel.org). 9 10It is important to note that the Atmel | SMART ARM-based MPU product line is 11historically named "AT91" or "at91" throughout the Linux kernel development 12process even if this product prefix has completely disappeared from the 13official Atmel product name. Anyway, files, directories, git trees, 14git branches/tags and email subject always contain this "at91" sub-string. 15 16 17AT91 SoCs 18--------- 19Documentation and detailled datasheet for each product are available on 20the 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 - sama5d2 family 94 - sama5d27 95 + Datasheet 96 Coming soon 97 98 99Linux kernel information 100------------------------ 101Linux kernel mach directory: arch/arm/mach-at91 102MAINTAINERS entry is: "ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES" 103 104 105Device Tree for AT91 SoCs and boards 106------------------------------------ 107All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products 108must use this method to boot the Linux kernel. 109 110Work In Progress statement: 111Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are 112considered as "Unstable". To be completely clear, any at91 binding can change at 113any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from 114the same source tree. 115Please refer to the Documentation/devicetree/bindings/ABI.txt file for a 116definition of a "Stable" binding/ABI. 117This statement will be removed by AT91 MAINTAINERS when appropriate. 118 119Naming conventions and best practice: 120- SoCs Device Tree Source Include files are named after the official name of 121 the product (at91sam9g20.dtsi or sama5d33.dtsi for instance). 122- Device Tree Source Include files (.dtsi) are used to collect common nodes that can be 123 shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance). 124 When collecting nodes for a particular peripheral or topic, the identifier have to 125 be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi 126 or sama5d3_gmac.dtsi for example). 127- board Device Tree Source files (.dts) are prefixed by the string "at91-" so 128 that they can be identified easily. Note that some files are historical exceptions 129 to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example). 130