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 - sam9x60 96 97 * Datasheet 98 99 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf 100 101 * ARM Cortex-A5 based SoCs 102 - sama5d3 family 103 104 - sama5d31 105 - sama5d33 106 - sama5d34 107 - sama5d35 108 - sama5d36 (device superset) 109 110 * Datasheet 111 112 http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf 113 114 * ARM Cortex-A5 + NEON based SoCs 115 - sama5d4 family 116 117 - sama5d41 118 - sama5d42 119 - sama5d43 120 - sama5d44 (device superset) 121 122 * Datasheet 123 124 http://ww1.microchip.com/downloads/en/DeviceDoc/60001525A.pdf 125 126 - sama5d2 family 127 128 - sama5d21 129 - sama5d22 130 - sama5d23 131 - sama5d24 132 - sama5d26 133 - sama5d27 (device superset) 134 - sama5d28 (device superset + environmental monitors) 135 136 * Datasheet 137 138 http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf 139 140 * ARM Cortex-A7 based SoCs 141 - sama7g5 family 142 143 - sama7g51 144 - sama7g52 145 - sama7g53 146 - sama7g54 (device superset) 147 148 * Datasheet 149 150 Coming soon 151 152 - lan966 family 153 - lan9662 154 - lan9668 155 156 * Datasheet 157 158 Coming soon 159 160 * ARM Cortex-M7 MCUs 161 - sams70 family 162 163 - sams70j19 164 - sams70j20 165 - sams70j21 166 - sams70n19 167 - sams70n20 168 - sams70n21 169 - sams70q19 170 - sams70q20 171 - sams70q21 172 173 - samv70 family 174 175 - samv70j19 176 - samv70j20 177 - samv70n19 178 - samv70n20 179 - samv70q19 180 - samv70q20 181 182 - samv71 family 183 184 - samv71j19 185 - samv71j20 186 - samv71j21 187 - samv71n19 188 - samv71n20 189 - samv71n21 190 - samv71q19 191 - samv71q20 192 - samv71q21 193 194 * Datasheet 195 196 http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-E70-S70-V70-V71-Family-Data-Sheet-DS60001527D.pdf 197 198 199Linux kernel information 200------------------------ 201Linux kernel mach directory: arch/arm/mach-at91 202MAINTAINERS entry is: "ARM/Microchip (AT91) SoC support" 203 204 205Device Tree for AT91 SoCs and boards 206------------------------------------ 207All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products 208must use this method to boot the Linux kernel. 209 210Work In Progress statement: 211Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are 212considered as "Unstable". To be completely clear, any at91 binding can change at 213any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from 214the same source tree. 215Please refer to the Documentation/devicetree/bindings/ABI.rst file for a 216definition of a "Stable" binding/ABI. 217This statement will be removed by AT91 MAINTAINERS when appropriate. 218 219Naming conventions and best practice: 220 221- SoCs Device Tree Source Include files are named after the official name of 222 the product (at91sam9g20.dtsi or sama5d33.dtsi for instance). 223- Device Tree Source Include files (.dtsi) are used to collect common nodes that can be 224 shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance). 225 When collecting nodes for a particular peripheral or topic, the identifier have to 226 be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi 227 or sama5d3_gmac.dtsi for example). 228- board Device Tree Source files (.dts) are prefixed by the string "at91-" so 229 that they can be identified easily. Note that some files are historical exceptions 230 to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example). 231