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 94Linux kernel information 95------------------------ 96Linux kernel mach directory: arch/arm/mach-at91 97MAINTAINERS entry is: "ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES" 98 99 100Device Tree for AT91 SoCs and boards 101------------------------------------ 102All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products 103must use this method to boot the Linux kernel. 104 105Work In Progress statement: 106Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are 107considered as "Unstable". To be completely clear, any at91 binding can change at 108any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from 109the same source tree. 110Please refer to the Documentation/devicetree/bindings/ABI.txt file for a 111definition of a "Stable" binding/ABI. 112This statement will be removed by AT91 MAINTAINERS when appropriate. 113 114Naming 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). 125