1============================= 2ARM Microchip SoCs (aka AT91) 3============================= 4 5 6Introduction 7------------ 8This document gives useful information about the ARM Microchip SoCs that are 9currently supported in Linux Mainline (you know, the one on kernel.org). 10 11It 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, 15git branches/tags and email subject always contain this "at91" sub-string. 16 17 18AT91 SoCs 19--------- 20Documentation and detailed datasheet for each product are available on 21the Microchip website: http://www.microchip.com. 22 23 Flavors: 24 * ARM 920 based SoC 25 - at91rm9200 26 27 * Datasheet 28 29 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-1768-32-bit-ARM920T-Embedded-Microprocessor-AT91RM9200_Datasheet.pdf 30 31 * ARM 926 based SoCs 32 - at91sam9260 33 34 * Datasheet 35 36 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6221-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9260_Datasheet.pdf 37 38 - at91sam9xe 39 40 * Datasheet 41 42 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf 43 44 - at91sam9261 45 46 * Datasheet 47 48 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6062-ARM926EJ-S-Microprocessor-SAM9261_Datasheet.pdf 49 50 - at91sam9263 51 52 * Datasheet 53 54 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6249-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9263_Datasheet.pdf 55 56 - at91sam9rl 57 58 * Datasheet 59 60 http://ww1.microchip.com/downloads/en/DeviceDoc/doc6289.pdf 61 62 - at91sam9g20 63 64 * Datasheet 65 66 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001516A.pdf 67 68 - at91sam9g45 family 69 - at91sam9g45 70 - at91sam9g46 71 - at91sam9m10 72 - at91sam9m11 (device superset) 73 74 * Datasheet 75 76 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf 77 78 - at91sam9x5 family (aka "The 5 series") 79 - at91sam9g15 80 - at91sam9g25 81 - at91sam9g35 82 - at91sam9x25 83 - at91sam9x35 84 85 * Datasheet (can be considered as covering the whole family) 86 87 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11055-32-bit-ARM926EJ-S-Microcontroller-SAM9X35_Datasheet.pdf 88 89 - at91sam9n12 90 91 * Datasheet 92 93 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf 94 95 * ARM Cortex-A5 based SoCs 96 - sama5d3 family 97 98 - sama5d31 99 - sama5d33 100 - sama5d34 101 - sama5d35 102 - sama5d36 (device superset) 103 104 * Datasheet 105 106 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf 107 108 * ARM Cortex-A5 + NEON based SoCs 109 - sama5d4 family 110 111 - sama5d41 112 - sama5d42 113 - sama5d43 114 - sama5d44 (device superset) 115 116 * Datasheet 117 118 http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf 119 120 - sama5d2 family 121 122 - sama5d21 123 - sama5d22 124 - sama5d23 125 - sama5d24 126 - sama5d26 127 - sama5d27 (device superset) 128 - sama5d28 (device superset + environmental monitors) 129 130 * Datasheet 131 132 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf 133 134 * ARM Cortex-M7 MCUs 135 - sams70 family 136 137 - sams70j19 138 - sams70j20 139 - sams70j21 140 - sams70n19 141 - sams70n20 142 - sams70n21 143 - sams70q19 144 - sams70q20 145 - sams70q21 146 147 - samv70 family 148 149 - samv70j19 150 - samv70j20 151 - samv70n19 152 - samv70n20 153 - samv70q19 154 - samv70q20 155 156 - samv71 family 157 158 - samv71j19 159 - samv71j20 160 - samv71j21 161 - samv71n19 162 - samv71n20 163 - samv71n21 164 - samv71q19 165 - samv71q20 166 - samv71q21 167 168 * Datasheet 169 170 http://ww1.microchip.com/downloads/en/DeviceDoc/60001527A.pdf 171 172 173Linux kernel information 174------------------------ 175Linux kernel mach directory: arch/arm/mach-at91 176MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support" 177 178 179Device Tree for AT91 SoCs and boards 180------------------------------------ 181All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products 182must use this method to boot the Linux kernel. 183 184Work In Progress statement: 185Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are 186considered as "Unstable". To be completely clear, any at91 binding can change at 187any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from 188the same source tree. 189Please refer to the Documentation/devicetree/bindings/ABI.txt file for a 190definition of a "Stable" binding/ABI. 191This statement will be removed by AT91 MAINTAINERS when appropriate. 192 193Naming conventions and best practice: 194 195- SoCs Device Tree Source Include files are named after the official name of 196 the product (at91sam9g20.dtsi or sama5d33.dtsi for instance). 197- Device Tree Source Include files (.dtsi) are used to collect common nodes that can be 198 shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance). 199 When collecting nodes for a particular peripheral or topic, the identifier have to 200 be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi 201 or sama5d3_gmac.dtsi for example). 202- board Device Tree Source files (.dts) are prefixed by the string "at91-" so 203 that they can be identified easily. Note that some files are historical exceptions 204 to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example). 205